QS Button

This commit is contained in:
Cherret
2025-04-07 20:17:07 +07:00
parent 3e5b96b562
commit 355987fddb
6 changed files with 94 additions and 8 deletions

View 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()
}
}
}

View File

@@ -96,7 +96,6 @@ fun HomeScreen() {
cardText.value = R.string.status_disabled
}
}
}
}
Scaffold(