diff options
| author | Alex Buynytskyy <alexbuy@google.com> | 2021-06-07 13:13:47 -0700 |
|---|---|---|
| committer | Alex Buynytskyy <alexbuy@google.com> | 2021-06-07 13:19:03 -0700 |
| commit | a150b8b3693ecdd94e97e7abe6354edd1c30dbcf (patch) | |
| tree | e9824abd59368d98e6411ac48e21086991d16be7 | |
| parent | d7d1f3ebd1c6606cfd671b944ef6c15d675e7ab5 (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.java | 27 |
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); } } |
