优化
This commit is contained in:
@@ -5,9 +5,12 @@ import android.content.Intent
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.service.quicksettings.Tile
|
import android.service.quicksettings.Tile
|
||||||
import android.service.quicksettings.TileService
|
import android.service.quicksettings.TileService
|
||||||
|
import android.view.WindowManager.BadTokenException
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
|
import androidx.core.os.postDelayed
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.constant.IntentAction
|
import io.legado.app.constant.IntentAction
|
||||||
|
import io.legado.app.utils.buildMainHandler
|
||||||
import io.legado.app.utils.printOnDebug
|
import io.legado.app.utils.printOnDebug
|
||||||
|
|
||||||
|
|
||||||
@@ -17,6 +20,8 @@ import io.legado.app.utils.printOnDebug
|
|||||||
@RequiresApi(Build.VERSION_CODES.N)
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
class WebTileService : TileService() {
|
class WebTileService : TileService() {
|
||||||
|
|
||||||
|
private val handler by lazy { buildMainHandler() }
|
||||||
|
|
||||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||||
try {
|
try {
|
||||||
when (intent?.action) {
|
when (intent?.action) {
|
||||||
@@ -24,6 +29,7 @@ class WebTileService : TileService() {
|
|||||||
state = Tile.STATE_ACTIVE
|
state = Tile.STATE_ACTIVE
|
||||||
updateTile()
|
updateTile()
|
||||||
}
|
}
|
||||||
|
|
||||||
IntentAction.stop -> qsTile?.run {
|
IntentAction.stop -> qsTile?.run {
|
||||||
state = Tile.STATE_INACTIVE
|
state = Tile.STATE_INACTIVE
|
||||||
updateTile()
|
updateTile()
|
||||||
@@ -55,9 +61,15 @@ class WebTileService : TileService() {
|
|||||||
val dialog = Dialog(this, R.style.AppTheme_Transparent)
|
val dialog = Dialog(this, R.style.AppTheme_Transparent)
|
||||||
dialog.setOnShowListener {
|
dialog.setOnShowListener {
|
||||||
WebService.startForeground(this)
|
WebService.startForeground(this)
|
||||||
dialog.dismiss()
|
handler.postDelayed(1000) {
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
showDialog(dialog)
|
||||||
|
} catch (e: BadTokenException) {
|
||||||
|
e.printStackTrace()
|
||||||
}
|
}
|
||||||
showDialog(dialog)
|
|
||||||
} else {
|
} else {
|
||||||
WebService.start(this)
|
WebService.start(this)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user