package org.thoughtcrime.securesms; import android.content.Context; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import java.util.concurrent.TimeUnit; public class MuteDialog { public static void show(final Context context, final @NonNull MuteSelectionListener listener) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.menu_mute); builder.setNegativeButton(R.string.cancel, null); builder.setItems(R.array.mute_durations, (dialog, which) -> { final long muteUntil; // See https://c.delta.chat/classdc__context__t.html#a6460395925d49d2053bc95224bf5ce37. switch (which) { case 0: muteUntil = TimeUnit.HOURS.toSeconds(1); break; case 1: muteUntil = TimeUnit.HOURS.toSeconds(2); break; case 2: muteUntil = TimeUnit.DAYS.toSeconds(1); break; case 3: muteUntil = TimeUnit.DAYS.toSeconds(7); break; case 4: muteUntil = -1; break; // mute forever default: muteUntil = 0; break; } listener.onMuted(muteUntil); }); builder.show(); } public interface MuteSelectionListener { void onMuted(long duration); } }