diff options
Diffstat (limited to 'app/src/main/java/org/eu/zajc/xheadset/XHeadsetTile.java')
-rw-r--r-- | app/src/main/java/org/eu/zajc/xheadset/XHeadsetTile.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/src/main/java/org/eu/zajc/xheadset/XHeadsetTile.java b/app/src/main/java/org/eu/zajc/xheadset/XHeadsetTile.java new file mode 100644 index 0000000..b6efe4a --- /dev/null +++ b/app/src/main/java/org/eu/zajc/xheadset/XHeadsetTile.java | |||
@@ -0,0 +1,31 @@ | |||
1 | package org.eu.zajc.xheadset; | ||
2 | |||
3 | import android.content.*; | ||
4 | import android.service.quicksettings.*; | ||
5 | import android.graphics.drawable.*; | ||
6 | import android.util.*; | ||
7 | |||
8 | public class XHeadsetTile extends TileService { | ||
9 | |||
10 | @Override | ||
11 | public void onStartListening() { | ||
12 | setEnabled(XHeadsetStateService.isEnabled(XHeadsetStateService.getPrefs(this))); | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public void onClick() { | ||
17 | SharedPreferences prefs = XHeadsetStateService.getPrefs(this); | ||
18 | boolean oldState = XHeadsetStateService.isEnabled(prefs); | ||
19 | if (XHeadsetStateService.setEnabled(prefs, !oldState)) { | ||
20 | setEnabled(!oldState); | ||
21 | } | ||
22 | |||
23 | } | ||
24 | |||
25 | public void setEnabled(boolean enabled) { | ||
26 | Tile tile = getQsTile(); | ||
27 | tile.setIcon(Icon.createWithResource(this, enabled ? R.drawable.headset : R.drawable.speaker)); | ||
28 | tile.setState(enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE); | ||
29 | tile.updateTile(); | ||
30 | } | ||
31 | } | ||