summaryrefslogtreecommitdiff
path: root/src/com/android/deskclock/data
diff options
context:
space:
mode:
authorMichael W <baddaemon87@gmail.com>2022-03-18 20:23:26 +0100
committerMichael W <baddaemon87@gmail.com>2022-04-18 10:03:08 +0200
commitfa6047db25729eebf26826f738d4a4ab2327a512 (patch)
treee94535bf44d25673adbf26f9262c5a56413f8280 /src/com/android/deskclock/data
parent23d7064d1abf2feb41d3d1a1812038a26e836181 (diff)
DeskClock: Remove compatibility to old APIsHEADsugisawa-mr1
* We never build on these, so the code and annotations are useless Change-Id: I791370b531ecadcbddb63ca04d5c4c51aafe1bc1
Diffstat (limited to 'src/com/android/deskclock/data')
-rw-r--r--src/com/android/deskclock/data/DataModel.java22
-rw-r--r--src/com/android/deskclock/data/SilentSettingsModel.java32
-rw-r--r--src/com/android/deskclock/data/StopwatchNotificationBuilder.java7
-rw-r--r--src/com/android/deskclock/data/TimerModel.java8
-rw-r--r--src/com/android/deskclock/data/TimerNotificationBuilder.java77
5 files changed, 37 insertions, 109 deletions
diff --git a/src/com/android/deskclock/data/DataModel.java b/src/com/android/deskclock/data/DataModel.java
index 3dafe9ddb..e90f7e991 100644
--- a/src/com/android/deskclock/data/DataModel.java
+++ b/src/com/android/deskclock/data/DataModel.java
@@ -134,18 +134,16 @@ public final class DataModel {
@Override
public void onClick(View v) {
final Context context = v.getContext();
- if (Utils.isLOrLater()) {
- try {
- // Attempt to open the notification settings for this app.
- context.startActivity(
- new Intent("android.settings.APP_NOTIFICATION_SETTINGS")
- .putExtra("app_package", context.getPackageName())
- .putExtra("app_uid", context.getApplicationInfo().uid)
- .addFlags(FLAG_ACTIVITY_NEW_TASK));
- return;
- } catch (Exception ignored) {
- // best attempt only; recovery code below
- }
+ try {
+ // Attempt to open the notification settings for this app.
+ context.startActivity(
+ new Intent("android.settings.APP_NOTIFICATION_SETTINGS")
+ .putExtra("app_package", context.getPackageName())
+ .putExtra("app_uid", context.getApplicationInfo().uid)
+ .addFlags(FLAG_ACTIVITY_NEW_TASK));
+ return;
+ } catch (Exception ignored) {
+ // best attempt only; recovery code below
}
// Fall back to opening the app settings page.
diff --git a/src/com/android/deskclock/data/SilentSettingsModel.java b/src/com/android/deskclock/data/SilentSettingsModel.java
index 50054f134..93bd1adaf 100644
--- a/src/com/android/deskclock/data/SilentSettingsModel.java
+++ b/src/com/android/deskclock/data/SilentSettingsModel.java
@@ -16,7 +16,15 @@
package com.android.deskclock.data;
-import android.annotation.TargetApi;
+import static android.app.NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
+import static android.content.Context.AUDIO_SERVICE;
+import static android.content.Context.NOTIFICATION_SERVICE;
+import static android.media.AudioManager.STREAM_ALARM;
+import static android.media.RingtoneManager.TYPE_ALARM;
+import static android.provider.Settings.System.CONTENT_URI;
+import static android.provider.Settings.System.DEFAULT_ALARM_ALERT_URI;
+
import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
@@ -31,6 +39,7 @@ import android.os.AsyncTask;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
+
import androidx.core.app.NotificationManagerCompat;
import com.android.deskclock.Utils;
@@ -39,15 +48,6 @@ import com.android.deskclock.data.DataModel.SilentSetting;
import java.util.ArrayList;
import java.util.List;
-import static android.app.NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
-import static android.content.Context.AUDIO_SERVICE;
-import static android.content.Context.NOTIFICATION_SERVICE;
-import static android.media.AudioManager.STREAM_ALARM;
-import static android.media.RingtoneManager.TYPE_ALARM;
-import static android.provider.Settings.System.CONTENT_URI;
-import static android.provider.Settings.System.DEFAULT_ALARM_ALERT_URI;
-
/**
* This model fetches and stores reasons that alarms may be suppressed or silenced by system
* settings on the device. This information is displayed passively to notify the user of this
@@ -93,10 +93,9 @@ final class SilentSettingsModel {
final ContentObserver contentChangeWatcher = new ContentChangeWatcher();
cr.registerContentObserver(VOLUME_URI, false, contentChangeWatcher);
cr.registerContentObserver(DEFAULT_ALARM_ALERT_URI, false, contentChangeWatcher);
- if (Utils.isMOrLater()) {
- final IntentFilter filter = new IntentFilter(ACTION_INTERRUPTION_FILTER_CHANGED);
- context.registerReceiver(new DoNotDisturbChangeReceiver(), filter);
- }
+
+ final IntentFilter filter = new IntentFilter(ACTION_INTERRUPTION_FILTER_CHANGED);
+ context.registerReceiver(new DoNotDisturbChangeReceiver(), filter);
}
void addSilentSettingsListener(OnSilentSettingsListener listener) {
@@ -178,12 +177,7 @@ final class SilentSettingsModel {
}
}
- @TargetApi(Build.VERSION_CODES.M)
private boolean isDoNotDisturbBlockingAlarms() {
- if (!Utils.isMOrLater()) {
- return false;
- }
-
try {
final int interruptionFilter = mNotificationManager.getCurrentInterruptionFilter();
return interruptionFilter == INTERRUPTION_FILTER_NONE;
diff --git a/src/com/android/deskclock/data/StopwatchNotificationBuilder.java b/src/com/android/deskclock/data/StopwatchNotificationBuilder.java
index d426b5c0b..799902645 100644
--- a/src/com/android/deskclock/data/StopwatchNotificationBuilder.java
+++ b/src/com/android/deskclock/data/StopwatchNotificationBuilder.java
@@ -137,11 +137,8 @@ class StopwatchNotificationBuilder {
.setPriority(Notification.PRIORITY_LOW)
.setSmallIcon(R.drawable.stat_notify_stopwatch)
.setStyle(new NotificationCompat.DecoratedCustomViewStyle())
- .setColor(ContextCompat.getColor(context, R.color.default_background));
-
- if (Utils.isNOrLater()) {
- notification.setGroup(nm.getStopwatchNotificationGroupKey());
- }
+ .setColor(ContextCompat.getColor(context, R.color.default_background))
+ .setGroup(nm.getStopwatchNotificationGroupKey());
for (Action action : actions) {
notification.addAction(action);
diff --git a/src/com/android/deskclock/data/TimerModel.java b/src/com/android/deskclock/data/TimerModel.java
index 5eb5d43e5..2ea31d6bd 100644
--- a/src/com/android/deskclock/data/TimerModel.java
+++ b/src/com/android/deskclock/data/TimerModel.java
@@ -838,11 +838,7 @@ final class TimerModel {
}
static void schedulePendingIntent(AlarmManager am, long triggerTime, PendingIntent pi) {
- if (Utils.isMOrLater()) {
- // Ensure the timer fires even if the device is dozing.
- am.setExactAndAllowWhileIdle(ELAPSED_REALTIME_WAKEUP, triggerTime, pi);
- } else {
- am.setExact(ELAPSED_REALTIME_WAKEUP, triggerTime, pi);
- }
+ // Ensure the timer fires even if the device is dozing.
+ am.setExactAndAllowWhileIdle(ELAPSED_REALTIME_WAKEUP, triggerTime, pi);
}
}
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);