Statistics
| Branch: | Tag: | Revision:

securesmartcam / app / src / main / java / org / witness / obscuracam / ui / CameraObscuraPreferences.java @ 41590feb

History | View | Annotate | Download (4.57 KB)

1
package org.witness.obscuracam.ui;
2

    
3
import android.content.Context;
4
import android.content.SharedPreferences;
5
import android.preference.PreferenceManager;
6

    
7
public class CameraObscuraPreferences {
8
        
9
        SharedPreferences sharedPreferences;
10
        SharedPreferences.Editor editor;
11

    
12
        // These need to match the values in arrays.xml
13
        public static final int ORIGINALIMAGE_PREF_DELETE = 0;
14
        public static final int ORIGINALIMAGE_PREF_LOCK = 1;
15
        public static final int ORIGINALIMAGE_PREF_LEAVE = 2;
16
        public static final int ORIGINALIMAGE_PREF_DEFAULT = ORIGINALIMAGE_PREF_LOCK;
17

    
18
        // These need to match the values in arrays.xml
19
        public static final int PANIC_BUTTON_PREF_WIPE = 0;
20
        public static final int PANIC_BUTTON_PREF_LOCK = 1;
21
        public static final int PANIC_BUTTON_PREF_DEFAULT = PANIC_BUTTON_PREF_LOCK;
22
        
23
        public static final boolean SPLASH_SCREEN_PREF_DEFAULT = true;
24
        public static final boolean AUTO_SIGN_PREF_DEFAULT = true;
25
        public static final boolean AUTO_SUBMIT_PREF_DEFAULT = false;
26
        
27
        public static final int RISK_0 = 0; // No Risk
28
        public static final int RISK_1 = 1; // Medium Level Risk
29
        public static final int RISK_2 = 2; // Extreme Risk
30
        
31
        public static final int DEFAULT_RISK_LEVEL = RISK_1;
32
        
33
        public CameraObscuraPreferences(Context context) {
34
                sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
35
                
36
                editor = sharedPreferences.edit();
37
                
38
                //setDefaults();
39
                
40
                // Set Defaults if not set
41
                // This is a bit hacky
42
                /*
43
                setSplashScreenPref(getSplashScreenPref());
44
                setAutoSignPref(getAutoSignPref());
45
                setAutoSubmitPref(getAutoSignPref());
46
                setOriginalImagePref(getOriginalImagePref());
47
                setPanicButtonPref(getPanicButtonPref());
48
                */
49
        }
50
        
51
        public String getRiskLevelLabel(int riskLevel) {
52
                switch (riskLevel) {
53
                        case CameraObscuraPreferences.RISK_0:
54
                                // No Risk
55
                                return "No Risk";
56
                        case CameraObscuraPreferences.RISK_1:
57
                                // Medium Level Risk
58
                                return "Medium Risk";
59
                        case CameraObscuraPreferences.RISK_2:
60
                                // Extreme Risk
61
                                return "High Risk";
62
                        default:
63
                                return "No Risk";
64
                }                                
65
        }
66
        
67
        public void setDefaults() {
68
                editor.clear();
69
                setRiskLevel(RISK_1);
70
        }
71

    
72
        public int getRiskLevel() {
73
                return sharedPreferences.getInt("RiskLevel", DEFAULT_RISK_LEVEL);                
74
        }
75
        
76
        public void setRiskLevel(int riskLevel) {
77
                
78
                editor.putInt("RiskLevel", riskLevel);
79
                editor.commit();
80
                
81
                switch (riskLevel) {
82
                        case CameraObscuraPreferences.RISK_0:
83
                                // No Risk
84
                                setAutoSignPref(false);
85
                                setAutoSubmitPref(false);
86
                                setOriginalImagePref(ORIGINALIMAGE_PREF_LEAVE);
87
                                setPanicButtonPref(PANIC_BUTTON_PREF_LOCK);
88
                                break;
89
                        case CameraObscuraPreferences.RISK_1:
90
                                // Medium Level Risk
91
                                setAutoSignPref(true);
92
                                setAutoSubmitPref(false);
93
                                setOriginalImagePref(ORIGINALIMAGE_PREF_LOCK);
94
                                setPanicButtonPref(PANIC_BUTTON_PREF_LOCK);
95
                                break;
96
                        case CameraObscuraPreferences.RISK_2:
97
                                // Extreme Risk
98
                                setAutoSignPref(false);
99
                                setAutoSubmitPref(true);
100
                                setOriginalImagePref(ORIGINALIMAGE_PREF_DELETE);
101
                                setPanicButtonPref(PANIC_BUTTON_PREF_WIPE);                        
102
                                break;
103
                }                
104
        }
105
        
106
        public boolean getSplashScreenPref() {
107
                return sharedPreferences.getBoolean("SplashScreenPref", SPLASH_SCREEN_PREF_DEFAULT);
108
        }
109

    
110
        public void setSplashScreenPref(boolean splashScreenPref) {
111
                editor.putBoolean("SplashScreenPref", splashScreenPref);
112
                editor.commit();
113
        }
114
        
115
        public boolean getWalkThroughPref() {
116
                return sharedPreferences.getBoolean("WalkThroughPref", true);
117
        }
118
        
119
        public void setWalkThroughPref(boolean walkThroughPref) {
120
                editor.putBoolean("WalkThroughPref", walkThroughPref);
121
                editor.commit();
122
        }
123

    
124
        public boolean getAutoSignPref() {
125
                return sharedPreferences.getBoolean("AutoSignPref", AUTO_SIGN_PREF_DEFAULT);
126
        }
127

    
128
        public void setAutoSignPref(boolean autoSignPref) {
129
                editor.putBoolean("AutoSignPref", autoSignPref);
130
                editor.commit();
131
        }
132

    
133
        public boolean getAutoSubmitPref() {
134
                return sharedPreferences.getBoolean("AutoSubmitPref", AUTO_SUBMIT_PREF_DEFAULT);
135
        }
136

    
137
        public void setAutoSubmitPref(boolean autoSubmitPref) {
138
                editor.putBoolean("AutoSubmitPref", autoSubmitPref);
139
                editor.commit();
140
        }
141

    
142
        public int getOriginalImagePref() {
143
                return Integer.valueOf(sharedPreferences.getString("OriginalImagePref", "" + ORIGINALIMAGE_PREF_DEFAULT));
144
        }
145

    
146
        public void setOriginalImagePref(int originalImagePref) {
147
                editor.putString("OriginalImagePref", ""+originalImagePref);
148
                editor.commit();
149
        }
150

    
151
        public int getPanicButtonPref() {
152
                return Integer.valueOf(sharedPreferences.getString("PanicButtonPref","" + PANIC_BUTTON_PREF_DEFAULT));
153
        }
154

    
155
        public void setPanicButtonPref(int panicButtonPref) {
156
                editor.putString("PanicButtonPref", ""+panicButtonPref);
157
                editor.commit();
158
        }        
159
}