Updates for my patches
[webos-internals:jeffrotulls-modifications.git] / advanced / advanced-system-prefs-sys-prefs.patch
1 --- .orig/usr/palm/applications/com.palm.app.calculator/calculator.js
2 +++ /usr/palm/applications/com.palm.app.calculator/calculator.js
3 @@ -18,6 +18,15 @@
4                 this.memory = this.getMemDbValue();     
5                 this.clear();
6                 this.decimalChar = resources.$L('.');
7 +
8 +               this.hapticFeedback = false;
9 +
10 +               this.hapticFeedbackRequest = new Mojo.Service.Request("palm://com.palm.systemservice/", {
11 +                       method: 'getPreferences', parameters: {"keys": ["hapticFeedback"], "subscribe": true},
12 +                       onSuccess: function(response) {
13 +                               if ((response) && (response.hapticFeedback != undefined))
14 +                                       this.hapticFeedback = response.hapticFeedback;
15 +                       }.bind(this)});
16         },
17         
18         
19 --- .orig/usr/palm/applications/com.palm.app.calculator/calculator-app.js
20 +++ /usr/palm/applications/com.palm.app.calculator/calculator-app.js
21 @@ -222,6 +222,8 @@
22                 clearOperatorHighlight();
23                 calculator.enterDigit(number);
24                 updateResults();
25 +               if(calculator.hapticFeedback)
26 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
27                 event.stop();
28         }
29  
30 @@ -229,6 +231,8 @@
31                 clearOperatorHighlight();
32                 calculator.enterDecimal();
33                 updateResults();
34 +               if(calculator.hapticFeedback)
35 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
36                 event.stop();
37         }
38  
39 @@ -242,6 +246,8 @@
40                         calculator.multiply();
41                 }
42                 updateResults();
43 +               if(calculator.hapticFeedback)
44 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
45                 event.stop();
46         }
47  
48 @@ -255,6 +261,8 @@
49                         calculator.subtract();
50                 }
51                 updateResults();
52 +               if(calculator.hapticFeedback)
53 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
54                 event.stop();
55         }
56  
57 @@ -268,6 +276,8 @@
58                         calculator.add();
59                 }
60                 updateResults();
61 +               if(calculator.hapticFeedback)
62 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
63                 event.stop();
64         }
65  
66 @@ -275,6 +285,8 @@
67                 clearOperatorHighlight();
68                 calculator.equals();
69                 updateResults();
70 +               if(calculator.hapticFeedback)
71 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
72                 event.stop();
73         }
74  
75 @@ -282,6 +294,8 @@
76                 clearOperatorHighlight();
77                 calculator.clear();
78                 updateResults();
79 +               if(calculator.hapticFeedback)
80 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
81                 event.stop();
82         }
83  
84 @@ -289,6 +303,8 @@
85                 calculator.memPlus();
86                 showMemoryIndicator();
87                 updateResults();
88 +               if(calculator.hapticFeedback)
89 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
90                 event.stop();
91         }
92  
93 @@ -296,12 +312,16 @@
94                 clearOperatorHighlight();
95                 calculator.memRecall();
96                 updateResults();
97 +               if(calculator.hapticFeedback)
98 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
99                 event.stop();
100         }
101  
102         function onBackspacePress(event) {
103                 calculator.backspace();
104                 updateResults();
105 +               if(calculator.hapticFeedback)
106 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
107                 event.stop();
108         }
109  
110 @@ -309,6 +329,8 @@
111                 calculator.memClear();
112                 hideMemoryIndicator();
113                 updateResults();
114 +               if(calculator.hapticFeedback)
115 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
116                 event.stop();
117         }
118  
119 @@ -334,6 +356,8 @@
120                         calculator.divide();
121                 }
122                 updateResults();
123 +               if(calculator.hapticFeedback)
124 +                       new Mojo.Service.Request("palm://com.palm.vibrate/", {method: 'vibrate', parameters: {'period': 0,'duration': 50}});
125                 event.stop();
126         }
127  
128 --- .orig/usr/palm/applications/com.palm.app.calculator/index.html
129 +++ /usr/palm/applications/com.palm.app.calculator/index.html
130 @@ -5,6 +5,7 @@
131  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
132  <head>
133         <title>Calculator</title> 
134 +       <script src="/usr/palm/frameworks/mojo2/mojo.js" x-mojo-version="1" type="text/javascript"></script>
135         <script src="/usr/palm/frameworks/mojo-core.js" type="text/javascript"></script>
136         <script src="/usr/palm/frameworks/prototype/prototype_1603.js" type="text/javascript"></script>
137         <script src="calculator.js" type="text/javascript"></script>
138 --- .orig/usr/palm/applications/com.palm.app.location/app/controllers/app-assistant.js
139 +++ /usr/palm/applications/com.palm.app.location/app/controllers/app-assistant.js
140 @@ -51,11 +51,13 @@
141  }
142  
143  AppAssistant.prototype.readLocationServicePrefs = function(stageController, response) {
144 -               if (response && !response.useGoogle && !response.useGps) {
145 +/*             if (response && !response.useGoogle && !response.useGps) {
146                         stageController.swapScene("gpsoff", response);
147                 } else {
148                         stageController.swapScene("main", response);
149                 }
150 +*/
151 +               stageController.swapScene("main", response);
152         },
153         
154  AppAssistant.prototype.errorLocationServicePrefs = function(response) {
155 --- .orig/usr/palm/applications/com.palm.app.location/app/controllers/main-assistant.js
156 +++ /usr/palm/applications/com.palm.app.location/app/controllers/main-assistant.js
157 @@ -77,6 +77,11 @@
158                         disabled : false
159             };
160                 
161 +          this.locSrvOnOffModel = {
162 +               value: true, 
163 +               disabled: false
164 +           };
165 +               
166            this.prefData = prefData;
167         
168         },
169 @@ -130,6 +135,9 @@
170                  }],
171         
172         setup: function() {
173 +               this.controller.setupWidget('gpsonoff', {}, this.locSrvOnOffModel);
174 +               this.controller.get('gpsonoff').observe('mojo-property-change', this.locSrvOnOffHandler.bind(this));
175 +       
176                 //for app locate preferences
177                 var autoLocateSelections = {
178                         modelProperty: 'value',
179 @@ -187,6 +195,43 @@
180                 this.readLocationServicePrefs(this.prefData);
181         },
182         
183 +       locSrvOnOffHandler: function(event){
184 +               if(event.value) {
185 +                       this.controller.get("turnedofftext").hide();
186 +                       this.controller.get("siteLocatePrefs").show();
187 +                       this.controller.get("sitelocationOffMessage").show();
188 +                       this.controller.get("locationOffMessage").show();
189 +                       this.controller.get("autoLocatePrefs").show();
190 +                       this.controller.get("geotagPhotosPrefs").show();
191 +                       this.controller.get("dataPrefs").show();
192 +
193 +                       this.prefData.useGps = true;
194 +                       this.prefData.useGoogle = true;
195 +
196 +                       LocationService.setUseGps(true, null, null, this.controller);
197 +                       LocationService.setUseGoogle(true, null, null, this.controller);
198 +               }
199 +               else {
200 +                       this.controller.get("turnedofftext").show();
201 +                       this.controller.get("siteLocatePrefs").hide();
202 +                       this.controller.get("sitelocationOffMessage").hide();
203 +                       this.controller.get("sitelocationOnMessage").hide();
204 +                       this.controller.get("locationOffMessage").hide();
205 +                       this.controller.get("locationOnMessage").hide();
206 +                       this.controller.get("autoLocatePrefs").hide();
207 +                       this.controller.get("geotagPhotosPrefs").hide();
208 +                       this.controller.get("dataPrefs").hide();
209 +
210 +                       this.prefData.useGps = false;
211 +                       this.prefData.useGoogle = false;
212 +
213 +                       LocationService.setUseGps(false, null, null, this.controller);
214 +                       LocationService.setUseGoogle(false, null, null, this.controller);
215 +               }
216 +               
217 +               this.toggleLocationMenu();
218 +       },
219 +       
220         toggleLocationMenu: function(){
221                 if (!this.prefData.useGps && !this.prefData.useGoogle) {
222                         Mojo.Log.info("**** sssssssssss both GPS and Google are OFF");
223 @@ -214,11 +259,13 @@
224         
225         handleSetGpsLocateSuccess: function(result) {
226                 Mojo.Log.info("------------------- Set gps -----------------%j", $H(result));
227 -               if (result && !result.useGps && !result.useGoogle) {
228 +/*             if (result && !result.useGps && !result.useGoogle) {
229                         this.controller.stageController.swapScene("gpsoff", result);
230                 } else {
231                         this.controller.stageController.swapScene("main", result);
232                 }       
233 +*/
234 +               this.controller.stageController.swapScene("main", result);
235         },
236         
237         errorSetGpsPreference: function (response) {
238 @@ -235,7 +282,7 @@
239                 if (result && result.useGoogle && !result.isTermsOfUseAccepted) {
240                         this.controller.stageController.swapScene("terms", "com.palm.app.location");    
241                 } else if (result && !result.useGps && !result.useGoogle) {
242 -                       this.controller.stageController.swapScene("gpsoff", result);
243 +                       this.controller.stageController.swapScene("main", result);
244                 } else {
245                         if (result.useGoogle) {
246                                                         this.readUseBackgroundDataCollection(result);
247 @@ -349,6 +396,20 @@
248                         this.readUseGeotagPhotos(response);
249                 }
250                 this.toggleLocationMenu();
251 +
252 +               if (response && !response.useGoogle && !response.useGps) {
253 +                       this.controller.get("turnedofftext").show();
254 +                       this.controller.get("siteLocatePrefs").hide();
255 +                       this.controller.get("sitelocationOffMessage").hide();
256 +                       this.controller.get("sitelocationOnMessage").hide();
257 +                       this.controller.get("locationOffMessage").hide();
258 +                       this.controller.get("locationOnMessage").hide();
259 +                       this.controller.get("autoLocatePrefs").hide();
260 +                       this.controller.get("geotagPhotosPrefs").hide();
261 +                       this.controller.get("dataPrefs").hide();
262 +                       this.locSrvOnOffModel.value = false;
263 +                       this.controller.modelChanged(this.locSrvOnOffModel);
264 +               }
265         },
266         
267  
268 @@ -439,13 +500,15 @@
269                 this.controller.get('locationOnMessage').show();
270                 this.controller.get('locationOffMessage').hide();
271                 if (isInit) {
272 -                       this.controller.get('geotagPhotosPrefs').show();
273 +                       if((this.prefData.useGoogle) || (this.prefData.useGps))
274 +                               this.controller.get('geotagPhotosPrefs').show();
275                 }
276         },
277         
278         handleGetGeotagPhotosPref: function(response) {
279                 this.readUseGeotagPhotos(response);
280 -               this.controller.get('geotagPhotosPrefs').show();
281 +               if((this.prefData.useGoogle) || (this.prefData.useGps))
282 +                       this.controller.get('geotagPhotosPrefs').show();
283         },
284         
285         successSetUseLocationServices: function (isEnabled,response) {
286 --- .orig/usr/palm/applications/com.palm.app.location/app/views/main/main-scene.html
287 +++ /usr/palm/applications/com.palm.app.location/app/views/main/main-scene.html
288 @@ -4,6 +4,13 @@
289                 <div class="header-text">
290                         <span x-mojo-loc=''>Location services</span>
291                 </div>
292 +               <div class="header-sliding-toggle">
293 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
294 +               </div>                                                                                     
295 +       </div>
296 +       
297 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
298 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>You have turned off all location data sources. No location data will be provided to applications that request your location.</div>
299         </div>
300         <div id='siteLocatePrefs' class="palm-group">
301                 <div class="palm-group-title" x-mojo-loc="">
302 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/appinfo.json
303 +++ /usr/palm/applications/com.palm.app.phoneprefs/appinfo.json
304 @@ -1,11 +1,11 @@
305  {
306 -       "title": "Phone Prefs",
307 +       "title": "Network Services",
308         "type": "web",
309         "main": "index.html",
310         "id": "com.palm.app.phoneprefs",
311         "icon": "icon.png",
312         "splashicon": "icon-256x256.png",
313 -       "visible": false,
314 +       "visible": true,
315         "version": "1.0.0",
316         "vendor": "Palm"
317  }
318 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/app/controllers/preflist-assistant.js
319 +++ /usr/palm/applications/com.palm.app.phoneprefs/app/controllers/preflist-assistant.js
320 @@ -75,6 +75,14 @@
321                         this.accountsListWidget.mojo.addAccount();
322                 }.bind(this));
323                 
324 +               this.phoneRadioOnOffModel = {
325 +               value: true, 
326 +               disabled: false
327 +          };
328 +               
329 +               this.controller.setupWidget('phoneradioonoff', {}, this.phoneRadioOnOffModel);
330 +               this.controller.get('phoneradioonoff').observe('mojo-property-change', this.phoneRadioOnOffHandler.bind(this));
331 +               
332                 this.controller.setupWidget('voicemailclear', this.buttonAttributes, this.voicemailbuttonModel);
333                 this.controller.listen('voicemailclear', Mojo.Event.tap, this.handleTapOnVoicemailReset.bind(this));
334  
335 @@ -166,10 +174,10 @@
336                 $('showOutgoingCallerIDRowStatus').hide();
337                                 
338                 
339 -        this.showContactMatchModel = {
340 +/*        this.showContactMatchModel = {
341                         value: true
342                 };
343 -                      
344 +*/                    
345          this.callFwdModel = {
346                         value: false
347                 };
348 @@ -207,11 +215,11 @@
349                         value: false
350                 };
351                 
352 -               this.controller.setupWidget('showContactMatch', {
353 +/*             this.controller.setupWidget('showContactMatch', {
354              modelProperty: 'value'
355          }, this.showContactMatchModel);
356          this.controller.get('showContactMatch').addEventListener(Mojo.Event.propertyChange, this.doPropertyChanged.bindAsEventListener(this, 'showContactMatch'));
357 -
358 +*/
359                 this.controller.setupWidget('callfwd', {
360              modelProperty: 'value'
361          }, this.callFwdModel);
362 @@ -259,6 +267,7 @@
363                 this.controller.get('vmList').hide();
364                 
365                 this.controller.setupWidget('dtmfSelector', {
366 +            label: $L("DTMF Tones"),
367              choices: this.dtmfTones,
368              modelProperty: 'currentTone'
369          }, this.dtmfTonesModel);
370 @@ -315,6 +324,7 @@
371                 
372                 this.voiceRoamingChoices =  [
373                         {label: this.carrierOnlyLabel,value: "homeonly"},
374 +                       {label : $L("Roam Only"),value: "roamonly"},
375                         {label : $L("Automatic"),value: "any"}
376                 ];
377         
378 @@ -411,11 +421,53 @@
379                         this.handleExternalLaunch(this.args,true);
380                 }
381                 
382 +               this.handlePower = new Mojo.Service.Request('palm://com.palm.telephony/', {
383 +                       method: 'powerQuery',
384 +                       onSuccess: this.handlePowerQueryNotifications.bind(this)});     
385 +               
386                 this.styleList('accessibility');
387                 this.styleList('network');
388                 this.styleList("calls");
389      }, 
390         
391 +       handlePowerQueryNotifications: function(response){
392 +               if (response.returnValue && response.extended) {
393 +                       if (response.extended.powerState && response.extended.powerState == 'on') {
394 +                               this.phoneRadioOnOffModel.value = true;
395 +                               this.controller.modelChanged(this.phoneRadioOnOffModel);
396 +
397 +                               this.controller.get("turnedofftext").hide();
398 +                               this.controller.get("phonepref").show();
399 +                       }
400 +                       else {
401 +                               this.phoneRadioOnOffModel.value = false;
402 +                               this.controller.modelChanged(this.phoneRadioOnOffModel);
403 +
404 +                               this.controller.get("turnedofftext").show();
405 +                               this.controller.get("phonepref").hide();
406 +                       }
407 +               }
408 +
409 +               this.handlePower.cancel();
410 +       },                                                      
411 +       
412 +       phoneRadioOnOffHandler: function(event){
413 +               if(event.value) {
414 +                       this.controller.get("turnedofftext").hide();
415 +                       this.controller.get("phonepref").show();
416 +                       
417 +                       this.controller.serviceRequest("palm://com.palm.telephony", {'method': "powerSet", 
418 +                               'parameters': {'state': "on"}});
419 +               }
420 +               else {
421 +                       this.controller.get("turnedofftext").show();
422 +                       this.controller.get("phonepref").hide();
423 +                       
424 +                       this.controller.serviceRequest("palm://com.palm.telephony", {'method': "powerSet", 
425 +                               'parameters': {'state': "off"}});
426 +               }
427 +       },
428 +       
429         setupPreferredCallService: function() {
430                 this.controller.setupWidget('preferredCallService', {
431                         labelPlacement: Mojo.Widget.labelPlacementLeft,
432 @@ -620,7 +672,7 @@
433                 this.getSystemPreferencesServiceReq = SystemService.getSystemPreferencesService(
434                         ['phoneInternationalDialingActive', 'phoneInternationalDialingRegionId'],this.updateInternationalDialingSettings.bind(this));
435                 this.networkStatusQueryReq = TelephonyService.networkStatusQuery(this.updateNetworkname.bind(this));
436 -        this.getSystemPreferencesServiceShowcontactmatchReq = SystemService.getSystemPreferencesService('showcontactmatch',this.updateShowcontactmatch.bind(this));
437 +//        this.getSystemPreferencesServiceShowcontactmatchReq = SystemService.getSystemPreferencesService('showcontactmatch',this.updateShowcontactmatch.bind(this));
438                 this.updateManualDataSettingsReq = SystemService.getManualDataSettings(this.updateManualDataSettings.bind(this));
439                 this.getVoiceNumberEditableReq = SystemService.getSystemPreferencesService('allowEditVoicemail',this.updateVoicenumberEditableQueryDone.bind(this));
440                 this.getBandSelectionAllowed = SystemService.getSystemPreferencesService('hideRatSelection',this.updateRatSelection.bind(this));
441 @@ -1495,14 +1547,14 @@
442         },
443             
444         //Showcontactmatch
445 -    updateShowcontactmatch: function(payload){
446 +/*    updateShowcontactmatch: function(payload){
447                 if(payload.showcontactmatch == undefined)
448                         return;
449          this.showContactMatchModel.value = payload.showcontactmatch;
450          this.controller.modelChanged(this.showContactMatchModel);
451          
452      },
453 -       
454 +*/     
455         
456         
457         //DTMF
458 @@ -2049,17 +2101,20 @@
459                         // if update happens while we are open and band selection
460                         // was previously allowed (assuming based on choices == 3)
461                         // put things back
462 -                       if (this.voiceRoamingChoices.length == 3) {
463 +/*                     if (this.voiceRoamingChoices.length == 3) {
464                                 this.voiceRoamingChoices[1] = {
465                                         label: $L("Automatic"),
466                                         value: "any"    
467                                 };
468                                 this.voiceRoamingChoices.pop();
469                         }
470 -                       
471 +*/                     
472                         if (payload.extended.mode == 'any') {
473                                 this.voiceRoamingModel.currentVoiceRoaming = "any";
474                                 $('dataroamingrow').show();
475 +                       } else if(payload.extended.mode == 'roamonly') {
476 +                               this.voiceRoamingModel.currentVoiceRoaming = "roamonly";
477 +                               $('dataroamingrow').show();
478                         } else {
479                                 this.voiceRoamingModel.currentVoiceRoaming = "homeonly";
480                                 $('dataroamingrow').hide();
481 @@ -2667,9 +2722,10 @@
482          var value = propertyChange.value;
483          
484          switch (id) {
485 -                       case 'showContactMatch':
486 +/*                     case 'showContactMatch':
487                     this.setSystemPreferencesServiceReq = SystemService.setSystemPreferencesService('showcontactmatch',value,null);
488                                 break;
489 +*/
490              case 'showOutgoingCallerID':
491                  this.clirSetReq = TelephonyService.clirSet(!value, this.handleError.bind(this));
492                 break;            
493 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/app/views/preflist/preflist-scene.html
494 +++ /usr/palm/applications/com.palm.app.phoneprefs/app/views/preflist/preflist-scene.html
495 @@ -1,13 +1,19 @@
496  
497 -         <div class="palm-page-header multi-line">
498 +         <div class="palm-page-header">
499                 <div class="palm-page-header-wrapper">
500                  <div class="icon phone"></div>
501               <div class="title" x-mojo-loc=''>
502 -                        Phone Preferences      
503 +                        Network Services
504            </div>
505 +               <div class="header-sliding-toggle">
506 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
507 +                       </div> 
508         </div>
509           </div>
510         
511 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
512 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>You have turned off network services. Phone radio is also turned off so all phone activity is disabled.</div>
513 +       </div>
514         
515    <div id='phonepref' style='display:none'>
516  
517 @@ -26,7 +32,7 @@
518         </div>
519         </div>
520  
521 -    <div class="palm-group">
522 +<!--    <div class="palm-group">
523          <div x-mojo-loc="" class="palm-group-title">
524              When typing in dialpad
525          </div>
526 @@ -41,7 +47,7 @@
527              </div>
528          </div>
529      </div>
530 -
531 +-->
532      <div class="palm-group" id="xxcallforwarding">
533          <div x-mojo-loc="" class="palm-group-title">
534              CALL FORWARDING
535 @@ -214,11 +220,7 @@
536                 <div class="palm-list">
537                         <div class="palm-row">
538                                 <div class="palm-row-wrapper">
539 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
540 -                       </div>
541 -                       <div x-mojo-loc="" class="left label">
542 -                                DTMF tones
543 -                       </div>
544 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
545                                 </div>
546                         </div>
547                 </div>
548 @@ -419,7 +421,6 @@
549                 </div>
550         </div> 
551         <div id="voicemailclear" x-mojo-element="Button" ></div>  
552 -</div>
553  
554  
555  <div id="phoneOffText" class="info-text" style='display:none'>
556 @@ -431,4 +432,5 @@
557                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
558         </div>  
559  </div>
560 +</div>
561  
562 --- .orig/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
563 +++ /usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
564 @@ -31,6 +31,12 @@
565                  value: false,
566         },
567         
568 +       hapticFeedbackToggleModel: {
569 +                value: false,
570 +       },
571 +
572 +       brightnessPresets: [{label: $L('Maximum'), value: 100},{label: $L('Minimum'), value: 0}],
573 +
574         voiceDialToggleModel: {
575                  value: false,
576         },
577 @@ -38,8 +44,8 @@
578         sliderattributes: {
579                         modelProperty: 'value',
580                         maxValue: 100,
581 -                       minValue: 10,
582 -                       round: false,
583 +                       minValue: 0,
584 +                       round: true,
585                         updateInterval: 0.1
586         },      
587                                 
588 @@ -51,6 +57,9 @@
589                 
590                 //this.controller.get('fixedtimerrow').hide();
591                         
592 +               this.controller.setupWidget('hapticFeedback', this.onOffToggleOpt, this.hapticFeedbackToggleModel);
593 +               Mojo.Event.listen($('hapticFeedback'),'mojo-property-change', this.toggleHapticFeedback.bindAsEventListener(this));
594 +               
595                 this.controller.setupWidget('showAlerts', this.onOffToggleOpt, this.alertToggleModel);
596                 Mojo.Event.listen($('showAlerts'),'mojo-property-change', this.toggleShowAlerts.bindAsEventListener(this));
597                 
598 @@ -86,9 +95,17 @@
599                 
600                 this.controller.setupWidget('secureUnlock', {
601                         choices: this.availableSecurity,
602 +                       label: $L("Security"),
603                         modelProperty: 'currentSecurity'
604                 }, this.securityModel);
605                 
606 +               this.controller.setupWidget('screenBrightness', {
607 +                       label: $L("Brightness"),
608 +                       choices: this.brightnessPresets
609 +               }, this.brightnessModel);
610 +
611 +               Mojo.Event.listen($('screenBrightness'),'mojo-property-change', this.handleBrightnessChange.bindAsEventListener(this));
612 +               
613                 this.controller.setupWidget('brightness', this.sliderattributes,this.brightnessModel);
614                 Mojo.Event.listen($('brightness'),'mojo-property-change', this.handleBrightnessChange.bindAsEventListener(this));
615                 
616 @@ -113,6 +130,15 @@
617                 this.controller.setupWidget(Mojo.Menu.appMenu, {omitDefaultItems:true}, appMenuModel);
618                 
619                 this.getVoiceDialPreference();                          
620 +
621 +               this.getHapticFeedback = this.controller.serviceRequest("palm://com.palm.systemservice/", {
622 +                       method: 'getPreferences', parameters: {"keys": ["hapticFeedback"]},
623 +                       onSuccess: function(response) {
624 +                               if(response.hapticFeedback) {
625 +                                       this.hapticFeedbackToggleModel.value = response.hapticFeedback;
626 +                                       this.controller.modelChanged(this.hapticFeedbackToggleModel, this);
627 +                               }
628 +                       }.bind(this)});
629         },
630         
631         handleCommand: function(event) {
632 @@ -148,7 +174,7 @@
633         timerModel: {currentTimer: 30},
634         
635         //Available Timer Values.
636 -       availableTimers: [{label: $L('30 seconds'), value:30},{label: $L('1 minute'), value:60},{label: $L('2 minutes'), value:120},{label: $L('3 minutes'), value:180}],
637 +       availableTimers: [{label: $L('15 seconds'), value: 15}, {label: $L('30 seconds'), value:30},{label: $L('1 minute'), value:60},{label: $L('2 minutes'), value:120},{label: $L('3 minutes'), value:180},{label: $L('5 minutes'), value:300},{label: $L('Never'), value:10800}],   
638         
639         //Model for Security Selection List
640         securityModel: {currentSecurity: 'none'},
641 @@ -398,6 +424,9 @@
642         handleBrightnessChange: function(event) {
643                 if(!event)
644                         return;
645 +               
646 +               this.controller.modelChanged(this.brightnessModel, this);
647 +               
648                 this.controller.serviceRequest('palm://com.palm.display/control', {
649                         method: 'setProperty', 
650                         parameters:{maximumBrightness:parseInt(event.value)}
651 @@ -555,6 +584,11 @@
652                 SystemService.setLEDThrobber(event.value);              
653         },
654         
655 +       toggleHapticFeedback: function(event) {
656 +               this.setHapticFeedback = new Mojo.Service.Request("palm://com.palm.systemservice/", {
657 +                       method: 'setPreferences', parameters: {"hapticFeedback":event.value}});
658 +       },
659 +       
660         toggleSwitchApps: function(event) {
661                 if(!event)
662                         return;         
663 --- .orig/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html
664 +++ /usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html
665 @@ -13,8 +13,8 @@
666                 <div class="palm-list">
667  
668                         <div class="palm-row first">
669 -                               <div class="palm-row-wrapper">
670 -                                       <div class="title" x-mojo-loc=''>Brightness</div>
671 +                               <div class="palm-row-wrapper" style="max-height:100px;">
672 +                                       <div id="screenBrightness" x-mojo-element="ListSelector" class="right" style="max-height:40px;"></div>
673                                         <div x-mojo-element="Slider" id='brightness' class="palm-slider"></div>
674                                 </div>
675                         </div>
676 @@ -42,6 +42,26 @@
677  
678          <div class="palm-group">
679                 <div class="palm-group-title">
680 +                       <span x-mojo-loc=''>Touchscreen</span>
681 +               </div>
682 +               <div class="palm-list">
683 +                       <div class="palm-row first">
684 +                               <div class="palm-row-wrapper">
685 +                                       <div x-mojo-element="ToggleButton" id="hapticFeedback"></div>
686 +                                       <div class="title capitalize" x-mojo-loc=''>Haptic Feedback</div>
687 +                               </div>
688 +                       </div>
689 +                       <div class="palm-row last">
690 +                               <div class="palm-row-wrapper">
691 +                                       <div x-mojo-element="ToggleButton" id="switchApps"></div>
692 +                                       <div class="title capitalize" x-mojo-loc=''>Advanced Gestures</div>
693 +                               </div>
694 +                       </div>
695 +               </div>
696 +       </div>
697 +       
698 +<!--    <div class="palm-group">
699 +               <div class="palm-group-title">
700                         <span x-mojo-loc=''>Advanced Gestures</span>
701                 </div>
702                 <div class="palm-list">
703 @@ -53,6 +73,7 @@
704                         </div>
705                 </div>
706         </div>
707 +-->
708         <div class="palm-info-text" id="switchAppsInfo"></div>
709  
710         <div class="palm-group">
711 @@ -63,7 +84,7 @@
712                         <div id='secureFirstrow' class="palm-row">
713                                 <div class="palm-row-wrapper" x-mojo-focus-highlight="true">
714                                         <div class="">
715 -                                               <img id='lockImg' src="images/lock.png" style='display:none;' class='label label-lock-image'></img>    
716 +<!--                                           <img id='lockImg' src="images/lock.png" style='display:none;' class='label label-lock-image'></img>    -->
717                                                 <div id="secureUnlock" x-mojo-element="ListSelector"></div>
718                                          </div>
719                             </div>
720 @@ -71,6 +92,7 @@
721                         <div id='securelastrow' class="palm-row" x-mojo-tap-highlight="momentary">
722                                 <div class="palm-row-wrapper textfield-group">
723                                         <div class="title">
724 +                                               <img id='lockImg' src="images/lock.png" style='display:none;padding-top:13px;' class='label label-lock-image'></img>    
725                                                 <div id="changepassword"></div>
726                                          </div>
727                             </div>
728 @@ -85,44 +107,44 @@
729  
730         <div class="palm-group">
731                 <div class="palm-group-title">
732 -                       <span x-mojo-loc=''>Notifications</span>
733 +                       <span x-mojo-loc=''>Lock Screen</span>
734                 </div>
735                 <div class="palm-list">
736                         <div class="palm-row first">
737                                 <div class="palm-row-wrapper">
738                                         <div x-mojo-element="ToggleButton" id="showAlerts"></div>
739 -                                       <div class="title capitalize" x-mojo-loc=''>Show when locked</div>
740 +                                       <div class="title capitalize" x-mojo-loc=''>Notifications</div>
741                                 </div>
742                         </div>
743                         <div class="palm-row last">
744                                 <div class="palm-row-wrapper">
745 -                                       <div x-mojo-element="ToggleButton" id="blinkAlerts"></div>
746 -                                       <div class="title capitalize" x-mojo-loc=''>Blink notifications</div>
747 +                                       <div x-mojo-element="ToggleButton" id="voiceDial"></div>
748 +                                       <div class="title capitalize" x-mojo-loc=''>Voice Dialing</div>
749                                 </div>
750                         </div>
751                 </div>
752         </div>
753  
754         <div class="palm-info-text single" x-mojo-loc=''>
755 -               The gesture area blinks when new notifications arrive.
756 +               Access voice dialing even when your phone is locked.
757         </div>
758 -       
759 +
760         <div class="palm-group">
761                 <div class="palm-group-title">
762 -                       <span x-mojo-loc=''>Voice Dialing</span>
763 +                       <span x-mojo-loc=''>Notifications</span>
764                 </div>
765                 <div class="palm-list">
766                         <div class="palm-row single">
767                                 <div class="palm-row-wrapper">
768 -                                       <div x-mojo-element="ToggleButton" id="voiceDial"></div>
769 -                                       <div class="title capitalize" x-mojo-loc=''>Enable when locked</div>
770 +                                       <div x-mojo-element="ToggleButton" id="blinkAlerts"></div>
771 +                                       <div class="title capitalize" x-mojo-loc=''>Blink notifications</div>
772                                 </div>
773                         </div>
774                 </div>
775         </div>
776  
777         <div class="palm-info-text single" x-mojo-loc=''>
778 -               Access voice dialing even when your phone is locked.
779 +               The gesture area blinks when new notifications arrive.
780         </div>
781  
782  </div>
783 --- .orig/usr/palm/applications/com.palm.app.soundsandalerts/appinfo.json
784 +++ /usr/palm/applications/com.palm.app.soundsandalerts/appinfo.json
785 @@ -1,5 +1,5 @@
786  {
787 -       "title": "Sounds & Ringtones",
788 +       "title": "Sound Settings",
789         "type": "web",
790         "main": "index.html",
791         "id": "com.palm.app.soundsandalerts",
792 --- .orig/usr/palm/applications/com.palm.app.soundsandalerts/app/models/audio-luna-service.js
793 +++ /usr/palm/applications/com.palm.app.soundsandalerts/app/models/audio-luna-service.js
794 @@ -5,6 +5,44 @@
795         }
796  });
797      
798 +AudioService.getMediaVolume = function(callback, sceneController) {
799 +       var request = new Mojo.Service.Request(AudioService.media_identifier, {
800 +               method: 'getVolume',
801 +               onSuccess: callback,
802 +               onFailure: callback
803 +       });
804 +       
805 +       return request;
806 +}
807 +
808 +AudioService.setMediaVolume = function(volume, callback, sceneController) {
809 +       var request = new Mojo.Service.Request(AudioService.media_identifier, {
810 +               method: 'setVolume',
811 +               parameters: {volume:volume },
812 +               onSuccess: function(response) {
813 +                       if(callback)
814 +                               callback(response);
815 +               },
816 +               onFailure: function(response) {
817 +                       if(callback)
818 +                               callback(response);
819 +               }                       
820 +       });
821 +       
822 +       return request;
823 +}
824 +
825 +AudioService.subscribeToMediaVolume = function(callback) {
826 +       var request = new Mojo.Service.Request(AudioService.media_identifier, {
827 +               method: 'status',
828 +               parameters: {"subscribe": true},
829 +               onSuccess: callback,
830 +               onFailure: callback
831 +       });
832 +       
833 +       return request;
834 +}
835 +
836  AudioService.getSystemVolume = function(callback, sceneController) {
837      var request = new Mojo.Service.Request(AudioService.system_identifier, {
838        method: 'getVolume',
839 @@ -29,6 +67,17 @@
840      });
841         return request;
842  }
843 +
844 +AudioService.subscribeToSystemVolume = function(callback) {
845 +       var request = new Mojo.Service.Request(AudioService.system_identifier, {
846 +               method: 'status',
847 +               parameters: {"subscribe": true},
848 +               onSuccess: callback,
849 +               onFailure: callback
850 +       });
851 +       
852 +       return request;
853 +}
854    
855  AudioService.getRingtoneVolume = function(callback, sceneController) {
856     var request = new Mojo.Service.Request(AudioService.ringtone_identifier, {
857 @@ -110,6 +159,7 @@
858         return request;
859  }
860  
861 +AudioService.media_identifier = 'palm://com.palm.audio/media';
862  AudioService.system_identifier = 'palm://com.palm.audio/system';
863  AudioService.ringtone_identifier = 'palm://com.palm.audio/ringtone';
864  AudioService.vibrate_identifier = 'palm://com.palm.audio/state';
865 --- .orig/usr/palm/applications/com.palm.app.soundsandalerts/app/controllers/soundsalertsconfig-assistant.js
866 +++ /usr/palm/applications/com.palm.app.soundsandalerts/app/controllers/soundsalertsconfig-assistant.js
867 @@ -3,7 +3,17 @@
868  var SoundsalertsconfigAssistant = Class.create({
869         
870         initialize: function() {
871 -               
872 +               this.curAlertName = "alert.wav";
873 +               this.curAlertPath = "/usr/palm/sounds/alert.wav";
874 +               this.curNotifyName = "notification.wav";
875 +               this.curNotifyPath = "/usr/palm/sounds/notification.wav";
876 +               
877 +               this.curLowBatteryValue = "notifications";
878 +               this.curLowBatteryName = "";
879 +               this.curLowBatteryPath = "";
880 +               this.curChargerNotifyValue = "notifications";
881 +               this.curChargerNotifyName = "";
882 +               this.curChargerNotifyPath = "";
883         },
884         
885         ToggleOpt: {
886 @@ -37,6 +47,30 @@
887         availableOffSettings: [{label: $L('Vibrate'), value:'vibrate'},{label: $L('Mute'), value:'mute'}],
888         availableOnSettings: [{label: $L('Sound & Vibrate'), value:'vibrate'},{label: $L('Sound'), value:'mute'}],
889         
890 +       alertRingtoneChoices: [{'label': $L("Default"), 'value': "alert.wav"}, {'label': $L("Select"), 'value': "select"}],
891 +
892 +       alertRingtoneModel: {
893 +               'value' : "alert.wav"
894 +       },
895 +
896 +       notifyRingtoneChoices: [{'label': $L("Default"), 'value': "notification.wav"}, {'label': $L("Select"), 'value': "select"}],
897 +
898 +       notifyRingtoneModel: {
899 +               'value' : "notification.wav"
900 +       },
901 +
902 +       batteryNotifyChoices: [{'label': $L("Vibrate"), 'value': "vibrate"},{'label': $L("System Sound"), 'value': "notifications"},{'label': $L("Ringtone"), 'value': "ringtone"},{'label': $L("Mute"), 'value': "none"}],
903 +
904 +       batteryNotifyModel: {
905 +               'value' : "notifications"
906 +       },
907 +
908 +       chargerNotifyChoices: [{'label': $L("Vibrate"), 'value': "vibrate"},{'label': $L("System Sound"), 'value': "notifications"},{'label': $L("Ringtone"), 'value': "ringtone"},{'label': $L("Mute"), 'value': "none"}],
909 +
910 +       chargerNotifyModel: {
911 +               'value' : "notifications"
912 +       },
913 +       
914         setup: function() {
915                 this.attributes = {
916                         modelProperty: 'value',
917 @@ -51,6 +85,12 @@
918                         round: true
919                 };
920                                 
921 +               this.ringtoneVolumePresets = [{label: $L('Maximum'), value: 100},{label: $L('Minimum'), value: 0}];
922 +
923 +               this.systemVolumePresets = [{label: $L('Maximum'), value: 100},{label: $L('Minimum'), value: 0}];
924 +
925 +               this.mediaVolumePresets = [{label: $L('Maximum'), value: 100},{label: $L('Minimum'), value: 0}];
926 +
927         this.ringtoneVolumeModel = {
928          'value' : 50
929                   };
930 @@ -59,6 +99,10 @@
931          'value' : 50
932                   };
933                   
934 +                this.mediaVolumeModel = {
935 +        'value' : 50
936 +                 };
937 +               
938                 /*this.controller.setupWidget('soundWhenCharging', {
939                         choices: this.availableOptions,
940                         modelProperty: 'value'
941 @@ -66,11 +110,33 @@
942                 
943                 $('soundWhenCharging').observe('mojo-property-change', this.handleSelection.bindAsEventListener(this));*/
944         
945 +               this.controller.setupWidget('ringvolumeSelector', {
946 +                       label: $L("Ringtone"),
947 +                       choices: this.ringtoneVolumePresets,
948 +                       modelProperty: 'value',
949 +                       multiline: true
950 +               }, this.ringtoneVolumeModel);
951 +
952 +               this.controller.setupWidget('systemvolumeSelector', {
953 +                       label: $L("System"),
954 +                       choices: this.systemVolumePresets,
955 +                       modelProperty: 'value',
956 +                       multiline: true
957 +               }, this.systemVolumeModel);
958 +
959 +               this.controller.setupWidget('mediavolumeSelector', {
960 +                       label: $L("Media"),
961 +                       choices: this.mediaVolumePresets,
962 +                       modelProperty: 'value',
963 +                       multiline: true
964 +               }, this.mediaVolumeModel);
965 +       
966          this.controller.setupWidget('ringvolume', this.attributes,this.ringtoneVolumeModel);
967                 this.controller.setupWidget('systemvolume', this.attributes1,this.systemVolumeModel);
968 +               this.controller.setupWidget('mediavolume', this.attributes1,this.mediaVolumeModel);
969                 $('ringvolume').observe('mojo-property-change', this.handleRingtoneVolumeChange.bindAsEventListener(this));
970                 $('systemvolume').observe('mojo-property-change', this.handleSystemVolumeChange.bindAsEventListener(this));
971 -                               
972 +               $('mediavolume').observe('mojo-property-change', this.handleMediaVolumeChange.bindAsEventListener(this));                                                               
973         
974                 //added to the assistant so that the when charging vibrate widget is shown
975                 //this.controller.setupWidget('vibrate_off', this.ToggleOpt, this.vibrateOffModel);
976 @@ -91,16 +157,53 @@
977                 
978                 this.controller.setupWidget('system_ui_sounds', this.ToggleOpt, this.systemUISoundsModel);
979                         
980 +               this.controller.setupWidget('alertringtone', {
981 +                       label: $L("Alert"),
982 +                       choices: this.alertRingtoneChoices,
983 +                       modelProperty: 'value',
984 +                       multiline: true
985 +               }, this.alertRingtoneModel);
986 +
987 +               this.controller.setupWidget('notifyringtone', {
988 +                       label: $L("Notify"),
989 +                       choices: this.notifyRingtoneChoices,
990 +                       modelProperty: 'value',
991 +                       multiline: true
992 +               }, this.notifyRingtoneModel);
993 +               
994 +               this.controller.setupWidget('battery_notify', {
995 +                       label: $L("Low Battery"),
996 +                       choices: this.batteryNotifyChoices,
997 +                       modelProperty: 'value',
998 +                       multiline: true
999 +               }, this.batteryNotifyModel);
1000 +
1001 +               this.controller.setupWidget('charger_notify', {
1002 +                       label: $L("Charger"),
1003 +                       choices: this.chargerNotifyChoices,
1004 +                       modelProperty: 'value',
1005 +                       multiline: true
1006 +               }, this.chargerNotifyModel);
1007 +       
1008                 $('vibrate_off').observe('mojo-property-change', this.toggleVibrateOff.bindAsEventListener(this));
1009                 $('vibrate_on').observe('mojo-property-change', this.toggleVibrateOn.bindAsEventListener(this));
1010                 $('system_ui_sounds').observe('mojo-property-change', this.toggleSystemUISounds.bindAsEventListener(this));
1011                 
1012 +               $('alertringtone').observe('mojo-property-change', this.showAlertFilePicker.bindAsEventListener(this));
1013 +               $('notifyringtone').observe('mojo-property-change', this.showNotificationFilePicker.bindAsEventListener(this));
1014 +               
1015 +               $('battery_notify').observe('mojo-property-change', this.setBatterySystemNotification.bindAsEventListener(this));
1016 +               $('charger_notify').observe('mojo-property-change', this.setChargerSystemNotification.bindAsEventListener(this));
1017 +               
1018                 $('currentringtonerow').observe(Mojo.Event.tap, this.showAudioFilePicker.bindAsEventListener(this));
1019                                 
1020                 this.getCurrentVolumes();
1021                 this.getCurrentRingtone();
1022                 this.getVibrateSettings();      
1023                 this.getOtherSettings();
1024 +               this.getCurrentAlert();
1025 +               this.getCurrentNotification();
1026 +               this.getSystemNotifications();
1027                 
1028                 //App Menu - Remove default items and add only Edit & Help items.
1029                 var appMenuModel = {
1030 @@ -112,6 +215,9 @@
1031         },
1032         
1033         cleanup : function() {
1034 +               if(this.getMediaVolumeSubscribe)
1035 +                       this.getMediaVolumeSubscribe.cancel();
1036 +               
1037                 if(this.getRingtoneVolumeSubscribe)
1038                         this.getRingtoneVolumeSubscribe.cancel();
1039         },      
1040 @@ -151,6 +257,9 @@
1041         handleRingtoneVolumeChange: function(event) {
1042                 if(event.value == undefined)
1043                         return;
1044 +               
1045 +               this.controller.modelChanged(this.ringtoneVolumeModel, this);
1046 +
1047                 this.setRingtoneVolumeReq = AudioService.setRingtoneVolume(event.value,this.setVolumeDone.bind(this),this);             
1048         },
1049                 
1050 @@ -205,6 +314,9 @@
1051         handleSystemVolumeChange: function(event) {
1052                 if(event.value == undefined)
1053                         return;
1054 +               
1055 +               this.controller.modelChanged(this.systemVolumeModel, this);                     
1056 +               
1057                 this.setSystemVolumeReq = AudioService.setSystemVolume(event.value,this.setSystemVolumeResponse.bind(this),this); 
1058         },
1059         
1060 @@ -217,12 +329,43 @@
1061                 })
1062         },
1063                 
1064 +       handleMediaVolumeChange: function(event) {
1065 +               if(event.value == undefined)
1066 +                       return;
1067 +                       
1068 +               this.controller.modelChanged(this.mediaVolumeModel, this);                      
1069 +                       
1070 +               this.setMediaVolumeReq = AudioService.setMediaVolume(event.value,this.setMediaVolumeResponse.bind(this),this); 
1071 +       },
1072 +       
1073 +       setMediaVolumeResponse: function(response) {
1074 +               if(!response.returnValue)
1075 +                       return;
1076 +               this.controller.serviceRequest('palm://com.palm.audio/media', {
1077 +                       method: 'playFeedback',
1078 +                       parameters : {"name":"shutter"}
1079 +               })
1080 +       },
1081 +       
1082         getCurrentVolumes: function() {         
1083 -               this.getSystemVolumeReq = AudioService.getSystemVolume(this.systemVolumeCB.bind(this),this);
1084 +               //Subscribe to Media Volume
1085 +               this.getMediaVolumeSubscribe = AudioService.subscribeToMediaVolume(this.mediaVolumeCB.bind(this));
1086 +               //Subscribe to System Volume
1087 +               this.getSystemVolumeReq = AudioService.subscribeToSystemVolume(this.systemVolumeCB.bind(this),this);
1088                 //Subscribe to Ringtone Volume
1089                 this.getRingtoneVolumeSubscribe = AudioService.subscribeToRingtoneVolume(this.ringtoneVolumeCB.bind(this));
1090         },
1091         
1092 +       mediaVolumeCB: function(response) {
1093 +               if(response.returnValue) {
1094 +                       this.mediaVolumeModel.value = response.volume;
1095 +                       this.controller.modelChanged(this.mediaVolumeModel,this);
1096 +               }
1097 +               else {
1098 +                       Mojo.log("getVolume Failed"+response.errorText);                        
1099 +               }
1100 +       },
1101 +       
1102         systemVolumeCB: function(payload) {
1103                 if(payload.returnValue) {
1104                         this.systemVolumeModel.value = payload.volume;
1105 @@ -296,6 +439,205 @@
1106                 //this.getSoundWhenOnCradleReq = SystemService.getSoundWhenOnCradle(this.getSoundWhenOnCradleQuery.bind(this));
1107         },
1108         
1109 +       getCurrentAlert: function() {
1110 +               this.getCurrentAlertReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1111 +                       method: 'getPreferences', parameters: {"keys":["alerttone"]}, 
1112 +                       onSuccess: this.getCurrentAlertQuery.bind(this),
1113 +                       onFailure: this.getCurrentAlertQuery.bind(this)});
1114 +       },
1115 +
1116 +       getCurrentAlertQuery: function(response) {
1117 +               if(response.alerttone) {
1118 +                       this.alertRingtoneModel.value = response.alerttone.name;
1119 +                       this.curAlertName = response.alerttone.name;
1120 +                       this.curAlertPath = response.alerttone.fullPath;
1121 +
1122 +                       this.controller.modelChanged(this.alertRingtoneModel, this);
1123 +               }
1124 +       },
1125 +
1126 +       showAlertFilePicker: function(event) {
1127 +               if(event.value == "select") {   
1128 +                       this.alertRingtoneModel.value = this.curAlertName;
1129 +                       this.controller.modelChanged(this.alertRingtoneModel, this);
1130 +               
1131 +                       Mojo.FilePicker.pickFile({"kinds": ["ringtone"], "filePath": this.curAlertPath, "onSelect": this.selectedAlertFile.bind(this),actionType:"attach", actionName: $L("Done")}, Mojo.Controller.stageController);
1132 +               }
1133 +               else {
1134 +                       this.selectedAlertFile({'name': "alert.wav", 'fullPath': "/usr/palm/sounds/alert.wav"});
1135 +               }
1136 +       },
1137 +
1138 +       selectedAlertFile: function(file) {
1139 +               this.curAlertName = file.name;
1140 +               this.curAlertPath = file.fullPath;
1141 +               
1142 +               this.setAlertReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1143 +                       method: 'setPreferences', parameters: {"alerttone":file}});
1144 +                       
1145 +               this.alertRingtoneModel.value = file.name;
1146 +               this.controller.modelChanged(this.alertRingtoneModel, this);
1147 +       },
1148 +
1149 +       getCurrentNotification: function() {
1150 +               this.getCurrentNotificationReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1151 +                       method: 'getPreferences', parameters: {"keys":["notificationtone"]}, 
1152 +                       onSuccess: this.getCurrentNotificationQuery.bind(this),
1153 +                       onFailure: this.getCurrentNotificationQuery.bind(this)});
1154 +       },
1155 +
1156 +       getCurrentNotificationQuery: function(response) {
1157 +               if(response.notificationtone) {
1158 +                       this.notifyRingtoneModel.value = response.notificationtone.name;
1159 +                       this.curNotifyName = response.notificationtone.name;
1160 +                       this.curNotifyPath = response.notificationtone.fullPath;
1161 +
1162 +                       this.controller.modelChanged(this.notifyRingtoneModel, this);
1163 +               }
1164 +       },
1165 +
1166 +       showNotificationFilePicker: function(event) {
1167 +               if(event.value == "select") {
1168 +                       this.notifyRingtoneModel.value = this.curNotifyName;
1169 +                       this.controller.modelChanged(this.notifyRingtoneModel, this);           
1170 +               
1171 +                       Mojo.FilePicker.pickFile({"kinds": ["ringtone"], "filePath": this.curNotifyPath, "onSelect": this.selectedNotificationFile.bind(this), actionType: "attach", actionName: $L("Done")}, Mojo.Controller.stageController);
1172 +               }
1173 +               else {
1174 +                       this.selectedNotificationFile({'name': "notification.wav", 'fullPath': "/usr/palm/sounds/notification.wav"});
1175 +               }
1176 +       },
1177 +
1178 +       selectedNotificationFile: function(file) {
1179 +               this.curNotifyName = file.name;
1180 +               this.curNotifyPath = file.fullPath;
1181 +       
1182 +               this.setNotificationReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1183 +                       method: 'setPreferences', parameters: {"notificationtone":file}});
1184 +
1185 +               this.notifyRingtoneModel.value = file.name;
1186 +               this.controller.modelChanged(this.notifyRingtoneModel, this);
1187 +       },
1188 +
1189 +       getSystemNotifications: function() {
1190 +               this.getSystemNotificationsReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1191 +                       method: 'getPreferences', parameters: {"keys":["notifications"]}, 
1192 +                       onSuccess: this.getSystemNotificationsQuery.bind(this),
1193 +                       onFailure: this.getSystemNotificationsQuery.bind(this)});
1194 +       },
1195 +
1196 +       getSystemNotificationsQuery: function(response) {
1197 +               if(response.notifications) {
1198 +                       if(response.notifications.lowBattery == "ringtone") {
1199 +                               this.batteryNotifyModel.value = response.notifications.lowBatteryRingtoneName;
1200 +
1201 +                               this.curLowBatteryValue = "ringtone";
1202 +                               this.curLowBatteryName = response.notifications.lowBatteryRingtoneName;
1203 +                               this.curLowBatteryPath = response.notifications.lowBatteryRingtonePath;
1204 +                       }
1205 +                       else
1206 +                               this.batteryNotifyModel.value = response.notifications.lowBattery;
1207 +                       
1208 +                       this.controller.modelChanged(this.batteryNotifyModel, this);
1209 +
1210 +                       if(response.notifications.chargerConnected == "ringtone") {
1211 +                               this.chargerNotifyModel.value = response.notifications.chargerConnectedRingtoneName;
1212 +
1213 +                               this.curChargerNotifyValue = "ringtone";
1214 +                               this.curChargerNotifyName = response.notifications.chargerConnectedRingtoneName;
1215 +                               this.curChargerNotifyPath = response.notifications.chargerConnectedRingtonePath;
1216 +                       }
1217 +                       else
1218 +                               this.chargerNotifyModel.value = response.notifications.chargerConnected;
1219 +                       
1220 +                       this.controller.modelChanged(this.chargerNotifyModel, this);
1221 +               }
1222 +       },
1223 +
1224 +       selectedSystemNotificationsFile: function(notification, file) {
1225 +               if(notification == "battery") {
1226 +                       this.batteryNotifyModel.value = file.name;
1227 +
1228 +                       this.curLowBatteryValue = "ringtone";
1229 +                       this.curLowBatteryName = file.name;
1230 +                       this.curLowBatteryPath = file.fullPath;
1231 +                       
1232 +                       this.controller.modelChanged(this.batteryNotifyModel, this);
1233 +               }
1234 +               else if(notification == "charger") {
1235 +                       this.chargerNotifyModel.value = file.name;
1236 +
1237 +                       this.curChargerNotifyValue = "ringtone";
1238 +                       this.curChargerNotifyName = file.name;
1239 +                       this.curChargerNotifyPath = file.fullPath;
1240 +
1241 +                       this.controller.modelChanged(this.chargerNotifyModel, this);
1242 +               }
1243 +               
1244 +               this.saveSystemNotifications();
1245 +       },
1246 +       
1247 +       setBatterySystemNotification: function(event) {
1248 +               if(this.batteryNotifyModel.value == "ringtone") {
1249 +                       if(this.curLowBatteryValue == "ringtone")
1250 +                               this.batteryNotifyModel.value = this.curLowBatteryName;
1251 +                       else
1252 +                               this.batteryNotifyModel.value = this.curLowBatteryValue;
1253 +                               
1254 +                       this.controller.modelChanged(this.batteryNotifyModel, this);
1255 +                                       
1256 +                       Mojo.FilePicker.pickFile({"kinds": ["ringtone"], "filePath": this.curLowBatteryPath, "onSelect": this.selectedSystemNotificationsFile.bind(this, "battery"), actionType: "attach", actionName: $L("Done")}, Mojo.Controller.stageController);
1257 +               }
1258 +               else {
1259 +                       this.curLowBatteryValue = this.batteryNotifyModel.value;
1260 +                       this.curLowBatteryName = "";
1261 +                       this.curLowBatteryPath = "";
1262 +
1263 +                       this.saveSystemNotifications(); 
1264 +               }
1265 +       },
1266 +
1267 +       setChargerSystemNotification: function(event) {
1268 +               if(this.chargerNotifyModel.value == "ringtone") {
1269 +                       if(this.curChargerNotifyValue == "ringtone")
1270 +                               this.chargerNotifyModel.value = this.curChargerNotifyName;
1271 +                       else
1272 +                               this.chargerNotifyModel.value = this.curChargerNotifyValue;
1273 +                       
1274 +                       this.controller.modelChanged(this.chargerNotifyModel, this);
1275 +
1276 +                       Mojo.FilePicker.pickFile({"kinds": ["ringtone"], "filePath": this.curChargerNotifyPath, "onSelect": this.selectedSystemNotificationsFile.bind(this, "charger"), actionType: "attach", actionName: $L("Done")}, Mojo.Controller.stageController);
1277 +               }
1278 +               else {
1279 +                       this.curChargerNotifyValue = this.chargerNotifyModel.value;
1280 +                       this.curChargerNotifyName = "";
1281 +                       this.curChargerNotifyPath = "";
1282 +               
1283 +                       this.saveSystemNotifications(); 
1284 +               }
1285 +       },
1286 +
1287 +       saveSystemNotifications: function() {
1288 +               var notifications = {
1289 +                       'lowBattery': this.batteryNotifyModel.value, 
1290 +                       'chargerConnected': this.chargerNotifyModel.value };
1291 +       
1292 +               if(this.curLowBatteryValue == "ringtone") {
1293 +                       notifications.lowBattery = "ringtone";
1294 +                       notifications.lowBatteryRingtoneName = this.curLowBatteryName;
1295 +                       notifications.lowBatteryRingtonePath = this.curLowBatteryPath;
1296 +               }
1297 +
1298 +               if(this.curChargerNotifyValue == "ringtone") {
1299 +                       notifications.chargerConnected = "ringtone";
1300 +                       notifications.chargerConnectedRingtoneName = this.curChargerNotifyName;
1301 +                       notifications.chargerConnectedRingtonePath = this.curChargerNotifyPath;
1302 +               }
1303 +               
1304 +               this.setNotificationReq = new Mojo.Service.Request("palm://com.palm.systemservice/", {
1305 +                       method: 'setPreferences', parameters: {"notifications": notifications}});
1306 +       },
1307 +                               
1308         getSystemUISoundsQuery: function(payload) {     
1309             
1310                 if(payload.systemSounds != undefined) {
1311 --- .orig/usr/palm/applications/com.palm.app.soundsandalerts/app/views/soundsalertsconfig/soundsalertsconfig-scene.html
1312 +++ /usr/palm/applications/com.palm.app.soundsandalerts/app/views/soundsalertsconfig/soundsalertsconfig-scene.html
1313 @@ -2,7 +2,7 @@
1314         <div class="palm-page-header">
1315           <div class="header-icon soundsandalerts"></div>
1316                 <div class="header-text">
1317 -                       <span x-mojo-loc=''>Sounds &amp; ringtones</span>
1318 +                       <span x-mojo-loc=''>Sound Settings</span>
1319                 </div>
1320         </div>
1321         
1322 @@ -32,32 +32,86 @@
1323                                         <div id='vibrate_on' x-mojo-element="ListSelector" class="right"></div>
1324                                 </div>
1325              </div>
1326 -                        <div id='currentringtonerow' class="palm-row" x-mojo-tap-highlight="momentary">
1327 +                        <div class="palm-row last">
1328                                 <div class="palm-row-wrapper">
1329 -                                       <div class="label left" x-mojo-loc=''>Ringtone</div>
1330 -                       <div id='currentringtone' class="title right"></div>                                    
1331 +                       <div id="system_ui_sounds" x-mojo-element="ToggleButton"></div>
1332 +                       <div class="title left" x-mojo-loc="">
1333 +                           System Sounds
1334 +                       </div>
1335                     </div>
1336              </div>
1337 -                       <div class="palm-row">
1338 +                       
1339 +               </div>
1340 +       </div>
1341 +
1342 +       <div class="palm-group">
1343 +               <div class="palm-group-title">                          
1344 +                       <span x-mojo-loc=''>Ring & Alert Tones</span>
1345 +               </div>
1346 +
1347 +               <div class="palm-list">
1348 +                        <div id='currentringtonerow' class="palm-row first" x-mojo-tap-highlight="momentary">
1349                                 <div class="palm-row-wrapper">
1350 -                                       <div class="title" x-mojo-loc=''>Ringtone Volume</div>
1351 -                                       <div x-mojo-element="Slider" id='ringvolume' class="palm-slider"></div>
1352 +               <div id='currentringtone' class="label right">Ringtone</div>                                    
1353 +                                       <div class="title left" x-mojo-loc=''>Ringtone</div>
1354                     </div>
1355              </div>
1356                          <div class="palm-row">
1357                                 <div class="palm-row-wrapper">
1358 -                       <div id="system_ui_sounds" x-mojo-element="ToggleButton"></div>
1359 -                       <div class="label left" x-mojo-loc="">
1360 -                           System Sounds
1361 -                       </div>
1362 -                   </div>
1363 +                                       <div id='alertringtone' x-mojo-element="ListSelector" class="right"></div>
1364              </div>
1365 +         </div>
1366 +         <div class="palm-row last">
1367 +                               <div class="palm-row-wrapper">
1368 +                                       <div id='notifyringtone' x-mojo-element="ListSelector" class="right"></div>
1369 +            </div>
1370 +         </div>
1371 +               </div>
1372 +       </div>  
1373 +
1374 +       <div class="palm-group">
1375 +               <div class="palm-group-title">                          
1376 +                       <span x-mojo-loc=''>System Notifications</span>
1377 +               </div>
1378 +
1379 +               <div class="palm-list">
1380 +                       <div class="palm-row first">
1381 +                               <div class="palm-row-wrapper">
1382 +                                       <div id='battery_notify' x-mojo-element="ListSelector" class="right"></div>
1383 +                               </div>
1384 +         </div>
1385                         <div class="palm-row last">
1386                                 <div class="palm-row-wrapper">
1387 -                                       <div class="title" x-mojo-loc=''>Volume</div>
1388 +                                       <div id='charger_notify' x-mojo-element="ListSelector" class="right"></div>
1389 +                               </div>
1390 +         </div>
1391 +               </div>
1392 +       </div>
1393 +
1394 +       <div class="palm-group">
1395 +               <div class="palm-group-title">                          
1396 +                       <span x-mojo-loc=''>Sound Volume Levels</span>
1397 +               </div>
1398 +
1399 +               <div class="palm-list">
1400 +                       <div class="palm-row first">
1401 +                               <div class="palm-row-wrapper" style="max-height:100px;">
1402 +                                       <div id="ringvolumeSelector" x-mojo-element="ListSelector" class="right" style="max-height:40px;"></div>
1403 +                                       <div x-mojo-element="Slider" id='ringvolume' class="palm-slider"></div>
1404 +                   </div>
1405 +            </div>
1406 +                        <div class="palm-row">
1407 +                               <div class="palm-row-wrapper" style="max-height:100px;">
1408 +                                       <div id="systemvolumeSelector" x-mojo-element="ListSelector" class="right" style="max-height:40px;"></div>
1409                                         <div x-mojo-element="Slider" id='systemvolume' class="palm-slider"></div>
1410                     </div>
1411              </div>
1412 +                       <div class="palm-row last">
1413 +                               <div class="palm-row-wrapper" style="max-height:100px;">
1414 +                                       <div id="mediavolumeSelector" x-mojo-element="ListSelector" class="right" style="max-height:40px;"></div>
1415 +                                       <div x-mojo-element="Slider" id='mediavolume' class="palm-slider"></div>
1416 +            </div>
1417 +         </div>
1418                 </div>
1419         </div>  
1420  </div>
1421 --- .orig/usr/palm/applications/com.palm.app.wifi/app/views/networklist/networklist-scene.html
1422 +++ /usr/palm/applications/com.palm.app.wifi/app/views/networklist/networklist-scene.html
1423 @@ -10,12 +10,12 @@
1424                 </div>
1425             </div>
1426      </div>
1427 -    <div id="wifiNetworkInfoList" x-mojo-element="List" style="display:none;">
1428 -    </div>
1429      <div id="wifiInfoText" style="display:none;" class="palm-info-text" x-mojo-loc=''>
1430                         Your phone automatically connects to known networks.
1431      </div>
1432      <div id="wifiOffText" style="display:none;" class="palm-text-wrapper">
1433                         <div class="palm-body-text" x-mojo-loc=''>Wi-Fi is turned off.</div>
1434      </div>
1435 +    <div id="wifiNetworkInfoList" x-mojo-element="List" style="display:none;">
1436 +    </div>
1437  </div>
1438 --- .orig/usr/palm/applications/com.palm.app.location/resources/de/views/main/main-scene.html
1439 +++ /usr/palm/applications/com.palm.app.location/resources/de/views/main/main-scene.html
1440 @@ -4,6 +4,13 @@
1441                 <div class="header-text">
1442                         <span>Standortbas. Dienste</span>
1443                 </div>
1444 +               <div class="header-sliding-toggle">
1445 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1446 +               </div>                                                                                     
1447 +       </div>
1448 +       
1449 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1450 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>Sie haben alle Standortsdatenquellen ausgeschaltet. Es werden keine Standortsdaten an Anwendungen die Ihr Standort anfragen weitergeleitet.</div>
1451         </div>
1452         <div id='siteLocatePrefs' class="palm-group">
1453                 <div class="palm-group-title">
1454 --- .orig/usr/palm/applications/com.palm.app.location/resources/en/ca/views/main/main-scene.html
1455 +++ /usr/palm/applications/com.palm.app.location/resources/en/ca/views/main/main-scene.html
1456 @@ -4,6 +4,13 @@
1457                 <div class="header-text">
1458                         <span>Location services</span>
1459                 </div>
1460 +               <div class="header-sliding-toggle">
1461 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1462 +               </div>                                                                                     
1463 +       </div>
1464 +       
1465 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1466 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>You have turned off all location data sources. No location data will be provided to applications that request your location.</div>
1467         </div>
1468         <div id='siteLocatePrefs' class="palm-group">
1469                 <div class="palm-group-title">
1470 --- .orig/usr/palm/applications/com.palm.app.location/resources/en/gb/views/main/main-scene.html
1471 +++ /usr/palm/applications/com.palm.app.location/resources/en/gb/views/main/main-scene.html
1472 @@ -4,6 +4,13 @@
1473                 <div class="header-text">
1474                         <span>Location services</span>
1475                 </div>
1476 +               <div class="header-sliding-toggle">
1477 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1478 +               </div>                                                                                     
1479 +       </div>
1480 +       
1481 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1482 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>You have turned off all location data sources. No location data will be provided to applications that request your location.</div>
1483         </div>
1484         <div id='siteLocatePrefs' class="palm-group">
1485                 <div class="palm-group-title">
1486 --- .orig/usr/palm/applications/com.palm.app.location/resources/es/views/main/main-scene.html
1487 +++ /usr/palm/applications/com.palm.app.location/resources/es/views/main/main-scene.html
1488 @@ -4,6 +4,13 @@
1489                 <div class="header-text">
1490                         <span>Servicios de ubicación</span>
1491                 </div>
1492 +               <div class="header-sliding-toggle">
1493 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1494 +               </div>                                                                                     
1495 +       </div>
1496 +       
1497 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1498 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>Has desactivado todas las fuentes de datos de ubicación. No se proveerán datos de ubicación a aplicaciones que soliciten tu ubicación.</div>
1499         </div>
1500         <div id='siteLocatePrefs' class="palm-group">
1501                 <div class="palm-group-title">
1502 --- .orig/usr/palm/applications/com.palm.app.location/resources/fr/views/main/main-scene.html
1503 +++ /usr/palm/applications/com.palm.app.location/resources/fr/views/main/main-scene.html
1504 @@ -4,6 +4,13 @@
1505                 <div class="header-text">
1506                         <span>Services de positionnement</span>
1507                 </div>
1508 +               <div class="header-sliding-toggle">
1509 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1510 +               </div>                                                                                     
1511 +       </div>
1512 +       
1513 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1514 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>Vous avez désactivé toutes les sources de données de positionnement. Aucune donnée de positionnement ne sera fournie aux applications désirant connaître votre positionnement.</div>
1515         </div>
1516         <div id='siteLocatePrefs' class="palm-group">
1517                 <div class="palm-group-title">
1518 --- .orig/usr/palm/applications/com.palm.app.location/resources/it/views/main/main-scene.html
1519 +++ /usr/palm/applications/com.palm.app.location/resources/it/views/main/main-scene.html
1520 @@ -4,6 +4,13 @@
1521                 <div class="header-text">
1522                         <span>Servizi di posizione</span>
1523                 </div>
1524 +               <div class="header-sliding-toggle">
1525 +               <div x-mojo-element="ToggleButton" id="gpsonoff" class="header-toggle-button"></div>                               
1526 +               </div>                                                                                     
1527 +       </div>
1528 +       
1529 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1530 +               <div class="section" style="text-align:justify;" x-mojo-loc=''>You have turned off all location data sources. No location data will be provided to applications that request your location.</div>
1531         </div>
1532         <div id='siteLocatePrefs' class="palm-group">
1533                 <div class="palm-group-title">
1534 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/de/appinfo.json
1535 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/de/appinfo.json
1536 @@ -3,7 +3,7 @@
1537         "id": "com.palm.app.phoneprefs",
1538         "main": "../../index.html",
1539         "splashicon": "../../icon-256x256.png",
1540 -       "title": "Telefoneinstellungen",
1541 +       "title": "Netzwerk-Dienste",
1542         "type": "web",
1543         "vendor": "Palm",
1544         "version": "1.0.0",
1545 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/de/views/preflist/preflist-scene.html
1546 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/de/views/preflist/preflist-scene.html
1547 @@ -1,13 +1,19 @@
1548  
1549 -         <div class="palm-page-header multi-line">
1550 +         <div class="palm-page-header">
1551                 <div class="palm-page-header-wrapper">
1552                  <div class="icon phone"></div>
1553               <div class="title">
1554 -                        Telefoneinstellungen      
1555 +                       Netzwerk-Dienste
1556            </div>
1557 +               <div class="header-sliding-toggle">
1558 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
1559 +                       </div> 
1560         </div>
1561           </div>
1562         
1563 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1564 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>Sie haben die Netzwerkdienste ausgeschaltet. Das Telefonradio ist ebenfalls ausgeschaltet, so dass jegliche Telefon-Aktivität ausgeschaltet ist.</div>
1565 +       </div>
1566         
1567    <div id='phonepref' style='display:none'>
1568  
1569 @@ -26,7 +32,7 @@
1570         </div>
1571         </div>
1572  
1573 -    <div class="palm-group">
1574 +<!--    <div class="palm-group">
1575          <div class="palm-group-title">
1576              Bei Eingabe über Wähltastatur
1577          </div>
1578 @@ -41,7 +47,7 @@
1579              </div>
1580          </div>
1581      </div>
1582 -
1583 +-->
1584      <div class="palm-group" id="xxcallforwarding">
1585          <div class="palm-group-title">
1586              ANRUFWEITERLEITUNG
1587 @@ -214,11 +220,7 @@
1588                 <div class="palm-list">
1589                         <div class="palm-row">
1590                                 <div class="palm-row-wrapper">
1591 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
1592 -                       </div>
1593 -                       <div class="left label">
1594 -                                DTMF-Töne
1595 -                       </div>
1596 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
1597                                 </div>
1598                         </div>
1599                 </div>
1600 @@ -419,7 +421,6 @@
1601                 </div>
1602         </div> 
1603         <div id="voicemailclear" x-mojo-element="Button" ></div>  
1604 -</div>
1605  
1606  
1607  <div id="phoneOffText" class="info-text" style='display:none'>
1608 @@ -431,4 +432,5 @@
1609                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
1610         </div>  
1611  </div>
1612 +</div>
1613  
1614 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/de/strings.json
1615 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/de/strings.json
1616 @@ -390,5 +390,6 @@
1617         "Your settings could not be validated. If you believe these settings are correct, try again in a few minutes. For assistance, call your service provider.": "Ihre Einstellungen konnten nicht bestätigt werden. Wenn die Einstellungen korrekt sind, versuchen Sie es in einigen Minuten erneut. Wenn Sie Unterstützung benötigen, wenden Sie sich an Ihren Mobilfunkanbieter.",
1618         "Zambia": "Sambia",
1619         "Zero": "Null",
1620 -       "Zimbabwe": "Simbabwe"
1621 +       "Zimbabwe": "Simbabwe",
1622 +       "DTMF Tones": "DTMF-Töne"
1623  }
1624 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/en/ca/appinfo.json
1625 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/en/ca/appinfo.json
1626 @@ -3,9 +3,9 @@
1627         "id": "com.palm.app.phoneprefs",
1628         "main": "../../../index.html",
1629         "splashicon": "../../../icon-256x256.png",
1630 -       "title": "Phone Prefs",
1631 +       "title": "Network Services",
1632         "type": "web",
1633         "vendor": "Palm",
1634         "version": "1.0.0",
1635 -       "visible": false
1636 +       "visible": true
1637  }
1638 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/en/ca/views/preflist/preflist-scene.html
1639 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/en/ca/views/preflist/preflist-scene.html
1640 @@ -1,13 +1,19 @@
1641  
1642 -         <div class="palm-page-header multi-line">
1643 +         <div class="palm-page-header">
1644                 <div class="palm-page-header-wrapper">
1645                  <div class="icon phone"></div>
1646               <div class="title">
1647 -                        Phone Preferences      
1648 +                        Network Services
1649            </div>
1650 +               <div class="header-sliding-toggle">
1651 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
1652 +                       </div> 
1653         </div>
1654           </div>
1655         
1656 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1657 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>You have turned off network services. Phone radio is also turned off so all phone activity is disabled.</div>
1658 +       </div>
1659         
1660    <div id='phonepref' style='display:none'>
1661  
1662 @@ -26,7 +32,7 @@
1663         </div>
1664         </div>
1665  
1666 -    <div class="palm-group">
1667 +<!--    <div class="palm-group">
1668          <div class="palm-group-title">
1669              When typing in dialpad
1670          </div>
1671 @@ -41,7 +47,7 @@
1672              </div>
1673          </div>
1674      </div>
1675 -
1676 +-->
1677      <div class="palm-group" id="xxcallforwarding">
1678          <div class="palm-group-title">
1679              CALL FORWARDING
1680 @@ -214,11 +220,7 @@
1681                 <div class="palm-list">
1682                         <div class="palm-row">
1683                                 <div class="palm-row-wrapper">
1684 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
1685 -                       </div>
1686 -                       <div class="left label">
1687 -                                DTMF tones
1688 -                       </div>
1689 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
1690                                 </div>
1691                         </div>
1692                 </div>
1693 @@ -419,7 +421,6 @@
1694                 </div>
1695         </div> 
1696         <div id="voicemailclear" x-mojo-element="Button" ></div>  
1697 -</div>
1698  
1699  
1700  <div id="phoneOffText" class="info-text" style='display:none'>
1701 @@ -431,4 +432,4 @@
1702                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
1703         </div>  
1704  </div>
1705 -
1706 +</div>
1707 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/en/gb/appinfo.json
1708 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/en/gb/appinfo.json
1709 @@ -3,9 +3,9 @@
1710         "id": "com.palm.app.phoneprefs",
1711         "main": "../../../index.html",
1712         "splashicon": "../../../icon-256x256.png",
1713 -       "title": "Phone Prefs",
1714 +       "title": "Network Services",
1715         "type": "web",
1716         "vendor": "Palm",
1717         "version": "1.0.0",
1718 -       "visible": false
1719 +       "visible": true
1720  }
1721 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/en/gb/views/preflist/preflist-scene.html
1722 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/en/gb/views/preflist/preflist-scene.html
1723 @@ -1,13 +1,19 @@
1724  
1725 -         <div class="palm-page-header multi-line">
1726 +         <div class="palm-page-header">
1727                 <div class="palm-page-header-wrapper">
1728                  <div class="icon phone"></div>
1729               <div class="title">
1730 -                        Phone Preferences      
1731 +                        Network Services
1732            </div>
1733 +               <div class="header-sliding-toggle">
1734 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
1735 +                       </div> 
1736         </div>
1737           </div>
1738         
1739 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1740 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>You have turned off network services. Phone radio is also turned off so all phone activity is disabled.</div>
1741 +       </div>
1742         
1743    <div id='phonepref' style='display:none'>
1744  
1745 @@ -26,7 +32,7 @@
1746         </div>
1747         </div>
1748  
1749 -    <div class="palm-group">
1750 +<!--    <div class="palm-group">
1751          <div class="palm-group-title">
1752              When typing in dialpad
1753          </div>
1754 @@ -41,7 +47,7 @@
1755              </div>
1756          </div>
1757      </div>
1758 -
1759 +-->
1760      <div class="palm-group" id="xxcallforwarding">
1761          <div class="palm-group-title">
1762              CALL DIVERSION
1763 @@ -214,11 +220,7 @@
1764                 <div class="palm-list">
1765                         <div class="palm-row">
1766                                 <div class="palm-row-wrapper">
1767 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
1768 -                       </div>
1769 -                       <div class="left label">
1770 -                                DTMF tones
1771 -                       </div>
1772 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
1773                                 </div>
1774                         </div>
1775                 </div>
1776 @@ -419,7 +421,6 @@
1777                 </div>
1778         </div> 
1779         <div id="voicemailclear" x-mojo-element="Button" ></div>  
1780 -</div>
1781  
1782  
1783  <div id="phoneOffText" class="info-text" style='display:none'>
1784 @@ -431,4 +432,5 @@
1785                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
1786         </div>  
1787  </div>
1788 +</div>
1789  
1790 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/appinfo.json
1791 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/appinfo.json
1792 @@ -3,7 +3,7 @@
1793         "id": "com.palm.app.phoneprefs",
1794         "main": "../../index.html",
1795         "splashicon": "../../icon-256x256.png",
1796 -       "title": "Preferencias del teléfono",
1797 +       "title": "Servicios de red",
1798         "type": "web",
1799         "vendor": "Palm",
1800         "version": "1.0.0",
1801 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/views/preflist/preflist-scene.html
1802 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/views/preflist/preflist-scene.html
1803 @@ -1,13 +1,19 @@
1804  
1805 -         <div class="palm-page-header multi-line">
1806 +         <div class="palm-page-header">
1807                 <div class="palm-page-header-wrapper">
1808                  <div class="icon phone"></div>
1809               <div class="title">
1810 -                        Preferencias del teléfono      
1811 +                        Servicios de red
1812            </div>
1813 +               <div class="header-sliding-toggle">
1814 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
1815 +                       </div> 
1816         </div>
1817           </div>
1818         
1819 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1820 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>Has desactivado los servicios de red. La radio del teléfono también está apagada así que toda la actividad telefónica está desactivada.</div>
1821 +       </div>
1822         
1823    <div id='phonepref' style='display:none'>
1824  
1825 @@ -26,7 +32,7 @@
1826         </div>
1827         </div>
1828  
1829 -    <div class="palm-group">
1830 +<!--    <div class="palm-group">
1831          <div class="palm-group-title">
1832              Al escribir con teclado
1833          </div>
1834 @@ -41,7 +47,7 @@
1835              </div>
1836          </div>
1837      </div>
1838 -
1839 +-->
1840      <div class="palm-group" id="xxcallforwarding">
1841          <div class="palm-group-title">
1842              TRANSFERENCIA DE LLAMADAS
1843 @@ -214,11 +220,7 @@
1844                 <div class="palm-list">
1845                         <div class="palm-row">
1846                                 <div class="palm-row-wrapper">
1847 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
1848 -                       </div>
1849 -                       <div class="left label">
1850 -                                Tonos DTMF
1851 -                       </div>
1852 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
1853                                 </div>
1854                         </div>
1855                 </div>
1856 @@ -419,7 +421,6 @@
1857                 </div>
1858         </div> 
1859         <div id="voicemailclear" x-mojo-element="Button" ></div>  
1860 -</div>
1861  
1862  
1863  <div id="phoneOffText" class="info-text" style='display:none'>
1864 @@ -431,4 +432,5 @@
1865                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
1866         </div>  
1867  </div>
1868 +</div>
1869  
1870 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/strings.json
1871 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/strings.json
1872 @@ -392,5 +392,6 @@
1873         "You need a network connection to your wireless service provider to see some settings.": "Necesitas una conexión de red a tu proveedor de servicio inalámbrico para ver algunas configuraciones.",
1874         "Your settings could not be validated. If you believe these settings are correct, try again in a few minutes. For assistance, call your service provider.": "No se pudo validar tu configuración. Si piensas que esa configuración es correcta, vuelve a intentar en unos minutos.  Para obtener ayuda, llama a tu proveedor de servicios.",
1875         "Zero": "Cero",
1876 -       "Zimbabwe": "Zimbabue"
1877 +       "Zimbabwe": "Zimbabue",
1878 +       "DTMF Tones": "Tonos DTMF"
1879  }
1880 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/es/appinfo.json
1881 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/es/appinfo.json
1882 @@ -3,9 +3,9 @@
1883         "id": "com.palm.app.phoneprefs",
1884         "main": "../../../index.html",
1885         "splashicon": "../../../icon-256x256.png",
1886 -       "title": "Preferencias del teléfono",
1887 +       "title": "Servicios de red",
1888         "type": "web",
1889         "vendor": "Palm",
1890         "version": "1.0.0",
1891 -       "visible": false
1892 +       "visible": true
1893  }
1894 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/es/views/preflist/preflist-scene.html
1895 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/es/views/preflist/preflist-scene.html
1896 @@ -1,13 +1,19 @@
1897  
1898 -         <div class="palm-page-header multi-line">
1899 +         <div class="palm-page-header">
1900                 <div class="palm-page-header-wrapper">
1901                  <div class="icon phone"></div>
1902               <div class="title">
1903 -                        Preferencias del teléfono      
1904 +                        Servicios de red
1905            </div>
1906 +               <div class="header-sliding-toggle">
1907 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
1908 +                       </div> 
1909         </div>
1910           </div>
1911         
1912 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
1913 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>Has desactivado los servicios de red. La radio del teléfono también está apagada así que toda la actividad telefónica está desactivada.</div>
1914 +       </div>
1915         
1916    <div id='phonepref' style='display:none'>
1917  
1918 @@ -26,7 +32,7 @@
1919         </div>
1920         </div>
1921  
1922 -    <div class="palm-group">
1923 +<!--    <div class="palm-group">
1924          <div class="palm-group-title">
1925              Al escribir con teclado
1926          </div>
1927 @@ -41,7 +47,7 @@
1928              </div>
1929          </div>
1930      </div>
1931 -
1932 +-->
1933      <div class="palm-group" id="xxcallforwarding">
1934          <div class="palm-group-title">
1935              TRANSFERENCIA DE LLAMADAS
1936 @@ -214,11 +220,7 @@
1937                 <div class="palm-list">
1938                         <div class="palm-row">
1939                                 <div class="palm-row-wrapper">
1940 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
1941 -                       </div>
1942 -                       <div class="left label">
1943 -                                Tonos DTMF
1944 -                       </div>
1945 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
1946                                 </div>
1947                         </div>
1948                 </div>
1949 @@ -419,7 +421,6 @@
1950                 </div>
1951         </div> 
1952         <div id="voicemailclear" x-mojo-element="Button" ></div>  
1953 -</div>
1954  
1955  
1956  <div id="phoneOffText" class="info-text" style='display:none'>
1957 @@ -431,4 +432,5 @@
1958                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
1959         </div>  
1960  </div>
1961 +</div>
1962  
1963 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/es/mx/appinfo.json
1964 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/es/mx/appinfo.json
1965 @@ -3,9 +3,9 @@
1966         "id": "com.palm.app.phoneprefs",
1967         "main": "../../../index.html",
1968         "splashicon": "../../../icon-256x256.png",
1969 -       "title": "Preferencias del teléfono",
1970 +       "title": "Servicios de red",
1971         "type": "web",
1972         "vendor": "Palm",
1973         "version": "1.0.0",
1974 -       "visible": false
1975 +       "visible": true
1976  }
1977 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/fr/appinfo.json
1978 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/fr/appinfo.json
1979 @@ -3,7 +3,7 @@
1980         "id": "com.palm.app.phoneprefs",
1981         "main": "../../index.html",
1982         "splashicon": "../../icon-256x256.png",
1983 -       "title": "Préférences téléphone",
1984 +       "title": "Services réseau",
1985         "type": "web",
1986         "vendor": "Palm",
1987         "version": "1.0.0",
1988 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/fr/views/preflist/preflist-scene.html
1989 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/fr/views/preflist/preflist-scene.html
1990 @@ -1,13 +1,19 @@
1991  
1992 -         <div class="palm-page-header multi-line">
1993 +         <div class="palm-page-header">
1994                 <div class="palm-page-header-wrapper">
1995                  <div class="icon phone"></div>
1996               <div class="title">
1997 -                        Préférences téléphone      
1998 +                        Services réseau
1999            </div>
2000 +               <div class="header-sliding-toggle">
2001 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
2002 +                       </div> 
2003         </div>
2004           </div>
2005         
2006 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
2007 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>Vous avez désactivé les services réseau. Le réseau téléphonique est également inactif. Ainsi, toute activité téléphonique est désactivée.</div>
2008 +       </div>
2009         
2010    <div id='phonepref' style='display:none'>
2011  
2012 @@ -26,7 +32,7 @@
2013         </div>
2014         </div>
2015  
2016 -    <div class="palm-group">
2017 +<!--    <div class="palm-group">
2018          <div class="palm-group-title">
2019              Pendant la numér. sur le clavier
2020          </div>
2021 @@ -41,7 +47,7 @@
2022              </div>
2023          </div>
2024      </div>
2025 -
2026 +-->
2027      <div class="palm-group" id="xxcallforwarding">
2028          <div class="palm-group-title">
2029              TRANSFERT D’APPEL
2030 @@ -214,11 +220,7 @@
2031                 <div class="palm-list">
2032                         <div class="palm-row">
2033                                 <div class="palm-row-wrapper">
2034 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
2035 -                       </div>
2036 -                       <div class="left label">
2037 -                                Tonalités DTMF
2038 -                       </div>
2039 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
2040                                 </div>
2041                         </div>
2042                 </div>
2043 @@ -419,7 +421,6 @@
2044                 </div>
2045         </div> 
2046         <div id="voicemailclear" x-mojo-element="Button" ></div>  
2047 -</div>
2048  
2049  
2050  <div id="phoneOffText" class="info-text" style='display:none'>
2051 @@ -431,4 +432,5 @@
2052                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
2053         </div>  
2054  </div>
2055 +</div>
2056  
2057 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/fr/strings.json
2058 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/fr/strings.json
2059 @@ -400,5 +400,6 @@
2060         "You need a network connection to your wireless service provider to see some settings.": "Vous devez avoir une connexion au réseau de votre fournisseur de télécoms sans fil pour voir certains paramètres.",
2061         "Your settings could not be validated. If you believe these settings are correct, try again in a few minutes. For assistance, call your service provider.": "Impossible de valider vos paramètres. Si vous pensez qu’ils sont corrects, réessayez dans quelques minutes. Appelez votre fournisseur de service pour toute assistance.",
2062         "Zambia": "Zambie",
2063 -       "Zero": "Zéro"
2064 +       "Zero": "Zéro",
2065 +       "DTMF Tones": "Tonalités DTMF"
2066  }
2067 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/fr/ca/appinfo.json
2068 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/fr/ca/appinfo.json
2069 @@ -3,9 +3,9 @@
2070         "id": "com.palm.app.phoneprefs",
2071         "main": "../../../index.html",
2072         "splashicon": "../../../icon-256x256.png",
2073 -       "title": "Préférences téléphone",
2074 +       "title": "Services réseau",
2075         "type": "web",
2076         "vendor": "Palm",
2077         "version": "1.0.0",
2078 -       "visible": false
2079 +       "visible": true
2080  }
2081 --- .orig/usr/palm/applications/com.palm.app.phoneprefs/resources/fr/ca/views/preflist/preflist-scene.html
2082 +++ /usr/palm/applications/com.palm.app.phoneprefs/resources/fr/ca/views/preflist/preflist-scene.html
2083 @@ -1,13 +1,19 @@
2084  
2085 -         <div class="palm-page-header multi-line">
2086 +         <div class="palm-page-header">
2087                 <div class="palm-page-header-wrapper">
2088                  <div class="icon phone"></div>
2089               <div class="title">
2090 -                        Préférences téléphone      
2091 +                        Services réseau
2092            </div>
2093 +               <div class="header-sliding-toggle">
2094 +                       <div x-mojo-element="ToggleButton" id="phoneradioonoff" class="header-toggle-button"></div>                               
2095 +                       </div> 
2096         </div>
2097           </div>
2098         
2099 +       <div id="turnedofftext" class="palm-body-text" style="display:none;">
2100 +               <div class="section" style="padding-top:10px;text-align:justify;" x-mojo-loc=''>Vous avez désactivé les services réseau. Le réseau téléphonique est également inactif. Ainsi, toute activité téléphonique est désactivée.</div>
2101 +       </div>
2102         
2103    <div id='phonepref' style='display:none'>
2104  
2105 @@ -26,7 +32,7 @@
2106         </div>
2107         </div>
2108  
2109 -    <div class="palm-group">
2110 +<!--    <div class="palm-group">
2111          <div class="palm-group-title">
2112              Pendant la numér. sur le clavier
2113          </div>
2114 @@ -41,7 +47,7 @@
2115              </div>
2116          </div>
2117      </div>
2118 -
2119 +-->
2120      <div class="palm-group" id="xxcallforwarding">
2121          <div class="palm-group-title">
2122              TRANSFERT D’APPEL
2123 @@ -214,11 +220,7 @@
2124                 <div class="palm-list">
2125                         <div class="palm-row">
2126                                 <div class="palm-row-wrapper">
2127 -                                       <div id="dtmfSelector" class='spinner' x-mojo-element="ListSelector">
2128 -                       </div>
2129 -                       <div class="left label">
2130 -                                Tonalités DTMF
2131 -                       </div>
2132 +                                       <div id="dtmfSelector" x-mojo-element="ListSelector" class="right"></div>
2133                                 </div>
2134                         </div>
2135                 </div>
2136 @@ -419,7 +421,6 @@
2137                 </div>
2138         </div> 
2139         <div id="voicemailclear" x-mojo-element="Button" ></div>  
2140 -</div>
2141  
2142  
2143  <div id="phoneOffText" class="info-text" style='display:none'>
2144 @@ -431,4 +432,5 @@
2145                 <center><div x-mojo-element="Spinner" id="initial-query-spinner"></div></center>
2146         </div>