diff options
author | 2018-09-25 13:53:57 -0400 | |
---|---|---|
committer | 2018-09-25 14:01:00 -0400 | |
commit | 02b559b585c70d0b35e99c59c29afb5d3695945a (patch) | |
tree | 573367d61373866095056d2debcac27be43e1379 | |
parent | e36375ecf1394a5f232269e0fbd5d467b0f552e6 (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.java | 16 |
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; } |