From c7d1078468d4f805c86fc8711232b7e73761a7cc Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Thu, 11 Apr 2019 11:41:15 -0700 Subject: Add PhoneAccountHandle method to check if 2 accts are from same CS. Add a new PhoneAccountHandle method to check if 2 phone account handles are from the same connectionservice (package). Test: Manual testing. Test: Added new unit tests for this new method. Bug: 129505115 Change-Id: I85eca54340e79d4a4f189188ae787201bab1724e --- telecomm/java/android/telecom/PhoneAccountHandle.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java index 71a28b575394..eb568e04ebf3 100644 --- a/telecomm/java/android/telecom/PhoneAccountHandle.java +++ b/telecomm/java/android/telecom/PhoneAccountHandle.java @@ -17,6 +17,7 @@ package android.telecom; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.os.Build; @@ -174,4 +175,21 @@ public final class PhoneAccountHandle implements Parcelable { in.readString(), UserHandle.CREATOR.createFromParcel(in)); } + + /** + * Determines if two {@link PhoneAccountHandle}s are from the same package. + * + * @param a Phone account handle to check for same {@link ConnectionService} package. + * @param b Other phone account handle to check for same {@link ConnectionService} package. + * @return {@code true} if the two {@link PhoneAccountHandle}s passed in belong to the same + * {@link ConnectionService} / package, {@code false} otherwise. Note: {@code null} phone + * account handles are considered equivalent to other {@code null} phone account handles. + * @hide + */ + public static boolean areFromSamePackage(@Nullable PhoneAccountHandle a, + @Nullable PhoneAccountHandle b) { + String aPackageName = a != null ? a.getComponentName().getPackageName() : null; + String bPackageName = b != null ? b.getComponentName().getPackageName() : null; + return Objects.equals(aPackageName, bPackageName); + } } -- cgit v1.2.3-59-g8ed1b