Add APIs to getDefaultDialerPackage and getSystemDialerPackage
getDefaultDialerPackage is a public API and will be used by apps to determine if they are the default dialer. getSystemDialerPackage is a hidden API and is only used by system components. Also add new public string constants to allow apps to show a dialog requesting that the user change the current default dialer. Bug: 20304458 Change-Id: I121d36741474c1fe171c372fb766a6c128228c9c
This commit is contained in:
@@ -30586,6 +30586,7 @@ package android.telecom {
|
||||
method public void cancelMissedCallsNotification();
|
||||
method public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle);
|
||||
method public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
|
||||
method public java.lang.String getDefaultDialerPackage();
|
||||
method public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(java.lang.String);
|
||||
method public java.lang.String getLine1Number(android.telecom.PhoneAccountHandle);
|
||||
method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
|
||||
@@ -30600,6 +30601,7 @@ package android.telecom {
|
||||
method public void showInCallScreen(boolean);
|
||||
method public void silenceRinger();
|
||||
method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle);
|
||||
field public static final java.lang.String ACTION_CHANGE_DEFAULT_DIALER = "android.telecom.action.CHANGE_DEFAULT_DIALER";
|
||||
field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
|
||||
field public static final java.lang.String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL";
|
||||
field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
|
||||
@@ -30610,6 +30612,7 @@ package android.telecom {
|
||||
field public static final java.lang.String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER";
|
||||
field public static final java.lang.String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE";
|
||||
field public static final java.lang.String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
|
||||
field public static final java.lang.String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
|
||||
field public static final java.lang.String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS";
|
||||
field public static final java.lang.String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS";
|
||||
field public static final java.lang.String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telecom.extra.PHONE_ACCOUNT_HANDLE";
|
||||
|
||||
@@ -32730,8 +32730,9 @@ package android.telecom {
|
||||
method public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
|
||||
method public int getCallState();
|
||||
method public android.telecom.PhoneAccountHandle getConnectionManager();
|
||||
method public java.lang.String getDefaultDialerPackage();
|
||||
method public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(java.lang.String);
|
||||
method public android.content.ComponentName getDefaultPhoneApp();
|
||||
method public deprecated android.content.ComponentName getDefaultPhoneApp();
|
||||
method public java.lang.String getLine1Number(android.telecom.PhoneAccountHandle);
|
||||
method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
|
||||
method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
|
||||
@@ -32750,6 +32751,7 @@ package android.telecom {
|
||||
method public void showInCallScreen(boolean);
|
||||
method public void silenceRinger();
|
||||
method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle);
|
||||
field public static final java.lang.String ACTION_CHANGE_DEFAULT_DIALER = "android.telecom.action.CHANGE_DEFAULT_DIALER";
|
||||
field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
|
||||
field public static final java.lang.String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
|
||||
field public static final java.lang.String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL";
|
||||
@@ -32762,6 +32764,7 @@ package android.telecom {
|
||||
field public static final java.lang.String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER";
|
||||
field public static final java.lang.String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE";
|
||||
field public static final java.lang.String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
|
||||
field public static final java.lang.String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
|
||||
field public static final java.lang.String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
|
||||
field public static final java.lang.String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS";
|
||||
field public static final java.lang.String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS";
|
||||
|
||||
@@ -87,15 +87,15 @@ public class DefaultDialerManager {
|
||||
}
|
||||
|
||||
// No user-set dialer found, fallback to system dialer
|
||||
ComponentName systemDialer = getTelecomManager(context).getDefaultPhoneApp();
|
||||
String systemDialer = getTelecomManager(context).getSystemDialerPackage();
|
||||
|
||||
if (systemDialer == null) {
|
||||
if (TextUtils.isEmpty(systemDialer)) {
|
||||
// No system dialer configured at build time
|
||||
return null;
|
||||
}
|
||||
|
||||
// Verify that the system dialer has not been disabled.
|
||||
return getComponentName(componentNames, systemDialer.getPackageName());
|
||||
return getComponentName(componentNames, systemDialer);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -109,6 +109,28 @@ public class TelecomManager {
|
||||
public static final String ACTION_PHONE_ACCOUNT_REGISTERED =
|
||||
"android.telecom.action.PHONE_ACCOUNT_REGISTERED";
|
||||
|
||||
/**
|
||||
* Activity action: Shows a dialog asking the user whether or not they want to replace the
|
||||
* current default Dialer with the one specified in
|
||||
* {@link #EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME}.
|
||||
*
|
||||
* Usage example:
|
||||
* <pre>
|
||||
* Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
|
||||
* intent.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME,
|
||||
* getActivity().getPackageName());
|
||||
* startActivity(intent);
|
||||
* </pre>
|
||||
*/
|
||||
public static final String ACTION_CHANGE_DEFAULT_DIALER =
|
||||
"android.telecom.action.CHANGE_DEFAULT_DIALER";
|
||||
|
||||
/**
|
||||
* Extra value used to provide the package name for {@link #ACTION_CHANGE_DEFAULT_DIALER}.
|
||||
*/
|
||||
public static final String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME =
|
||||
"android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
|
||||
|
||||
/**
|
||||
* Optional extra for {@link android.content.Intent#ACTION_CALL} containing a boolean that
|
||||
* determines whether the speakerphone should be automatically turned on for an outgoing call.
|
||||
@@ -689,7 +711,10 @@ public class TelecomManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated - Use {@link TelecomManager#getDefaultDialerPackage} to directly access
|
||||
* the default dialer's package name instead.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@@ -704,6 +729,40 @@ public class TelecomManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to determine the currently selected default dialer package.
|
||||
*
|
||||
* @return package name for the default dialer package or null if no package has been
|
||||
* selected as the default dialer.
|
||||
*/
|
||||
public String getDefaultDialerPackage() {
|
||||
try {
|
||||
if (isServiceConnected()) {
|
||||
return getTelecomService().getDefaultDialerPackage();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException attempting to get the default dialer package name.", e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @hide
|
||||
*/
|
||||
public String getSystemDialerPackage() {
|
||||
try {
|
||||
if (isServiceConnected()) {
|
||||
return getTelecomService().getSystemDialerPackage();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException attempting to get the system dialer package name.", e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether a given phone number is the configured voicemail number for a
|
||||
* particular phone account.
|
||||
|
||||
@@ -137,6 +137,16 @@ interface ITelecomService {
|
||||
*/
|
||||
ComponentName getDefaultPhoneApp();
|
||||
|
||||
/**
|
||||
* @see TelecomServiceImpl#getDefaultDialerPackage
|
||||
*/
|
||||
String getDefaultDialerPackage();
|
||||
|
||||
/**
|
||||
* @see TelecomServiceImpl#getSystemDialerPackage
|
||||
*/
|
||||
String getSystemDialerPackage();
|
||||
|
||||
//
|
||||
// Internal system apis relating to call management.
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user