Merge "Fix weak global reference overflow" am: d1a6cd9185 am: 199deef1be
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2150993 Change-Id: I4db6a50a9ac92b097442d995c6df26017d808996 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1111,16 +1111,21 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
appOpsManager.finishProxyOp(AppOpsManager.opToPublicName(op),
|
appOpsManager.finishProxyOp(AppOpsManager.opToPublicName(op),
|
||||||
resolvedAttributionSource, skipCurrentFinish);
|
resolvedAttributionSource, skipCurrentFinish);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (next == null || next.getNext() == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
RegisteredAttribution registered =
|
RegisteredAttribution registered =
|
||||||
sRunningAttributionSources.remove(current.getToken());
|
sRunningAttributionSources.remove(current.getToken());
|
||||||
if (registered != null) {
|
if (registered != null) {
|
||||||
registered.unregister();
|
registered.unregister();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (next == null || next.getNext() == null) {
|
||||||
|
if (next != null) {
|
||||||
|
registered = sRunningAttributionSources.remove(next.getToken());
|
||||||
|
if (registered != null) {
|
||||||
|
registered.unregister();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
current = next;
|
current = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user