diff options
author | Yorke Lee <yorkelee@google.com> | 2015-06-15 12:08:24 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2015-06-15 12:36:09 -0700 |
commit | 107c4ce2ac9b76e7b4ed251fff8929958c5d3e63 (patch) | |
tree | f67351df44c16214b2d005577c846fa0cb7f9c04 /telecomm | |
parent | 31104fbb7e109e9fe34a09878e4901761fa39f5d (diff) | |
download | frameworks_base-107c4ce2ac9b76e7b4ed251fff8929958c5d3e63.zip frameworks_base-107c4ce2ac9b76e7b4ed251fff8929958c5d3e63.tar.gz frameworks_base-107c4ce2ac9b76e7b4ed251fff8929958c5d3e63.tar.bz2 |
Send broadcast when default dialer changes
Add hidden TelecomManager.setDefaultDialer for system apps
to set the default dialer and trigger the broadcast
Bug: 21846308
Change-Id: Ifdd30cd1323ab0157edf7fd966173b6c52df6ba0
Diffstat (limited to 'telecomm')
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 368e137..0cd8c19 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -124,6 +124,16 @@ public class TelecomManager { "android.telecom.action.CHANGE_DEFAULT_DIALER"; /** + * Broadcast intent action indicating that the current default dialer has changed. + * The string extra {@link #EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME} will contain the + * name of the package that the default dialer was changed to. + * + * @see #EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME + */ + public static final String ACTION_DEFAULT_DIALER_CHANGED = + "android.telecom.action.DEFAULT_DIALER_CHANGED"; + + /** * Extra value used to provide the package name for {@link #ACTION_CHANGE_DEFAULT_DIALER}. */ public static final String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = @@ -774,6 +784,31 @@ public class TelecomManager { } /** + * Used to set the default dialer package. + * + * @param packageName to set the default dialer to.. + * + * @result {@code true} if the default dialer was successfully changed, {@code false} if + * the specified package does not correspond to an installed dialer, or is already + * the default dialer. + * + * Requires permission: {@link android.Manifest.permission#MODIFY_PHONE_STATE} + * Requires permission: {@link android.Manifest.permission#WRITE_SECURE_SETTINGS} + * + * @hide + */ + public boolean setDefaultDialer(String packageName) { + try { + if (isServiceConnected()) { + return getTelecomService().setDefaultDialer(packageName); + } + } catch (RemoteException e) { + Log.e(TAG, "RemoteException attempting to set the default dialer.", e); + } + return false; + } + + /** * Used to determine the dialer package that is preloaded on the system partition. * * @return package name for the system dialer package or null if no system dialer is preloaded. |