summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nikita Ioffe <ioffe@google.com> 2019-08-27 16:20:08 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-08-27 16:20:08 +0000
commita9cebdb5004b737f10f9a8e87bdd8c8ea8f81a09 (patch)
treebca9d3bf077ba8cc78e2fde1d9ed79ff5a67cb92
parent79a1f8e7028c94b16d9de07b7898d933da4a156c (diff)
parent8d3253599b4be53f7d9825ab4050f8ffe8d79c88 (diff)
Merge "ApexManager: Post populateAllPackagesCacheIfNeeded to a background thread"
-rw-r--r--services/core/java/com/android/server/pm/ApexManager.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java
index 1da5bc6c26ee..dc00cb45596c 100644
--- a/services/core/java/com/android/server/pm/ApexManager.java
+++ b/services/core/java/com/android/server/pm/ApexManager.java
@@ -261,11 +261,12 @@ abstract class ApexManager {
mContext.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- populateAllPackagesCacheIfNeeded();
+ // Post populateAllPackagesCacheIfNeeded to a background thread, since it's
+ // expensive to run it in broadcast handler thread.
+ BackgroundThread.getHandler().post(() -> populateAllPackagesCacheIfNeeded());
mContext.unregisterReceiver(this);
}
- }, new IntentFilter(Intent.ACTION_BOOT_COMPLETED), /* broadcastPermission */ null,
- BackgroundThread.getHandler());
+ }, new IntentFilter(Intent.ACTION_BOOT_COMPLETED));
}
private void populateAllPackagesCacheIfNeeded() {