Revert "Lazily start IpNeighbourMonitor in qs tiles"

This reverts commit 490f6c5115.
This commit is contained in:
Mygod
2020-06-21 00:05:32 -04:00
parent 490f6c5115
commit 75f85216fa
4 changed files with 2 additions and 21 deletions

View File

@@ -1,7 +1,6 @@
package be.mygod.vpnhotspot.manage
import android.service.quicksettings.Tile
import androidx.annotation.CallSuper
import androidx.annotation.RequiresApi
import be.mygod.vpnhotspot.R
import be.mygod.vpnhotspot.net.IpNeighbour
@@ -12,28 +11,15 @@ import java.net.Inet4Address
@RequiresApi(24)
abstract class IpNeighbourMonitoringTileService : KillableTileService(), IpNeighbourMonitor.Callback {
private var neighbours: Collection<IpNeighbour> = emptyList()
private var canRegister = false
abstract fun updateTile()
@CallSuper
override fun onStartListening() {
super.onStartListening()
synchronized(this) { canRegister = true }
IpNeighbourMonitor.registerCallback(this)
}
/**
* Lazily start [IpNeighbourMonitor], which could invoke root.
*/
protected fun listenForClients() = synchronized(this) {
if (canRegister) IpNeighbourMonitor.registerCallback(this)
}
@CallSuper
override fun onStopListening() {
synchronized(this) {
canRegister = false
IpNeighbourMonitor.unregisterCallback(this)
}
IpNeighbourMonitor.unregisterCallback(this)
super.onStopListening()
}

View File

@@ -40,7 +40,6 @@ class LocalOnlyHotspotTileService : IpNeighbourMonitoringTileService() {
state = Tile.STATE_ACTIVE
label = binder.configuration?.ssid ?: getText(R.string.tethering_temp_hotspot)
subtitleDevices { it == iface }
listenForClients()
}
updateTile()
}

View File

@@ -92,7 +92,6 @@ sealed class TetheringTileService : IpNeighbourMonitoringTileService(), Tetherin
state = Tile.STATE_ACTIVE
icon = if (interested.all(binder::isActive)) tileOn else tileOff
subtitleDevices(interested::contains)
listenForClients()
}
}
label = getText(labelString)
@@ -180,7 +179,6 @@ sealed class TetheringTileService : IpNeighbourMonitoringTileService(), Tetherin
state = Tile.STATE_ACTIVE
icon = if (interested.isNotEmpty() && interested.all(binder::isActive)) tileOn else tileOff
subtitleDevices(interested::contains)
listenForClients()
}
false -> {
state = Tile.STATE_INACTIVE

View File

@@ -6,7 +6,6 @@ import android.os.Build
import android.os.IBinder
import android.service.quicksettings.Tile
import android.service.quicksettings.TileService
import androidx.annotation.CallSuper
import androidx.annotation.RequiresApi
@RequiresApi(24)
@@ -20,7 +19,6 @@ abstract class KillableTileService : TileService(), ServiceConnection {
if (Build.VERSION.SDK_INT >= 29) subtitle = value
}
@CallSuper
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
if (tapPending) {
tapPending = false