diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index a41ad44f01e3e..18282636002b5 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -120,7 +120,7 @@ - internet,bt,flashlight,dnd,modes_dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction,dream,font_scaling,record_issue,hearing_devices,notes,desktopeffects,powershare + internet,bt,flashlight,dnd,modes_dnd,alarm,airplane,nfc,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction,dream,font_scaling,record_issue,hearing_devices,notes,desktopeffects,powershare 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 683e4e93cf4b5..7835776a0b0cc 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java @@ -90,6 +90,7 @@ public BooleanState newTileState() { @Override public void handleSetListening(boolean listening) { super.handleSetListening(listening); + if (mListening == listening) return; mListening = listening; if (mListening) { mBroadcastDispatcher.registerReceiver(mNfcReceiver, @@ -159,11 +160,7 @@ public int getMetricsCategory() { private NfcAdapter getAdapter() { if (mAdapter == null) { - try { - mAdapter = NfcAdapter.getDefaultAdapter(mContext); - } catch (UnsupportedOperationException e) { - mAdapter = null; - } + mAdapter = NfcAdapter.getDefaultAdapter(mContext.getApplicationContext()); } return mAdapter; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt index 8fa890e375dbe..dc77113467da8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt @@ -162,6 +162,7 @@ interface ConnectivityModule { const val HOTSPOT_TILE_SPEC = "hotspot" const val CAST_TILE_SPEC = "cast" const val BLUETOOTH_TILE_SPEC = "bt" + const val NFC_TILE_SPEC = "nfc" @Provides @IntoMap @@ -375,5 +376,20 @@ interface ConnectivityModule { instanceId = uiEventLogger.getNewInstanceId(), category = TileCategory.CONNECTIVITY, ) + + @Provides + @IntoMap + @StringKey(NFC_TILE_SPEC) + fun provideNfcTileConfig(uiEventLogger: QsEventLogger): QSTileConfig = + QSTileConfig( + tileSpec = TileSpec.create(NFC_TILE_SPEC), + uiConfig = + QSTileUIConfig.Resource( + iconRes = R.drawable.ic_qs_nfc, + labelRes = R.string.quick_settings_nfc_label, + ), + instanceId = uiEventLogger.getNewInstanceId(), + category = TileCategory.CONNECTIVITY, + ) } }