Ensure all AttributionSources are deregistered in PMS

this is a cp of aosp/1978250
Bug: 218794347
Test: Presubmit

Change-Id: Ie56a2ee60a304ac0d306a71dc4453d11fdf9b44f
Merged-In: I39072f3b72f0be6d6debbcbc948d7a940ad92785
This commit is contained in:
Nate Myren
2022-05-27 10:00:50 -07:00
parent dcc64534db
commit e2cc1799b9

View File

@@ -1112,15 +1112,21 @@ public class PermissionManagerService extends IPermissionManager.Stub {
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;
} }
} }