diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/MuteAccountConfirmationSheet.java b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/MuteAccountConfirmationSheet.java index efc4c242ed..6a1172e13f 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/MuteAccountConfirmationSheet.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/sheets/MuteAccountConfirmationSheet.java @@ -2,14 +2,8 @@ import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; -import android.graphics.Typeface; -import android.view.Gravity; import android.view.View; import android.widget.Button; -import android.widget.PopupMenu; -import android.widget.TextView; -import android.widget.Toast; import org.joinmastodon.android.R; import org.joinmastodon.android.model.Account; @@ -17,6 +11,7 @@ import org.joinmastodon.android.ui.views.M3Switch; import java.time.Duration; +import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; @@ -44,10 +39,10 @@ public MuteAccountConfirmationSheet(@NonNull Context context, Account user, Atom addRow(R.drawable.ic_fluent_alert_off_24_regular, R.string.mo_mute_notifications, m3Switch); // add mute duration (Moshidon) - secondaryBtn.setVisibility(View.VISIBLE); - secondaryBtn.setOnClickListener(v->getMuteDurationDialog(context, muteDuration, secondaryBtn).show()); - secondaryBtn.setText(R.string.sk_duration_indefinite); - secondaryBtn.setTypeface(null, Typeface.BOLD_ITALIC); + Button muteDurationBtn=new Button(getContext()); + muteDurationBtn.setOnClickListener(v->getMuteDurationDialog(context, muteDuration, muteDurationBtn).show()); + muteDurationBtn.setText(R.string.sk_duration_indefinite); + addRow(R.drawable.ic_fluent_clock_20_regular, R.string.sk_mute_label, muteDurationBtn); } @NonNull @@ -55,6 +50,15 @@ private M3AlertDialogBuilder getMuteDurationDialog(@NonNull Context context, Ato M3AlertDialogBuilder builder=new M3AlertDialogBuilder(context); builder.setTitle(R.string.sk_mute_label); builder.setIcon(R.drawable.ic_fluent_clock_20_regular); + List durations =List.of(Duration.ZERO, + Duration.ofMinutes(5), + Duration.ofMinutes(30), + Duration.ofHours(1), + Duration.ofHours(6), + Duration.ofDays(1), + Duration.ofDays(3), + Duration.ofDays(7), + Duration.ofDays(7)); String[] choices = {context.getString(R.string.sk_duration_indefinite), context.getString(R.string.sk_duration_minutes_5), @@ -65,35 +69,14 @@ private M3AlertDialogBuilder getMuteDurationDialog(@NonNull Context context, Ato context.getString(R.string.sk_duration_days_3), context.getString(R.string.sk_duration_days_7)}; - builder.setSingleChoiceItems(choices, 0, (dialog, which) -> {}); + builder.setSingleChoiceItems(choices, durations.indexOf(muteDuration.get()), (dialog, which) -> {}); builder.setPositiveButton(R.string.ok, (dialog, which)->{ int selected = ((AlertDialog) dialog).getListView().getCheckedItemPosition(); - if(selected==0){ - muteDuration.set(Duration.ZERO); - }else if(selected==1){ - muteDuration.set(Duration.ofMinutes(5)); - }else if(selected==2){ - muteDuration.set(Duration.ofMinutes(30)); - }else if(selected==3){ - muteDuration.set(Duration.ofHours(1)); - }else if(selected==4){ - muteDuration.set(Duration.ofHours(6)); - }else if(selected==5){ - muteDuration.set(Duration.ofDays(1)); - }else if(selected==6){ - muteDuration.set(Duration.ofDays(3)); - }else if(selected==7){ - muteDuration.set(Duration.ofDays(7)); - } - if(selected >= 0 && selected <= 7){ - button.setText(choices[selected]); - } else { - Toast.makeText(context, "" + selected, Toast.LENGTH_SHORT).show(); - } + muteDuration.set(durations.get(selected)); + button.setText(choices[selected]); }); - - builder.setNegativeButton(R.string.cancel, ((dialogInterface, i) -> {})); + builder.setNegativeButton(R.string.cancel, null); return builder; }