summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Benedict Wong <benedictwong@google.com> 2021-07-14 18:59:24 -0700
committer Benedict Wong <benedictwong@google.com> 2021-07-15 06:58:12 +0000
commitbc02830a593112e8a541388f3c6b87dea19e86b3 (patch)
treeca4707b796f864b85f7bb3c78777bae181a5f295
parentf5c3de0dbdd5a6b6b5c164ef6d159fd87632f756 (diff)
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
-rw-r--r--core/java/android/telephony/TelephonyRegistryManager.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/telephony/TelephonyRegistryManager.java b/core/java/android/telephony/TelephonyRegistryManager.java
index 161d10a9090c..ba288188e06d 100644
--- a/core/java/android/telephony/TelephonyRegistryManager.java
+++ b/core/java/android/telephony/TelephonyRegistryManager.java
@@ -111,7 +111,12 @@ public class TelephonyRegistryManager {
IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() {
@Override
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);