This commit is contained in:
Your Name
2024-03-04 00:23:39 -06:00
parent bbfe32da05
commit 9a33a7d17a
81 changed files with 49 additions and 7 deletions

View File

@@ -28,6 +28,7 @@ import android.content.Context
import android.content.Intent
import android.os.Handler
import android.os.Looper
import android.net.ConnectivityManager
// added by hansonxyz
@@ -35,6 +36,32 @@ class MyBroadcastReceiver : BroadcastReceiver(), TetheringManager.StartTethering
private val handler = Handler(Looper.getMainLooper())
/**
* Called when tethering has been successfully started.
*/
// override fun onTetheringStarted() {
// // Retrieve the list of currently active tethering interfaces
// val tetheredInterfaces = TetheringManager.tetheredIfaces
//
// // Iterate over the interfaces and start the monitoring service for each
// tetheredInterfaces.forEach { iface ->
// Intent(App.app, TetheringService::class.java).apply {
// action = TetheringService.ACTION_START_MONITORING
// putExtra(TetheringService.EXTRA_INTERFACE, iface)
// App.app.startForegroundService(this)
// }
// }
// }
//
// /**
// * Called when starting tethering failed.
// *
// * @param error The error that caused the failure.
// */
// override fun onTetheringFailed(error: Int? = null) { }
override fun onReceive(context: Context, intent: Intent) {
if (intent.action.toString().contains("BT_TETHER_START")) {
TetheringManager.startTethering(TetheringManager.TETHERING_BLUETOOTH, false, this)
@@ -48,10 +75,21 @@ class MyBroadcastReceiver : BroadcastReceiver(), TetheringManager.StartTethering
for (startable in config.startables.values) startable.start(App.app)
}
TetheringManager.startTethering(TetheringManager.TETHERING_WIFI, false, this)
}
if (intent.action.toString().contains("WIFI_TETHER_STOP")) {
TetheringManager.stopTethering(TetheringManager.TETHERING_WIFI)
}
if (intent.action.toString().contains("android.net.conn.TETHER_STATE_CHANGED")) {
@Suppress("UNCHECKED_CAST")
val tetheredInterfaces = intent.getStringArrayListExtra("tetherArray")
tetheredInterfaces?.forEach { iface ->
Intent(context, TetheringService::class.java).apply {
putExtra(TetheringService.EXTRA_ADD_INTERFACES, arrayOf(iface))
context.startForegroundService(this)
}
}
}
}
}