Rev 269 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 269 | Rev 382 | ||
---|---|---|---|
1 | /*************************************************************** |
1 | /*************************************************************** |
2 | * |
2 | * |
3 | * Settings related Part of DUBwise |
3 | * Settings related Part of DUBwise |
4 | * ( e.g. saving to / reading from RMS ) |
4 | * ( e.g. saving to / reading from RMS ) |
5 | * |
5 | * |
6 | * Author: Marcus -LiGi- Bueschleb |
6 | * Author: Marcus -LiGi- Bueschleb |
7 | * Mailto: LiGi @at@ LiGi DOTT de |
7 | * Mailto: LiGi @at@ LiGi DOTT de |
8 | * |
8 | * |
9 | ***************************************************************/ |
9 | ***************************************************************/ |
10 | 10 | ||
11 | import javax.microedition.rms.*; |
11 | import javax.microedition.rms.*; |
12 | 12 | ||
13 | import java.io.*; |
13 | import java.io.*; |
14 | 14 | ||
15 | public class DUBwiseSettings |
15 | public class DUBwiseSettings |
16 | extends org.ligi.ufo.ParamsClass |
16 | extends org.ligi.ufo.ParamsClass |
17 | implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions,org.ligi.ufo.DUBwiseLangDefs |
17 | implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions,org.ligi.ufo.DUBwiseLangDefs |
18 | { |
18 | { |
19 | // name/handle for the recordStore to memorize some stuff |
19 | // name/handle for the recordStore to memorize some stuff |
20 | private final static String RECORD_STORE_NAME="DUBSETT_V4"; |
20 | private final static String RECORD_STORE_NAME="DUBSETT_V5"; |
21 | 21 | ||
22 | /* all settings hold here */ |
- | |
23 | //holds id of actual skin |
22 | /* all settings hold here */ |
24 | public byte act_skin=SKINID_DARK; |
23 | public byte act_skin=SKINID_DARK; |
25 | 24 | ||
26 | public int key_back; |
25 | public int key_back; |
27 | public int key_fullscreen; |
26 | public int key_fullscreen; |
28 | public int key_clear; |
27 | public int key_clear; |
29 | 28 | ||
30 | public int voice_delay; |
29 | public int voice_delay; |
31 | public int voice_volume; |
30 | public int voice_volume; |
32 | - | ||
33 | - | ||
34 | public byte graph_interval=1; |
31 | public byte graph_interval; |
35 | - | ||
36 | - | ||
37 | public int remote_cam_stick; |
32 | public int remote_cam_stick; |
38 | - | ||
39 | public String connection_name=""; |
33 | public String connection_name=""; |
40 | public String connection_url=""; |
34 | public String connection_url=""; |
41 | 35 | ||
42 | public boolean do_vibra=true; |
36 | public boolean do_vibra; |
43 | public boolean do_sound=true; |
37 | public boolean do_sound; |
44 | public boolean do_volts_sound=true; |
38 | public boolean do_volts_sound; |
- | 39 | public boolean do_altimeter_sound; |
|
45 | public boolean do_altimeter_sound=true; |
40 | |
46 | 41 | public boolean big_fonts; |
|
47 | 42 | ||
48 | public byte altsteps; |
43 | public byte altsteps; |
49 | 44 | ||
50 | public boolean horizon_invert_nick=true; |
45 | public boolean horizon_invert_nick; |
51 | public boolean horizon_invert_roll=true; |
46 | public boolean horizon_invert_roll; |
52 | public boolean horizon_display_altitude=true; |
47 | public boolean horizon_display_altitude; |
- | 48 | public boolean horizon_display_flytime; |
|
- | 49 | ||
- | 50 | public boolean fullscreen; |
|
- | 51 | public boolean do_scrollbg; |
|
- | 52 | public boolean expert_mode; |
|
- | 53 | public boolean dev_mode; |
|
53 | public boolean horizon_display_flytime=true; |
54 | public boolean betatester_mode; |
54 | - | ||
55 | public boolean fullscreen=false; |
55 | |
56 | public boolean do_scrollbg=false; |
- | |
- | 56 | public boolean reload_settings; |
|
- | 57 | public boolean instant_error_show; |
|
57 | public boolean expert_mode=false; |
- | |
58 | public boolean dev_mode=false; |
- | |
59 | - | ||
60 | - | ||
61 | 58 | ||
62 | public boolean reload_settings=false; |
59 | public boolean graph_legend; |
63 | public boolean instant_error_show=false; |
60 | public boolean graph_scale; |
64 | 61 | ||
65 | public boolean graph_legend; |
62 | |
66 | public boolean graph_scale; |
63 | |
67 | 64 | ||
68 | //#if devicecontrol=="on" |
65 | //#if devicecontrol=="on" |
69 | public boolean keep_lighton=false; |
66 | public boolean keep_lighton=false; |
70 | //#endif |
67 | //#endif |
71 | 68 | ||
72 | int[] act_proxy_ip=default_ip; // { ip , ip , ip , ip , port } |
69 | int[] act_proxy_ip=default_ip; // { ip , ip , ip , ip , port } |
73 | int[] act_conn_ip=default_ip; // { ip , ip , ip , ip , port } |
70 | int[] act_conn_ip=default_ip; // { ip , ip , ip , ip , port } |
74 | 71 | ||
75 | - | ||
76 | // public byte gps_format=GPS_FORMAT_DECIMAL; |
- | |
77 | // public byte speed_format=SPEED_FORMAT_KMH; |
- | |
78 | - | ||
79 | 72 | ||
80 | int[] settings_field; |
- | |
81 | - | ||
82 | public int get_field_from_act(int pos) { return settings_field[pos];} |
- | |
83 | public void set_field_from_act(int pos,int val){ |
- | |
84 | - | ||
85 | settings_field[pos]=val; |
- | |
86 | field2setting(pos,val); |
- | |
87 | } |
- | |
88 | - | ||
89 | public void toggle_fullscreen() |
- | |
90 | { |
- | |
91 | // fullscreen=!fullscreen; |
- | |
92 | set_field_from_act(1,settings_field[1]^1); |
- | |
93 | // if (fullscreen)canvas.setFullScreenMode(true); |
73 | /* end of all settings hold here */ |
94 | } |
74 | |
95 | 75 | ||
96 | public final static int SETTINGS_POS_SKIN =0; |
76 | public final static int SETTINGS_POS_SKIN =0; |
97 | public final static int SETTINGS_POS_BITFIELD1 =1; |
77 | public final static int SETTINGS_POS_BITFIELD1 =1; |
98 | public final static int SETTINGS_POS_GPS_FORMAT =2; |
78 | public final static int SETTINGS_POS_GPS_FORMAT =2; |
99 | public final static int SETTINGS_POS_SPEED_FORMAT =3; |
79 | public final static int SETTINGS_POS_SPEED_FORMAT =3; |
100 | public final static int SETTINGS_POS_EXTERN_NICK =4; |
80 | public final static int SETTINGS_POS_EXTERN_NICK =4; |
101 | public final static int SETTINGS_POS_EXTERN_ROLL =5; |
81 | public final static int SETTINGS_POS_EXTERN_ROLL =5; |
102 | public final static int SETTINGS_POS_EXTERN_GIER =6; |
82 | public final static int SETTINGS_POS_EXTERN_GIER =6; |
103 | public final static int SETTINGS_POS_EXTERN_GAS =7; |
83 | public final static int SETTINGS_POS_EXTERN_GAS =7; |
104 | public final static int SETTINGS_POS_EXTERN_HIGHT =8; |
84 | public final static int SETTINGS_POS_EXTERN_HIGHT =8; |
105 | public final static int SETTINGS_POS_KEY_BACK =9; |
85 | public final static int SETTINGS_POS_KEY_BACK =9; |
106 | public final static int SETTINGS_POS_KEY_FULL =10; |
86 | public final static int SETTINGS_POS_KEY_FULL =10; |
107 | public final static int SETTINGS_POS_KEY_CLEAR =11; |
87 | public final static int SETTINGS_POS_KEY_CLEAR =11; |
108 | public final static int SETTINGS_POS_VOICEVOLUME =12; |
88 | public final static int SETTINGS_POS_VOICEVOLUME =12; |
109 | public final static int SETTINGS_POS_VOICEDELAY =13; |
89 | public final static int SETTINGS_POS_VOICEDELAY =13; |
110 | public final static int SETTINGS_POS_BITFIELD2 =14; |
90 | public final static int SETTINGS_POS_BITFIELD2 =14; |
111 | public final static int SETTINGS_POS_LANG =15; |
91 | public final static int SETTINGS_POS_LANG =15; |
112 | public final static int SETTINGS_POS_GRAPHINTERVAL =16; |
92 | public final static int SETTINGS_POS_GRAPHINTERVAL =16; |
113 | public final static int SETTINGS_POS_BITFIELD3 =17; |
93 | public final static int SETTINGS_POS_BITFIELD3 =17; |
114 | public final static int SETTINGS_POS_ALTSTEPS =18; |
94 | public final static int SETTINGS_POS_ALTSTEPS =18; |
- | 95 | public final static int SETTINGS_POS_CAMSTICK =19; |
|
- | 96 | ||
- | 97 | public final static int SETTINGS_POS_PRIMARYABO =20; |
|
- | 98 | public final static int SETTINGS_POS_SECONDARYABO =21; |
|
- | 99 | public final static int SETTINGS_POS_DEFAULTABO =22; |
|
- | 100 | public final static int SETTINGS_FIELD_LENGTH =23; |
|
- | 101 | ||
- | 102 | ||
- | 103 | ||
- | 104 | int[] settings_field; |
|
- | 105 | ||
- | 106 | public int get_field_from_act(int pos) { return settings_field[pos];} |
|
- | 107 | public void set_field_from_act(int pos,int val){ |
|
- | 108 | ||
- | 109 | settings_field[pos]=val; |
|
- | 110 | field2setting(pos,val); |
|
- | 111 | } |
|
- | 112 | ||
- | 113 | public void toggle_fullscreen() |
|
- | 114 | { |
|
- | 115 | // fullscreen=!fullscreen; |
|
- | 116 | set_field_from_act(1,settings_field[1]^1); |
|
- | 117 | // if (fullscreen)canvas.setFullScreenMode(true); |
|
- | 118 | } |
|
- | 119 | ||
- | 120 | public void set_betatester() |
|
- | 121 | { |
|
- | 122 | settings_field[SETTINGS_POS_BITFIELD3]|=2; |
|
- | 123 | } |
|
115 | 124 | ||
116 | public void field2setting(int pos,int val) |
125 | public void field2setting(int pos,int val) |
117 | { |
126 | { |
- | 127 | try { |
|
- | 128 | boolean new_fullscreen=fullscreen; |
|
- | 129 | boolean new_do_scrollbg=do_scrollbg; |
|
- | 130 | ||
118 | switch (pos) |
131 | switch (pos) |
119 | { |
132 | { |
120 | case SETTINGS_POS_ALTSTEPS: |
133 | case SETTINGS_POS_ALTSTEPS: |
121 | altsteps=(byte)val; |
134 | altsteps=(byte)val; |
122 | break; |
135 | break; |
123 | case SETTINGS_POS_GRAPHINTERVAL: |
136 | case SETTINGS_POS_GRAPHINTERVAL: |
124 | if (val<1) |
137 | if (val<1) |
125 | graph_interval=1; |
138 | graph_interval=1; |
126 | else |
139 | else |
127 | graph_interval=(byte)val; |
140 | graph_interval=(byte)val; |
128 | break; |
141 | break; |
129 | - | ||
130 | } |
- | |
131 | - | ||
132 | if (pos==SETTINGS_POS_LANG) |
- | |
133 | { |
- | |
134 | canvas.act_lang=(byte)val; |
- | |
135 | canvas.load_strings(); |
- | |
136 | } |
- | |
137 | - | ||
138 | - | ||
139 | if (pos==SETTINGS_POS_SKIN) |
- | |
140 | { |
- | |
141 | act_skin=(byte)val; |
- | |
142 | canvas.load_skin_images(); |
- | |
143 | } |
- | |
144 | - | ||
145 | if ((pos==SETTINGS_POS_BITFIELD1)&&((val&1)==1)&&(!fullscreen)) |
- | |
146 | { |
- | |
147 | fullscreen=true; |
- | |
148 | canvas.setFullScreenMode(fullscreen); |
- | |
149 | } |
- | |
150 | - | ||
151 | if ((pos==SETTINGS_POS_BITFIELD1)&&((val&1)==0)&&(fullscreen)) |
- | |
152 | { |
- | |
153 | fullscreen=false; |
- | |
154 | canvas.setFullScreenMode(fullscreen); |
- | |
155 | } |
- | |
156 | - | ||
157 | if ((pos==SETTINGS_POS_BITFIELD1)&&((val&2)==2)&&(!do_scrollbg)) |
- | |
158 | { |
- | |
159 | do_scrollbg=true; |
- | |
160 | canvas.load_skin_images(); |
- | |
161 | } |
- | |
162 | - | ||
163 | if ((pos==SETTINGS_POS_BITFIELD1)&&((val&2)==0)&&(do_scrollbg)) |
- | |
164 | { |
- | |
165 | do_scrollbg=false; |
- | |
166 | canvas.load_skin_images(); |
- | |
167 | } |
- | |
168 | - | ||
169 | - | ||
170 | if (pos==SETTINGS_POS_BITFIELD1) |
- | |
171 | do_sound=((val&4)!=0); |
142 | |
- | 143 | ||
172 | 144 | case SETTINGS_POS_BITFIELD1: |
|
173 | if (pos==SETTINGS_POS_BITFIELD1) |
145 | new_fullscreen=((val&1)!=0); |
- | 146 | new_do_scrollbg=((val&2)!=0); |
|
174 | do_vibra=((val&8)!=0); |
147 | |
175 | 148 | do_sound=((val&4)!=0); |
|
176 | if (pos==SETTINGS_POS_BITFIELD1) |
- | |
177 | expert_mode=((val&16)!=0); |
149 | do_vibra=((val&8)!=0); |
178 | 150 | expert_mode=((val&16)!=0); |
|
179 | if (pos==SETTINGS_POS_BITFIELD1) |
151 | //#if devicecontrol=="on" |
180 | keep_lighton=((val&32)!=0); |
- | |
181 | 152 | keep_lighton=((val&32)!=0); |
|
182 | if (pos==SETTINGS_POS_BITFIELD1) |
- | |
183 | graph_legend=((val&64)!=0); |
- | |
184 | 153 | //#endif |
|
185 | if (pos==SETTINGS_POS_BITFIELD1) |
- | |
186 | graph_scale=((val&128)!=0); |
- | |
187 | - | ||
188 | - | ||
189 | - | ||
190 | if (pos==SETTINGS_POS_GPS_FORMAT) |
- | |
191 | canvas.mk.gps_position.act_gps_format=(byte)val; |
- | |
192 | - | ||
193 | if (pos==SETTINGS_POS_SPEED_FORMAT) |
- | |
194 | canvas.mk.gps_position.act_speed_format=(byte)val; |
- | |
195 | - | ||
196 | if (pos==SETTINGS_POS_EXTERN_NICK) |
154 | graph_legend=((val&64)!=0); |
197 | default_extern_control[EXTERN_CONTROL_NICK]=(byte)val; |
- | |
198 | 155 | graph_scale=((val&128)!=0); |
|
- | 156 | ||
- | 157 | break; |
|
199 | if (pos==SETTINGS_POS_EXTERN_ROLL) |
158 | |
- | 159 | case SETTINGS_POS_BITFIELD2: |
|
- | 160 | do_volts_sound=((val&1)!=0); |
|
- | 161 | reload_settings=((val&2)!=0); |
|
- | 162 | do_altimeter_sound=((val&4)!=0); |
|
- | 163 | horizon_invert_roll=((val&8)!=0); |
|
- | 164 | horizon_invert_nick=((val&16)!=0); |
|
200 | default_extern_control[EXTERN_CONTROL_ROLL]=(byte)val; |
165 | horizon_display_flytime=((val&32)!=0); |
- | 166 | horizon_display_altitude=((val&64)!=0); |
|
201 | 167 | dev_mode=((val&128)!=0); |
|
- | 168 | break; |
|
- | 169 | ||
- | 170 | case SETTINGS_POS_BITFIELD3: |
|
- | 171 | instant_error_show=((val&1)!=0); |
|
- | 172 | betatester_mode=((val&2)!=0); |
|
- | 173 | big_fonts=((val&4)!=0); |
|
- | 174 | canvas.regenerate_fonts=true; |
|
- | 175 | break; |
|
- | 176 | ||
- | 177 | case SETTINGS_POS_GPS_FORMAT: |
|
- | 178 | canvas.mk.gps_position.act_gps_format=(byte)val; |
|
- | 179 | break; |
|
- | 180 | case SETTINGS_POS_SPEED_FORMAT: |
|
- | 181 | canvas.mk.gps_position.act_speed_format=(byte)val; |
|
- | 182 | break; |
|
- | 183 | case SETTINGS_POS_EXTERN_NICK: |
|
- | 184 | default_extern_control[EXTERN_CONTROL_NICK]=(byte)val; |
|
- | 185 | break; |
|
- | 186 | case SETTINGS_POS_EXTERN_ROLL: |
|
- | 187 | default_extern_control[EXTERN_CONTROL_ROLL]=(byte)val; |
|
- | 188 | break; |
|
202 | if (pos==SETTINGS_POS_EXTERN_GIER) |
189 | case SETTINGS_POS_EXTERN_GIER: |
203 | default_extern_control[EXTERN_CONTROL_GIER]=(byte)val; |
190 | default_extern_control[EXTERN_CONTROL_GIER]=(byte)val; |
- | 191 | break; |
|
- | 192 | case SETTINGS_POS_EXTERN_GAS: |
|
- | 193 | default_extern_control[EXTERN_CONTROL_GAS]=(byte)val; |
|
- | 194 | break; |
|
- | 195 | case SETTINGS_POS_EXTERN_HIGHT: |
|
- | 196 | default_extern_control[EXTERN_CONTROL_HIGHT]=(byte)val; |
|
- | 197 | break; |
|
- | 198 | ||
- | 199 | case SETTINGS_POS_KEY_BACK: |
|
- | 200 | key_back=val; |
|
- | 201 | break; |
|
- | 202 | case SETTINGS_POS_KEY_FULL: |
|
- | 203 | key_fullscreen=val; |
|
204 | 204 | break; |
|
205 | if (pos==SETTINGS_POS_EXTERN_GAS) |
205 | case SETTINGS_POS_KEY_CLEAR: |
- | 206 | key_clear=val; |
|
- | 207 | break; |
|
206 | default_extern_control[EXTERN_CONTROL_GAS]=(byte)val; |
208 | case SETTINGS_POS_CAMSTICK: |
207 | 209 | remote_cam_stick=val; |
|
- | 210 | break; |
|
- | 211 | ||
208 | if (pos==SETTINGS_POS_EXTERN_HIGHT) |
- | |
209 | default_extern_control[EXTERN_CONTROL_HIGHT]=(byte)val; |
- | |
210 | - | ||
211 | - | ||
212 | if (pos==SETTINGS_POS_KEY_BACK) |
212 | case SETTINGS_POS_LANG: |
213 | key_back=val; |
213 | canvas.act_lang=(byte)val; |
214 | 214 | canvas.load_strings(); |
|
215 | if (pos==SETTINGS_POS_KEY_FULL) |
215 | break; |
216 | key_fullscreen=val; |
216 | |
217 | 217 | case SETTINGS_POS_SKIN: |
|
218 | if (pos==SETTINGS_POS_KEY_CLEAR) |
218 | act_skin=(byte)val; |
- | 219 | canvas.load_skin_images(); |
|
219 | key_clear=val; |
220 | break; |
220 | - | ||
221 | if (pos==12) |
221 | |
222 | remote_cam_stick=val; |
222 | |
223 | 223 | ||
224 | 224 | ||
225 | if(pos==SETTINGS_POS_VOICEVOLUME) |
225 | case SETTINGS_POS_VOICEVOLUME: |
226 | { |
- | |
227 | voice_volume=val; |
- | |
228 | //#if voice_mode!="no_voice" |
- | |
229 | canvas.status_voice.volume=voice_volume; |
- | |
230 | - | ||
231 | //#endif |
- | |
232 | } |
- | |
233 | if(pos==SETTINGS_POS_VOICEDELAY) |
- | |
234 | { |
- | |
235 | voice_delay=val; |
- | |
236 | //#if voice_mode!="no_voice" |
- | |
237 | canvas.status_voice.delay=voice_delay; |
- | |
238 | - | ||
239 | //#endif |
- | |
240 | } |
- | |
241 | 226 | ||
- | 227 | voice_volume=val; |
|
- | 228 | //#if voice_mode!="no_voice" |
|
- | 229 | canvas.status_voice.volume=voice_volume; |
|
- | 230 | ||
- | 231 | //#endif |
|
- | 232 | break; |
|
242 | if (pos==SETTINGS_POS_BITFIELD2) |
233 | |
- | 234 | case SETTINGS_POS_VOICEDELAY: |
|
243 | do_volts_sound=((val&1)!=0); |
235 | voice_delay=val; |
244 | - | ||
245 | if (pos==SETTINGS_POS_BITFIELD2) |
236 | //#if voice_mode!="no_voice" |
- | 237 | canvas.status_voice.delay=voice_delay; |
|
246 | reload_settings=((val&2)!=0); |
238 | |
- | 239 | //#endif |
|
- | 240 | break; |
|
247 | 241 | ||
- | 242 | ||
- | 243 | case SETTINGS_POS_PRIMARYABO: |
|
248 | if (pos==SETTINGS_POS_BITFIELD2) |
244 | canvas.mk.primary_abo=val; |
- | 245 | break; |
|
- | 246 | case SETTINGS_POS_SECONDARYABO: |
|
249 | do_altimeter_sound=((val&4)!=0); |
247 | canvas.mk.secondary_abo=val; |
250 | 248 | break; |
|
251 | 249 | case SETTINGS_POS_DEFAULTABO: |
|
252 | if (pos==SETTINGS_POS_BITFIELD2) |
250 | canvas.mk.default_abo=val; |
253 | horizon_invert_roll=((val&8)!=0); |
251 | break; |
254 | 252 | ||
255 | if (pos==SETTINGS_POS_BITFIELD2) |
253 | } |
256 | horizon_invert_nick=((val&16)!=0); |
254 | |
257 | 255 | if (new_fullscreen!=fullscreen) |
|
258 | if (pos==SETTINGS_POS_BITFIELD2) |
256 | { |
259 | horizon_display_flytime=((val&32)!=0); |
257 | fullscreen=new_fullscreen; |
260 | 258 | canvas.setFullScreenMode(fullscreen); |
|
261 | if (pos==SETTINGS_POS_BITFIELD2) |
259 | } |
262 | horizon_display_altitude=((val&64)!=0); |
260 | |
263 | 261 | ||
264 | if (pos==SETTINGS_POS_BITFIELD2) |
262 | if (new_do_scrollbg!=do_scrollbg) |
265 | dev_mode=((val&128)!=0); |
263 | { |
266 | 264 | do_scrollbg=new_do_scrollbg; |
|
267 | 265 | canvas.load_skin_images(); |
|
268 | if (pos==SETTINGS_POS_BITFIELD3) |
266 | } |
269 | instant_error_show=((val&1)!=0); |
267 | |
270 | 268 | /* snippet to extract default fields |
|
271 | /* |
269 | |
272 | String ts=""; |
270 | String ts=""; |
273 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
271 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
274 | ts+=","+settings_field[i]; |
272 | ts+=","+settings_field[i]; |
275 | 273 | ||
276 | System.out.println(ts); |
274 | System.out.println(ts); |
277 | */ |
275 | */ |
278 | 276 | } |
|
- | 277 | catch (Exception e) { } |
|
279 | 278 | ||
280 | } |
279 | } |
281 | 280 | ||
282 | public int[] plain_defaults={0,0,0,0,42,42,42,1,1,-4242,-4242,-4242,0,10,0,0,7,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
281 | public int[] plain_defaults={0,0,0,0,42,42,42,1,1,-4242,-4242,-4242,0,10,0,0,7,0,7,0,10,30,1000}; |
283 | public int[] fancy_defaults={0,255,0,0,42,42,42,1,1,-4242,-4242,-4242,150,10,5,0,7,1,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
- | |
284 | 282 | public int[] fancy_defaults={0,255,0,0,42,42,42,1,1,-4242,-4242,-4242,150,10,5,0,7,1,10,0,1,3,100}; |
|
285 | 283 | ||
286 | 284 | ||
287 | public void process_all_settings() |
285 | public void process_all_settings() |
288 | { |
286 | { |
289 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
287 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
290 | field2setting(i,settings_field[i]); |
288 | field2setting(i,settings_field[i]); |
291 | } |
289 | } |
292 | 290 | ||
293 | public void load_plain_defaults() |
291 | public void load_plain_defaults() |
294 | { |
292 | { |
295 | settings_field=plain_defaults; |
293 | settings_field=plain_defaults; |
296 | process_all_settings(); |
294 | process_all_settings(); |
297 | } |
295 | } |
298 | 296 | ||
299 | public void load_fancy_defaults() |
297 | public void load_fancy_defaults() |
300 | { |
298 | { |
301 | settings_field=fancy_defaults; |
299 | settings_field=fancy_defaults; |
302 | process_all_settings(); |
300 | process_all_settings(); |
303 | } |
301 | } |
304 | 302 | ||
305 | public byte[] default_extern_control;//=default_extern_keycontrol ; |
303 | public byte[] default_extern_control;//=default_extern_keycontrol ; |
306 | 304 | ||
307 | - | ||
308 | /* end of all settings hold here */ |
- | |
309 | - | ||
310 | // public String[] _tab_names={"User Interface","GPS","Keycontrol","Special Keys","Graph","Voice","Other" }; |
- | |
311 | - | ||
312 | 305 | ||
313 | public int[] _tab_stringids={STRINGID_USERINTERFACE,STRINGID_UNITS,STRINGID_KEYCONTROL,STRINGID_SPECIALKEYS,STRINGID_GRAPH,STRINGID_SOUND,STRINGID_COCKPIT,STRINGID_OTHER}; |
306 | public int[] _tab_stringids={STRINGID_USERINTERFACE,STRINGID_UNITS,STRINGID_KEYCONTROL,STRINGID_SPECIALKEYS,STRINGID_GRAPH,STRINGID_SOUND,STRINGID_COCKPIT,STRINGID_TIMING,STRINGID_OTHER}; |
314 | 307 | ||
315 | 308 | ||
316 | public int[][] _field_stringids ={ |
309 | public int[][] _field_stringids ={ |
317 | { |
310 | { |
318 | STRINGID_LANGUAGE, |
311 | STRINGID_LANGUAGE, |
319 | STRINGID_SKIN, |
312 | STRINGID_SKIN, |
320 | STRINGID_FULLSCREEN, |
313 | STRINGID_FULLSCREEN, |
321 | STRINGID_SCROLLBG |
314 | STRINGID_SCROLLBG |
322 | //#if devicecontrol=="on" |
315 | //#if devicecontrol=="on" |
323 | ,STRINGID_PERMALIGHT |
316 | ,STRINGID_PERMALIGHT |
324 | //#endif |
317 | //#endif |
- | 318 | ,STRINGID_BIGFONTS |
|
325 | }, |
319 | }, |
326 | {STRINGID_SPEEDFORMAT,STRINGID_GPSFORMAT}, |
320 | {STRINGID_SPEEDFORMAT,STRINGID_GPSFORMAT}, |
327 | {STRINGID_NICK ,STRINGID_ROLL,STRINGID_GIER,STRINGID_GASINCREASE,STRINGID_HEIGHTINCREASE }, |
321 | {STRINGID_NICK ,STRINGID_ROLL,STRINGID_GIER,STRINGID_GASINCREASE,STRINGID_HEIGHTINCREASE }, |
328 | {STRINGID_BACKTOMAINMENU,STRINGID_FULLSCREEN,STRINGID_CLEAR }, |
322 | {STRINGID_BACKTOMAINMENU,STRINGID_FULLSCREEN,STRINGID_CLEAR }, |
329 | {STRINGID_LEGEND,STRINGID_SCALEGRID,STRINGID_GRAPHINTERVAL}, |
323 | {STRINGID_LEGEND,STRINGID_SCALEGRID,STRINGID_GRAPHINTERVAL}, |
330 | {STRINGID_SOUND,STRINGID_VOLTS,STRINGID_DELAYINS,STRINGID_ALTIMETER,STRINGID_ALTSTEPS,STRINGID_VOLUME}, |
324 | {STRINGID_SOUND,STRINGID_VOLTS,STRINGID_DELAYINS,STRINGID_ALTIMETER,STRINGID_ALTSTEPS,STRINGID_VOLUME}, |
331 | {STRINGID_SHOWALTITUDE,STRINGID_SHOWFLIGHTTIME,STRINGID_INVERTROLL,STRINGID_INVERTNICK}, |
325 | {STRINGID_SHOWALTITUDE,STRINGID_SHOWFLIGHTTIME,STRINGID_INVERTROLL,STRINGID_INVERTNICK}, |
- | 326 | {STRINGID_PRIMARYABO,STRINGID_SECONDARYABO,STRINGID_DEFAULTABO}, //// |
|
332 | {STRINGID_INSTANTERRORSHOW,STRINGID_VIBRA,STRINGID_REMOTECAMSTICK,STRINGID_ALWAYSRELOADPARAMS,STRINGID_EXPERTMODE,STRINGID_DEVMODE}}; |
327 | {STRINGID_INSTANTERRORSHOW,STRINGID_VIBRA,STRINGID_REMOTECAMSTICK,STRINGID_ALWAYSRELOADPARAMS,STRINGID_EXPERTMODE,STRINGID_DEVMODE}}; |
333 | 328 | ||
334 | 329 | ||
335 | 330 | ||
336 | 331 | ||
337 | public int[][] _choice_stringids={ {STRINGID_LANG0,STRINGID_LANG1}, /* FIXME - make dynamic */{ STRINGID_DARK,STRINGID_LIGHT } , {STRINGID_KMH,STRINGID_MPH,STRINGID_CMS},{STRINGID_DECIMAL,STRINGID_MINSEC} } ; |
332 | public int[][] _choice_stringids={ {STRINGID_LANG0,STRINGID_LANG1,STRINGID_LANG2}, /* FIXME - make dynamic */{ STRINGID_DARK,STRINGID_LIGHT } , {STRINGID_KMH,STRINGID_MPH,STRINGID_CMS},{STRINGID_DECIMAL,STRINGID_MINSEC} } ; |
338 | 333 | ||
339 | 334 | ||
340 | 335 | ||
341 | public int[][] _field_positions= { |
336 | public int[][] _field_positions= { |
342 | {SETTINGS_POS_LANG,SETTINGS_POS_SKIN,8,9 |
337 | {SETTINGS_POS_LANG,SETTINGS_POS_SKIN,8,9 |
343 | //#if devicecontrol=="on" |
338 | //#if devicecontrol=="on" |
344 | - | ||
345 | ,13 |
339 | ,13 |
346 | //#endif |
340 | //#endif |
- | 341 | , SETTINGS_POS_BITFIELD3*8+2 |
|
347 | } , {2,3 } , {4,5,6,7,8} , {9,10,11},{SETTINGS_POS_BITFIELD1*8 +6,SETTINGS_POS_BITFIELD1*8 +7, SETTINGS_POS_GRAPHINTERVAL} , |
342 | } , {2,3} , {4,5,6,7,8} , {9,10,11},{SETTINGS_POS_BITFIELD1*8 +6,SETTINGS_POS_BITFIELD1*8 +7, SETTINGS_POS_GRAPHINTERVAL} , |
348 | {10,SETTINGS_POS_BITFIELD2*8+0,SETTINGS_POS_VOICEDELAY,SETTINGS_POS_BITFIELD2*8+2,SETTINGS_POS_ALTSTEPS,SETTINGS_POS_VOICEVOLUME }, |
343 | {SETTINGS_POS_BITFIELD1*8+2,SETTINGS_POS_BITFIELD2*8+0,SETTINGS_POS_VOICEDELAY,SETTINGS_POS_BITFIELD2*8+2,SETTINGS_POS_ALTSTEPS,SETTINGS_POS_VOICEVOLUME }, |
349 | {SETTINGS_POS_BITFIELD2*8+6,SETTINGS_POS_BITFIELD2*8+5,SETTINGS_POS_BITFIELD2*8+3,SETTINGS_POS_BITFIELD2*8+4}, |
344 | {SETTINGS_POS_BITFIELD2*8+6,SETTINGS_POS_BITFIELD2*8+5,SETTINGS_POS_BITFIELD2*8+3,SETTINGS_POS_BITFIELD2*8+4}, |
- | 345 | ||
- | 346 | {SETTINGS_POS_PRIMARYABO,SETTINGS_POS_SECONDARYABO,SETTINGS_POS_DEFAULTABO}, |
|
350 | {SETTINGS_POS_BITFIELD3*8+0,SETTINGS_POS_BITFIELD1*8+3,12,SETTINGS_POS_BITFIELD2*8+1,SETTINGS_POS_BITFIELD1*8+4,SETTINGS_POS_BITFIELD2*8+7} |
347 | {SETTINGS_POS_BITFIELD3*8+0,SETTINGS_POS_BITFIELD1*8+3,SETTINGS_POS_CAMSTICK,SETTINGS_POS_BITFIELD2*8+1,SETTINGS_POS_BITFIELD1*8+4,SETTINGS_POS_BITFIELD2*8+7} |
351 | }; |
348 | }; |
352 | public int[][] _field_types={ {PARAMTYPE_CHOICE+0,PARAMTYPE_CHOICE+1,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH |
349 | public int[][] _field_types={ {PARAMTYPE_CHOICE+0,PARAMTYPE_CHOICE+1,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH |
353 | //#if devicecontrol=="on" |
350 | //#if devicecontrol=="on" |
354 | ,PARAMTYPE_BITSWITCH |
351 | ,PARAMTYPE_BITSWITCH |
355 | //#endif |
352 | //#endif |
- | 353 | ,PARAMTYPE_BITSWITCH |
|
356 | } , {PARAMTYPE_CHOICE+2,PARAMTYPE_CHOICE+3} , {PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, {PARAMTYPE_KEY,PARAMTYPE_KEY,PARAMTYPE_KEY} , {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE}, |
354 | } , {PARAMTYPE_CHOICE+2,PARAMTYPE_CHOICE+3} , {PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, {PARAMTYPE_KEY,PARAMTYPE_KEY,PARAMTYPE_KEY} , {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE}, |
357 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BYTE} , |
355 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BYTE} , |
358 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH}, |
356 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH}, |
- | 357 | {PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
|
359 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_STICK,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH} |
358 | {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_STICK,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH} |
360 | }; |
359 | }; |
361 | DUBwiseCanvas canvas; |
360 | DUBwiseCanvas canvas; |
362 | 361 | ||
363 | - | ||
364 | - | ||
365 | public final static int SETTINGS_FIELD_LENGTH=42; |
362 | |
366 | public DUBwiseSettings(DUBwiseCanvas _canvas) |
363 | public DUBwiseSettings(DUBwiseCanvas _canvas) |
367 | { |
364 | { |
368 | canvas= _canvas; |
365 | canvas= _canvas; |
369 | settings_field=new int[SETTINGS_FIELD_LENGTH]; |
366 | settings_field=new int[SETTINGS_FIELD_LENGTH]; |
370 | default_extern_control=new byte[11]; |
367 | default_extern_control=new byte[11]; |
371 | // set defaults |
368 | // set defaults |
372 | settings_field[4]=42; // nick |
- | |
373 | settings_field[5]=42; // roll |
- | |
374 | settings_field[6]=42; // gier |
- | |
375 | settings_field[7]=1; // gas |
369 | settings_field=plain_defaults; |
376 | settings_field[8]=1; // hight |
- | |
377 | - | ||
378 | settings_field[9]=-4242; // no key |
- | |
379 | settings_field[10]=-4242; // no key |
- | |
380 | settings_field[11]=-4242; // no key |
- | |
381 | - | ||
382 | } |
370 | } |
383 | 371 | ||
384 | public void load() |
372 | public void load() |
385 | { |
373 | { |
386 | tab_stringids=_tab_stringids; |
374 | tab_stringids=_tab_stringids; |
387 | - | ||
388 | // tab_names=_tab_names; |
- | |
389 | 375 | ||
390 | field_positions=_field_positions; |
376 | field_positions=_field_positions; |
391 | field_types=_field_types; |
377 | field_types=_field_types; |
392 | 378 | ||
393 | choice_stringids=_choice_stringids; |
379 | choice_stringids=_choice_stringids; |
394 | 380 | ||
395 | field_stringids=_field_stringids; |
381 | field_stringids=_field_stringids; |
396 | //choice_strings=new String[_choice_strings.length+1][]; |
- | |
397 | /* |
382 | |
398 | // FIXME |
- | |
399 | choice_strings[0]=new String[2]; |
- | |
400 | choice_strings[0][0]="English"; |
- | |
401 | choice_strings[0][1]="Deutsch"; |
- | |
402 | for ( int i=1; i<_choice_strings.length+1;i++) |
- | |
403 | { |
- | |
404 | choice_strings[i]=new String[_choice_strings[i-1].length+1]; |
- | |
405 | for ( int ii=0; ii<_choice_strings[i-1].length;ii++) |
- | |
406 | choice_strings[i][ii]=canvas.l(_choice_strings[i-1][ii]); |
- | |
407 | } |
- | |
408 | */ |
- | |
409 | // choice_strings=_choice_strings; |
- | |
410 | try |
383 | try |
411 | { |
384 | { |
412 | RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME , true ); |
385 | RecordStore recStore= RecordStore.openRecordStore(RECORD_STORE_NAME, false); |
413 | 386 | ||
414 | if (recStore.getNumRecords()==1) |
387 | if (recStore.getNumRecords()==1) |
415 | { |
388 | { |
416 | ByteArrayInputStream bin = new ByteArrayInputStream(recStore.getRecord(1)); |
- | |
417 | DataInputStream din = new DataInputStream( bin ); |
- | |
418 | - | ||
419 | - | ||
420 | connection_url=din.readUTF(); |
- | |
421 | connection_name=din.readUTF(); |
- | |
422 | // reserve utf's |
- | |
423 | din.readUTF(); |
- | |
424 | din.readUTF(); |
- | |
425 | din.readUTF(); |
- | |
426 | - | ||
- | 389 | ||
- | 390 | DataInputStream din = new DataInputStream( new ByteArrayInputStream(recStore.getRecord(1)) ); |
|
- | 391 | ||
427 | 392 | byte str_count=din.readByte(); |
|
- | 393 | ||
- | 394 | for (int str_i=0;str_i<str_count;str_i++) |
|
- | 395 | switch(str_i) |
|
- | 396 | { |
|
- | 397 | case 0: |
|
- | 398 | connection_url=din.readUTF(); |
|
- | 399 | break; |
|
- | 400 | case 1: |
|
- | 401 | connection_name=din.readUTF(); |
|
- | 402 | break; |
|
- | 403 | } |
|
- | 404 | ||
428 | 405 | byte field_count=din.readByte(); |
|
429 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
406 | for (int field_i=0;field_i<field_count;field_i++) |
430 | settings_field[i]=din.readInt(); |
- | |
431 | 407 | settings_field[field_i]=din.readInt(); |
|
432 | for ( int i=0;i<5;i++) |
408 | |
433 | 409 | for ( int i=0;i<5;i++) |
|
434 | { |
410 | { |
435 | act_proxy_ip[i]=din.readInt(); |
411 | act_proxy_ip[i]=din.readInt(); |
436 | act_conn_ip[i]=din.readInt(); |
412 | act_conn_ip[i]=din.readInt(); |
437 | } |
413 | } |
438 | 414 | ||
439 | } |
415 | } |
440 | recStore.closeRecordStore(); |
416 | recStore.closeRecordStore(); |
441 | } |
417 | } |
442 | catch (Exception e) |
418 | catch (Exception e) |
443 | { } |
419 | { } |
444 | 420 | ||
445 | 421 | ||
446 | process_all_settings(); |
422 | process_all_settings(); |
447 | 423 | ||
448 | 424 | ||
449 | } |
425 | } |
450 | 426 | ||
451 | 427 | ||
452 | public void save() |
428 | public void save() |
453 | { |
429 | { |
454 | try |
430 | try |
455 | { |
431 | { |
456 | RecordStore.deleteRecordStore(RECORD_STORE_NAME); |
432 | RecordStore.deleteRecordStore(RECORD_STORE_NAME); |
457 | } |
433 | } |
458 | catch (Exception e) |
434 | catch (Exception e) |
459 | { } |
435 | { } |
460 | 436 | ||
461 | try { |
437 | try { |
462 | RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME, true ); |
438 | RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME, true ); |
463 | 439 | ||
464 | ByteArrayOutputStream bout = new ByteArrayOutputStream(); |
440 | ByteArrayOutputStream bout = new ByteArrayOutputStream(); |
465 | DataOutputStream dout = new DataOutputStream( bout ); |
441 | DataOutputStream dout = new DataOutputStream( bout ); |
- | 442 | ||
466 | 443 | dout.writeByte(2); |
|
467 | dout.writeUTF(connection_url); |
444 | dout.writeUTF(connection_url); |
468 | dout.writeUTF(connection_name); |
445 | dout.writeUTF(connection_name); |
469 | - | ||
470 | dout.writeUTF(""); |
- | |
471 | dout.writeUTF(""); |
446 | |
472 | dout.writeUTF(""); |
- | |
473 | - | ||
474 | 447 | dout.writeByte(SETTINGS_FIELD_LENGTH); |
|
475 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
448 | for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
- | 449 | dout.writeInt(settings_field[i]); |
|
476 | dout.writeInt(settings_field[i]); |
450 | |
477 | for ( int i=0;i<5;i++) |
451 | for ( int i=0;i<5;i++) |
478 | { |
452 | { |
479 | dout.writeInt(act_proxy_ip[i]); |
453 | dout.writeInt(act_proxy_ip[i]); |
480 | dout.writeInt(act_conn_ip[i]); |
454 | dout.writeInt(act_conn_ip[i]); |
481 | } |
455 | } |
482 | recStore.addRecord(bout.toByteArray(),0,bout.size()); |
456 | recStore.addRecord(bout.toByteArray(),0,bout.size()); |
483 | 457 | ||
484 | recStore.closeRecordStore(); |
458 | recStore.closeRecordStore(); |
485 | 459 | ||
486 | 460 | ||
487 | } |
461 | } |
488 | catch (Exception e) |
462 | catch (Exception e) |
489 | { } |
463 | { } |
490 | 464 | ||
491 | } |
465 | } |
492 | 466 | ||
493 | } |
467 | } |
494 | 468 |