diff options
Diffstat (limited to 'app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java')
-rw-r--r-- | app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java b/app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java new file mode 100644 index 0000000..d4410f8 --- /dev/null +++ b/app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java | |||
@@ -0,0 +1,45 @@ | |||
1 | package org.eu.zajc.xheadset; | ||
2 | |||
3 | import java.io.*; | ||
4 | import android.os.*; | ||
5 | import android.util.*; | ||
6 | import android.content.*; | ||
7 | import android.app.*; | ||
8 | |||
9 | public class XHeadsetStateService extends Service { | ||
10 | |||
11 | public static final boolean DEFAULT_STATE = false; | ||
12 | private static final String PREFS_FILE = "xheadset"; | ||
13 | |||
14 | public SharedPreferences getPrefs() { | ||
15 | return this.getPrefs(this); | ||
16 | } | ||
17 | |||
18 | public static SharedPreferences getPrefs(Context context) { | ||
19 | return context.getSharedPreferences(PREFS_FILE, MODE_PRIVATE); | ||
20 | } | ||
21 | |||
22 | public static boolean isEnabled(SharedPreferences prefs) { | ||
23 | return prefs.getBoolean("state", DEFAULT_STATE); | ||
24 | } | ||
25 | |||
26 | public static boolean setEnabled(SharedPreferences prefs, boolean enabled) { | ||
27 | return prefs.edit().putBoolean("state", enabled).commit(); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public IBinder onBind(Intent intent) { | ||
32 | return binder; | ||
33 | } | ||
34 | |||
35 | private final IXHeadsetStateService.Stub binder = new IXHeadsetStateService.Stub() { | ||
36 | public boolean isEnabled() { | ||
37 | return XHeadsetStateService.isEnabled(getPrefs()); | ||
38 | } | ||
39 | |||
40 | public boolean setEnabled(boolean enabled) { | ||
41 | return XHeadsetStateService.setEnabled(getPrefs(), enabled); | ||
42 | } | ||
43 | }; | ||
44 | |||
45 | } | ||