summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amin Shaikh <ashaikh@google.com> 2018-09-25 13:53:57 -0400
committer Amin Shaikh <ashaikh@google.com> 2018-09-25 14:01:00 -0400
commit02b559b585c70d0b35e99c59c29afb5d3695945a (patch)
tree573367d61373866095056d2debcac27be43e1379
parente36375ecf1394a5f232269e0fbd5d467b0f552e6 (diff)
Ensure NFC tile has a label even when unavailble.
Change-Id: I9c9688616757c073fcea5b34ac704e21d5890a52 Fixes: 116614851 Test: manual
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
index 12daff1f12f9..9edd65e14bf2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
@@ -25,6 +25,7 @@ import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.nfc.NfcAdapter;
import android.provider.Settings;
+import android.service.quicksettings.Tile;
import android.widget.Switch;
import com.android.internal.logging.MetricsLogger;
@@ -77,6 +78,9 @@ public class NfcTile extends QSTileImpl<BooleanState> {
@Override
protected void handleClick() {
+ if (getAdapter() == null) {
+ return;
+ }
if (!getAdapter().isEnabled()) {
getAdapter().enable();
} else {
@@ -96,13 +100,13 @@ public class NfcTile extends QSTileImpl<BooleanState> {
@Override
protected void handleUpdateState(BooleanState state, Object arg) {
- final Drawable mEnable = mContext.getDrawable(R.drawable.ic_qs_nfc_enabled);
- final Drawable mDisable = mContext.getDrawable(R.drawable.ic_qs_nfc_disabled);
-
- if (getAdapter() == null) return;
- state.value = getAdapter().isEnabled();
+ state.value = getAdapter() != null && getAdapter().isEnabled();
+ state.state = getAdapter() == null
+ ? Tile.STATE_UNAVAILABLE
+ : state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
+ state.icon = ResourceIcon.get(
+ state.value ? R.drawable.ic_qs_nfc_enabled : R.drawable.ic_qs_nfc_disabled);
state.label = mContext.getString(R.string.quick_settings_nfc_label);
- state.icon = new DrawableIcon(state.value ? mEnable : mDisable);
state.expandedAccessibilityClassName = Switch.class.getName();
state.contentDescription = state.label;
}