summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeLog.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeUi.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java13
3 files changed, 23 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
index ab30f2ed4483..e6026c14cd28 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
@@ -158,6 +158,12 @@ public class DozeLog {
log("missedTick by=" + delay);
}
+ public static void traceTimeTickScheduled(long when, long triggerAt) {
+ if (!ENABLED) return;
+ log("timeTickScheduled at=" + FORMAT.format(new Date(when)) + " triggerAt="
+ + FORMAT.format(new Date(triggerAt)));
+ }
+
public static void traceKeyguard(boolean showing) {
if (!ENABLED) return;
log("keyguard " + showing);
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
index 78632459c867..67aa82dc9688 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
@@ -158,8 +158,12 @@ public class DozeUi implements DozeMachine.Part {
return;
}
- long delta = roundToNextMinute(System.currentTimeMillis()) - System.currentTimeMillis();
- mTimeTicker.schedule(delta, AlarmTimeout.MODE_IGNORE_IF_SCHEDULED);
+ long time = System.currentTimeMillis();
+ long delta = roundToNextMinute(time) - System.currentTimeMillis();
+ boolean scheduled = mTimeTicker.schedule(delta, AlarmTimeout.MODE_IGNORE_IF_SCHEDULED);
+ if (scheduled) {
+ DozeLog.traceTimeTickScheduled(time, time + delta);
+ }
mLastTimeTickElapsed = SystemClock.elapsedRealtime();
}
diff --git a/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java b/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java
index f7f61aff9849..a791376a48d5 100644
--- a/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java
+++ b/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java
@@ -44,7 +44,15 @@ public class AlarmTimeout implements AlarmManager.OnAlarmListener {
mHandler = handler;
}
- public void schedule(long timeout, int mode) {
+ /**
+ * Schedules an alarm in {@code timeout} milliseconds in the future.
+ *
+ * @param timeout How long to wait from now.
+ * @param mode {@link #MODE_CRASH_IF_SCHEDULED}, {@link #MODE_IGNORE_IF_SCHEDULED} or
+ * {@link #MODE_RESCHEDULE_IF_SCHEDULED}.
+ * @return {@code true} when scheduled successfully, {@code false} otherwise.
+ */
+ public boolean schedule(long timeout, int mode) {
switch (mode) {
case MODE_CRASH_IF_SCHEDULED:
if (mScheduled) {
@@ -53,7 +61,7 @@ public class AlarmTimeout implements AlarmManager.OnAlarmListener {
break;
case MODE_IGNORE_IF_SCHEDULED:
if (mScheduled) {
- return;
+ return false;
}
break;
case MODE_RESCHEDULE_IF_SCHEDULED:
@@ -68,6 +76,7 @@ public class AlarmTimeout implements AlarmManager.OnAlarmListener {
mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + timeout, mTag, this, mHandler);
mScheduled = true;
+ return true;
}
public boolean isScheduled() {