Loading apex/jobscheduler/service/aconfig/job.aconfig +9 −0 Original line number Diff line number Diff line Loading @@ -117,4 +117,13 @@ flag { } } flag { name: "deviceidlejobcontroller_off_main_thread" namespace: "backstage_power" description: "Move the broadcast receiver in DeviceIdleJobController off the main thread." bug: "414140833" metadata { purpose: PURPOSE_BUGFIX } } apex/jobscheduler/service/java/com/android/server/job/controllers/DeviceIdleJobsController.java +3 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.internal.util.ArrayUtils; import com.android.server.AppSchedulingModuleThread; import com.android.server.DeviceIdleInternal; import com.android.server.LocalServices; import com.android.server.job.Flags; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateControllerProto; import com.android.server.job.StateControllerProto.DeviceIdleJobsController.TrackedJob; Loading Loading @@ -154,7 +155,8 @@ public final class DeviceIdleJobsController extends StateController { filter.addAction(PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED); filter.addAction(PowerManager.ACTION_POWER_SAVE_TEMP_WHITELIST_CHANGED); mContext.registerReceiverAsUser( mBroadcastReceiver, UserHandle.ALL, filter, null, null); mBroadcastReceiver, UserHandle.ALL, filter, null, Flags.deviceidlejobcontrollerOffMainThread() ? mHandler : null); } void updateIdleMode(boolean enabled) { Loading Loading
apex/jobscheduler/service/aconfig/job.aconfig +9 −0 Original line number Diff line number Diff line Loading @@ -117,4 +117,13 @@ flag { } } flag { name: "deviceidlejobcontroller_off_main_thread" namespace: "backstage_power" description: "Move the broadcast receiver in DeviceIdleJobController off the main thread." bug: "414140833" metadata { purpose: PURPOSE_BUGFIX } }
apex/jobscheduler/service/java/com/android/server/job/controllers/DeviceIdleJobsController.java +3 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.internal.util.ArrayUtils; import com.android.server.AppSchedulingModuleThread; import com.android.server.DeviceIdleInternal; import com.android.server.LocalServices; import com.android.server.job.Flags; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateControllerProto; import com.android.server.job.StateControllerProto.DeviceIdleJobsController.TrackedJob; Loading Loading @@ -154,7 +155,8 @@ public final class DeviceIdleJobsController extends StateController { filter.addAction(PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED); filter.addAction(PowerManager.ACTION_POWER_SAVE_TEMP_WHITELIST_CHANGED); mContext.registerReceiverAsUser( mBroadcastReceiver, UserHandle.ALL, filter, null, null); mBroadcastReceiver, UserHandle.ALL, filter, null, Flags.deviceidlejobcontrollerOffMainThread() ? mHandler : null); } void updateIdleMode(boolean enabled) { Loading