Merge "Refrain from blocking main thread while handling package broadcast" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0273cc680f
@@ -123,6 +123,7 @@ import com.android.internal.util.ArrayUtils;
|
|||||||
import com.android.internal.util.DumpUtils;
|
import com.android.internal.util.DumpUtils;
|
||||||
import com.android.internal.widget.IRemoteViewsFactory;
|
import com.android.internal.widget.IRemoteViewsFactory;
|
||||||
import com.android.server.LocalServices;
|
import com.android.server.LocalServices;
|
||||||
|
import com.android.server.ServiceThread;
|
||||||
import com.android.server.WidgetBackupProvider;
|
import com.android.server.WidgetBackupProvider;
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
@@ -266,7 +267,10 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
|
|||||||
mDevicePolicyManagerInternal = LocalServices.getService(DevicePolicyManagerInternal.class);
|
mDevicePolicyManagerInternal = LocalServices.getService(DevicePolicyManagerInternal.class);
|
||||||
mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class);
|
mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class);
|
||||||
mSaveStateHandler = BackgroundThread.getHandler();
|
mSaveStateHandler = BackgroundThread.getHandler();
|
||||||
mCallbackHandler = new CallbackHandler(mContext.getMainLooper());
|
final ServiceThread serviceThread = new ServiceThread(TAG,
|
||||||
|
android.os.Process.THREAD_PRIORITY_FOREGROUND, false /* allowIo */);
|
||||||
|
serviceThread.start();
|
||||||
|
mCallbackHandler = new CallbackHandler(serviceThread.getLooper());
|
||||||
mBackupRestoreController = new BackupRestoreController();
|
mBackupRestoreController = new BackupRestoreController();
|
||||||
mSecurityPolicy = new SecurityPolicy();
|
mSecurityPolicy = new SecurityPolicy();
|
||||||
mIsProviderInfoPersisted = !ActivityManager.isLowRamDeviceStatic()
|
mIsProviderInfoPersisted = !ActivityManager.isLowRamDeviceStatic()
|
||||||
@@ -307,26 +311,26 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
|
|||||||
packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
|
packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
|
||||||
packageFilter.addDataScheme("package");
|
packageFilter.addDataScheme("package");
|
||||||
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
||||||
packageFilter, null, null);
|
packageFilter, null, mCallbackHandler);
|
||||||
|
|
||||||
// Register for events related to sdcard installation.
|
// Register for events related to sdcard installation.
|
||||||
IntentFilter sdFilter = new IntentFilter();
|
IntentFilter sdFilter = new IntentFilter();
|
||||||
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
|
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
|
||||||
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
|
sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
|
||||||
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
||||||
sdFilter, null, null);
|
sdFilter, null, mCallbackHandler);
|
||||||
|
|
||||||
IntentFilter offModeFilter = new IntentFilter();
|
IntentFilter offModeFilter = new IntentFilter();
|
||||||
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
|
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
|
||||||
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
|
offModeFilter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
|
||||||
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
||||||
offModeFilter, null, null);
|
offModeFilter, null, mCallbackHandler);
|
||||||
|
|
||||||
IntentFilter suspendPackageFilter = new IntentFilter();
|
IntentFilter suspendPackageFilter = new IntentFilter();
|
||||||
suspendPackageFilter.addAction(Intent.ACTION_PACKAGES_SUSPENDED);
|
suspendPackageFilter.addAction(Intent.ACTION_PACKAGES_SUSPENDED);
|
||||||
suspendPackageFilter.addAction(Intent.ACTION_PACKAGES_UNSUSPENDED);
|
suspendPackageFilter.addAction(Intent.ACTION_PACKAGES_UNSUSPENDED);
|
||||||
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
|
||||||
suspendPackageFilter, null, null);
|
suspendPackageFilter, null, mCallbackHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerOnCrossProfileProvidersChangedListener() {
|
private void registerOnCrossProfileProvidersChangedListener() {
|
||||||
|
|||||||
Reference in New Issue
Block a user