That fuck shit the fascists are using
at master 70 lines 2.3 kB view raw
1package org.tm.archive.contacts; 2 3import android.app.AlertDialog; 4import android.content.Context; 5import android.content.DialogInterface; 6import android.content.Intent; 7 8import androidx.annotation.NonNull; 9import androidx.appcompat.app.AppCompatActivity; 10 11import com.google.android.material.dialog.MaterialAlertDialogBuilder; 12 13import org.tm.archive.R; 14import org.tm.archive.database.MessageTable; 15import org.tm.archive.database.SignalDatabase; 16import org.tm.archive.database.ThreadTable; 17import org.tm.archive.dependencies.ApplicationDependencies; 18import org.tm.archive.keyvalue.SignalStore; 19import org.tm.archive.notifications.MarkReadReceiver; 20import org.signal.core.util.concurrent.SimpleTask; 21 22import java.util.List; 23 24/** 25 * Activity which displays a dialog to confirm whether to turn off "Contact Joined Signal" notifications. 26 */ 27public class TurnOffContactJoinedNotificationsActivity extends AppCompatActivity { 28 29 private final static String EXTRA_THREAD_ID = "thread_id"; 30 31 public static Intent newIntent(@NonNull Context context, long threadId) { 32 Intent intent = new Intent(context, TurnOffContactJoinedNotificationsActivity.class); 33 34 intent.putExtra(EXTRA_THREAD_ID, threadId); 35 36 return intent; 37 } 38 39 @Override 40 protected void onResume() { 41 super.onResume(); 42 43 new MaterialAlertDialogBuilder(this) 44 .setMessage(R.string.TurnOffContactJoinedNotificationsActivity__turn_off_contact_joined_signal) 45 .setPositiveButton(android.R.string.ok, (dialog, which) -> { 46 handlePositiveAction(dialog); 47 }) 48 .setNegativeButton(android.R.string.cancel, ((dialog, which) -> { 49 dialog.dismiss(); 50 })) 51 .setOnDismissListener(dialog -> finish()) 52 .show(); 53 } 54 55 private void handlePositiveAction(@NonNull DialogInterface dialog) { 56 SimpleTask.run(getLifecycle(), () -> { 57 ThreadTable threadTable = SignalDatabase.threads(); 58 59 List<MessageTable.MarkedMessageInfo> marked = threadTable.setRead(getIntent().getLongExtra(EXTRA_THREAD_ID, -1), false); 60 MarkReadReceiver.process(marked); 61 62 SignalStore.settings().setNotifyWhenContactJoinsSignal(false); 63 ApplicationDependencies.getMessageNotifier().updateNotification(this); 64 65 return null; 66 }, unused -> { 67 dialog.dismiss(); 68 }); 69 } 70}