From 6d2a0c80df01a95adccfbb5926b1c463b60f6366 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Mon, 1 Aug 2016 09:40:06 -0700 Subject: [PATCH] Log switch toggle action whenever its status changes. Bug: 30110675 onClick is only called when the switchbar is clicked. We also need to log when switch itself is clicked. Change-Id: I892b72daeefe0f36608a73fe509199e200376eb7 --- src/com/android/settings/widget/SwitchBar.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java index a25929c6067..95fd19a401e 100644 --- a/src/com/android/settings/widget/SwitchBar.java +++ b/src/com/android/settings/widget/SwitchBar.java @@ -45,7 +45,7 @@ import java.util.ArrayList; public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedChangeListener, View.OnClickListener { - public static interface OnSwitchChangeListener { + public interface OnSwitchChangeListener { /** * Called when the checked state of the Switch has changed. * @@ -63,7 +63,8 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC private String mLabel; private String mSummary; - private boolean mDisabledByAdmin = false; + private boolean mLoggingIntialized; + private boolean mDisabledByAdmin; private EnforcedAdmin mEnforcedAdmin = null; private String mMetricsTag; @@ -233,7 +234,6 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin); } else { final boolean isChecked = !mSwitch.isChecked(); - MetricsLogger.count(mContext, mMetricsTag + "/switch_bar|" + isChecked, 1); setChecked(isChecked); } } @@ -247,6 +247,10 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (mLoggingIntialized) { + MetricsLogger.count(mContext, mMetricsTag + "/switch_bar|" + isChecked, 1); + } + mLoggingIntialized = true; propagateChecked(isChecked); }