From 714ba1d868c1651d11fdab20e0c9d3977248db90 Mon Sep 17 00:00:00 2001 From: Benedict Wong Date: Thu, 15 Jul 2021 18:55:23 +0000 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 Original-Change: https://android-review.googlesource.com/1767051 Merged-In: I21f14e40a05f76346eb90b8f36608b4d6bdf1a29 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 4b18c5aae614d..bedad7344e9dc 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);