Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6098913d authored by Fan Zhang's avatar Fan Zhang
Browse files

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

Bug: 30868123
Change-Id: Ieb971fdd86011ef0699fdbcfec1ecce2112d0209
parent 404104a6
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -450,9 +450,15 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
                        final SupportPhone phone = mSupportFeatureProvider
                                .getSupportPhones(mSelectedCountry, true /* isTollFree */);
                        if (phone != null) {
                            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(phone.getDialIntent());
                                mActivity.startActivity(intent);
                            }
                        }
                        break;
                    }
+12 −3
Original line number Diff line number Diff line
@@ -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 @@ public final class SupportPhoneDialogFragment extends DialogFragment implements
    @Override
    public void onClick(View v) {
        final SupportPhone phone = getArguments().getParcelable(EXTRA_PHONE);
        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(phone.getDialIntent());
            getActivity().startActivity(intent);
        }
        dismiss();
    }
}