@@ -14,14 +14,14 @@ import android.content.IntentFilter
14
14
import android.content.pm.PackageManager
15
15
import android.content.pm.PackageManager.PERMISSION_GRANTED
16
16
import android.nfc.NfcAdapter
17
+ import android.os.Build
17
18
import android.os.Build.VERSION.SDK_INT
18
19
import android.os.Build.VERSION_CODES
19
20
import android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE
20
21
import android.provider.Settings
21
22
import android.service.quicksettings.Tile
22
23
import android.service.quicksettings.TileService
23
24
import android.util.Log
24
- import androidx.core.content.ContextCompat
25
25
import au.id.colby.nfcquicksettings.R.string
26
26
27
27
private const val TAG = " NfcTileService"
@@ -56,12 +56,10 @@ class NfcTileService : TileService() {
56
56
override fun onStartListening () {
57
57
super .onStartListening()
58
58
Log .d(TAG , " onStartListening; Registering broadcast receiver" )
59
- ContextCompat .registerReceiver( // No harm if already registered.
60
- this ,
59
+ registerReceiver( // No harm if already registered.
61
60
nfcBroadcastReceiver,
62
61
IntentFilter (NfcAdapter .ACTION_ADAPTER_STATE_CHANGED ),
63
- ContextCompat .RECEIVER_EXPORTED
64
- )
62
+ RECEIVER_EXPORTED )
65
63
updateTile()
66
64
}
67
65
@@ -180,6 +178,23 @@ class NfcTileService : TileService() {
180
178
)
181
179
}
182
180
181
+ /* *
182
+ * Registers a broadcast [receiver] with the specified intent [filter] and, if supported, the [flags].
183
+ *
184
+ * Note [flags] will be ignored on Android earlier than T.
185
+ *
186
+ * @param receiver The broadcast receiver to register.
187
+ * @param filter The intent filter for the registered broadcast receiver.
188
+ * @param flags The flags used when registering the broadcast receiver.
189
+ */
190
+ override fun registerReceiver (receiver : BroadcastReceiver ? , filter : IntentFilter ? , flags : Int ): Intent ? {
191
+ return if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU )
192
+ super .registerReceiver(receiver, filter, flags)
193
+ else
194
+ @Suppress(" UnspecifiedRegisterReceiverFlag" )
195
+ super .registerReceiver(receiver, filter)
196
+ }
197
+
183
198
/* *
184
199
* Updates the Quick Settings tile with the [newState] and (if supported) [newSubTitleResId].
185
200
*
0 commit comments