Merge "Move JobScheduler off the main thread." into udc-dev

This commit is contained in:
Kweku Adams
2023-03-08 21:06:00 +00:00
committed by Android (Google) Code Review
7 changed files with 13 additions and 9 deletions

View File

@@ -533,7 +533,8 @@ class JobConcurrencyManager {
mIdleContexts.add( mIdleContexts.add(
mInjector.createJobServiceContext(mService, this, mInjector.createJobServiceContext(mService, this,
mNotificationCoordinator, batteryStats, mNotificationCoordinator, batteryStats,
mService.mJobPackageTracker, mContext.getMainLooper())); mService.mJobPackageTracker,
AppSchedulingModuleThread.get().getLooper()));
} }
} }
@@ -1925,7 +1926,7 @@ class JobConcurrencyManager {
return mInjector.createJobServiceContext(mService, this, mNotificationCoordinator, return mInjector.createJobServiceContext(mService, this, mNotificationCoordinator,
IBatteryStats.Stub.asInterface( IBatteryStats.Stub.asInterface(
ServiceManager.getService(BatteryStats.SERVICE_NAME)), ServiceManager.getService(BatteryStats.SERVICE_NAME)),
mService.mJobPackageTracker, mContext.getMainLooper()); mService.mJobPackageTracker, AppSchedulingModuleThread.get().getLooper());
} }
@GuardedBy("mLock") @GuardedBy("mLock")

View File

@@ -2009,7 +2009,7 @@ public class JobSchedulerService extends com.android.server.SystemService
mActivityManagerInternal = Objects.requireNonNull( mActivityManagerInternal = Objects.requireNonNull(
LocalServices.getService(ActivityManagerInternal.class)); LocalServices.getService(ActivityManagerInternal.class));
mHandler = new JobHandler(context.getMainLooper()); mHandler = new JobHandler(AppSchedulingModuleThread.get().getLooper());
mConstants = new Constants(); mConstants = new Constants();
mConstantsObserver = new ConstantsObserver(); mConstantsObserver = new ConstantsObserver();
mJobSchedulerStub = new JobSchedulerStub(); mJobSchedulerStub = new JobSchedulerStub();

View File

@@ -256,7 +256,7 @@ public final class ConnectivityController extends RestrictingController implemen
public ConnectivityController(JobSchedulerService service, public ConnectivityController(JobSchedulerService service,
@NonNull FlexibilityController flexibilityController) { @NonNull FlexibilityController flexibilityController) {
super(service); super(service);
mHandler = new CcHandler(mContext.getMainLooper()); mHandler = new CcHandler(AppSchedulingModuleThread.get().getLooper());
mConnManager = mContext.getSystemService(ConnectivityManager.class); mConnManager = mContext.getSystemService(ConnectivityManager.class);
mNetPolicyManagerInternal = LocalServices.getService(NetworkPolicyManagerInternal.class); mNetPolicyManagerInternal = LocalServices.getService(NetworkPolicyManagerInternal.class);

View File

@@ -33,6 +33,7 @@ import android.util.SparseArray;
import android.util.TimeUtils; import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream; import android.util.proto.ProtoOutputStream;
import com.android.server.AppSchedulingModuleThread;
import com.android.server.job.JobSchedulerService; import com.android.server.job.JobSchedulerService;
import com.android.server.job.StateControllerProto; import com.android.server.job.StateControllerProto;
import com.android.server.job.StateControllerProto.ContentObserverController.Observer.TriggerContentData; import com.android.server.job.StateControllerProto.ContentObserverController.Observer.TriggerContentData;
@@ -70,7 +71,7 @@ public final class ContentObserverController extends StateController {
public ContentObserverController(JobSchedulerService service) { public ContentObserverController(JobSchedulerService service) {
super(service); super(service);
mHandler = new Handler(mContext.getMainLooper()); mHandler = new Handler(AppSchedulingModuleThread.get().getLooper());
} }
@Override @Override

View File

@@ -36,6 +36,7 @@ import android.util.SparseBooleanArray;
import android.util.proto.ProtoOutputStream; import android.util.proto.ProtoOutputStream;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import com.android.server.AppSchedulingModuleThread;
import com.android.server.DeviceIdleInternal; import com.android.server.DeviceIdleInternal;
import com.android.server.LocalServices; import com.android.server.LocalServices;
import com.android.server.job.JobSchedulerService; import com.android.server.job.JobSchedulerService;
@@ -127,7 +128,7 @@ public final class DeviceIdleJobsController extends StateController {
public DeviceIdleJobsController(JobSchedulerService service) { public DeviceIdleJobsController(JobSchedulerService service) {
super(service); super(service);
mHandler = new DeviceIdleJobsDelayHandler(mContext.getMainLooper()); mHandler = new DeviceIdleJobsDelayHandler(AppSchedulingModuleThread.get().getLooper());
// Register for device idle mode changes // Register for device idle mode changes
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
mLocalDeviceIdleController = mLocalDeviceIdleController =

View File

@@ -130,7 +130,7 @@ public class PrefetchController extends StateController {
public PrefetchController(JobSchedulerService service) { public PrefetchController(JobSchedulerService service) {
super(service); super(service);
mPcConstants = new PcConstants(); mPcConstants = new PcConstants();
mHandler = new PcHandler(mContext.getMainLooper()); mHandler = new PcHandler(AppSchedulingModuleThread.get().getLooper());
mThresholdAlarmListener = new ThresholdAlarmListener( mThresholdAlarmListener = new ThresholdAlarmListener(
mContext, AppSchedulingModuleThread.get().getLooper()); mContext, AppSchedulingModuleThread.get().getLooper());
mUsageStatsManagerInternal = LocalServices.getService(UsageStatsManagerInternal.class); mUsageStatsManagerInternal = LocalServices.getService(UsageStatsManagerInternal.class);

View File

@@ -560,13 +560,14 @@ public final class QuotaController extends StateController {
@NonNull BackgroundJobsController backgroundJobsController, @NonNull BackgroundJobsController backgroundJobsController,
@NonNull ConnectivityController connectivityController) { @NonNull ConnectivityController connectivityController) {
super(service); super(service);
mHandler = new QcHandler(mContext.getMainLooper()); mHandler = new QcHandler(AppSchedulingModuleThread.get().getLooper());
mAlarmManager = mContext.getSystemService(AlarmManager.class); mAlarmManager = mContext.getSystemService(AlarmManager.class);
mQcConstants = new QcConstants(); mQcConstants = new QcConstants();
mBackgroundJobsController = backgroundJobsController; mBackgroundJobsController = backgroundJobsController;
mConnectivityController = connectivityController; mConnectivityController = connectivityController;
mIsEnabled = !mConstants.USE_TARE_POLICY; mIsEnabled = !mConstants.USE_TARE_POLICY;
mInQuotaAlarmQueue = new InQuotaAlarmQueue(mContext, mContext.getMainLooper()); mInQuotaAlarmQueue =
new InQuotaAlarmQueue(mContext, AppSchedulingModuleThread.get().getLooper());
// Set up the app standby bucketing tracker // Set up the app standby bucketing tracker
AppStandbyInternal appStandby = LocalServices.getService(AppStandbyInternal.class); AppStandbyInternal appStandby = LocalServices.getService(AppStandbyInternal.class);