From fc2bbc4a96877f7a67058fc8bbe8ecb1ea7e7b01 Mon Sep 17 00:00:00 2001 From: kunfei Date: Fri, 6 May 2022 20:46:19 +0800 Subject: [PATCH] =?UTF-8?q?web=E6=9C=8D=E5=8A=A1=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E5=8F=98=E5=8C=96,=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0IP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/receiver/NetworkChangedReceiver.kt | 12 +++++++----- .../io/legado/app/receiver/TimeBatteryReceiver.kt | 4 ++-- .../main/java/io/legado/app/service/WebService.kt | 3 +++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt b/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt index 9b00db17d..8c4f1db84 100644 --- a/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/NetworkChangedReceiver.kt @@ -4,20 +4,22 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter +import android.net.ConnectivityManager /** * 监测网络变化 */ class NetworkChangedReceiver : BroadcastReceiver() { + var onReceiver: ((context: Context, intent: Intent) -> Unit)? = null + val filter = IntentFilter().apply { - addAction("android.net.conn.CONNECTIVITY_CHANGE") - addAction("android.net.wifi.WIFI_STATE_CHANGED") - addAction("android.net.wifi.STATE_CHANGE") + @Suppress("DEPRECATION") + addAction(ConnectivityManager.CONNECTIVITY_ACTION) } - override fun onReceive(context: Context?, intent: Intent?) { - + override fun onReceive(context: Context, intent: Intent) { + onReceiver?.invoke(context, intent) } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt b/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt index bd150d258..e6537d7b3 100644 --- a/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/TimeBatteryReceiver.kt @@ -16,8 +16,8 @@ class TimeBatteryReceiver : BroadcastReceiver() { addAction(Intent.ACTION_BATTERY_CHANGED) } - override fun onReceive(context: Context?, intent: Intent?) { - when (intent?.action) { + override fun onReceive(context: Context, intent: Intent) { + when (intent.action) { Intent.ACTION_TIME_TICK -> { postEvent(EventBus.TIME_CHANGED, "") } diff --git a/app/src/main/java/io/legado/app/service/WebService.kt b/app/src/main/java/io/legado/app/service/WebService.kt index 3fa39a908..cd480a807 100644 --- a/app/src/main/java/io/legado/app/service/WebService.kt +++ b/app/src/main/java/io/legado/app/service/WebService.kt @@ -45,6 +45,9 @@ class WebService : BaseService() { upNotification() upTile(true) registerReceiver(networkChangedReceiver, networkChangedReceiver.filter) + networkChangedReceiver.onReceiver = { _, _ -> + upWebServer() + } } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {