Loading services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -14830,7 +14830,7 @@ public class ActivityManagerService extends IActivityManager.Stub .setPackage("android") .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); broadcastIntent(null, intent, null, null, 0, null, null, null, OP_NONE, null, true, false, UserHandle.USER_ALL); OP_NONE, null, false, false, UserHandle.USER_ALL); } finally { Binder.restoreCallingIdentity(ident); } services/core/java/com/android/server/job/controllers/IdleController.java +27 −23 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.server.job.controllers; import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -101,18 +100,19 @@ public final class IdleController extends StateController { final class IdlenessTracker extends BroadcastReceiver { private AlarmManager mAlarm; private PendingIntent mIdleTriggerIntent; boolean mIdle; boolean mScreenOn; // After construction, mutations of idle/screen-on state will only happen // on the main looper thread, either in onReceive() or in an alarm callback. private boolean mIdle; private boolean mScreenOn; private AlarmManager.OnAlarmListener mIdleAlarmListener = () -> { handleIdleTrigger(); }; public IdlenessTracker() { mAlarm = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(ActivityManagerService.ACTION_TRIGGER_IDLE) .setPackage("android") .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); mIdleTriggerIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0); // At boot we presume that the user has just "interacted" with the // device in some meaningful way. mIdle = false; Loading Loading @@ -150,7 +150,7 @@ public final class IdleController extends StateController { } mScreenOn = true; //cancel the alarm mAlarm.cancel(mIdleTriggerIntent); mAlarm.cancel(mIdleAlarmListener); if (mIdle) { // possible transition to not-idle mIdle = false; Loading @@ -169,8 +169,13 @@ public final class IdleController extends StateController { } mScreenOn = false; mAlarm.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, mIdleWindowSlop, mIdleTriggerIntent); when, mIdleWindowSlop, "JS idleness", mIdleAlarmListener, null); } else if (action.equals(ActivityManagerService.ACTION_TRIGGER_IDLE)) { handleIdleTrigger(); } } private void handleIdleTrigger() { // idle time starts now. Do not set mIdle if screen is on. if (!mIdle && !mScreenOn) { if (DEBUG) { Loading @@ -186,7 +191,6 @@ public final class IdleController extends StateController { } } } } @Override public void dumpControllerStateLocked(IndentingPrintWriter pw, Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -14830,7 +14830,7 @@ public class ActivityManagerService extends IActivityManager.Stub .setPackage("android") .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); broadcastIntent(null, intent, null, null, 0, null, null, null, OP_NONE, null, true, false, UserHandle.USER_ALL); OP_NONE, null, false, false, UserHandle.USER_ALL); } finally { Binder.restoreCallingIdentity(ident); }
services/core/java/com/android/server/job/controllers/IdleController.java +27 −23 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.server.job.controllers; import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -101,18 +100,19 @@ public final class IdleController extends StateController { final class IdlenessTracker extends BroadcastReceiver { private AlarmManager mAlarm; private PendingIntent mIdleTriggerIntent; boolean mIdle; boolean mScreenOn; // After construction, mutations of idle/screen-on state will only happen // on the main looper thread, either in onReceive() or in an alarm callback. private boolean mIdle; private boolean mScreenOn; private AlarmManager.OnAlarmListener mIdleAlarmListener = () -> { handleIdleTrigger(); }; public IdlenessTracker() { mAlarm = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(ActivityManagerService.ACTION_TRIGGER_IDLE) .setPackage("android") .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); mIdleTriggerIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0); // At boot we presume that the user has just "interacted" with the // device in some meaningful way. mIdle = false; Loading Loading @@ -150,7 +150,7 @@ public final class IdleController extends StateController { } mScreenOn = true; //cancel the alarm mAlarm.cancel(mIdleTriggerIntent); mAlarm.cancel(mIdleAlarmListener); if (mIdle) { // possible transition to not-idle mIdle = false; Loading @@ -169,8 +169,13 @@ public final class IdleController extends StateController { } mScreenOn = false; mAlarm.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, mIdleWindowSlop, mIdleTriggerIntent); when, mIdleWindowSlop, "JS idleness", mIdleAlarmListener, null); } else if (action.equals(ActivityManagerService.ACTION_TRIGGER_IDLE)) { handleIdleTrigger(); } } private void handleIdleTrigger() { // idle time starts now. Do not set mIdle if screen is on. if (!mIdle && !mScreenOn) { if (DEBUG) { Loading @@ -186,7 +191,6 @@ public final class IdleController extends StateController { } } } } @Override public void dumpControllerStateLocked(IndentingPrintWriter pw, Loading