Loading apex/jobscheduler/service/java/com/android/server/JobSchedulerBackgroundThread.java→apex/jobscheduler/service/java/com/android/server/AppSchedulingModuleThread.java +14 −13 Original line number Diff line number Diff line Loading @@ -20,29 +20,30 @@ import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.Looper; import android.os.Process; import android.os.Trace; import java.util.concurrent.Executor; /** * Shared singleton background thread. * Shared singleton default priority thread for the app scheduling module. * * @see com.android.internal.os.BackgroundThread */ public final class JobSchedulerBackgroundThread extends HandlerThread { public final class AppSchedulingModuleThread extends HandlerThread { private static final long SLOW_DISPATCH_THRESHOLD_MS = 10_000; private static final long SLOW_DELIVERY_THRESHOLD_MS = 30_000; private static JobSchedulerBackgroundThread sInstance; private static AppSchedulingModuleThread sInstance; private static Handler sHandler; private static Executor sHandlerExecutor; private JobSchedulerBackgroundThread() { super("jobscheduler.bg", android.os.Process.THREAD_PRIORITY_BACKGROUND); private AppSchedulingModuleThread() { super("appscheduling.default", Process.THREAD_PRIORITY_DEFAULT); } private static void ensureThreadLocked() { if (sInstance == null) { sInstance = new JobSchedulerBackgroundThread(); sInstance = new AppSchedulingModuleThread(); sInstance.start(); final Looper looper = sInstance.getLooper(); looper.setTraceTag(Trace.TRACE_TAG_SYSTEM_SERVER); Loading @@ -53,25 +54,25 @@ public final class JobSchedulerBackgroundThread extends HandlerThread { } } /** Returns the JobSchedulerBackgroundThread singleton */ public static JobSchedulerBackgroundThread get() { synchronized (JobSchedulerBackgroundThread.class) { /** Returns the AppSchedulingModuleThread singleton */ public static AppSchedulingModuleThread get() { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sInstance; } } /** Returns the singleton handler for JobSchedulerBackgroundThread */ /** Returns the singleton handler for AppSchedulingModuleThread */ public static Handler getHandler() { synchronized (JobSchedulerBackgroundThread.class) { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sHandler; } } /** Returns the singleton handler executor for JobSchedulerBackgroundThread */ /** Returns the singleton handler executor for AppSchedulingModuleThread */ public static Executor getExecutor() { synchronized (JobSchedulerBackgroundThread.class) { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sHandlerExecutor; } Loading apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +4 −4 Original line number Diff line number Diff line Loading @@ -1327,7 +1327,7 @@ public class DeviceIdleController extends SystemService IDLE_AFTER_INACTIVE_TIMEOUT = DEFAULT_IDLE_AFTER_INACTIVE_TIMEOUT_SMALL_BATTERY; } DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DEVICE_IDLE, JobSchedulerBackgroundThread.getExecutor(), this); AppSchedulingModuleThread.getExecutor(), this); // Load all the constants. onPropertiesChanged(DeviceConfig.getProperties(DeviceConfig.NAMESPACE_DEVICE_IDLE)); } Loading Loading @@ -2416,7 +2416,7 @@ public class DeviceIdleController extends SystemService } MyHandler getHandler(DeviceIdleController controller) { return controller.new MyHandler(JobSchedulerBackgroundThread.getHandler().getLooper()); return controller.new MyHandler(AppSchedulingModuleThread.getHandler().getLooper()); } Sensor getMotionSensor() { Loading Loading @@ -2488,7 +2488,7 @@ public class DeviceIdleController extends SystemService mConfigFile = new AtomicFile(new File(getSystemDir(), "deviceidle.xml")); mHandler = mInjector.getHandler(this); mAppStateTracker = mInjector.getAppStateTracker(context, JobSchedulerBackgroundThread.get().getLooper()); AppSchedulingModuleThread.get().getLooper()); LocalServices.addService(AppStateTracker.class, mAppStateTracker); mUseMotionSensor = mInjector.useMotionSensor(); } Loading Loading @@ -2681,7 +2681,7 @@ public class DeviceIdleController extends SystemService mLocalActivityTaskManager.registerScreenObserver(mScreenObserver); mInjector.getTelephonyManager().registerTelephonyCallback( JobSchedulerBackgroundThread.getExecutor(), mEmergencyCallListener); AppSchedulingModuleThread.getExecutor(), mEmergencyCallListener); passWhiteListsToForceAppStandbyTrackerLocked(); updateInteractivityLocked(); Loading apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -147,12 +147,12 @@ import com.android.internal.util.LocalLog; import com.android.internal.util.RingBuffer; import com.android.internal.util.StatLogger; import com.android.server.AlarmManagerInternal; import com.android.server.AppSchedulingModuleThread; import com.android.server.AppStateTracker; import com.android.server.AppStateTrackerImpl; import com.android.server.AppStateTrackerImpl.Listener; import com.android.server.DeviceIdleInternal; import com.android.server.EventLogTags; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.LocalServices; import com.android.server.SystemClockTime; import com.android.server.SystemClockTime.TimeConfidence; Loading Loading @@ -4691,7 +4691,7 @@ public class AlarmManagerService extends SystemService { void registerDeviceConfigListener(DeviceConfig.OnPropertiesChangedListener listener) { DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_ALARM_MANAGER, JobSchedulerBackgroundThread.getExecutor(), listener); AppSchedulingModuleThread.getExecutor(), listener); } } Loading apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ import com.android.internal.app.IBatteryStats; import com.android.internal.app.procstats.ProcessStats; import com.android.internal.util.MemInfoReader; import com.android.internal.util.StatLogger; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.AppSchedulingModuleThread; import com.android.server.LocalServices; import com.android.server.job.controllers.JobStatus; import com.android.server.job.controllers.StateController; Loading Loading @@ -499,7 +499,7 @@ class JobConcurrencyManager { mInjector = injector; mNotificationCoordinator = new JobNotificationCoordinator(); mHandler = JobSchedulerBackgroundThread.getHandler(); mHandler = AppSchedulingModuleThread.getHandler(); mGracePeriodObserver = new GracePeriodObserver(mContext); mShouldRestrictBgUser = mContext.getResources().getBoolean( Loading apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -105,10 +105,10 @@ import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.internal.util.DumpUtils; import com.android.internal.util.FrameworkStatsLog; import com.android.server.AppSchedulingModuleThread; import com.android.server.AppStateTracker; import com.android.server.AppStateTrackerImpl; import com.android.server.DeviceIdleInternal; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.LocalServices; import com.android.server.job.JobSchedulerServiceDumpProto.PendingJob; import com.android.server.job.controllers.BackgroundJobsController; Loading Loading @@ -411,7 +411,7 @@ public class JobSchedulerService extends com.android.server.SystemService EconomyManagerInternal.TareStateChangeListener { public void start() { DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_JOB_SCHEDULER, JobSchedulerBackgroundThread.getExecutor(), this); AppSchedulingModuleThread.getExecutor(), this); final EconomyManagerInternal economyManagerInternal = LocalServices.getService(EconomyManagerInternal.class); economyManagerInternal Loading Loading
apex/jobscheduler/service/java/com/android/server/JobSchedulerBackgroundThread.java→apex/jobscheduler/service/java/com/android/server/AppSchedulingModuleThread.java +14 −13 Original line number Diff line number Diff line Loading @@ -20,29 +20,30 @@ import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.Looper; import android.os.Process; import android.os.Trace; import java.util.concurrent.Executor; /** * Shared singleton background thread. * Shared singleton default priority thread for the app scheduling module. * * @see com.android.internal.os.BackgroundThread */ public final class JobSchedulerBackgroundThread extends HandlerThread { public final class AppSchedulingModuleThread extends HandlerThread { private static final long SLOW_DISPATCH_THRESHOLD_MS = 10_000; private static final long SLOW_DELIVERY_THRESHOLD_MS = 30_000; private static JobSchedulerBackgroundThread sInstance; private static AppSchedulingModuleThread sInstance; private static Handler sHandler; private static Executor sHandlerExecutor; private JobSchedulerBackgroundThread() { super("jobscheduler.bg", android.os.Process.THREAD_PRIORITY_BACKGROUND); private AppSchedulingModuleThread() { super("appscheduling.default", Process.THREAD_PRIORITY_DEFAULT); } private static void ensureThreadLocked() { if (sInstance == null) { sInstance = new JobSchedulerBackgroundThread(); sInstance = new AppSchedulingModuleThread(); sInstance.start(); final Looper looper = sInstance.getLooper(); looper.setTraceTag(Trace.TRACE_TAG_SYSTEM_SERVER); Loading @@ -53,25 +54,25 @@ public final class JobSchedulerBackgroundThread extends HandlerThread { } } /** Returns the JobSchedulerBackgroundThread singleton */ public static JobSchedulerBackgroundThread get() { synchronized (JobSchedulerBackgroundThread.class) { /** Returns the AppSchedulingModuleThread singleton */ public static AppSchedulingModuleThread get() { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sInstance; } } /** Returns the singleton handler for JobSchedulerBackgroundThread */ /** Returns the singleton handler for AppSchedulingModuleThread */ public static Handler getHandler() { synchronized (JobSchedulerBackgroundThread.class) { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sHandler; } } /** Returns the singleton handler executor for JobSchedulerBackgroundThread */ /** Returns the singleton handler executor for AppSchedulingModuleThread */ public static Executor getExecutor() { synchronized (JobSchedulerBackgroundThread.class) { synchronized (AppSchedulingModuleThread.class) { ensureThreadLocked(); return sHandlerExecutor; } Loading
apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +4 −4 Original line number Diff line number Diff line Loading @@ -1327,7 +1327,7 @@ public class DeviceIdleController extends SystemService IDLE_AFTER_INACTIVE_TIMEOUT = DEFAULT_IDLE_AFTER_INACTIVE_TIMEOUT_SMALL_BATTERY; } DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DEVICE_IDLE, JobSchedulerBackgroundThread.getExecutor(), this); AppSchedulingModuleThread.getExecutor(), this); // Load all the constants. onPropertiesChanged(DeviceConfig.getProperties(DeviceConfig.NAMESPACE_DEVICE_IDLE)); } Loading Loading @@ -2416,7 +2416,7 @@ public class DeviceIdleController extends SystemService } MyHandler getHandler(DeviceIdleController controller) { return controller.new MyHandler(JobSchedulerBackgroundThread.getHandler().getLooper()); return controller.new MyHandler(AppSchedulingModuleThread.getHandler().getLooper()); } Sensor getMotionSensor() { Loading Loading @@ -2488,7 +2488,7 @@ public class DeviceIdleController extends SystemService mConfigFile = new AtomicFile(new File(getSystemDir(), "deviceidle.xml")); mHandler = mInjector.getHandler(this); mAppStateTracker = mInjector.getAppStateTracker(context, JobSchedulerBackgroundThread.get().getLooper()); AppSchedulingModuleThread.get().getLooper()); LocalServices.addService(AppStateTracker.class, mAppStateTracker); mUseMotionSensor = mInjector.useMotionSensor(); } Loading Loading @@ -2681,7 +2681,7 @@ public class DeviceIdleController extends SystemService mLocalActivityTaskManager.registerScreenObserver(mScreenObserver); mInjector.getTelephonyManager().registerTelephonyCallback( JobSchedulerBackgroundThread.getExecutor(), mEmergencyCallListener); AppSchedulingModuleThread.getExecutor(), mEmergencyCallListener); passWhiteListsToForceAppStandbyTrackerLocked(); updateInteractivityLocked(); Loading
apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -147,12 +147,12 @@ import com.android.internal.util.LocalLog; import com.android.internal.util.RingBuffer; import com.android.internal.util.StatLogger; import com.android.server.AlarmManagerInternal; import com.android.server.AppSchedulingModuleThread; import com.android.server.AppStateTracker; import com.android.server.AppStateTrackerImpl; import com.android.server.AppStateTrackerImpl.Listener; import com.android.server.DeviceIdleInternal; import com.android.server.EventLogTags; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.LocalServices; import com.android.server.SystemClockTime; import com.android.server.SystemClockTime.TimeConfidence; Loading Loading @@ -4691,7 +4691,7 @@ public class AlarmManagerService extends SystemService { void registerDeviceConfigListener(DeviceConfig.OnPropertiesChangedListener listener) { DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_ALARM_MANAGER, JobSchedulerBackgroundThread.getExecutor(), listener); AppSchedulingModuleThread.getExecutor(), listener); } } Loading
apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ import com.android.internal.app.IBatteryStats; import com.android.internal.app.procstats.ProcessStats; import com.android.internal.util.MemInfoReader; import com.android.internal.util.StatLogger; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.AppSchedulingModuleThread; import com.android.server.LocalServices; import com.android.server.job.controllers.JobStatus; import com.android.server.job.controllers.StateController; Loading Loading @@ -499,7 +499,7 @@ class JobConcurrencyManager { mInjector = injector; mNotificationCoordinator = new JobNotificationCoordinator(); mHandler = JobSchedulerBackgroundThread.getHandler(); mHandler = AppSchedulingModuleThread.getHandler(); mGracePeriodObserver = new GracePeriodObserver(mContext); mShouldRestrictBgUser = mContext.getResources().getBoolean( Loading
apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -105,10 +105,10 @@ import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import com.android.internal.util.DumpUtils; import com.android.internal.util.FrameworkStatsLog; import com.android.server.AppSchedulingModuleThread; import com.android.server.AppStateTracker; import com.android.server.AppStateTrackerImpl; import com.android.server.DeviceIdleInternal; import com.android.server.JobSchedulerBackgroundThread; import com.android.server.LocalServices; import com.android.server.job.JobSchedulerServiceDumpProto.PendingJob; import com.android.server.job.controllers.BackgroundJobsController; Loading Loading @@ -411,7 +411,7 @@ public class JobSchedulerService extends com.android.server.SystemService EconomyManagerInternal.TareStateChangeListener { public void start() { DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_JOB_SCHEDULER, JobSchedulerBackgroundThread.getExecutor(), this); AppSchedulingModuleThread.getExecutor(), this); final EconomyManagerInternal economyManagerInternal = LocalServices.getService(EconomyManagerInternal.class); economyManagerInternal Loading