am be3650be: am 587ae867: am b0db15c6: Merge "Next alarm clock updates." into mnc-dev

* commit 'be3650be63875a740932bd38274857dbee36a2fa':
  Next alarm clock updates.
This commit is contained in:
John Spurlock
2015-06-01 20:38:47 +00:00
committed by Android Git Automerger
3 changed files with 38 additions and 2 deletions

View File

@@ -349,6 +349,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
if (!mUserSetup && mStatusBarView != null)
animateCollapseQuickSettings();
}
if (mIconPolicy != null) {
mIconPolicy.setCurrentUserSetup(mUserSetup);
}
}
};
@@ -554,6 +557,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
// Lastly, call to the icon policy to install/update all the icons.
mIconPolicy = new PhoneStatusBarPolicy(mContext, mCastController, mHotspotController);
mIconPolicy.setCurrentUserSetup(mUserSetup);
mSettingsObserver.onChange(false); // set up
mHeadsUpObserver.onChange(true); // set up

View File

@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone;
import android.app.ActivityManagerNative;
import android.app.AlarmManager;
import android.app.AlarmManager.AlarmClockInfo;
import android.app.IUserSwitchObserver;
import android.app.StatusBarManager;
import android.bluetooth.BluetoothAdapter;
@@ -75,6 +76,7 @@ public class PhoneStatusBarPolicy {
private boolean mZenVisible;
private boolean mVolumeVisible;
private boolean mCurrentUserSetup;
private int mZen;
@@ -175,11 +177,12 @@ public class PhoneStatusBarPolicy {
}
private void updateAlarm() {
final boolean hasAlarm = mAlarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null;
final AlarmClockInfo alarm = mAlarmManager.getNextAlarmClock(UserHandle.USER_CURRENT);
final boolean hasAlarm = alarm != null && alarm.getTriggerTime() > 0;
final boolean zenNone = mZen == Global.ZEN_MODE_NO_INTERRUPTIONS;
mService.setIconVisibility(SLOT_ALARM_CLOCK, hasAlarm);
mService.setIcon(SLOT_ALARM_CLOCK, zenNone ? R.drawable.stat_sys_alarm_dim
: R.drawable.stat_sys_alarm, 0, null);
mService.setIconVisibility(SLOT_ALARM_CLOCK, mCurrentUserSetup && hasAlarm);
}
private final void updateSimState(Intent intent) {
@@ -391,4 +394,10 @@ public class PhoneStatusBarPolicy {
mKeyguardVisible = visible;
updateManagedProfile();
}
public void setCurrentUserSetup(boolean userSetup) {
if (mCurrentUserSetup == userSetup) return;
mCurrentUserSetup = userSetup;
updateAlarm();
}
}

View File

@@ -64,6 +64,7 @@ import java.util.LinkedList;
import java.util.Locale;
import java.util.Random;
import java.util.TimeZone;
import java.util.TreeSet;
import static android.app.AlarmManager.RTC_WAKEUP;
import static android.app.AlarmManager.RTC;
@@ -1055,6 +1056,28 @@ class AlarmManagerService extends SystemService {
pw.print(" = "); pw.println(sdf.format(new Date(nextWakeupRTC)));
pw.print("Num time change events: "); pw.println(mNumTimeChanged);
pw.println();
pw.println("Next alarm clock information: ");
final TreeSet<Integer> users = new TreeSet<>();
for (int i = 0; i < mNextAlarmClockForUser.size(); i++) {
users.add(mNextAlarmClockForUser.keyAt(i));
}
for (int i = 0; i < mPendingSendNextAlarmClockChangedForUser.size(); i++) {
users.add(mPendingSendNextAlarmClockChangedForUser.keyAt(i));
}
for (int user : users) {
final AlarmManager.AlarmClockInfo next = mNextAlarmClockForUser.get(user);
final long time = next != null ? next.getTriggerTime() : 0;
final boolean pendingSend = mPendingSendNextAlarmClockChangedForUser.get(user);
pw.print(" user:"); pw.print(user);
pw.print(" pendingSend:"); pw.print(pendingSend);
pw.print(" time:"); pw.print(time);
if (time > 0) {
pw.print(" = "); pw.print(sdf.format(new Date(time)));
pw.print(" = "); TimeUtils.formatDuration(time, nowRTC, pw);
}
pw.println();
}
if (mAlarmBatches.size() > 0) {
pw.println();
pw.print("Pending alarm batches: ");