Support monitoring tethered interface

This would be useful to be used in together with Instant Tethering + Turn off hotspot automatically.

Refine #26, #53.
This commit is contained in:
Mygod
2019-02-06 01:26:06 +08:00
parent 6d6418b8e0
commit cbc65f989c
14 changed files with 174 additions and 61 deletions

View File

@@ -52,7 +52,7 @@ class LocalOnlyHotspotService : IpNeighbourMonitoringService() {
} else {
val routingManager = routingManager
if (routingManager == null) {
this.routingManager = RoutingManager.LocalOnly(this, iface).apply { initRouting() }
this.routingManager = RoutingManager.LocalOnly(this, iface).apply { start() }
IpNeighbourMonitor.registerCallback(this)
} else check(iface == routingManager.downstream)
}
@@ -128,7 +128,7 @@ class LocalOnlyHotspotService : IpNeighbourMonitoringService() {
}
private fun unregisterReceiver() {
routingManager?.stop()
routingManager?.destroy()
routingManager = null
if (receiverRegistered) {
unregisterReceiver(receiver)