You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Lisa Seacat DeLuca (JIRA)" <ji...@apache.org> on 2014/09/18 18:49:34 UTC

[jira] [Updated] (CB-7590) Cordova W3C Battery Alignment - levelchange event

     [ https://issues.apache.org/jira/browse/CB-7590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lisa Seacat DeLuca updated CB-7590:
-----------------------------------
    Description: 
JIRA parent issue: https://issues.apache.org/jira/browse/CB-6065 
Cordova documentation: https://github.com/apache/cordova-plugin-battery-status/blob/master/doc/index.md 
w3c spec: http://www.w3.org/TR/battery-status 

Gap analysis document can be found here: https://docs.google.com/document/d/1mAcjwf39IcIqpIuS-7SzlDxTgk4OebCHae6yfOwnStE/edit?usp=sharing

levelchange event. When the battery level is updated, the user agent mustqueue a task which sets the level attribute's value and fires a simple eventnamed levelchange at the BatteryManager object.
event handler: onlevelchange
Example:
// We get the initial value when the promise resolves ...
navigator.getBattery().then(function(battery) {
  console.log(battery.level);
  // ... and any subsequent updates.
  battery.onlevelchange = function() {
    console.log(this.level);
  };
});
Example 2 (Alternative):
navigator.getBattery().then(function(battery) {
  console.log(battery.level);
  battery.addEventListener('levelchange', function() {
    console.log(this.level);
  });
});

  was:
JIRA parent issue: https://issues.apache.org/jira/browse/CB-6065 
Cordova documentation: https://github.com/apache/cordova-plugin-battery-status/blob/master/doc/index.md 
w3c spec: http://www.w3.org/TR/battery-status 

Gap analysis document can be found here: https://docs.google.com/document/d/1mAcjwf39IcIqpIuS-7SzlDxTgk4OebCHae6yfOwnStE/edit?usp=sharing

The BatteryManager object should have a readonly property called level.  The level attribute must be set to 0 if the system's battery is depleted and the system is about to be suspended, and to 1.0 if the battery is full, the implementation is unable to report the battery's level, or there is no battery attached to the system. 
Mulitple Batteries. level attribute.  The level attribute can be set to the average of the levels of batteries of same capacity, or the weighted average of the battery level attributes for batteries of different capacities.
Example:
// We get the initial value when the promise resolves ...
navigator.getBattery().then(function(battery) {
  console.log(battery.level);
  // ... and any subsequent updates.
  battery.onlevelchange = function() {
    console.log(this.level);
  };
});
Example 2 (Alternative):
navigator.getBattery().then(function(battery) {
  console.log(battery.level);
  battery.addEventListener('levelchange', function() {
    console.log(this.level);
  });
});




> Cordova W3C Battery Alignment - levelchange event
> -------------------------------------------------
>
>                 Key: CB-7590
>                 URL: https://issues.apache.org/jira/browse/CB-7590
>             Project: Apache Cordova
>          Issue Type: Sub-task
>          Components: Plugin Battery Status
>            Reporter: Lisa Seacat DeLuca
>
> JIRA parent issue: https://issues.apache.org/jira/browse/CB-6065 
> Cordova documentation: https://github.com/apache/cordova-plugin-battery-status/blob/master/doc/index.md 
> w3c spec: http://www.w3.org/TR/battery-status 
> Gap analysis document can be found here: https://docs.google.com/document/d/1mAcjwf39IcIqpIuS-7SzlDxTgk4OebCHae6yfOwnStE/edit?usp=sharing
> levelchange event. When the battery level is updated, the user agent mustqueue a task which sets the level attribute's value and fires a simple eventnamed levelchange at the BatteryManager object.
> event handler: onlevelchange
> Example:
> // We get the initial value when the promise resolves ...
> navigator.getBattery().then(function(battery) {
>   console.log(battery.level);
>   // ... and any subsequent updates.
>   battery.onlevelchange = function() {
>     console.log(this.level);
>   };
> });
> Example 2 (Alternative):
> navigator.getBattery().then(function(battery) {
>   console.log(battery.level);
>   battery.addEventListener('levelchange', function() {
>     console.log(this.level);
>   });
> });



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)