mirror of
https://github.com/Docile-Alligator/Infinity-For-Reddit.git
synced 2026-02-05 07:25:29 +00:00
Update the corresponding fields after moderating a post.
This commit is contained in:
@ -59,6 +59,7 @@ import ml.docilealligator.infinityforreddit.events.ChangeDefaultPostLayoutEvent;
|
||||
import ml.docilealligator.infinityforreddit.events.ChangeNetworkStatusEvent;
|
||||
import ml.docilealligator.infinityforreddit.events.ChangeSavePostFeedScrolledPositionEvent;
|
||||
import ml.docilealligator.infinityforreddit.events.NeedForPostListFromPostFragmentEvent;
|
||||
import ml.docilealligator.infinityforreddit.events.PostUpdateEventToPostDetailFragment;
|
||||
import ml.docilealligator.infinityforreddit.events.PostUpdateEventToPostList;
|
||||
import ml.docilealligator.infinityforreddit.events.ProvidePostListToViewPostDetailActivityEvent;
|
||||
import ml.docilealligator.infinityforreddit.post.Post;
|
||||
@ -882,6 +883,7 @@ public class PostFragment extends PostFragmentBase implements FragmentCommunicat
|
||||
|
||||
mPostViewModel.moderationEventLiveData.observe(getViewLifecycleOwner(), moderationEvent -> {
|
||||
EventBus.getDefault().post(new PostUpdateEventToPostList(moderationEvent.getPost(), moderationEvent.getPosition()));
|
||||
EventBus.getDefault().post(new PostUpdateEventToPostDetailFragment(moderationEvent.getPost()));
|
||||
Toast.makeText(activity, moderationEvent.getToastMessageResId(), Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
|
||||
@ -623,6 +623,10 @@ public abstract class PostFragmentBase extends Fragment {
|
||||
post.setFlair(event.post.getFlair());
|
||||
post.setSaved(event.post.isSaved());
|
||||
post.setIsStickied(event.post.isStickied());
|
||||
post.setApproved(event.post.isApproved());
|
||||
post.setApprovedAtUTC(event.post.getApprovedAtUTC());
|
||||
post.setApprovedBy(event.post.getApprovedBy());
|
||||
post.setRemoved(event.post.isRemoved(), event.post.isSpam());
|
||||
post.setIsLocked(event.post.isLocked());
|
||||
post.setIsModerator(event.post.isModerator());
|
||||
if (event.post.isRead()) {
|
||||
|
||||
@ -1944,6 +1944,15 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
|
||||
if (mPost.getId().equals(event.post.getId())) {
|
||||
mPost.setVoteType(event.post.getVoteType());
|
||||
mPost.setSaved(event.post.isSaved());
|
||||
mPost.setNSFW(event.post.isNSFW());
|
||||
mPost.setSpoiler(event.post.isSpoiler());
|
||||
mPost.setIsStickied(event.post.isStickied());
|
||||
mPost.setApproved(event.post.isApproved());
|
||||
mPost.setApprovedAtUTC(event.post.getApprovedAtUTC());
|
||||
mPost.setApprovedBy(event.post.getApprovedBy());
|
||||
mPost.setRemoved(event.post.isRemoved(), event.post.isSpam());
|
||||
mPost.setIsLocked(event.post.isLocked());
|
||||
mPost.setIsModerator(event.post.isModerator());
|
||||
if (mMenu != null) {
|
||||
if (event.post.isSaved()) {
|
||||
mMenu.findItem(R.id.action_save_view_post_detail_fragment).setIcon(mSavedIcon);
|
||||
|
||||
@ -501,6 +501,10 @@ public class PostViewModel extends ViewModel {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
||||
if (response.isSuccessful()) {
|
||||
post.setApproved(true);
|
||||
post.setApprovedBy(accountName);
|
||||
post.setApprovedAtUTC(System.currentTimeMillis());
|
||||
post.setRemoved(false, false);
|
||||
moderationEventLiveData.postValue(new PostModerationEvent.Approved(post, position));
|
||||
} else {
|
||||
moderationEventLiveData.postValue(new PostModerationEvent.ApproveFailed(post, position));
|
||||
@ -522,6 +526,10 @@ public class PostViewModel extends ViewModel {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {
|
||||
if (response.isSuccessful()) {
|
||||
post.setApproved(false);
|
||||
post.setApprovedBy(null);
|
||||
post.setApprovedAtUTC(0);
|
||||
post.setRemoved(true, isSpam);
|
||||
moderationEventLiveData.postValue(isSpam ? new PostModerationEvent.MarkedAsSpam(post, position): new PostModerationEvent.Removed(post, position));
|
||||
} else {
|
||||
moderationEventLiveData.postValue(isSpam ? new PostModerationEvent.MarkAsSpamFailed(post, position) : new PostModerationEvent.RemoveFailed(post, position));
|
||||
|
||||
@ -58,6 +58,10 @@ class ViewPostDetailFragmentViewModel(
|
||||
.enqueue(object : Callback<String?> {
|
||||
override fun onResponse(call: Call<String?>, response: Response<String?>) {
|
||||
if (response.isSuccessful) {
|
||||
post.isApproved = true
|
||||
post.approvedBy = accountName
|
||||
post.approvedAtUTC = System.currentTimeMillis()
|
||||
post.setRemoved(false, false)
|
||||
postModerationEventLiveData.postValue(Approved(post, position))
|
||||
} else {
|
||||
postModerationEventLiveData.postValue(ApproveFailed(post, position))
|
||||
@ -79,6 +83,10 @@ class ViewPostDetailFragmentViewModel(
|
||||
.enqueue(object : Callback<String?> {
|
||||
override fun onResponse(call: Call<String?>, response: Response<String?>) {
|
||||
if (response.isSuccessful) {
|
||||
post.isApproved = false
|
||||
post.approvedBy = null
|
||||
post.approvedAtUTC = 0
|
||||
post.setRemoved(true, isSpam)
|
||||
postModerationEventLiveData.postValue(
|
||||
if (isSpam) MarkedAsSpam(
|
||||
post,
|
||||
|
||||
Reference in New Issue
Block a user