diff --git a/app/src/main/java/app/fedilab/android/activities/MastodonListActivity.java b/app/src/main/java/app/fedilab/android/activities/MastodonListActivity.java index 0d451652..0d621931 100644 --- a/app/src/main/java/app/fedilab/android/activities/MastodonListActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/MastodonListActivity.java @@ -143,6 +143,22 @@ public class MastodonListActivity extends BaseBarActivity implements MastodonLis if (item.getItemId() == android.R.id.home) { onBackPressed(); return true; + } else if (item.getItemId() == R.id.action_user_mute_home) { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MastodonListActivity.this, Helper.dialogStyle()); + dialogBuilder.setTitle(R.string.put_all_accounts_in_home_muted); + dialogBuilder.setPositiveButton(R.string.mute_them_all, (dialog, id) -> { + timelinesVM.getAccountsInList(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, mastodonList.id, null, null, 0) + .observe(MastodonListActivity.this, accounts -> { + if (accounts != null && accounts.size() > 0) { + for (Account account : accounts) { + accountsVM.muteHome(MainActivity.currentAccount, account); + } + } + }); + dialog.dismiss(); + }); + dialogBuilder.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.dismiss()); + dialogBuilder.show(); } else if (item.getItemId() == R.id.action_manage_users) { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MastodonListActivity.this, Helper.dialogStyle()); PopupManageAccountsListBinding popupManageAccountsListBinding = PopupManageAccountsListBinding.inflate(getLayoutInflater()); diff --git a/app/src/main/java/app/fedilab/android/activities/ProfileActivity.java b/app/src/main/java/app/fedilab/android/activities/ProfileActivity.java index 022c6512..97b13d76 100644 --- a/app/src/main/java/app/fedilab/android/activities/ProfileActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/ProfileActivity.java @@ -16,7 +16,6 @@ package app.fedilab.android.activities; import static app.fedilab.android.BaseMainActivity.currentAccount; -import static app.fedilab.android.ui.drawer.StatusAdapter.sendAction; import android.content.BroadcastReceiver; import android.content.ClipData; @@ -1020,7 +1019,6 @@ public class ProfileActivity extends BaseActivity { .observe(ProfileActivity.this, account -> { homeMuted = true; invalidateOptionsMenu(); - sendAction(ProfileActivity.this, Helper.ARG_STATUS_ACCOUNT_ID_DELETED, null, account.id); Toasty.info(ProfileActivity.this, getString(R.string.toast_mute), Toasty.LENGTH_LONG).show(); })); } diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java index 5861c8b1..fc873348 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java @@ -1662,7 +1662,6 @@ public class StatusAdapter extends RecyclerView.Adapter builderInner.setNeutralButton(R.string.cancel, (dialog, which) -> dialog.dismiss()); builderInner.setPositiveButton(R.string.action_mute, (dialog, which) -> accountsVM.muteHome(currentAccount, statusToDeal.account) .observe((LifecycleOwner) context, account -> { - sendAction(context, Helper.ARG_STATUS_ACCOUNT_ID_DELETED, null, statusToDeal.account.id); Toasty.info(context, context.getString(R.string.toast_mute), Toasty.LENGTH_LONG).show(); })); builderInner.show(); diff --git a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/AccountsVM.java b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/AccountsVM.java index f24b257d..b8032f6a 100644 --- a/app/src/main/java/app/fedilab/android/viewmodel/mastodon/AccountsVM.java +++ b/app/src/main/java/app/fedilab/android/viewmodel/mastodon/AccountsVM.java @@ -821,6 +821,7 @@ public class AccountsVM extends AndroidViewModel { e.printStackTrace(); } Handler mainHandler = new Handler(Looper.getMainLooper()); + sendAction(getApplication().getApplicationContext(), Helper.ARG_STATUS_ACCOUNT_ID_DELETED, null, target.id); Runnable myRunnable = () -> accountMutableLiveData.setValue(target); mainHandler.post(myRunnable); }).start(); diff --git a/app/src/main/res/menu/menu_list.xml b/app/src/main/res/menu/menu_list.xml index 95b2b0f3..b59c627b 100644 --- a/app/src/main/res/menu/menu_list.xml +++ b/app/src/main/res/menu/menu_list.xml @@ -11,6 +11,11 @@ android:icon="@drawable/ic_baseline_edit_note_24" android:title="@string/action_lists_edit" app:showAsAction="ifRoom" /> + Unfollow tag Mute for home Unmute for home + Add all users in muted home + All accounts will be muted for the Home timeline. + Mute them all \ No newline at end of file