diff options
author | Santos Cordon <santoscordon@google.com> | 2016-02-25 16:12:35 -0800 |
---|---|---|
committer | Santos Cordon <santoscordon@google.com> | 2016-02-25 16:12:35 -0800 |
commit | 3c20d633731a3a2f6ea03012cb4b1d4903a31520 (patch) | |
tree | cb180f5245cb6d98f29c14c889c692f9d95121af /telecomm/java/android/telecom/Log.java | |
parent | a856a70eaa3bc7524109011a8f340413b561165b (diff) |
Adding toStrings() to the API.
Bug: 16979045
Change-Id: Ibbe1bcea6ab7981f62e7fb4bbe35f71e881166bd
Diffstat (limited to 'telecomm/java/android/telecom/Log.java')
-rw-r--r-- | telecomm/java/android/telecom/Log.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/Log.java b/telecomm/java/android/telecom/Log.java index 3f32dbe0fdbe..2ab0525a33c4 100644 --- a/telecomm/java/android/telecom/Log.java +++ b/telecomm/java/android/telecom/Log.java @@ -16,7 +16,10 @@ package android.telecom; +import android.net.Uri; import android.os.AsyncTask; +import android.telephony.PhoneNumberUtils; +import android.text.TextUtils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -152,10 +155,37 @@ final public class Log { public static String pii(Object pii) { if (pii == null || VERBOSE) { return String.valueOf(pii); + } if (pii instanceof Uri) { + return piiUri((Uri) pii); } return "[" + secureHash(String.valueOf(pii).getBytes()) + "]"; } + private static String piiUri(Uri handle) { + StringBuilder sb = new StringBuilder(); + String scheme = handle.getScheme(); + if (!TextUtils.isEmpty(scheme)) { + sb.append(scheme).append(":"); + } + String value = handle.getSchemeSpecificPart(); + if (!TextUtils.isEmpty(value)) { + for (int i = 0; i < value.length(); i++) { + char c = value.charAt(i); + if (PhoneNumberUtils.isStartsPostDial(c)) { + sb.append(c); + } else if (PhoneNumberUtils.isDialable(c)) { + sb.append("*"); + } else if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) { + sb.append("*"); + } else { + sb.append(c); + } + } + } + return sb.toString(); + + } + private static String secureHash(byte[] input) { if (sMessageDigest != null) { sMessageDigest.reset(); |