summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jason Monk <jmonk@google.com> 2017-06-15 15:32:26 +0000
committer android-build-merger <android-build-merger@google.com> 2017-06-15 15:32:26 +0000
commit8c1e6e49f95ba6c588f87ef324eed98480fa9b8c (patch)
treefc5397df0710c4b8e186447a120a196e39fe2665
parent35728f01cb0e6ee4a22a1889fe2da9cee0d6f92c (diff)
parent13ade8f910819e7b6e043515fdcb414bfed2b035 (diff)
Merge "NfcTile: make sure NFC adapter is always available when needed"
am: 13ade8f910 Change-Id: I731c4d0f3460d1b2a24232a87afcd5c327ecb4b0
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java27
1 files changed, 15 insertions, 12 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 9904c6ee438e..0e19c54caae5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
@@ -54,13 +54,6 @@ public class NfcTile extends QSTile<QSTile.BooleanState> {
if (mListening) {
mContext.registerReceiver(mNfcReceiver,
new IntentFilter(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED));
- if (mAdapter == null) {
- try {
- mAdapter = NfcAdapter.getNfcAdapter(mContext);
- } catch (UnsupportedOperationException e) {
- mAdapter = null;
- }
- }
} else {
mContext.unregisterReceiver(mNfcReceiver);
}
@@ -82,12 +75,11 @@ public class NfcTile extends QSTile<QSTile.BooleanState> {
@Override
protected void handleClick() {
- if (mAdapter == null) return;
MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
- if (!mAdapter.isEnabled()) {
- mAdapter.enable();
+ if (!getAdapter().isEnabled()) {
+ getAdapter().enable();
} else {
- mAdapter.disable();
+ getAdapter().disable();
}
}
@@ -105,7 +97,7 @@ public class NfcTile extends QSTile<QSTile.BooleanState> {
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);
- state.value = mAdapter == null ? false : mAdapter.isEnabled();
+ state.value = getAdapter().isEnabled();
state.label = mContext.getString(R.string.quick_settings_nfc_label);
state.icon = new DrawableIcon(state.value ? mEnable : mDisable);
state.minimalAccessibilityClassName = state.expandedAccessibilityClassName
@@ -127,6 +119,17 @@ public class NfcTile extends QSTile<QSTile.BooleanState> {
}
}
+ private NfcAdapter getAdapter() {
+ if (mAdapter == null) {
+ try {
+ mAdapter = NfcAdapter.getNfcAdapter(mContext);
+ } catch (UnsupportedOperationException e) {
+ mAdapter = null;
+ }
+ }
+ return mAdapter;
+ }
+
private BroadcastReceiver mNfcReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {