pull/1336/head
gedoor 3 years ago
parent c0b45728d6
commit 40773b6244
  1. 17
      app/src/main/java/io/legado/app/service/WebService.kt
  2. 18
      app/src/main/java/io/legado/app/service/WebTileService.kt

@ -2,6 +2,7 @@ package io.legado.app.service
import android.content.Context
import android.content.Intent
import android.os.Build
import androidx.core.app.NotificationCompat
import io.legado.app.R
import io.legado.app.base.BaseService
@ -40,7 +41,7 @@ class WebService : BaseService() {
isRun = true
notificationContent = getString(R.string.service_starting)
upNotification()
WebTileService.setState(this, true)
upTile(true)
}
override fun onDestroy() {
@ -53,7 +54,7 @@ class WebService : BaseService() {
webSocketServer?.stop()
}
postEvent(EventBus.WEB_SERVICE, "")
WebTileService.setState(this, false)
upTile(false)
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
@ -123,4 +124,16 @@ class WebService : BaseService() {
val notification = builder.build()
startForeground(AppConst.notificationIdWeb, notification)
}
private fun upTile(active: Boolean) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
startService<WebTileService> {
action = if (active) {
IntentAction.start
} else {
IntentAction.stop
}
}
}
}
}

@ -1,6 +1,5 @@
package io.legado.app.service
import android.content.Context
import android.content.Intent
import android.os.Build
import android.service.quicksettings.Tile
@ -8,7 +7,6 @@ import android.service.quicksettings.TileService
import androidx.annotation.RequiresApi
import io.legado.app.constant.IntentAction
import io.legado.app.utils.printOnDebug
import io.legado.app.utils.startService
/**
* web服务快捷开关
@ -16,22 +14,6 @@ import io.legado.app.utils.startService
@RequiresApi(Build.VERSION_CODES.N)
class WebTileService : TileService() {
companion object {
fun setState(context: Context, active: Boolean) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
context.startService<WebTileService> {
action = if (active) {
IntentAction.start
} else {
IntentAction.stop
}
}
}
}
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
try {
when (intent?.action) {

Loading…
Cancel
Save