diff options
author | Chris Wren <cwren@android.com> | 2015-06-29 11:27:18 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2015-06-30 09:43:41 -0400 |
commit | 4572cbc917b62aeece4afcd73713eeabed2a5d92 (patch) | |
tree | 21838be83a66dd954379027f39eb3dfaf849280e /packages | |
parent | 31659c253e62546c12f17c7f09b7f8df12758371 (diff) | |
download | frameworks_base-4572cbc917b62aeece4afcd73713eeabed2a5d92.zip frameworks_base-4572cbc917b62aeece4afcd73713eeabed2a5d92.tar.gz frameworks_base-4572cbc917b62aeece4afcd73713eeabed2a5d92.tar.bz2 |
only count clicks on zen mode selector
We were counting all changes of mode while the panel was visible, including the
first initialization of the selector.
Bug: 21196323
Change-Id: Icf2165056f03507b0b8c6a21ec1f07830c29173a
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/SegmentedButtons.java | 12 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java | 8 |
2 files changed, 11 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/SegmentedButtons.java b/packages/SystemUI/src/com/android/systemui/volume/SegmentedButtons.java index 81461bd..f432808 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/SegmentedButtons.java +++ b/packages/SystemUI/src/com/android/systemui/volume/SegmentedButtons.java @@ -57,7 +57,7 @@ public class SegmentedButtons extends LinearLayout { return mSelectedValue; } - public void setSelectedValue(Object value) { + public void setSelectedValue(Object value, boolean fromClick) { if (Objects.equals(value, mSelectedValue)) return; mSelectedValue = value; for (int i = 0; i < getChildCount(); i++) { @@ -67,7 +67,7 @@ public class SegmentedButtons extends LinearLayout { c.setSelected(selected); c.setTypeface(selected ? MEDIUM : REGULAR); } - fireOnSelected(); + fireOnSelected(fromClick); } public void addButton(int labelResId, int contentDescriptionResId, Object value) { @@ -100,9 +100,9 @@ public class SegmentedButtons extends LinearLayout { } } - private void fireOnSelected() { + private void fireOnSelected(boolean fromClick) { if (mCallback != null) { - mCallback.onSelected(mSelectedValue); + mCallback.onSelected(mSelectedValue, fromClick); } } @@ -115,11 +115,11 @@ public class SegmentedButtons extends LinearLayout { private final View.OnClickListener mClick = new View.OnClickListener() { @Override public void onClick(View v) { - setSelectedValue(v.getTag()); + setSelectedValue(v.getTag(), true /* fromClick */); } }; public interface Callback extends Interaction.Callback { - void onSelected(Object value); + void onSelected(Object value, boolean fromClick); } } diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java index 8035cd3..3c9a7fc 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java +++ b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java @@ -391,7 +391,7 @@ public class ZenModePanel extends LinearLayout { setExpanded(isShown()); mSessionZen = zen; } - mZenButtons.setSelectedValue(zen); + mZenButtons.setSelectedValue(zen, false /* fromClick */); updateWidgets(); handleUpdateConditions(); if (mExpanded) { @@ -968,10 +968,12 @@ public class ZenModePanel extends LinearLayout { private final SegmentedButtons.Callback mZenButtonsCallback = new SegmentedButtons.Callback() { @Override - public void onSelected(final Object value) { + public void onSelected(final Object value, boolean fromClick) { if (value != null && mZenButtons.isShown() && isAttachedToWindow()) { final int zen = (Integer) value; - MetricsLogger.action(mContext, MetricsLogger.QS_DND_ZEN_SELECT, zen); + if (fromClick) { + MetricsLogger.action(mContext, MetricsLogger.QS_DND_ZEN_SELECT, zen); + } if (DEBUG) Log.d(mTag, "mZenButtonsCallback selected=" + zen); final Uri realConditionId = getRealConditionId(mSessionExitCondition); AsyncTask.execute(new Runnable() { |