From bc02830a593112e8a541388f3c6b87dea19e86b3 Mon Sep 17 00:00:00 2001 From: Benedict Wong Date: Wed, 14 Jul 2021 18:59:24 -0700 Subject: [PATCH] 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 --- core/java/android/telephony/TelephonyRegistryManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/java/android/telephony/TelephonyRegistryManager.java b/core/java/android/telephony/TelephonyRegistryManager.java index 161d10a9090c5..ba288188e06dc 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);