Log button taps in support tab.
Bug: 29282762 Change-Id: I7d573f95450292840413cb5e266915f64f6d667d
This commit is contained in:
@@ -29,6 +29,8 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
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.R;
|
||||||
import com.android.settings.overlay.SupportFeatureProvider;
|
import com.android.settings.overlay.SupportFeatureProvider;
|
||||||
import com.android.settings.support.SupportDisclaimerDialogFragment;
|
import com.android.settings.support.SupportDisclaimerDialogFragment;
|
||||||
@@ -111,6 +113,9 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
if (position >= 0 && position < mSupportData.size()) {
|
if (position >= 0 && position < mSupportData.size()) {
|
||||||
final SupportData data = mSupportData.get(position);
|
final SupportData data = mSupportData.get(position);
|
||||||
if (data.intent != null) {
|
if (data.intent != null) {
|
||||||
|
if (data.metricsEvent >= 0) {
|
||||||
|
MetricsLogger.action(mActivity, data.metricsEvent);
|
||||||
|
}
|
||||||
mActivity.startActivityForResult(data.intent, 0);
|
mActivity.startActivityForResult(data.intent, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -185,11 +190,13 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
.setIcon(R.drawable.ic_lightbulb_outline_24)
|
.setIcon(R.drawable.ic_lightbulb_outline_24)
|
||||||
.setText1(R.string.support_tips_and_tricks_title)
|
.setText1(R.string.support_tips_and_tricks_title)
|
||||||
.setIntent(mSupportFeatureProvider.getTipsAndTricksIntent(mActivity))
|
.setIntent(mSupportFeatureProvider.getTipsAndTricksIntent(mActivity))
|
||||||
|
.setMetricsEvent(MetricsProto.MetricsEvent.ACTION_SUPPORT_TIPS_AND_TRICKS)
|
||||||
.build());
|
.build());
|
||||||
mSupportData.add(new SupportData.Builder(TYPE_SUPPORT_TILE)
|
mSupportData.add(new SupportData.Builder(TYPE_SUPPORT_TILE)
|
||||||
.setIcon(R.drawable.ic_help_24dp)
|
.setIcon(R.drawable.ic_help_24dp)
|
||||||
.setText1(R.string.help_feedback_label)
|
.setText1(R.string.help_feedback_label)
|
||||||
.setIntent(mSupportFeatureProvider.getHelpIntent(mActivity))
|
.setIntent(mSupportFeatureProvider.getHelpIntent(mActivity))
|
||||||
|
.setMetricsEvent(MetricsProto.MetricsEvent.ACTION_SUPPORT_HELP_AND_FEEDBACK)
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -261,6 +268,8 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
if (mAccount == null) {
|
if (mAccount == null) {
|
||||||
switch (v.getId()) {
|
switch (v.getId()) {
|
||||||
case android.R.id.text1:
|
case android.R.id.text1:
|
||||||
|
MetricsLogger.action(mActivity,
|
||||||
|
MetricsProto.MetricsEvent.ACTION_SUPPORT_SIGN_IN);
|
||||||
mActivity.startActivityForResult(
|
mActivity.startActivityForResult(
|
||||||
mSupportFeatureProvider.getAccountLoginIntent(),
|
mSupportFeatureProvider.getAccountLoginIntent(),
|
||||||
0 /* requestCode */);
|
0 /* requestCode */);
|
||||||
@@ -274,9 +283,13 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
} else {
|
} else {
|
||||||
switch (v.getId()) {
|
switch (v.getId()) {
|
||||||
case android.R.id.text1:
|
case android.R.id.text1:
|
||||||
|
MetricsLogger.action(mActivity,
|
||||||
|
MetricsProto.MetricsEvent.ACTION_SUPPORT_PHONE);
|
||||||
tryStartDisclaimerAndSupport(PHONE);
|
tryStartDisclaimerAndSupport(PHONE);
|
||||||
break;
|
break;
|
||||||
case android.R.id.text2:
|
case android.R.id.text2:
|
||||||
|
MetricsLogger.action(mActivity,
|
||||||
|
MetricsProto.MetricsEvent.ACTION_SUPPORT_CHAT);
|
||||||
tryStartDisclaimerAndSupport(CHAT);
|
tryStartDisclaimerAndSupport(CHAT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -311,6 +324,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
private static final class SupportData {
|
private static final class SupportData {
|
||||||
|
|
||||||
final Intent intent;
|
final Intent intent;
|
||||||
|
final int metricsEvent;
|
||||||
@LayoutRes
|
@LayoutRes
|
||||||
final int type;
|
final int type;
|
||||||
@DrawableRes
|
@DrawableRes
|
||||||
@@ -330,6 +344,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
this.summary1 = builder.mSummary1;
|
this.summary1 = builder.mSummary1;
|
||||||
this.summary2 = builder.mSummary2;
|
this.summary2 = builder.mSummary2;
|
||||||
this.intent = builder.mIntent;
|
this.intent = builder.mIntent;
|
||||||
|
this.metricsEvent = builder.mMetricsEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
static final class Builder {
|
static final class Builder {
|
||||||
@@ -344,6 +359,7 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
private String mSummary1;
|
private String mSummary1;
|
||||||
private String mSummary2;
|
private String mSummary2;
|
||||||
private Intent mIntent;
|
private Intent mIntent;
|
||||||
|
private int mMetricsEvent = -1;
|
||||||
|
|
||||||
Builder(@LayoutRes int type) {
|
Builder(@LayoutRes int type) {
|
||||||
mType = type;
|
mType = type;
|
||||||
@@ -374,6 +390,11 @@ public final class SupportItemAdapter extends RecyclerView.Adapter<SupportItemAd
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Builder setMetricsEvent(int metricsEvent) {
|
||||||
|
mMetricsEvent = metricsEvent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
Builder setIntent(Intent intent) {
|
Builder setIntent(Intent intent) {
|
||||||
mIntent = intent;
|
mIntent = intent;
|
||||||
return this;
|
return this;
|
||||||
|
@@ -32,6 +32,8 @@ import android.view.View;
|
|||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
import android.widget.TextView;
|
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.R;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.overlay.SupportFeatureProvider;
|
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())
|
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
|
||||||
.setTitle(R.string.support_disclaimer_title)
|
.setTitle(R.string.support_disclaimer_title)
|
||||||
.setPositiveButton(android.R.string.ok, this)
|
.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())
|
final View content = LayoutInflater.from(builder.getContext())
|
||||||
.inflate(R.layout.support_disclaimer_content, null);
|
.inflate(R.layout.support_disclaimer_content, null);
|
||||||
final TextView disclaimer = (TextView) content.findViewById(R.id.support_disclaimer_text);
|
final TextView disclaimer = (TextView) content.findViewById(R.id.support_disclaimer_text);
|
||||||
@@ -74,6 +76,11 @@ public final class SupportDisclaimerDialogFragment extends DialogFragment implem
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
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 Activity activity = getActivity();
|
||||||
final CheckBox doNotShow =
|
final CheckBox doNotShow =
|
||||||
(CheckBox) getDialog().findViewById(R.id.support_disclaimer_do_not_show_again);
|
(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);
|
FeatureFactory.getFactory(activity).getSupportFeatureProvider(activity);
|
||||||
supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !doNotShow.isChecked());
|
supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !doNotShow.isChecked());
|
||||||
final Bundle bundle = getArguments();
|
final Bundle bundle = getArguments();
|
||||||
|
MetricsLogger.action(activity, MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_OK);
|
||||||
supportFeatureProvider.startSupport(getActivity(),
|
supportFeatureProvider.startSupport(getActivity(),
|
||||||
(Account) bundle.getParcelable(EXTRA_ACCOUNT), bundle.getInt(EXTRA_TYPE));
|
(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.
|
* Removes the underlines of {@link android.text.style.URLSpan}s.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user