diff options
| author | Fabian Kozynski <kozynski@google.com> | 2018-11-01 10:21:18 -0700 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2018-11-01 10:21:18 -0700 |
| commit | 190eb9c64e53170139816d181e2ef3ec0c727eff (patch) | |
| tree | 9cb43b4aa0e3272a31a6eef5090e0b41dc73e3df | |
| parent | 729067376c3aee72955029bd236dd96e79fccc35 (diff) | |
| parent | fe41315774c21036c8775e47a51049712b94d237 (diff) | |
Merge "Fixes context for tiles without longClick" am: fc40620103
am: fe41315774
Change-Id: I2af064dfadff15f44f200c1e7f1cedfe79aa271a
3 files changed, 16 insertions, 7 deletions
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java index bf4374acf6e6..bca353050c46 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java @@ -116,6 +116,7 @@ public interface QSTile { public boolean isTransient = false; public String expandedAccessibilityClassName; public SlashState slash; + public boolean handlesLongClick = true; public boolean copyTo(State other) { if (other == null) throw new IllegalArgumentException(); @@ -133,7 +134,8 @@ public interface QSTile { || !Objects.equals(other.state, state) || !Objects.equals(other.isTransient, isTransient) || !Objects.equals(other.dualTarget, dualTarget) - || !Objects.equals(other.slash, slash); + || !Objects.equals(other.slash, slash) + || !Objects.equals(other.handlesLongClick, handlesLongClick); other.icon = icon; other.iconSupplier = iconSupplier; other.label = label; @@ -146,6 +148,7 @@ public interface QSTile { other.dualTarget = dualTarget; other.isTransient = isTransient; other.slash = slash != null ? slash.copy() : null; + other.handlesLongClick = handlesLongClick; return changed; } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java index 42e5adced68d..ac111ee65277 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java @@ -193,6 +193,7 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView { setClickable(state.state != Tile.STATE_UNAVAILABLE); mIcon.setIcon(state); + setLongClickable(state.handlesLongClick); setContentDescription(state.contentDescription); mAccessibilityClass = state.expandedAccessibilityClassName; @@ -276,10 +277,14 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView { info.setText(label); info.setChecked(b); info.setCheckable(true); - info.addAction( - new AccessibilityNodeInfo.AccessibilityAction( - AccessibilityNodeInfo.AccessibilityAction.ACTION_LONG_CLICK.getId(), - getResources().getString(R.string.accessibility_long_click_tile))); + if (isLongClickable()) { + info.addAction( + new AccessibilityNodeInfo.AccessibilityAction( + AccessibilityNodeInfo.AccessibilityAction + .ACTION_LONG_CLICK.getId(), + getResources().getString( + R.string.accessibility_long_click_tile))); + } } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java index f2ead1cbca94..d7ac2532982d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java @@ -18,7 +18,6 @@ package com.android.systemui.qs.tiles; import android.app.ActivityManager; import android.content.Intent; -import android.graphics.drawable.Drawable; import android.provider.MediaStore; import android.service.quicksettings.Tile; import android.widget.Switch; @@ -50,7 +49,9 @@ public class FlashlightTile extends QSTileImpl<BooleanState> implements @Override public BooleanState newTileState() { - return new BooleanState(); + BooleanState state = new BooleanState(); + state.handlesLongClick = false; + return state; } @Override |
