Don't dial any number if DIAL intent is not supported.

Bug: 30868123
Change-Id: Ieb971fdd86011ef0699fdbcfec1ecce2112d0209
diff --git a/src/com/android/settings/dashboard/SupportItemAdapter.java b/src/com/android/settings/dashboard/SupportItemAdapter.java
index 4ee28c6..b5c130c 100644
--- a/src/com/android/settings/dashboard/SupportItemAdapter.java
+++ b/src/com/android/settings/dashboard/SupportItemAdapter.java
@@ -450,9 +450,15 @@
                         final SupportPhone phone = mSupportFeatureProvider
                                 .getSupportPhones(mSelectedCountry, true /* isTollFree */);
                         if (phone != null) {
-                            MetricsLogger.action(mActivity,
-                                    MetricsProto.MetricsEvent.ACTION_SUPPORT_DAIL_TOLLFREE);
-                            mActivity.startActivity(phone.getDialIntent());
+                            final Intent intent = phone.getDialIntent();
+                            final boolean canDial = !mActivity.getPackageManager()
+                                    .queryIntentActivities(intent, 0)
+                                    .isEmpty();
+                            if (canDial) {
+                                MetricsLogger.action(mActivity,
+                                        MetricsProto.MetricsEvent.ACTION_SUPPORT_DAIL_TOLLFREE);
+                                mActivity.startActivity(intent);
+                            }
                         }
                         break;
                     }
diff --git a/src/com/android/settings/support/SupportPhoneDialogFragment.java b/src/com/android/settings/support/SupportPhoneDialogFragment.java
index 77eb225..4dde547 100644
--- a/src/com/android/settings/support/SupportPhoneDialogFragment.java
+++ b/src/com/android/settings/support/SupportPhoneDialogFragment.java
@@ -15,9 +15,11 @@
  */
 package com.android.settings.support;
 
+import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.DialogFragment;
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -68,9 +70,16 @@
     @Override
     public void onClick(View v) {
         final SupportPhone phone = getArguments().getParcelable(EXTRA_PHONE);
-        MetricsLogger.action(getActivity(),
-                MetricsProto.MetricsEvent.ACTION_SUPPORT_DIAL_TOLLED);
-        getActivity().startActivity(phone.getDialIntent());
+        final Activity activity = getActivity();
+        final Intent intent = phone.getDialIntent();
+        final boolean canDial = !activity.getPackageManager()
+                .queryIntentActivities(intent, 0)
+                .isEmpty();
+        if (canDial) {
+            MetricsLogger.action(getActivity(),
+                    MetricsProto.MetricsEvent.ACTION_SUPPORT_DIAL_TOLLED);
+            getActivity().startActivity(intent);
+        }
         dismiss();
     }
 }