diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java index bf8fac621081b..537c3f73c7c60 100644 --- a/telecomm/java/android/telecom/DefaultDialerManager.java +++ b/telecomm/java/android/telecom/DefaultDialerManager.java @@ -149,6 +149,27 @@ public class DefaultDialerManager { return getComponentName(getInstalledDialerApplications(context), packageName); } + /** + * Determines if the package name belongs to the user-selected default dialer or the preloaded + * system dialer, and thus should be allowed to perform certain privileged operations. + * + * @param context A valid context. + * @param packageName of the package to check for. + * + * @return {@code true} if the provided package name corresponds to the user-selected default + * dialer or the preloaded system dialer, {@code false} otherwise. + * + * @hide + */ + public static boolean isDefaultOrSystemDialer(Context context, String packageName) { + if (TextUtils.isEmpty(packageName)) { + return false; + } + final TelecomManager tm = getTelecomManager(context); + return packageName.equals(tm.getDefaultDialerPackage()) + || packageName.equals(tm.getSystemDialerPackage()); + } + /** * Returns the component from a list of application components that corresponds to the package * name.