From f601004255158ae5ff5b6e2ee2d7740090f8379d Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Mon, 28 Mar 2022 09:22:41 -0700 Subject: [PATCH] Un-obscure the Telephony phone account ID. With the upcoming changes in T to move telephony phone account handles to use subid instead of ICCID, the id of telephony phone account handles no longer needs to be Log.pii-ed. These phone accounts have been hard to diagnose in most bug reports due to the obfuscation. Bug: 226972613 Test: Manual testing; place calls and verify Telephony account handles are now visible. Change-Id: I5ff66571658c2b81b83e3f7d1936e3e805598769 --- .../android/telecom/PhoneAccountHandle.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java index e3485deb90803..287d3f2b60251 100644 --- a/telecomm/java/android/telecom/PhoneAccountHandle.java +++ b/telecomm/java/android/telecom/PhoneAccountHandle.java @@ -46,6 +46,14 @@ import java.util.Objects; * See {@link PhoneAccount}, {@link TelecomManager}. */ public final class PhoneAccountHandle implements Parcelable { + /** + * Expected component name of Telephony phone accounts; ONLY used to determine if we should log + * the phone account handle ID. + */ + private static final ComponentName TELEPHONY_COMPONENT_NAME = + new ComponentName("com.android.phone", + "com.android.services.telephony.TelephonyConnectionService"); + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196) private final ComponentName mComponentName; @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) @@ -136,14 +144,23 @@ public final class PhoneAccountHandle implements Parcelable { @Override public String toString() { - // Note: Log.pii called for mId as it can contain personally identifying phone account - // information such as SIP account IDs. - return new StringBuilder().append(mComponentName) - .append(", ") - .append(Log.pii(mId)) - .append(", ") - .append(mUserHandle) - .toString(); + StringBuilder sb = new StringBuilder() + .append(mComponentName) + .append(", "); + + if (mComponentName.equals(TELEPHONY_COMPONENT_NAME)) { + // Telephony phone account handles are now keyed by subscription id which is not + // sensitive. + sb.append(mId); + } else { + // Note: Log.pii called for mId as it can contain personally identifying phone account + // information such as SIP account IDs. + sb.append(Log.pii(mId)); + } + sb.append(", "); + sb.append(mUserHandle); + + return sb.toString(); } @Override