From 441ed63c2da6e9df509a7174d8d7e7ab3dc24344 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Thu, 2 Jul 2026 15:46:35 -0400 Subject: [PATCH] Fix deleted users cannot be unfollowed in anonymous mode. --- .../activities/ViewUserDetailActivity.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java index 3910fa8a..8be3e30b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewUserDetailActivity.java @@ -618,6 +618,44 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele nsfwWarningBuilder.show(); } }*/ + } else { + if (Account.ANONYMOUS_ACCOUNT.equals(accountName)) { + // Only for unfollowing deleted users in the anonymous mode + CheckIsFollowingUser.checkIsFollowingUser(mExecutor, new Handler(), mRedditDataRoomDatabase, + username, accountName, new CheckIsFollowingUser.CheckIsFollowingUserListener() { + @Override + public void isSubscribed() { + binding.subscribeUserChipViewUserDetailActivity.setText(R.string.unfollow); + binding.subscribeUserChipViewUserDetailActivity.setChipBackgroundColor(ColorStateList.valueOf(subscribedColor)); + binding.subscribeUserChipViewUserDetailActivity.setVisibility(View.VISIBLE); + subscriptionReady = true; + + binding.subscribeUserChipViewUserDetailActivity.setOnClickListener(view -> { + if (subscriptionReady) { + subscriptionReady = false; + UserFollowing.anonymousUnfollowUser(mExecutor, new Handler(), username, + mRedditDataRoomDatabase, new UserFollowing.UserFollowingListener() { + @Override + public void onUserFollowingSuccess() { + binding.subscribeUserChipViewUserDetailActivity.setVisibility(View.GONE); + showMessage(R.string.unfollowed, false); + } + + @Override + public void onUserFollowingFail() { + //Will not be called + } + }); + } + }); + } + + @Override + public void isNotSubscribed() { + // We don't care + } + }); + } } });