Clear caller identify before registering and unregistering phone acct.
Fixes issue with intent being received as expected in legacy use case.
Bug: 37430159
Merged-In: Ibac58ccd0caaad325f4c44b7fe6feda5bb878388
Change-Id: Ibac58ccd0caaad325f4c44b7fe6feda5bb878388
(cherry picked from commit 42064bc739f5efdb8563f09f763c0d4d9b33df57)
diff --git a/src/com/android/server/telecom/TelecomServiceImpl.java b/src/com/android/server/telecom/TelecomServiceImpl.java
index f741a52..b1ba744 100644
--- a/src/com/android/server/telecom/TelecomServiceImpl.java
+++ b/src/com/android/server/telecom/TelecomServiceImpl.java
@@ -397,7 +397,12 @@
enforceRegisterMultiUser();
}
enforceUserHandleMatchesCaller(account.getAccountHandle());
- mPhoneAccountRegistrar.registerPhoneAccount(account);
+ final long token = Binder.clearCallingIdentity();
+ try {
+ mPhoneAccountRegistrar.registerPhoneAccount(account);
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
} catch (Exception e) {
Log.e(this, e, "registerPhoneAccount %s", account);
throw e;
@@ -416,7 +421,12 @@
enforcePhoneAccountModificationForPackage(
accountHandle.getComponentName().getPackageName());
enforceUserHandleMatchesCaller(accountHandle);
- mPhoneAccountRegistrar.unregisterPhoneAccount(accountHandle);
+ final long token = Binder.clearCallingIdentity();
+ try {
+ mPhoneAccountRegistrar.unregisterPhoneAccount(accountHandle);
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
} catch (Exception e) {
Log.e(this, e, "unregisterPhoneAccount %s", accountHandle);
throw e;