Guard against disabled app when launcing emergency dialer
OEMs can override emergency dialer, and they can be disabled. Telecomm
service should not fail when that happens.
Fixes: 144312317
Test: manual
Change-Id: Ieb554db8506a38b38b01f3e992d140d0f3150978
Merged-In: Ieb554db8506a38b38b01f3e992d140d0f3150978
diff --git a/src/com/android/server/telecom/TelecomServiceImpl.java b/src/com/android/server/telecom/TelecomServiceImpl.java
index 3c47757..3daa452 100644
--- a/src/com/android/server/telecom/TelecomServiceImpl.java
+++ b/src/com/android/server/telecom/TelecomServiceImpl.java
@@ -34,6 +34,7 @@
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -1473,6 +1474,11 @@
com.android.internal.R.string.config_emergency_dialer_package);
Intent intent = new Intent(Intent.ACTION_DIAL_EMERGENCY)
.setPackage(packageName);
+ ResolveInfo resolveInfo = mPackageManager.resolveActivity(intent, 0 /* flags*/);
+ if (resolveInfo == null) {
+ // No matching activity from config, fallback to default platform implementation
+ intent.setPackage(null);
+ }
if (!TextUtils.isEmpty(number) && TextUtils.isDigitsOnly(number)) {
intent.setData(Uri.parse("tel:" + number));
}