Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aeb88ed6 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Work on issue #17477510: Time change notifications sent too often" into lmp-dev

parents d7f46093 998e608d
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -127,6 +127,7 @@ class AlarmManagerService extends SystemService {
    long mLastAlarmDeliveryTime;
    long mLastAlarmDeliveryTime;
    long mStartCurrentDelayTime;
    long mStartCurrentDelayTime;
    long mNextNonWakeupDeliveryTime;
    long mNextNonWakeupDeliveryTime;
    int mNumTimeChanged;


    private final SparseArray<AlarmManager.AlarmClockInfo> mNextAlarmClockForUser =
    private final SparseArray<AlarmManager.AlarmClockInfo> mNextAlarmClockForUser =
            new SparseArray<>();
            new SparseArray<>();
@@ -821,6 +822,7 @@ class AlarmManagerService extends SystemService {
                    pw.print(" = "); pw.println(sdf.format(new Date(nextNonWakeupRTC)));
                    pw.print(" = "); pw.println(sdf.format(new Date(nextNonWakeupRTC)));
            pw.print("Next wakeup: "); TimeUtils.formatDuration(mNextWakeup, nowELAPSED, pw);
            pw.print("Next wakeup: "); TimeUtils.formatDuration(mNextWakeup, nowELAPSED, pw);
                    pw.print(" = "); pw.println(sdf.format(new Date(nextWakeupRTC)));
                    pw.print(" = "); pw.println(sdf.format(new Date(nextWakeupRTC)));
            pw.print("Num time change events: "); pw.println(mNumTimeChanged);


            if (mAlarmBatches.size() > 0) {
            if (mAlarmBatches.size() > 0) {
                pw.println();
                pw.println();
@@ -1619,6 +1621,9 @@ class AlarmManagerService extends SystemService {
                    removeImpl(mTimeTickSender);
                    removeImpl(mTimeTickSender);
                    rebatchAllAlarms();
                    rebatchAllAlarms();
                    mClockReceiver.scheduleTimeTickEvent();
                    mClockReceiver.scheduleTimeTickEvent();
                    synchronized (mLock) {
                        mNumTimeChanged++;
                    }
                    Intent intent = new Intent(Intent.ACTION_TIME_CHANGED);
                    Intent intent = new Intent(Intent.ACTION_TIME_CHANGED);
                    intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
                    intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
                            | Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
                            | Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);