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

Commit a2fe1368 authored by Fan Zhang's avatar Fan Zhang Committed by Android (Google) Code Review
Browse files

Merge "Log button taps in support tab." into nyc-mr1-dev

parents 018444ab ab2e0390
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R;
import com.android.settings.overlay.SupportFeatureProvider;
import com.android.settings.support.SupportDisclaimerDialogFragment;
@@ -111,6 +113,9 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
        if (position >= 0 && position < mSupportData.size()) {
            final SupportData data = mSupportData.get(position);
            if (data.intent != null) {
                if (data.metricsEvent >= 0) {
                    MetricsLogger.action(mActivity, data.metricsEvent);
                }
                mActivity.startActivityForResult(data.intent, 0);
            }
        }
@@ -185,11 +190,13 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
                .setIcon(R.drawable.ic_lightbulb_outline_24)
                .setText1(R.string.support_tips_and_tricks_title)
                .setIntent(mSupportFeatureProvider.getTipsAndTricksIntent(mActivity))
                .setMetricsEvent(MetricsProto.MetricsEvent.ACTION_SUPPORT_TIPS_AND_TRICKS)
                .build());
        mSupportData.add(new SupportData.Builder(TYPE_SUPPORT_TILE)
                .setIcon(R.drawable.ic_help_24dp)
                .setText1(R.string.help_feedback_label)
                .setIntent(mSupportFeatureProvider.getHelpIntent(mActivity))
                .setMetricsEvent(MetricsProto.MetricsEvent.ACTION_SUPPORT_HELP_AND_FEEDBACK)
                .build());
    }

@@ -261,6 +268,8 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
            if (mAccount == null) {
                switch (v.getId()) {
                    case android.R.id.text1:
                        MetricsLogger.action(mActivity,
                                MetricsProto.MetricsEvent.ACTION_SUPPORT_SIGN_IN);
                        mActivity.startActivityForResult(
                                mSupportFeatureProvider.getAccountLoginIntent(),
                                0 /* requestCode */);
@@ -274,9 +283,13 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
            } else {
                switch (v.getId()) {
                    case android.R.id.text1:
                        MetricsLogger.action(mActivity,
                                MetricsProto.MetricsEvent.ACTION_SUPPORT_PHONE);
                        tryStartDisclaimerAndSupport(PHONE);
                        break;
                    case android.R.id.text2:
                        MetricsLogger.action(mActivity,
                                MetricsProto.MetricsEvent.ACTION_SUPPORT_CHAT);
                        tryStartDisclaimerAndSupport(CHAT);
                        break;
                }
@@ -311,6 +324,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
    private static final class SupportData {

        final Intent intent;
        final int metricsEvent;
        @LayoutRes
        final int type;
        @DrawableRes
@@ -330,6 +344,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
            this.summary1 = builder.mSummary1;
            this.summary2 = builder.mSummary2;
            this.intent = builder.mIntent;
            this.metricsEvent = builder.mMetricsEvent;
        }

        static final class Builder {
@@ -344,6 +359,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
            private String mSummary1;
            private String mSummary2;
            private Intent mIntent;
            private int mMetricsEvent = -1;

            Builder(@LayoutRes int type) {
                mType = type;
@@ -374,6 +390,11 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
                return this;
            }

            Builder setMetricsEvent(int metricsEvent) {
                mMetricsEvent = metricsEvent;
                return this;
            }

            Builder setIntent(Intent intent) {
                mIntent = intent;
                return this;
+16 −1
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.overlay.SupportFeatureProvider;
@@ -61,7 +63,7 @@ public final class SupportDisclaimerDialogFragment extends DialogFragment implem
        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
                .setTitle(R.string.support_disclaimer_title)
                .setPositiveButton(android.R.string.ok, this)
                .setNegativeButton(android.R.string.cancel, null);
                .setNegativeButton(android.R.string.cancel, this);
        final View content = LayoutInflater.from(builder.getContext())
                .inflate(R.layout.support_disclaimer_content, null);
        final TextView disclaimer = (TextView) content.findViewById(R.id.support_disclaimer_text);
@@ -74,6 +76,11 @@ public final class SupportDisclaimerDialogFragment extends DialogFragment implem

    @Override
    public void onClick(DialogInterface dialog, int which) {
        if (which == Dialog.BUTTON_NEGATIVE) {
            MetricsLogger.action(getContext(),
                    MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_CANCEL);
            return;
        }
        final Activity activity = getActivity();
        final CheckBox doNotShow =
                (CheckBox) getDialog().findViewById(R.id.support_disclaimer_do_not_show_again);
@@ -81,10 +88,18 @@ public final class SupportDisclaimerDialogFragment extends DialogFragment implem
                FeatureFactory.getFactory(activity).getSupportFeatureProvider(activity);
        supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !doNotShow.isChecked());
        final Bundle bundle = getArguments();
        MetricsLogger.action(activity, MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_OK);
        supportFeatureProvider.startSupport(getActivity(),
                (Account) bundle.getParcelable(EXTRA_ACCOUNT), bundle.getInt(EXTRA_TYPE));
    }

    @Override
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
        MetricsLogger.action(getContext(),
                MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_CANCEL);
    }

    /**
     * Removes the underlines of {@link android.text.style.URLSpan}s.
     */