summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Buynytskyy <alexbuy@google.com>2021-06-07 13:13:47 -0700
committerAlex Buynytskyy <alexbuy@google.com>2021-06-07 13:19:03 -0700
commita150b8b3693ecdd94e97e7abe6354edd1c30dbcf (patch)
treee9824abd59368d98e6411ac48e21086991d16be7
parentd7d1f3ebd1c6606cfd671b944ef6c15d675e7ab5 (diff)
Remove everything from under the lock.
Not sure why this code reported a deadlock, removing everything just in case. Bug: 189538295 Test: presubmit Change-Id: I08f55934fde720819405d1d9868fb77575067327
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java27
1 files changed, 13 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index be2a63d3f11e..34693627f4c5 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -9497,21 +9497,19 @@ public class PackageManagerService extends IPackageManager.Stub
@Override
public boolean isProtectedBroadcast(String actionName) {
- // allow instant applications
- synchronized (mProtectedBroadcasts) {
- if (mProtectedBroadcasts.contains(actionName)) {
+ if (actionName != null) {
+ // TODO: remove these terrible hacks
+ if (actionName.startsWith("android.net.netmon.lingerExpired")
+ || actionName.startsWith("com.android.server.sip.SipWakeupTimer")
+ || actionName.startsWith("com.android.internal.telephony.data-reconnect")
+ || actionName.startsWith("android.net.netmon.launchCaptivePortalApp")) {
return true;
- } else if (actionName != null) {
- // TODO: remove these terrible hacks
- if (actionName.startsWith("android.net.netmon.lingerExpired")
- || actionName.startsWith("com.android.server.sip.SipWakeupTimer")
- || actionName.startsWith("com.android.internal.telephony.data-reconnect")
- || actionName.startsWith("android.net.netmon.launchCaptivePortalApp")) {
- return true;
- }
}
}
- return false;
+ // allow instant applications
+ synchronized (mProtectedBroadcasts) {
+ return mProtectedBroadcasts.contains(actionName);
+ }
}
@Override
@@ -15143,9 +15141,10 @@ public class PackageManagerService extends IPackageManager.Stub
if (DEBUG_PACKAGE_SCANNING) Log.d(TAG, " Instrumentation: " + r);
}
- if (!pkg.getProtectedBroadcasts().isEmpty()) {
+ final List<String> protectedBroadcasts = pkg.getProtectedBroadcasts();
+ if (!protectedBroadcasts.isEmpty()) {
synchronized (mProtectedBroadcasts) {
- mProtectedBroadcasts.addAll(pkg.getProtectedBroadcasts());
+ mProtectedBroadcasts.addAll(protectedBroadcasts);
}
}