Merge "Fixes context for tiles without longClick"

This commit is contained in:
Fabian Kozynski
2018-11-01 16:52:30 +00:00
committed by Gerrit Code Review
3 changed files with 16 additions and 7 deletions

View File

@@ -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;
}

View File

@@ -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)));
}
}
}
}

View File

@@ -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