Update to Android Q beta 2 APIs

This commit is contained in:
Mygod
2019-04-04 11:31:27 +08:00
parent 400d4e67a3
commit bb41536eb1
6 changed files with 12 additions and 9 deletions

View File

@@ -12,7 +12,7 @@ buildscript {
}
}
dependencies {
classpath "com.android.tools.build:gradle:3.4.0-rc02"
classpath 'com.android.tools.build:gradle:3.4.0-rc03'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.21.0'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'io.fabric.tools:gradle:1.28.1'

View File

@@ -41,7 +41,7 @@ class LocalOnlyHotspotService : IpNeighbourMonitoringService() {
private var routingManager: RoutingManager? = null
private var receiverRegistered = false
private val receiver = broadcastReceiver { _, intent ->
val ifaces = intent.localOnlyTetheredIfaces
val ifaces = intent.localOnlyTetheredIfaces ?: return@broadcastReceiver
DebugHelper.log(TAG, "onTetherStateChangedLocked: $ifaces")
check(ifaces.size <= 1)
val iface = ifaces.singleOrNull()

View File

@@ -48,7 +48,7 @@ class TetheringService : IpNeighbourMonitoringService() {
private val receiver = broadcastReceiver { _, intent ->
synchronized(downstreams) {
val toRemove = downstreams.toMutableMap() // make a copy
for (iface in intent.tetheredIfaces) {
for (iface in intent.tetheredIfaces ?: return@synchronized) {
val downstream = toRemove.remove(iface) ?: continue
if (downstream.monitor) downstream.start()
}

View File

@@ -20,7 +20,8 @@ import be.mygod.vpnhotspot.util.broadcastReceiver
class ClientViewModel : ViewModel(), ServiceConnection, IpNeighbourMonitor.Callback {
private var tetheredInterfaces = emptySet<String>()
private val receiver = broadcastReceiver { _, intent ->
tetheredInterfaces = intent.tetheredIfaces.toSet() + intent.localOnlyTetheredIfaces
tetheredInterfaces = (intent.tetheredIfaces ?: return@broadcastReceiver).toSet() +
(intent.localOnlyTetheredIfaces ?: return@broadcastReceiver)
populateClients()
}

View File

@@ -12,14 +12,15 @@ abstract class TetherListeningTileService : KillableTileService() {
protected var tethered: List<String> = emptyList()
private val receiver = broadcastReceiver { _, intent ->
tethered = intent.tetheredIfaces
tethered = intent.tetheredIfaces ?: return@broadcastReceiver
updateTile()
}
override fun onStartListening() {
super.onStartListening()
val intent = registerReceiver(receiver, IntentFilter(TetheringManager.ACTION_TETHER_STATE_CHANGED))
if (intent != null) tethered = intent.tetheredIfaces
registerReceiver(receiver, IntentFilter(TetheringManager.ACTION_TETHER_STATE_CHANGED))?.tetheredIfaces?.let {
tethered = it
}
}
override fun onStopListening() {

View File

@@ -98,8 +98,9 @@ class TetheringFragment : Fragment(), ServiceConnection, MenuItem.OnMenuItemClic
var binder: TetheringService.Binder? = null
private val adapter = ManagerAdapter()
private val receiver = broadcastReceiver { _, intent ->
adapter.update(intent.tetheredIfaces, intent.localOnlyTetheredIfaces,
intent.getStringArrayListExtra(TetheringManager.EXTRA_ERRORED_TETHER))
adapter.update(intent.tetheredIfaces ?: return@broadcastReceiver,
intent.localOnlyTetheredIfaces ?: return@broadcastReceiver,
intent.getStringArrayListExtra(TetheringManager.EXTRA_ERRORED_TETHER) ?: return@broadcastReceiver)
}
private fun updateMonitorList(canMonitor: List<String> = emptyList()) {