diff options
author | Yorke Lee <yorkelee@google.com> | 2015-05-05 17:15:13 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-05 17:15:14 +0000 |
commit | 1542179bd2bc82db31a925550b47151cf579c767 (patch) | |
tree | 088970f1a1c3860e81f75167f550b6a321cdeba9 | |
parent | fe2f7e31be01c8c0ebcbdfb1ff8ae420f24c0ac2 (diff) | |
parent | 6526f67e45fc810b8f4c7419eecf599d228f674f (diff) | |
download | frameworks_base-1542179bd2bc82db31a925550b47151cf579c767.zip frameworks_base-1542179bd2bc82db31a925550b47151cf579c767.tar.gz frameworks_base-1542179bd2bc82db31a925550b47151cf579c767.tar.bz2 |
Merge "Add hidden methods to set/get default dialer across users" into mnc-dev
-rw-r--r-- | telecomm/java/android/telecom/DefaultDialerManager.java | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java index b5d566a..fd0c06d 100644 --- a/telecomm/java/android/telecom/DefaultDialerManager.java +++ b/telecomm/java/android/telecom/DefaultDialerManager.java @@ -14,6 +14,7 @@ package android.telecom; +import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -35,15 +36,27 @@ public class DefaultDialerManager { private static final String TAG = "DefaultDialerManager"; /** - * Sets the specified package name as the default dialer application. The caller of this method - * needs to have permission to write to secure settings. + * Sets the specified package name as the default dialer application for the current user. + * The caller of this method needs to have permission to write to secure settings and + * manage users on the device. * * @hide * */ public static void setDefaultDialerApplication(Context context, String packageName) { + setDefaultDialerApplication(context, packageName, ActivityManager.getCurrentUser()); + } + + /** + * Sets the specified package name as the default dialer application for the specified user. + * The caller of this method needs to have permission to write to secure settings and + * manage users on the device. + * + * @hide + * */ + public static void setDefaultDialerApplication(Context context, String packageName, int user) { // Get old package name - String oldPackageName = Settings.Secure.getString(context.getContentResolver(), - Settings.Secure.DIALER_DEFAULT_APPLICATION); + String oldPackageName = Settings.Secure.getStringForUser(context.getContentResolver(), + Settings.Secure.DIALER_DEFAULT_APPLICATION, user); if (packageName != null && oldPackageName != null && packageName.equals(oldPackageName)) { // No change @@ -55,26 +68,44 @@ public class DefaultDialerManager { if (packageNames.contains(packageName)) { // Update the secure setting. - Settings.Secure.putString(context.getContentResolver(), - Settings.Secure.DIALER_DEFAULT_APPLICATION, packageName); + Settings.Secure.putStringForUser(context.getContentResolver(), + Settings.Secure.DIALER_DEFAULT_APPLICATION, packageName, user); } } /** - * Returns the installed dialer application that will be used to receive incoming calls, and is - * allowed to make emergency calls. + * Returns the installed dialer application for the current user that will be used to receive + * incoming calls, and is allowed to make emergency calls. * * The application will be returned in order of preference: * 1) User selected phone application (if still installed) * 2) Pre-installed system dialer (if not disabled) * 3) Null * + * The caller of this method needs to have permission to manage users on the device. + * * @hide * */ public static String getDefaultDialerApplication(Context context) { - String defaultPackageName = Settings.Secure.getString(context.getContentResolver(), - Settings.Secure.DIALER_DEFAULT_APPLICATION); + return getDefaultDialerApplication(context, ActivityManager.getCurrentUser()); + } + /** + * Returns the installed dialer application for the specified user that will be used to receive + * incoming calls, and is allowed to make emergency calls. + * + * The application will be returned in order of preference: + * 1) User selected phone application (if still installed) + * 2) Pre-installed system dialer (if not disabled) + * 3) Null + * + * The caller of this method needs to have permission to manage users on the device. + * + * @hide + * */ + public static String getDefaultDialerApplication(Context context, int user) { + String defaultPackageName = Settings.Secure.getStringForUser(context.getContentResolver(), + Settings.Secure.DIALER_DEFAULT_APPLICATION, user); final List<String> packageNames = getInstalledDialerApplications(context); |