summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/TelecomManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/android/telecom/TelecomManager.java')
-rw-r--r--telecomm/java/android/telecom/TelecomManager.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 15b26dcfabbe..08f31a9ea9eb 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -2202,15 +2202,23 @@ public class TelecomManager {
@NonNull
public Intent createLaunchEmergencyDialerIntent(@Nullable String number) {
ITelecomService service = getTelecomService();
- Intent result = null;
if (service != null) {
try {
- result = service.createLaunchEmergencyDialerIntent(number);
+ return service.createLaunchEmergencyDialerIntent(number);
} catch (RemoteException e) {
Log.e(TAG, "Error createLaunchEmergencyDialerIntent", e);
}
+ } else {
+ Log.w(TAG, "createLaunchEmergencyDialerIntent - Telecom service not available.");
}
- return result;
+
+ // Telecom service knows the package name of the expected emergency dialer package; if it
+ // is not available, then fallback to not targeting a specific package.
+ Intent intent = new Intent(Intent.ACTION_DIAL_EMERGENCY);
+ if (!TextUtils.isEmpty(number) && TextUtils.isDigitsOnly(number)) {
+ intent.setData(Uri.fromParts(PhoneAccount.SCHEME_TEL, number, null));
+ }
+ return intent;
}
/**