From a2b1f7ee31c9751927a336ea9d82b9e5ab2c167d Mon Sep 17 00:00:00 2001 From: 0xd9a <0xd9a@noreply.codeberg.org> Date: Wed, 8 Oct 2025 13:57:39 +0530 Subject: [PATCH] Remove account from "Home muted" when unfollowing (#1306) --- .../mastodon/activities/ProfileActivity.java | 4 ++++ .../mastodon/activities/ReportActivity.java | 20 +++++++++++-------- .../mastodon/helper/CrossActionHelper.java | 2 ++ .../mastodon/ui/drawer/AccountAdapter.java | 4 ++++ 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/ProfileActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/ProfileActivity.java index a971824f..b7bd046b 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/activities/ProfileActivity.java +++ b/app/src/main/java/app/fedilab/android/mastodon/activities/ProfileActivity.java @@ -684,6 +684,8 @@ public class ProfileActivity extends BaseActivity { this.relationship = relationShip; updateAccount(); }); + if (BaseMainActivity.filteredAccounts != null && BaseMainActivity.filteredAccounts.contains(account)) + accountsVM.unmuteHome(Helper.getCurrentAccount(this), account); dialog.dismiss(); }); unfollowConfirm.show(); @@ -695,6 +697,8 @@ public class ProfileActivity extends BaseActivity { this.relationship = relationShip; updateAccount(); }); + if (BaseMainActivity.filteredAccounts != null && BaseMainActivity.filteredAccounts.contains(account)) + accountsVM.unmuteHome(Helper.getCurrentAccount(this), account); } } else if (doAction == action.UNBLOCK) { diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/ReportActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/ReportActivity.java index c3b4b186..2ff9195b 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/activities/ReportActivity.java +++ b/app/src/main/java/app/fedilab/android/mastodon/activities/ReportActivity.java @@ -197,14 +197,18 @@ public class ReportActivity extends BaseBarActivity { binding.groupMute.setVisibility(View.VISIBLE); } } - binding.actionUnfollow.setOnClickListener(v -> accountsVM.unfollow(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, account.id) - .observe(ReportActivity.this, rsUnfollow -> { - if (rsUnfollow != null) { - relationShip = rsUnfollow; - Toasty.info(ReportActivity.this, getString(R.string.toast_unfollow), Toasty.LENGTH_LONG).show(); - binding.groupUnfollow.setVisibility(View.GONE); - } - })); + binding.actionUnfollow.setOnClickListener(v -> { + accountsVM.unfollow(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, account.id) + .observe(ReportActivity.this, rsUnfollow -> { + if (rsUnfollow != null) { + relationShip = rsUnfollow; + Toasty.info(ReportActivity.this, getString(R.string.toast_unfollow), Toasty.LENGTH_LONG).show(); + binding.groupUnfollow.setVisibility(View.GONE); + } + }); + if (BaseMainActivity.filteredAccounts != null && BaseMainActivity.filteredAccounts.contains(account)) + accountsVM.unmuteHome(Helper.getCurrentAccount(this), account); + }); binding.actionMute.setOnClickListener(v -> accountsVM.mute(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, account.id, null, null) .observe(ReportActivity.this, rsMute -> { if (rsMute != null) { diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/CrossActionHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/CrossActionHelper.java index 6c49fa28..53477b07 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/CrossActionHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/CrossActionHelper.java @@ -233,6 +233,8 @@ public class CrossActionHelper { assert accountsVM != null; accountsVM.unfollow(ownerAccount.instance, ownerAccount.token, targetedAccount.id) .observe((LifecycleOwner) context, relationShip -> Toasty.info(context, context.getString(R.string.toast_unfollow), Toasty.LENGTH_SHORT).show()); + if (BaseMainActivity.filteredAccounts != null && BaseMainActivity.filteredAccounts.contains(targetedAccount)) + accountsVM.unmuteHome(ownerAccount, targetedAccount); } case FAVOURITE_ACTION -> { assert statusesVM != null; diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountAdapter.java index cee060d5..562ed0c2 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountAdapter.java @@ -293,6 +293,8 @@ public class AccountAdapter extends RecyclerView.Adapter adapter.notifyItemChanged(accountViewHolder.getLayoutPosition())); dialog.dismiss(); }); unfollowConfirm.show(); @@ -302,6 +304,8 @@ public class AccountAdapter extends RecyclerView.Adapter adapter.notifyItemChanged(accountViewHolder.getLayoutPosition())); } }