Fix repeat alerts by using explicit reminder intent.

master
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>
</receiver>
<receiver android:name=".notifications.MessageNotifier$ReminderReceiver">
<intent-filter>
<action android:name="org.thoughtcrime.securesms.MessageNotifier.REMINDER_ACTION"/>
</intent-filter>
</receiver>
<receiver android:name=".notifications.MessageNotifier$ReminderReceiver"/>
<receiver android:name=".notifications.DeleteNotificationReceiver">
<intent-filter>

View File

@ -637,7 +637,7 @@ public class DefaultMessageNotifier implements MessageNotifier {
}
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);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
@ -648,7 +648,7 @@ public class DefaultMessageNotifier implements MessageNotifier {
@Override
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);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

View File

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