Mute from lists

This commit is contained in:
Thomas 2022-12-14 14:48:32 +01:00
parent d8de016407
commit a55401df77
6 changed files with 25 additions and 3 deletions

View file

@ -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());

View file

@ -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();
}));
}

View file

@ -1662,7 +1662,6 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
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();

View file

@ -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();

View file

@ -11,6 +11,11 @@
android:icon="@drawable/ic_baseline_edit_note_24"
android:title="@string/action_lists_edit"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_user_mute_home"
android:icon="@drawable/ic_baseline_volume_mute_24"
android:title="@string/add_all_users_home_muted"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_baseline_delete_24"

View file

@ -2062,4 +2062,7 @@
<string name="unfollow_tag">Unfollow tag</string>
<string name="mute_home">Mute for home</string>
<string name="unmute_home">Unmute for home</string>
<string name="add_all_users_home_muted">Add all users in muted home</string>
<string name="put_all_accounts_in_home_muted">All accounts will be muted for the Home timeline.</string>
<string name="mute_them_all">Mute them all</string>
</resources>