Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(859)

Side by Side Diff: chrome/browser/resources/chromeos/emulator/battery_settings.js

Issue 1256303002: Creating Ui for Battery State Option in Chrome Os Emulator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Indents Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var BatterySettings = Polymer({ 5 var BatterySettings = Polymer({
6 is: 'battery-settings', 6 is: 'battery-settings',
7 7
8 properties: { 8 properties: {
9 /** 9 /**
10 * The system's battery percentage. 10 * The system's battery percentage.
11 */ 11 */
12 batteryPercent: { 12 batteryPercent: {
13 type: Number, 13 type: Number,
14 observer: 'batteryPercentChanged',
14 }, 15 },
15 16
16 /** 17 /**
17 * A string representing the value of an 18 * A string representing a value in the
19 * PowerSupplyProperties_BatteryState enumeration.
20 */
21 batteryState: {
22 type: String,
23 observer: 'batteryStateChanged',
24 },
25
26 /**
27 * An array representing the battery state options.
28 * The names are ordered based on the
29 * PowerSupplyProperties_BatteryState enumeration. These values must be
30 * in sync.
31 */
32 batteryStateOptions: {
33 type: Array,
34 value: function() { return ['Full', 'Charging', 'Disharging',
35 'Not Present']; },
36 },
37
38 /**
39 * A string representing a value in the
18 * PowerSupplyProperties_ExternalPower enumeration. 40 * PowerSupplyProperties_ExternalPower enumeration.
19 */ 41 */
20 externalPower: { 42 externalPower: {
21 type: String, 43 type: String,
44 observer: 'externalPowerChanged',
22 }, 45 },
23 46
24 /** 47 /**
25 * An array representing the external power options. 48 * An array representing the external power options.
26 * The names are ordered based on the 49 * The names are ordered based on the
27 * PowerSupplyProperties_ExternalPower enumeration. These values must be 50 * PowerSupplyProperties_ExternalPower enumeration. These values must be
28 * in sync. 51 * in sync.
29 */ 52 */
30 externalPowerOptions: { 53 externalPowerOptions: {
31 type: Array, 54 type: Array,
32 value: function() { return ['AC', 'USB (Low Power)', 'Disconnected']; } 55 value: function() { return ['AC', 'USB (Low Power)', 'Disconnected']; }
33 }, 56 },
34 57
35 /** 58 /**
36 * A string representing the time left until the battery is discharged. 59 * A string representing the time left until the battery is discharged.
37 */ 60 */
38 timeUntilEmpty: { 61 timeUntilEmpty: {
39 type: String, 62 type: String,
63 observer: 'timeUntilEmptyChanged',
40 }, 64 },
41 65
42 /** 66 /**
43 * A string representing the time left until the battery is at 100%. 67 * A string representing the time left until the battery is at 100%.
44 */ 68 */
45 timeUntilFull: { 69 timeUntilFull: {
46 type: String, 70 type: String,
71 observer: 'timeUntilFullChanged',
47 }, 72 },
48 73
49 /** 74 /**
50 * The title for the settings section. 75 * The title for the settings section.
51 */ 76 */
52 title: { 77 title: {
53 type: String, 78 type: String,
54 }, 79 },
55 }, 80 },
56 81
57 ready: function() { 82 ready: function() {
58 this.title = 'Power Settings'; 83 this.title = 'Power Settings';
59 }, 84 },
60 85
61 observers: [ 86 batteryPercentChanged: function(percent, oldPercent) {
62 'batteryPercentChanged(batteryPercent)', 87 if (oldPercent != undefined)
63 'externalPowerChanged(externalPower)', 88 chrome.send('updateBatteryPercent', [parseInt(percent)]);
64 'timeUntilEmptyChanged(timeUntilEmpty)', 89 },
65 'timeUntilFullChanged(timeUntilFull)',
66 ],
67 90
68 batteryPercentChanged: function(percent) { 91 batteryStateChanged: function(state) {
69 chrome.send('updateBatteryPercent', [parseInt(percent)]); 92 // Find the index of the selected battery state.
93 var index = this.batteryStateOptions.indexOf(state);
94 if (index >= 0)
95 chrome.send('updateBatteryState', [index]);
70 }, 96 },
71 97
72 externalPowerChanged: function(source) { 98 externalPowerChanged: function(source) {
73 var index = -1;
74
75 // Find the index of the selected power source. 99 // Find the index of the selected power source.
76 for (var i = 0; i < this.externalPowerOptions.length; i++) { 100 var index = this.externalPowerOptions.indexOf(source);
77 if (this.externalPowerOptions[i] == source) {
78 index = i;
79 break;
80 }
81 }
82
83 if (index >= 0) 101 if (index >= 0)
84 chrome.send('updateExternalPower', [index]); 102 chrome.send('updateExternalPower', [index]);
85 }, 103 },
86 104
87 timeUntilEmptyChanged: function(time) { 105 timeUntilEmptyChanged: function(time, oldTime) {
88 chrome.send('updateTimeToEmpty', [parseInt(time)]); 106 if (oldTime != undefined)
107 chrome.send('updateTimeToEmpty', [parseInt(time)]);
89 }, 108 },
90 109
91 timeUntilFullChanged: function(time) { 110 timeUntilFullChanged: function(time, oldTime) {
92 chrome.send('updateTimeToFull', [parseInt(time)]); 111 if (oldTime != undefined)
112 chrome.send('updateTimeToFull', [parseInt(time)]);
93 }, 113 },
94 114
95 updatePowerProperties: function(percent, external_power, empty, full) { 115 updatePowerProperties: function(power_properties) {
96 this.batteryPercent = percent; 116 this.batteryPercent = power_properties.battery_percent;
97 this.externalPower = this.externalPowerOptions[external_power]; 117 this.batteryState =
98 this.timeUntilEmpty = empty; 118 this.batteryStateOptions[power_properties.battery_state];
99 this.timeUntilFull = full; 119 this.externalPower =
120 this.externalPowerOptions[power_properties.external_power];
121 this.timeUntilEmpty = power_properties.battery_time_to_empty_sec;
122 this.timeUntilFull = power_properties.battery_time_to_full_sec;
100 } 123 }
101 }); 124 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698