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

Side by Side Diff: chrome/browser/resources/settings/internet_page/network_siminfo.js

Issue 2189523003: MD Settings: Internet: Clean up SIM info and dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_609156_internet_cleanup_4
Patch Set: Fix comments Created 4 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
« no previous file with comments | « chrome/browser/resources/settings/internet_page/network_siminfo.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 /** 5 /**
6 * @fileoverview Polymer element for displaying and modifying a list of cellular 6 * @fileoverview Polymer element for displaying and modifying cellular sim info.
7 * access points.
8 */ 7 */
9 (function() { 8 (function() {
10 9
11 /** @enum {string} */ 10 /** @enum {string} */
12 var ErrorType = { 11 var ErrorType = {
13 NONE: 'none', 12 NONE: 'none',
14 INCORRECT_PIN: 'incorrect-pin', 13 INCORRECT_PIN: 'incorrect-pin',
15 INCORRECT_PUK: 'incorrect-puk', 14 INCORRECT_PUK: 'incorrect-puk',
16 MISMATCHED_PIN: 'mismatched-pin', 15 MISMATCHED_PIN: 'mismatched-pin',
17 INVALID_PIN: 'invalid-pin', 16 INVALID_PIN: 'invalid-pin',
18 INVALID_PUK: 'invalid-puk' 17 INVALID_PUK: 'invalid-puk'
19 }; 18 };
20 19
21 var PIN_MIN_LENGTH = 4; 20 var PIN_MIN_LENGTH = 4;
22 var PUK_MIN_LENGTH = 8; 21 var PUK_MIN_LENGTH = 8;
23 22
24 Polymer({ 23 Polymer({
25 is: 'network-siminfo', 24 is: 'network-siminfo',
26 25
27 properties: { 26 properties: {
28 /** 27 /**
29 * The network properties associated with the element. 28 * The network properties associated with the element.
30 * @type {!CrOnc.NetworkProperties|undefined} 29 * @type {!CrOnc.NetworkProperties|undefined}
31 */ 30 */
32 networkProperties: { 31 networkProperties: {
33 type: Object, 32 type: Object,
34 observer: 'networkPropertiesChanged_' 33 observer: 'networkPropertiesChanged_',
35 }, 34 },
36 35
37 /** Set to true when a PUK is required to unlock the SIM. */ 36 /** Set to true when a PUK is required to unlock the SIM. */
38 pukRequired: { 37 pukRequired: {
39 type: Boolean, 38 type: Boolean,
40 value: false, 39 value: false,
41 observer: 'pukRequiredChanged_' 40 observer: 'pukRequiredChanged_',
42 }, 41 },
43 42
44 /** 43 /**
45 * Set to an ErrorType value after an incorrect PIN or PUK entry. 44 * Set to an ErrorType value after an incorrect PIN or PUK entry.
46 * @type {ErrorType} 45 * @type {ErrorType}
47 */ 46 */
48 error: { 47 error: {
49 type: Object, 48 type: Object,
50 value: ErrorType.NONE 49 value: ErrorType.NONE,
51 }, 50 },
52 51
53 /** 52 /**
54 * Interface for networkingPrivate calls, passed from internet_page. 53 * Interface for networkingPrivate calls, passed from internet_page.
55 * @type {NetworkingPrivate} 54 * @type {NetworkingPrivate}
56 */ 55 */
57 networkingPrivate: { 56 networkingPrivate: {
58 type: Object, 57 type: Object,
59 }, 58 },
60 }, 59 },
61 60
62 sendSimLockEnabled_: false, 61 sendSimLockEnabled_: false,
63 62
64 /** Polymer networkProperties changed method. */
65 networkPropertiesChanged_: function() { 63 networkPropertiesChanged_: function() {
66 if (!this.networkProperties || !this.networkProperties.Cellular) 64 if (!this.networkProperties || !this.networkProperties.Cellular)
67 return; 65 return;
68 var simLockStatus = this.networkProperties.Cellular.SIMLockStatus; 66 var simLockStatus = this.networkProperties.Cellular.SIMLockStatus;
69 this.pukRequired = 67 this.pukRequired =
70 !!simLockStatus && simLockStatus.LockType == CrOnc.LockType.PUK; 68 !!simLockStatus && simLockStatus.LockType == CrOnc.LockType.PUK;
71 }, 69 },
72 70
73 /** Polymer networkProperties changed method. */
74 pukRequiredChanged_: function() { 71 pukRequiredChanged_: function() {
75 if (this.$.unlockPukDialog.opened) { 72 if (this.$.unlockPukDialog.opened) {
76 if (this.pukRequired) 73 if (this.pukRequired)
77 this.$.unlockPuk.focus(); 74 this.$.unlockPuk.focus();
78 else 75 else
79 this.$.unlockPukDialog.close(); 76 this.$.unlockPukDialog.close();
80 return; 77 return;
81 } 78 }
82 79
83 if (!this.pukRequired) 80 if (!this.pukRequired)
(...skipping 15 matching lines...) Expand all
99 showUnlockPuk = true; 96 showUnlockPuk = true;
100 } 97 }
101 if (!showUnlockPuk) 98 if (!showUnlockPuk)
102 return; 99 return;
103 100
104 this.error = ErrorType.NONE; 101 this.error = ErrorType.NONE;
105 this.$.unlockPukDialog.open(); 102 this.$.unlockPukDialog.open();
106 this.$.unlockPuk.focus(); 103 this.$.unlockPuk.focus();
107 }, 104 },
108 105
109 /** Polymer networkProperties changed method. */ 106 /**
107 * Opens the pin dialog when the sim lock enabled state changes.
108 * @param {Event} event
109 * @private
110 */
110 onSimLockEnabledChange_: function(event) { 111 onSimLockEnabledChange_: function(event) {
111 if (!this.networkProperties || !this.networkProperties.Cellular) 112 if (!this.networkProperties || !this.networkProperties.Cellular)
112 return; 113 return;
113 this.sendSimLockEnabled_ = event.target.checked; 114 this.sendSimLockEnabled_ = event.target.checked;
114 this.error = ErrorType.NONE; 115 this.error = ErrorType.NONE;
115 this.$.enterPinDialog.open(); 116 this.$.enterPinDialog.open();
116 }, 117 },
117 118
118 /** 119 /**
119 * Focuses the correct element when the dialog is opened. 120 * Focuses the correct element when the dialog is opened.
(...skipping 12 matching lines...) Expand all
132 */ 133 */
133 sendEnterPin_: function(event) { 134 sendEnterPin_: function(event) {
134 var guid = this.networkProperties && this.networkProperties.GUID; 135 var guid = this.networkProperties && this.networkProperties.GUID;
135 if (!guid) 136 if (!guid)
136 return; 137 return;
137 138
138 var pin = this.$.enterPin.value; 139 var pin = this.$.enterPin.value;
139 if (!this.validatePin_(pin)) 140 if (!this.validatePin_(pin))
140 return; 141 return;
141 142
142 var simState = /** @type {!CrOnc.CellularSimState} */({ 143 var simState = /** @type {!CrOnc.CellularSimState} */ ({
143 currentPin: pin, 144 currentPin: pin,
144 requirePin: this.sendSimLockEnabled_ 145 requirePin: this.sendSimLockEnabled_,
145 }); 146 });
146 this.networkingPrivate.setCellularSimState(guid, simState, function() { 147 this.networkingPrivate.setCellularSimState(guid, simState, function() {
147 if (chrome.runtime.lastError) { 148 if (chrome.runtime.lastError) {
148 this.error = ErrorType.INCORRECT_PIN; 149 this.error = ErrorType.INCORRECT_PIN;
149 } else { 150 } else {
150 this.error = ErrorType.NONE; 151 this.error = ErrorType.NONE;
151 this.$.enterPinDialog.close(); 152 this.$.enterPinDialog.close();
152 } 153 }
153 }.bind(this)); 154 }.bind(this));
154 }, 155 },
(...skipping 29 matching lines...) Expand all
184 */ 185 */
185 sendChangePin_: function(event) { 186 sendChangePin_: function(event) {
186 var guid = this.networkProperties && this.networkProperties.GUID; 187 var guid = this.networkProperties && this.networkProperties.GUID;
187 if (!guid) 188 if (!guid)
188 return; 189 return;
189 190
190 var newPin = this.$.changePinNew1.value; 191 var newPin = this.$.changePinNew1.value;
191 if (!this.validatePin_(newPin, this.$.changePinNew2.value)) 192 if (!this.validatePin_(newPin, this.$.changePinNew2.value))
192 return; 193 return;
193 194
194 var simState = /** @type {!CrOnc.CellularSimState} */({ 195 var simState = /** @type {!CrOnc.CellularSimState} */ ({
195 requirePin: true, 196 requirePin: true,
196 currentPin: this.$.changePinOld.value, 197 currentPin: this.$.changePinOld.value,
197 newPin: newPin 198 newPin: newPin
198 }); 199 });
199 this.networkingPrivate.setCellularSimState(guid, simState, function() { 200 this.networkingPrivate.setCellularSimState(guid, simState, function() {
200 if (chrome.runtime.lastError) { 201 if (chrome.runtime.lastError) {
201 this.error = ErrorType.INCORRECT_PIN; 202 this.error = ErrorType.INCORRECT_PIN;
202 } else { 203 } else {
203 this.error = ErrorType.NONE; 204 this.error = ErrorType.NONE;
204 this.$.changePinDialog.close(); 205 this.$.changePinDialog.close();
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 return; 287 return;
287 var pin = this.$.unlockPin1.value; 288 var pin = this.$.unlockPin1.value;
288 if (!this.validatePin_(pin, this.$.unlockPin2.value)) 289 if (!this.validatePin_(pin, this.$.unlockPin2.value))
289 return; 290 return;
290 291
291 this.networkingPrivate.unlockCellularSim(guid, pin, puk, function() { 292 this.networkingPrivate.unlockCellularSim(guid, pin, puk, function() {
292 if (chrome.runtime.lastError) { 293 if (chrome.runtime.lastError) {
293 this.error = ErrorType.INCORRECT_PUK; 294 this.error = ErrorType.INCORRECT_PUK;
294 } else { 295 } else {
295 this.error = ErrorType.NONE; 296 this.error = ErrorType.NONE;
296 this.$.unlockSimDialog.close(); 297 this.$.unlockPukDialog.close();
297 } 298 }
298 }.bind(this)); 299 }.bind(this));
299 }, 300 },
300 301
301 /** 302 /**
302 * @param {!CrOnc.NetworkProperties|undefined} networkProperties 303 * @return {boolean}
303 * @return {boolean} True if the Cellular SIM is locked.
304 * @private 304 * @private
305 */ 305 */
306 isSimLocked_: function(networkProperties) { 306 showSimLocked_: function(networkProperties) {
307 return !!networkProperties && CrOnc.isSimLocked(networkProperties); 307 if (!networkProperties || !networkProperties.Cellular ||
308 !networkProperties.Cellular.SIMPresent) {
309 return false;
310 }
311 return CrOnc.isSimLocked(networkProperties);
308 }, 312 },
309 313
310 /** 314 /**
311 * @param {!CrOnc.NetworkProperties|undefined} networkProperties 315 * @return {boolean}
312 * @return {string} The message for the number of retries left.
313 * @private 316 * @private
314 */ 317 */
315 getRetriesLeftMsg_: function(networkProperties) { 318 showSimUnlocked_: function(networkProperties) {
316 var retriesLeft = 319 if (!networkProperties || !networkProperties.Cellular ||
317 this.get('Cellular.SIMLockStatus.RetriesLeft', networkProperties) || 0; 320 !networkProperties.Cellular.SIMPresent) {
318 // TODO(stevenjb): Localize 321 return false;
319 return 'Retries left: ' + retriesLeft.toString(); 322 }
323 return !CrOnc.isSimLocked(networkProperties);
320 }, 324 },
321 325
322 /** 326 /**
323 * @param {string} error 327 * @return {string} The error message to display for |error|.
324 * @return {boolean} True if an error message should be shown for |error|.
325 * @private 328 * @private
326 */ 329 */
327 showError_: function(error) { 330 getErrorMsg_: function(error, networkProperties) {
328 return !!error && error != ErrorType.NONE; 331 if (error == ErrorType.NONE)
332 return '';
333 // TODO(stevenjb_: Translate
dschuyler 2016/07/29 19:13:19 // TODO(stevenjb): Translate changing _ to )
stevenjb 2016/07/30 23:56:32 Done.
334 var msg;
335 if (error == ErrorType.INCORRECT_PIN)
336 msg = 'Incorrect PIN.';
337 else if (error == ErrorType.INCORRECT_PUK)
338 msg = 'Incorrect PUK.';
339 else if (error == ErrorType.MISMATCHED_PIN)
340 msg = 'PIN values do not match.';
341 else if (error == ErrorType.INVALID_PIN)
342 msg = 'Invalid PIN.';
343 else if (error == ErrorType.INVALID_PUK)
344 msg = 'Invalid PUK.';
345 else
346 return 'UNKNOWN ERROR';
347 var retriesLeft =
348 this.get('Cellular.SIMLockStatus.RetriesLeft', networkProperties) || 0;
349 msg += ' Retries left: ' + retriesLeft.toString();
350 return msg;
329 }, 351 },
330 352
331 /** 353 /**
332 * @param {string} error
333 * @return {string} The error message to display for |error|.
334 * @private
335 */
336 getErrorMsg_: function(error) {
337 // TODO(stevenjb_: Translate
338 if (error == ErrorType.INCORRECT_PIN)
339 return 'Incorrect PIN.';
340 if (error == ErrorType.INCORRECT_PUK)
341 return 'Incorrect PUK.';
342 if (error == ErrorType.MISMATCHED_PIN)
343 return 'PIN values do not match.';
344 if (error == ErrorType.INVALID_PIN)
345 return 'Invalid PIN.';
346 if (error == ErrorType.INVALID_PUK)
347 return 'Invalid PUK.';
348 return '';
349 },
350
351 /**
352 * Checks whether |pin1| is of the proper length and if opt_pin2 is not 354 * Checks whether |pin1| is of the proper length and if opt_pin2 is not
353 * undefined, whether pin1 and opt_pin2 match. On any failure, sets 355 * undefined, whether pin1 and opt_pin2 match. On any failure, sets
354 * |this.error| and returns false. 356 * |this.error| and returns false.
355 * @param {string} pin1 357 * @param {string} pin1
356 * @param {string=} opt_pin2 358 * @param {string=} opt_pin2
357 * @return {boolean} True if the pins match and are of minimum length. 359 * @return {boolean} True if the pins match and are of minimum length.
358 * @private 360 * @private
359 */ 361 */
360 validatePin_: function(pin1, opt_pin2) { 362 validatePin_: function(pin1, opt_pin2) {
361 if (pin1.length < PIN_MIN_LENGTH) { 363 if (pin1.length < PIN_MIN_LENGTH) {
(...skipping 16 matching lines...) Expand all
378 */ 380 */
379 validatePuk_: function(puk) { 381 validatePuk_: function(puk) {
380 if (puk.length < PUK_MIN_LENGTH) { 382 if (puk.length < PUK_MIN_LENGTH) {
381 this.error = ErrorType.INVALID_PUK; 383 this.error = ErrorType.INVALID_PUK;
382 return false; 384 return false;
383 } 385 }
384 return true; 386 return true;
385 } 387 }
386 }); 388 });
387 })(); 389 })();
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/internet_page/network_siminfo.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698