Fix repeat alerts by using explicit reminder intent.

This commit is contained in:
Cody Henthorne 2020-06-16 17:38:16 -04:00 committed by Greyson Parrelli
parent b53827f32b
commit b687b1a4c5
3 changed files with 3 additions and 11 deletions

View File

@ -710,11 +710,7 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name=".notifications.MessageNotifier$ReminderReceiver"> <receiver android:name=".notifications.MessageNotifier$ReminderReceiver"/>
<intent-filter>
<action android:name="org.thoughtcrime.securesms.MessageNotifier.REMINDER_ACTION"/>
</intent-filter>
</receiver>
<receiver android:name=".notifications.DeleteNotificationReceiver"> <receiver android:name=".notifications.DeleteNotificationReceiver">
<intent-filter> <intent-filter>

View File

@ -637,7 +637,7 @@ public class DefaultMessageNotifier implements MessageNotifier {
} }
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent alarmIntent = new Intent(ReminderReceiver.REMINDER_ACTION); Intent alarmIntent = new Intent(context, ReminderReceiver.class);
alarmIntent.putExtra("reminder_count", count); alarmIntent.putExtra("reminder_count", count);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
@ -648,7 +648,7 @@ public class DefaultMessageNotifier implements MessageNotifier {
@Override @Override
public void clearReminder(@NonNull Context context) { public void clearReminder(@NonNull Context context) {
Intent alarmIntent = new Intent(ReminderReceiver.REMINDER_ACTION); Intent alarmIntent = new Intent(context, ReminderReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

View File

@ -1,6 +1,5 @@
package org.thoughtcrime.securesms.notifications; package org.thoughtcrime.securesms.notifications;
import android.annotation.SuppressLint;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -26,9 +25,6 @@ public interface MessageNotifier {
class ReminderReceiver extends BroadcastReceiver { class ReminderReceiver extends BroadcastReceiver {
public static final String REMINDER_ACTION = "org.thoughtcrime.securesms.MessageNotifier.REMINDER_ACTION";
@SuppressLint("StaticFieldLeak")
@Override @Override
public void onReceive(final Context context, final Intent intent) { public void onReceive(final Context context, final Intent intent) {
SignalExecutors.BOUNDED.execute(() -> { SignalExecutors.BOUNDED.execute(() -> {