QS: Fix up non-dual target touches

Make sure the label doesn't take any touches or show a background
if the tile doesn't support dual touch targets.

Test: Click on text of flashlight
Change-Id: Ib6a91e04a739e3ba74d0d05336ce70790dcf6a7a
Fixes: 35855398
This commit is contained in:
Jason Monk
2017-03-03 10:05:18 -05:00
parent f063264d3a
commit e4f2661946

View File

@@ -84,7 +84,6 @@ public class QSTileView extends QSTileBaseView {
mLabel = (TextView) mLabelContainer.findViewById(R.id.tile_label);
mPadLock = (ImageView) mLabelContainer.findViewById(R.id.restricted_padlock);
mLabelContainer.setBackground(newTileBackground());
addView(mLabelContainer);
}
@@ -102,6 +101,11 @@ public class QSTileView extends QSTileBaseView {
mLabel.setText(state.label);
}
mDivider.setVisibility(state.dualTarget ? View.VISIBLE : View.INVISIBLE);
if (state.dualTarget != mLabelContainer.isClickable()) {
mLabelContainer.setClickable(state.dualTarget);
mLabelContainer.setLongClickable(state.dualTarget);
mLabelContainer.setBackground(state.dualTarget ? newTileBackground() : null);
}
mLabel.setEnabled(!state.disabledByPolicy);
mPadLock.setVisibility(state.disabledByPolicy ? View.VISIBLE : View.GONE);
}
@@ -110,7 +114,9 @@ public class QSTileView extends QSTileBaseView {
public void init(OnClickListener click, OnClickListener secondaryClick,
OnLongClickListener longClick) {
super.init(click, secondaryClick, longClick);
mLabelContainer.setClickable(true);
mLabelContainer.setOnClickListener(secondaryClick);
mLabelContainer.setOnLongClickListener(longClick);
mLabelContainer.setClickable(false);
mLabelContainer.setLongClickable(false);
}
}