kopia lustrzana https://github.com/ryukoposting/Signal-Android
43 wiersze
1.9 KiB
Java
43 wiersze
1.9 KiB
Java
package org.thoughtcrime.securesms.notifications;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import org.signal.core.util.concurrent.SignalExecutors;
|
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
|
import org.thoughtcrime.securesms.util.BubbleUtil;
|
|
|
|
public interface MessageNotifier {
|
|
void setVisibleThread(long threadId);
|
|
long getVisibleThread();
|
|
void clearVisibleThread();
|
|
void setLastDesktopActivityTimestamp(long timestamp);
|
|
void notifyMessageDeliveryFailed(@NonNull Context context, @NonNull Recipient recipient, long threadId);
|
|
void notifyProofRequired(@NonNull Context context, @NonNull Recipient recipient, long threadId);
|
|
void cancelDelayedNotifications();
|
|
void updateNotification(@NonNull Context context);
|
|
void updateNotification(@NonNull Context context, long threadId);
|
|
void updateNotification(@NonNull Context context, long threadId, @NonNull BubbleUtil.BubbleState defaultBubbleState);
|
|
void updateNotification(@NonNull Context context, long threadId, boolean signal);
|
|
void updateNotification(@NonNull Context context, long threadId, boolean signal, int reminderCount, @NonNull BubbleUtil.BubbleState defaultBubbleState);
|
|
void clearReminder(@NonNull Context context);
|
|
void addStickyThread(long threadId, long earliestTimestamp);
|
|
void removeStickyThread(long threadId);
|
|
|
|
|
|
class ReminderReceiver extends BroadcastReceiver {
|
|
|
|
@Override
|
|
public void onReceive(final Context context, final Intent intent) {
|
|
SignalExecutors.BOUNDED.execute(() -> {
|
|
int reminderCount = intent.getIntExtra("reminder_count", 0);
|
|
ApplicationDependencies.getMessageNotifier().updateNotification(context, -1, true, reminderCount + 1, BubbleUtil.BubbleState.HIDDEN);
|
|
});
|
|
}
|
|
}
|
|
}
|