Difference between revisions of "Patch webOS Screenlock On While Connected"

From WebOS Internals
Jump to navigation Jump to search
(New page: This patch will allow you to toggle the onWhenConnected bit via the "Screen & Lock" app. <source lang="diff"> diff --git a/app/controllers/securityconfig-assistant.js b/app/controllers/se...)
 
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This patch will allow you to toggle the onWhenConnected bit via the "Screen & Lock" app.
+
{{template:patch}}
 +
<table cellpadding="10">
 +
<tr>
 +
  <td>This patch will allow you to toggle the ''onWhenConnected'' bit via the "Screen & Lock" app which keeps the Pre powered on while its connected to a power supply.
  
 +
'''I applied this patch by hand by editing the specified files and creating DisplayService.js. 
 +
 +
It works, but I'd say don't try to apply this patch in the automated method because there are some differences in the line numbers.'''
 +
-pitcjd01
 
<source lang="diff">
 
<source lang="diff">
diff --git a/app/controllers/securityconfig-assistant.js b/app/controllers/securityconfig-assistant.js
+
diff --git a/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js b/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
index 3260f78..d6accfd 100644                                                                        
+
index 3260f78..3979abe 100644
--- a/app/controllers/securityconfig-assistant.js                                                    
+
--- a/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
+++ b/app/controllers/securityconfig-assistant.js                                                    
+
+++ b/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
@@ -6,12 +6,17 @@ var SecurityconfigAssistant = Class.create({                                      
+
@@ -6,6 +6,7 @@ var SecurityconfigAssistant = Class.create({
                this.dialogBox = null;                                                              
+
this.dialogBox = null;
                this.getSystemlockModeReq = SystemService.getSystemlockMode(this.handleSystemlockMode.bind(this));
+
this.getSystemlockModeReq = SystemService.getSystemlockMode(this.handleSystemlockMode.bind(this));
                this.getSystemAlertsSetting = SystemService.getShowAlertWhenLocked(this.updateAlertSettings.bind(this));
+
this.getSystemAlertsSetting = SystemService.getShowAlertWhenLocked(this.updateAlertSettings.bind(this));
+               this.getStayOnSetting = DisplayService.getStayOnWhenConnected(this.updateStayOnSettings.bind(this));  
+
+ this.getStayOnSetting = DisplayService.getStayOnWhenConnected(this.updateStayOnSettings.bind(this));
        },                                                                                                            
+
},
                                                                                                                       
+
        onOffToggleOpt: {                                                                                              
+
onOffToggleOpt: {
        modelProperty: 'value',                                                                                      
+
@@ -13,6 +14,10 @@ var SecurityconfigAssistant = Class.create({
         enableProp: 'enabled',                                                                                        
+
         enableProp: 'enabled',      
     },                                                                                                                
+
     },
+                                                                                                                     
+
   
 
+    stayOnToggleModel: {                                                                                               
 
+    stayOnToggleModel: {                                                                                               
 
+        value: false,                                                                                                   
 
+        value: false,                                                                                                   
+    },                                                                                                                
+
+    },
                                                                                                                       
+
+
     switchApptoggleModel: {                                                                                          
+
     switchApptoggleModel: {
         value: false,                                                                                                
+
         value: false,
@@ -34,6 +39,9 @@ var SecurityconfigAssistant = Class.create({                                                        
+
    },
        },                                                                                                            
+
@@ -34,6 +39,9 @@ var SecurityconfigAssistant = Class.create({
                                                                                                                       
+
  },
        setup: function(){                                                                                            
+
+                                                                                                                      
+
setup: function(){
 +
+
 
+                this.controller.setupWidget('stayOnWhenConnected', this.onOffToggleOpt, this.stayOnToggleModel);       
 
+                this.controller.setupWidget('stayOnWhenConnected', this.onOffToggleOpt, this.stayOnToggleModel);       
 
+                Mojo.Event.listen($('stayOnWhenConnected'),'mojo-property-change', this.toggleStayOnWhenConnected.bindAsEventListener(this));
 
+                Mojo.Event.listen($('stayOnWhenConnected'),'mojo-property-change', this.toggleStayOnWhenConnected.bindAsEventListener(this));
                                                                                                                                             
+
                this.controller.setupWidget('showAlerts', this.onOffToggleOpt, this.alertToggleModel);                                      
+
this.controller.setupWidget('showAlerts', this.onOffToggleOpt, this.alertToggleModel);
                Mojo.Event.listen($('showAlerts'),'mojo-property-change', this.toggleShowAlerts.bindAsEventListener(this));                  
+
Mojo.Event.listen($('showAlerts'),'mojo-property-change', this.toggleShowAlerts.bindAsEventListener(this));
@@ -297,6 +305,12 @@ var SecurityconfigAssistant = Class.create({                                                                            
+
@@ -298,6 +306,12 @@ var SecurityconfigAssistant = Class.create({
                else                                                                                                                         
+
$('lockImg').hide();
                        $('lockImg').hide();                                                                                                
+
},
        },                                                                                                                                  
+
+                                                                                                                                           
+
+        toggleStayOnWhenConnected: function(event) {
+        toggleStayOnWhenConnected: function(event) {                                                                                        
+
+                if(!event)
+                if(!event)                                                                                                                
+
+                        return;
+                        return;                                                                                                            
+
+                DisplayService.setStayOnWhenConnected(event.value);
+                DisplayService.setStayOnWhenConnected(event.value);                                                                        
+
+        },
+        },                                                                                                                                  
+
+
                                                                                                                                             
+
toggleShowAlerts: function(event) {
        toggleShowAlerts: function(event) {                                                                                                  
+
if(!event)
                if(!event)                                                                                                                  
+
return;
@@ -340,6 +354,17 @@ var SecurityconfigAssistant = Class.create({                                                                            
+
@@ -341,6 +355,17 @@ var SecurityconfigAssistant = Class.create({
                        this.controller.modelChanged(this.timerModel,this);                                                                 
+
}
                }                                                                                                                            
+
},
        },                                                                                                                                  
+
+                                                                                                                                           
 
 
+        updateStayOnSettings: function(payload){                                                                                             
 
+        updateStayOnSettings: function(payload){                                                                                             
 
+                                                                                                                                             
 
+                                                                                                                                             
Line 61: Line 68:
 
+                }                                                                                                                             
 
+                }                                                                                                                             
 
+                                                                                                                                             
 
+                                                                                                                                             
+        },                                                                                                                                  
+
+        },
                                                                                                                                             
+
+
        updateAlertSettings: function(payload){                                                                                              
+
updateAlertSettings: function(payload){
                                                                                                                                             
+
diff --git a/app/views/securityconfig/securityconfig-scene.html b/app/views/securityconfig/securityconfig-scene.html                         
+
if (!payload)
index f99b124..68aa307 100644                                                                                                               
+
diff --git a/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js b/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js
--- a/app/views/securityconfig/securityconfig-scene.html                                                                                     
+
new file mode 100644
+++ b/app/views/securityconfig/securityconfig-scene.html                                                                                     
+
index 0000000..0f72c04
@@ -26,6 +26,19 @@                                                                                                                          
+
--- /dev/null
                        </div>                                                                                                               
+
+++ b/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js
                </div>                                                                                                                       
+
@@ -0,0 +1,24 @@
        </div>                                                                                                                             
+
+var DisplayService = Class.create({
+       <div class="palm-group">                                                                                                             
+
+      initialize: function() {
+               <div class="palm-group-title capitalize">                                                                                   
+
+      }
+                       <span x-mojo-loc=''>Advanced Power Options</span>                                                                   
+
+});
+               </div>                                                                                                                       
+
+
+               <div class="palm-list">                                                                                                     
+
+DisplayService.identifier = 'palm://com.palm.display/control';
+                       <div class="palm-row single">                                                                                       
+
+
+                               <div class="palm-row-wrapper">                                                                               
+
+DisplayService.getStayOnWhenConnected = function(callback) {
+                                       <div x-mojo-element="ToggleButton" id="stayOnWhenConnected"></div>                                   
+
+       var request = new Mojo.Service.Request(DisplayService.identifier, {
+                                       <div class="title capitalize" x-mojo-loc=''>On When Connected</div>                                 
+
+                       method: 'getProperty',
+                              </div>                                                                                                       
+
+                       parameters: {"properties":["onWhenConnected"]},
+                      </div>                                                                                                               
+
+                       onSuccess: callback,
+              </div>                                                                                                                       
+
+                      onFailure: callback
+       </div>                                                                                                                             
+
+              });
        <div class="palm-group">                                                                                                           
+
+       return request;
                <div class="palm-group-title capitalize">
+
+}
                        <span x-mojo-loc=''>Wallpaper</span>
 
@@ -92,5 +105,5 @@
 
                </div>
 
        </div>
 
 
 
-
 
-</div>
 
\ No newline at end of file
 
 
+
 
+
+</div>
+
+DisplayService.setStayOnWhenConnected = function(value) {
diff --git a/index.html b/index.html
+
+      var request = new Mojo.Service.Request(DisplayService.identifier, {
index 4f999c0..b39a0d3 100644
+
+                      method: 'setProperty',
--- a/index.html
+
+                      parameters: {onWhenConnected:value}
+++ b/index.html
+
+              });
 +
+      return request;
 +
+}
 +
diff --git a/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html b/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html
 +
index f99b124..5a5b880 100644
 +
--- a/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html
 +
+++ b/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html
 +
@@ -26,6 +26,19 @@
 +
</div>
 +
</div>
 +
</div>
 +
+        <div class="palm-group">
 +
+                <div class="palm-group-title capitalize">
 +
+                      <span x-mojo-loc=''>Advanced Power Options</span>
 +
+                </div>
 +
+                <div class="palm-list">
 +
+                        <div class="palm-row single">
 +
+                                <div class="palm-row-wrapper">
 +
+                                        <div x-mojo-element="ToggleButton" id="stayOnWhenConnected"></div>
 +
+                                        <div class="title capitalize" x-mojo-loc=''>On When Connected</div>
 +
+                                </div>
 +
+                        </div>
 +
+                </div>
 +
+        </div>
 +
<div class="palm-group">
 +
<div class="palm-group-title capitalize">
 +
<span x-mojo-loc=''>Wallpaper</span>
 +
diff --git a/usr/palm/applications/com.palm.app.screenlock/index.html b/usr/palm/applications/com.palm.app.screenlock/index.html
 +
index 4f999c0..0dc9b6b 100644
 +
--- a/usr/palm/applications/com.palm.app.screenlock/index.html
 +
+++ b/usr/palm/applications/com.palm.app.screenlock/index.html
 
@@ -11,6 +11,7 @@
 
@@ -11,6 +11,7 @@
          Mojo.loadScript('app/controllers/securityconfig-assistant.js');
+
  Mojo.loadScript('app/controllers/securityconfig-assistant.js');
          Mojo.loadScript('app/controllers/pin-assistant.js');
+
  Mojo.loadScript('app/controllers/pin-assistant.js');
          Mojo.loadScript('app/models/SystemService.js');
+
  Mojo.loadScript('app/models/SystemService.js');  
+         Mojo.loadScript('app/models/DisplayService.js');
+
+         Mojo.loadScript('app/models/DisplayService.js');
 
     </script>
 
     </script>
 
   <link href="stylesheets/screenlock.css" media="screen" rel="stylesheet" type="text/css" />
 
   <link href="stylesheets/screenlock.css" media="screen" rel="stylesheet" type="text/css" />
 
  </head>
 
  </head>
 
</source>
 
</source>
 +
  </td>
 +
  <td valign="top">[[Image:PalmAppMod-screenlock_OnWhenConnect.png]]</td>
 +
</tr>
 +
</table>

Latest revision as of 05:12, 12 August 2009


This patch will allow you to toggle the onWhenConnected bit via the "Screen & Lock" app which keeps the Pre powered on while its connected to a power supply.

I applied this patch by hand by editing the specified files and creating DisplayService.js.

It works, but I'd say don't try to apply this patch in the automated method because there are some differences in the line numbers. -pitcjd01 <source lang="diff"> diff --git a/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js b/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js index 3260f78..3979abe 100644 --- a/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js +++ b/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js @@ -6,6 +6,7 @@ var SecurityconfigAssistant = Class.create({

		this.dialogBox = null;
		this.getSystemlockModeReq = SystemService.getSystemlockMode(this.handleSystemlockMode.bind(this));
		this.getSystemAlertsSetting = SystemService.getShowAlertWhenLocked(this.updateAlertSettings.bind(this));				

+ this.getStayOnSetting = DisplayService.getStayOnWhenConnected(this.updateStayOnSettings.bind(this));

	},
	
	onOffToggleOpt: {

@@ -13,6 +14,10 @@ var SecurityconfigAssistant = Class.create({

        enableProp: 'enabled',        
    },
    

+ stayOnToggleModel: { + value: false, + }, +

    switchApptoggleModel: {
        value: false,
    },

@@ -34,6 +39,9 @@ var SecurityconfigAssistant = Class.create({

  	},
		
	setup: function(){

+ + this.controller.setupWidget('stayOnWhenConnected', this.onOffToggleOpt, this.stayOnToggleModel); + Mojo.Event.listen($('stayOnWhenConnected'),'mojo-property-change', this.toggleStayOnWhenConnected.bindAsEventListener(this));

		this.controller.setupWidget('showAlerts', this.onOffToggleOpt, this.alertToggleModel);
		Mojo.Event.listen($('showAlerts'),'mojo-property-change', this.toggleShowAlerts.bindAsEventListener(this));

@@ -298,6 +306,12 @@ var SecurityconfigAssistant = Class.create({

			$('lockImg').hide();
	},
		

+ toggleStayOnWhenConnected: function(event) { + if(!event) + return; + DisplayService.setStayOnWhenConnected(event.value); + }, +

	toggleShowAlerts: function(event) {
		if(!event)
			return;		

@@ -341,6 +355,17 @@ var SecurityconfigAssistant = Class.create({

		}		
	},	
	

+ updateStayOnSettings: function(payload){ + + if (!payload) + return; + if (payload.onWhenConnected != undefined) { + this.stayOnToggleModel.value = payload.onWhenConnected; + this.controller.modelChanged(this.stayOnToggleModel, this); + } + + }, +

	updateAlertSettings: function(payload){
		
		if (!payload) 

diff --git a/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js b/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js new file mode 100644 index 0000000..0f72c04 --- /dev/null +++ b/usr/palm/applications/com.palm.app.screenlock/app/models/DisplayService.js @@ -0,0 +1,24 @@ +var DisplayService = Class.create({ + initialize: function() { + } +}); + +DisplayService.identifier = 'palm://com.palm.display/control'; + +DisplayService.getStayOnWhenConnected = function(callback) { + var request = new Mojo.Service.Request(DisplayService.identifier, { + method: 'getProperty', + parameters: {"properties":["onWhenConnected"]}, + onSuccess: callback, + onFailure: callback + }); + return request; +} + +DisplayService.setStayOnWhenConnected = function(value) { + var request = new Mojo.Service.Request(DisplayService.identifier, { + method: 'setProperty', + parameters: {onWhenConnected:value} + }); + return request; +} diff --git a/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html b/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html index f99b124..5a5b880 100644 --- a/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html +++ b/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html @@ -26,6 +26,19 @@

+
+

+ Advanced Power Options

+
+
+
+
+
+
On When Connected
+
+
+
+
			Wallpaper

diff --git a/usr/palm/applications/com.palm.app.screenlock/index.html b/usr/palm/applications/com.palm.app.screenlock/index.html index 4f999c0..0dc9b6b 100644 --- a/usr/palm/applications/com.palm.app.screenlock/index.html +++ b/usr/palm/applications/com.palm.app.screenlock/index.html @@ -11,6 +11,7 @@

	  Mojo.loadScript('app/controllers/securityconfig-assistant.js');
	  Mojo.loadScript('app/controllers/pin-assistant.js');
	  Mojo.loadScript('app/models/SystemService.js');	  

+ Mojo.loadScript('app/models/DisplayService.js');

   </script>
  <link href="stylesheets/screenlock.css" media="screen" rel="stylesheet" type="text/css" />
</head>

</source>

PalmAppMod-screenlock OnWhenConnect.png