summaryrefslogtreecommitdiff
path: root/src/com/android/deskclock/data/TimerNotificationBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/deskclock/data/TimerNotificationBuilder.java')
-rw-r--r--src/com/android/deskclock/data/TimerNotificationBuilder.java77
1 files changed, 10 insertions, 67 deletions
diff --git a/src/com/android/deskclock/data/TimerNotificationBuilder.java b/src/com/android/deskclock/data/TimerNotificationBuilder.java
index 6bc9c12fa..e3aa3017a 100644
--- a/src/com/android/deskclock/data/TimerNotificationBuilder.java
+++ b/src/com/android/deskclock/data/TimerNotificationBuilder.java
@@ -24,7 +24,6 @@ import static android.text.format.DateUtils.SECOND_IN_MILLIS;
import static com.android.deskclock.NotificationUtils.FIRING_NOTIFICATION_CHANNEL_ID;
import static com.android.deskclock.NotificationUtils.TIMER_MODEL_NOTIFICATION_CHANNEL_ID;
-import android.annotation.TargetApi;
import android.app.AlarmManager;
import android.app.Notification;
import android.app.PendingIntent;
@@ -36,7 +35,9 @@ import android.os.SystemClock;
import android.text.TextUtils;
import android.widget.RemoteViews;
+import androidx.annotation.DrawableRes;
import androidx.core.app.NotificationCompat;
+import androidx.core.app.NotificationManagerCompat;
import androidx.core.content.ContextCompat;
import com.android.deskclock.AlarmUtils;
@@ -161,55 +162,14 @@ class TimerNotificationBuilder {
.setSortKey(nm.getTimerNotificationSortKey())
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setStyle(new NotificationCompat.DecoratedCustomViewStyle())
- .setColor(ContextCompat.getColor(context, R.color.default_background));
+ .setColor(ContextCompat.getColor(context, R.color.default_background))
+ .setCustomContentView(buildChronometer(pname, base, running, stateText))
+ .setGroup(nm.getTimerNotificationGroupKey());
for (Action action : actions) {
notification.addAction(action);
}
- if (Utils.isNOrLater()) {
- notification.setCustomContentView(buildChronometer(pname, base, running, stateText))
- .setGroup(nm.getTimerNotificationGroupKey());
- } else {
- final CharSequence contentTextPreN;
- if (count == 1) {
- contentTextPreN = TimerStringFormatter.formatTimeRemaining(context,
- timer.getRemainingTime(), false);
- } else if (running) {
- final String timeRemaining = TimerStringFormatter.formatTimeRemaining(context,
- timer.getRemainingTime(), false);
- contentTextPreN = context.getString(R.string.next_timer_notif, timeRemaining);
- } else {
- contentTextPreN = context.getString(R.string.all_timers_stopped_notif);
- }
-
- notification.setContentTitle(stateText).setContentText(contentTextPreN);
-
- final AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
- final Intent updateNotification = TimerService.createUpdateNotificationIntent(context);
- final long remainingTime = timer.getRemainingTime();
- if (timer.isRunning() && remainingTime > MINUTE_IN_MILLIS) {
- // Schedule a callback to update the time-sensitive information of the running timer
- final PendingIntent pi =
- PendingIntent.getService(context, REQUEST_CODE_UPCOMING, updateNotification,
- PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT |
- PendingIntent.FLAG_IMMUTABLE);
-
- final long nextMinuteChange = remainingTime % MINUTE_IN_MILLIS;
- final long triggerTime = SystemClock.elapsedRealtime() + nextMinuteChange;
- TimerModel.schedulePendingIntent(am, triggerTime, pi);
- } else {
- // Cancel the update notification callback.
- final PendingIntent pi = PendingIntent.getService(context, 0, updateNotification,
- PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_NO_CREATE |
- PendingIntent.FLAG_IMMUTABLE);
- if (pi != null) {
- am.cancel(pi);
- pi.cancel();
- }
- }
- }
-
NotificationUtils.createChannel(context, TIMER_MODEL_NOTIFICATION_CHANNEL_ID);
return notification.build();
}
@@ -275,22 +235,13 @@ class TimerNotificationBuilder {
.setSmallIcon(R.drawable.stat_notify_timer)
.setFullScreenIntent(pendingFullScreen, true)
.setStyle(new NotificationCompat.DecoratedCustomViewStyle())
- .setColor(ContextCompat.getColor(context, R.color.default_background));
+ .setColor(ContextCompat.getColor(context, R.color.default_background))
+ .setCustomContentView(buildChronometer(pname, base, true, stateText));
for (Action action : actions) {
notification.addAction(action);
}
- if (Utils.isNOrLater()) {
- notification.setCustomContentView(buildChronometer(pname, base, true, stateText));
- } else {
- final CharSequence contentTextPreN = count == 1
- ? context.getString(R.string.timer_times_up)
- : context.getString(R.string.timer_multi_times_up, count);
-
- notification.setContentTitle(stateText).setContentText(contentTextPreN);
- }
-
NotificationUtils.createChannel(context, FIRING_NOTIFICATION_CHANNEL_ID);
return notification.build();
}
@@ -360,16 +311,9 @@ class TimerNotificationBuilder {
.setSortKey(nm.getTimerNotificationMissedSortKey())
.setStyle(new NotificationCompat.DecoratedCustomViewStyle())
.addAction(action)
- .setColor(ContextCompat.getColor(context, R.color.default_background));
-
- if (Utils.isNOrLater()) {
- notification.setCustomContentView(buildChronometer(pname, base, true, stateText))
- .setGroup(nm.getTimerNotificationGroupKey());
- } else {
- final CharSequence contentText = AlarmUtils.getFormattedTime(context,
- timer.getWallClockExpirationTime());
- notification.setContentText(contentText).setContentTitle(stateText);
- }
+ .setColor(ContextCompat.getColor(context, R.color.default_background))
+ .setCustomContentView(buildChronometer(pname, base, true, stateText))
+ .setGroup(nm.getTimerNotificationGroupKey());
NotificationUtils.createChannel(context, TIMER_MODEL_NOTIFICATION_CHANNEL_ID);
return notification.build();
@@ -389,7 +333,6 @@ class TimerNotificationBuilder {
return SystemClock.elapsedRealtime() + adjustedRemaining;
}
- @TargetApi(Build.VERSION_CODES.N)
private RemoteViews buildChronometer(String pname, long base, boolean running,
CharSequence stateText) {
final RemoteViews content = new RemoteViews(pname, R.layout.chronometer_notif_content);