Log button taps in support tab.
Bug: 29282762
Change-Id: I7d573f95450292840413cb5e266915f64f6d667d
diff --git a/src/com/android/settings/dashboard/SupportItemAdapter.java b/src/com/android/settings/dashboard/SupportItemAdapter.java
index 0ed8524..4543f08 100644
--- a/src/com/android/settings/dashboard/SupportItemAdapter.java
+++ b/src/com/android/settings/dashboard/SupportItemAdapter.java
@@ -29,6 +29,8 @@
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 @@
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 @@
.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 @@
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 @@
} 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 @@
private static final class SupportData {
final Intent intent;
+ final int metricsEvent;
@LayoutRes
final int type;
@DrawableRes
@@ -330,6 +344,7 @@
this.summary1 = builder.mSummary1;
this.summary2 = builder.mSummary2;
this.intent = builder.mIntent;
+ this.metricsEvent = builder.mMetricsEvent;
}
static final class Builder {
@@ -344,6 +359,7 @@
private String mSummary1;
private String mSummary2;
private Intent mIntent;
+ private int mMetricsEvent = -1;
Builder(@LayoutRes int type) {
mType = type;
@@ -374,6 +390,11 @@
return this;
}
+ Builder setMetricsEvent(int metricsEvent) {
+ mMetricsEvent = metricsEvent;
+ return this;
+ }
+
Builder setIntent(Intent intent) {
mIntent = intent;
return this;
diff --git a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
index 6387337..db74f0f 100644
--- a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
+++ b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
@@ -32,6 +32,8 @@
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 @@
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 @@
@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 @@
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.
*/