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;
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);
}
}
.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());
}
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 */);
} 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;
}
private static final class SupportData {
final Intent intent;
+ final int metricsEvent;
@LayoutRes
final int type;
@DrawableRes
this.summary1 = builder.mSummary1;
this.summary2 = builder.mSummary2;
this.intent = builder.mIntent;
+ this.metricsEvent = builder.mMetricsEvent;
}
static final class Builder {
private String mSummary1;
private String mSummary2;
private Intent mIntent;
+ private int mMetricsEvent = -1;
Builder(@LayoutRes int type) {
mType = type;
return this;
}
+ Builder setMetricsEvent(int metricsEvent) {
+ mMetricsEvent = metricsEvent;
+ return this;
+ }
+
Builder setIntent(Intent intent) {
mIntent = intent;
return this;
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;
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);
@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);
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.
*/