mirror of
https://github.com/CherretGit/zaprett-app.git
synced 2026-01-24 12:29:39 +05:00
QS Button
This commit is contained in:
65
app/src/main/java/com/cherret/zaprett/QSTileService.kt
Normal file
65
app/src/main/java/com/cherret/zaprett/QSTileService.kt
Normal file
@@ -0,0 +1,65 @@
|
||||
package com.cherret.zaprett
|
||||
|
||||
import android.service.quicksettings.Tile
|
||||
import android.service.quicksettings.TileService
|
||||
|
||||
class QSTileService: TileService() {
|
||||
override fun onTileAdded() {
|
||||
super.onTileAdded()
|
||||
updateStatus()
|
||||
}
|
||||
|
||||
override fun onStartListening() {
|
||||
super.onStartListening()
|
||||
updateStatus()
|
||||
}
|
||||
|
||||
override fun onStopListening() {
|
||||
super.onStopListening()
|
||||
}
|
||||
|
||||
override fun onClick() {
|
||||
super.onClick()
|
||||
if (qsTile.state == Tile.STATE_INACTIVE) {
|
||||
qsTile.subtitle = getString(R.string.qs_starting)
|
||||
qsTile.state = Tile.STATE_UNAVAILABLE
|
||||
qsTile.updateTile()
|
||||
startService {}
|
||||
}
|
||||
else {
|
||||
qsTile.subtitle = getString(R.string.qs_stopping)
|
||||
qsTile.state = Tile.STATE_UNAVAILABLE
|
||||
qsTile.updateTile()
|
||||
stopService {}
|
||||
}
|
||||
updateStatus()
|
||||
}
|
||||
|
||||
override fun onTileRemoved() {
|
||||
super.onTileRemoved()
|
||||
}
|
||||
|
||||
fun updateStatus() {
|
||||
if (getSharedPreferences("settings", MODE_PRIVATE).getBoolean("use_module", false)) {
|
||||
getStatus {
|
||||
if (it) {
|
||||
qsTile.label = getString(R.string.qs_name)
|
||||
qsTile.subtitle = getString(R.string.qs_working)
|
||||
qsTile.state = Tile.STATE_ACTIVE
|
||||
qsTile.updateTile()
|
||||
} else {
|
||||
qsTile.label = getString(R.string.qs_name)
|
||||
qsTile.subtitle = getString(R.string.qs_not_working)
|
||||
qsTile.state = Tile.STATE_INACTIVE
|
||||
qsTile.updateTile()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
qsTile.label = getString(R.string.qs_name)
|
||||
qsTile.subtitle = getString(R.string.qs_not_available)
|
||||
qsTile.state = Tile.STATE_UNAVAILABLE
|
||||
qsTile.updateTile()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,7 +96,6 @@ fun HomeScreen() {
|
||||
cardText.value = R.string.status_disabled
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Scaffold(
|
||||
|
||||
Reference in New Issue
Block a user