summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/eu/zajc/xheadset/XHeadsetStateService.java
diff options
context:
space:
mode:
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.java45
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 @@
1package org.eu.zajc.xheadset;
2
3import java.io.*;
4import android.os.*;
5import android.util.*;
6import android.content.*;
7import android.app.*;
8
9public 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}