Clear binder calling identity before calling callback

This change clears calling identities before the
onSubscriptionsChangedListener.onSubscriptionsChanged() callback is
made.

Bug: 193731920
Test: atest TelephonyRegistryManagerTest
Change-Id: I21f14e40a05f76346eb90b8f36608b4d6bdf1a29
This commit is contained in:
Benedict Wong
2021-07-14 18:59:24 -07:00
parent f5c3de0dbd
commit bc02830a59

View File

@@ -111,7 +111,12 @@ public class TelephonyRegistryManager {
IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() { IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() {
@Override @Override
public void onSubscriptionsChanged () { public void onSubscriptionsChanged () {
executor.execute(() -> listener.onSubscriptionsChanged()); final long identity = Binder.clearCallingIdentity();
try {
executor.execute(() -> listener.onSubscriptionsChanged());
} finally {
Binder.restoreCallingIdentity(identity);
}
} }
}; };
mSubscriptionChangedListenerMap.put(listener, callback); mSubscriptionChangedListenerMap.put(listener, callback);