Loading services/core/java/com/android/server/notification/ScheduleConditionProvider.java +40 −30 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { pw.print(" mRegistered="); pw.println(mRegistered); pw.println(" mSubscriptions="); final long now = System.currentTimeMillis(); synchronized (mSubscriptions) { for (Uri conditionId : mSubscriptions.keySet()) { pw.print(" "); pw.print(meetsSchedule(mSubscriptions.get(conditionId), now) ? "* " : " "); Loading @@ -90,6 +91,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { pw.print(" "); pw.println(mSubscriptions.get(conditionId).toString()); } } dumpUpcomingTime(pw, "mNextAlarmTime", mNextAlarmTime, now); } Loading Loading @@ -118,14 +120,18 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { notifyCondition(conditionId, Condition.STATE_FALSE, "badCondition"); return; } synchronized (mSubscriptions) { mSubscriptions.put(conditionId, toScheduleCalendar(conditionId)); } evaluateSubscriptions(); } @Override public void onUnsubscribe(Uri conditionId) { if (DEBUG) Slog.d(TAG, "onUnsubscribe " + conditionId); synchronized (mSubscriptions) { mSubscriptions.remove(conditionId); } evaluateSubscriptions(); } Loading @@ -143,8 +149,9 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { if (mAlarmManager == null) { mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); } setRegistered(!mSubscriptions.isEmpty()); final long now = System.currentTimeMillis(); synchronized (mSubscriptions) { setRegistered(!mSubscriptions.isEmpty()); mNextAlarmTime = 0; long nextUserAlarmTime = getNextAlarm(); for (Uri conditionId : mSubscriptions.keySet()) { Loading @@ -154,7 +161,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { cal.maybeSetNextAlarm(now, nextUserAlarmTime); } else { notifyCondition(conditionId, Condition.STATE_FALSE, "!meetsSchedule"); if (nextUserAlarmTime == 0) { if ((cal != null) && (nextUserAlarmTime == 0)) { cal.maybeSetNextAlarm(now, nextUserAlarmTime); } } Loading @@ -167,6 +174,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { } } } } updateAlarm(now, mNextAlarmTime); } Loading Loading @@ -241,6 +249,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); synchronized (mSubscriptions) { if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { for (Uri conditionId : mSubscriptions.keySet()) { final ScheduleCalendar cal = mSubscriptions.get(conditionId); Loading @@ -249,6 +258,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { } } } } evaluateSubscriptions(); } }; Loading Loading
services/core/java/com/android/server/notification/ScheduleConditionProvider.java +40 −30 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { pw.print(" mRegistered="); pw.println(mRegistered); pw.println(" mSubscriptions="); final long now = System.currentTimeMillis(); synchronized (mSubscriptions) { for (Uri conditionId : mSubscriptions.keySet()) { pw.print(" "); pw.print(meetsSchedule(mSubscriptions.get(conditionId), now) ? "* " : " "); Loading @@ -90,6 +91,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { pw.print(" "); pw.println(mSubscriptions.get(conditionId).toString()); } } dumpUpcomingTime(pw, "mNextAlarmTime", mNextAlarmTime, now); } Loading Loading @@ -118,14 +120,18 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { notifyCondition(conditionId, Condition.STATE_FALSE, "badCondition"); return; } synchronized (mSubscriptions) { mSubscriptions.put(conditionId, toScheduleCalendar(conditionId)); } evaluateSubscriptions(); } @Override public void onUnsubscribe(Uri conditionId) { if (DEBUG) Slog.d(TAG, "onUnsubscribe " + conditionId); synchronized (mSubscriptions) { mSubscriptions.remove(conditionId); } evaluateSubscriptions(); } Loading @@ -143,8 +149,9 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { if (mAlarmManager == null) { mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); } setRegistered(!mSubscriptions.isEmpty()); final long now = System.currentTimeMillis(); synchronized (mSubscriptions) { setRegistered(!mSubscriptions.isEmpty()); mNextAlarmTime = 0; long nextUserAlarmTime = getNextAlarm(); for (Uri conditionId : mSubscriptions.keySet()) { Loading @@ -154,7 +161,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { cal.maybeSetNextAlarm(now, nextUserAlarmTime); } else { notifyCondition(conditionId, Condition.STATE_FALSE, "!meetsSchedule"); if (nextUserAlarmTime == 0) { if ((cal != null) && (nextUserAlarmTime == 0)) { cal.maybeSetNextAlarm(now, nextUserAlarmTime); } } Loading @@ -167,6 +174,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { } } } } updateAlarm(now, mNextAlarmTime); } Loading Loading @@ -241,6 +249,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); synchronized (mSubscriptions) { if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { for (Uri conditionId : mSubscriptions.keySet()) { final ScheduleCalendar cal = mSubscriptions.get(conditionId); Loading @@ -249,6 +258,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { } } } } evaluateSubscriptions(); } }; Loading