Chromium Code Reviews| Index: chrome/browser/resources/chromeos/login/oobe_screen_hid_detection.js |
| diff --git a/chrome/browser/resources/chromeos/login/oobe_screen_hid_detection.js b/chrome/browser/resources/chromeos/login/oobe_screen_hid_detection.js |
| index ba3564353f53e1b333bd2f6218f1d57b9c26df3e..37cc03afa2de95b05b14b2b4b5772dfa069c261e 100644 |
| --- a/chrome/browser/resources/chromeos/login/oobe_screen_hid_detection.js |
| +++ b/chrome/browser/resources/chromeos/login/oobe_screen_hid_detection.js |
| @@ -71,6 +71,7 @@ login.createScreen('HIDDetectionScreen', 'hid-detection', function() { |
| this.context.addObserver( |
| CONTEXT_KEY_KEYBOARD_STATE, |
| function(stateId) { |
| + self.updatePincodeKeysState_(); |
| if (stateId === undefined) |
| return; |
| self.setDeviceBlockState_('hid-keyboard-block', stateId); |
| @@ -80,50 +81,18 @@ login.createScreen('HIDDetectionScreen', 'hid-detection', function() { |
| } else if (stateId == self.CONNECTION.PAIRING) { |
| $('hid-keyboard-label-pairing').textContent = self.context.get( |
| CONTEXT_KEY_KEYBOARD_LABEL, ''); |
| - } else if (stateId == self.CONNECTION.CONNECTED) { |
| } |
| } |
| ); |
| this.context.addObserver( |
| CONTEXT_KEY_KEYBOARD_PINCODE, |
| - function(pincode) { |
| - self.setPincodeKeysState_(); |
| - if (!pincode) { |
| - $('hid-keyboard-pincode').classList.remove('show-pincode'); |
| - return; |
| - } |
| - if (self.context.get(CONTEXT_KEY_KEYBOARD_STATE, '') != |
| - self.CONNECTION.PAIRING) { |
| - return; |
| - } |
| - $('hid-keyboard-pincode').classList.add('show-pincode'); |
| - for (var i = 0, len = pincode.length; i < len; i++) { |
| - var pincodeSymbol = $('hid-keyboard-pincode-sym-' + (i + 1)); |
| - pincodeSymbol.textContent = pincode[i]; |
| - } |
| - announceAccessibleMessage( |
| - self.context.get(CONTEXT_KEY_KEYBOARD_LABEL, '') + ' ' + pincode + |
| - ' ' + loadTimeData.getString('hidDetectionBTEnterKey')); |
| - } |
| - ); |
| + this.updatePincodeKeysState_.bind(this)); |
| this.context.addObserver( |
| CONTEXT_KEY_KEYBOARD_ENTERED_PART_EXPECTED, |
| - function(entered_part_expected) { |
| - if (self.context.get(CONTEXT_KEY_KEYBOARD_STATE, '') != 'pairing') |
| - return; |
| - self.setPincodeKeysState_(); |
| - } |
| - ); |
| + this.updatePincodeKeysState_.bind(this)); |
| this.context.addObserver( |
| CONTEXT_KEY_KEYBOARD_ENTERED_PART_PINCODE, |
| - function(entered_part) { |
| - if (self.context.get(CONTEXT_KEY_KEYBOARD_STATE, '') != |
| - self.CONNECTION.PAIRING) { |
| - return; |
| - } |
| - self.setPincodeKeysState_(); |
| - } |
| - ); |
| + this.updatePincodeKeysState_.bind(this)); |
| this.context.addObserver( |
| CONTEXT_KEY_CONTINUE_BUTTON_ENABLED, |
| function(enabled) { |
| @@ -186,20 +155,43 @@ login.createScreen('HIDDetectionScreen', 'hid-detection', function() { |
| }, |
| /** |
| - * Sets state for pincode key elements. |
| + * Updates state for pincode key elements based on context state. |
| */ |
| - setPincodeKeysState_: function() { |
| + updatePincodeKeysState_: function() { |
| + var pincodeKeys = $('hid-keyboard-pincode'); |
| + var pincode = this.context.get(CONTEXT_KEY_KEYBOARD_PINCODE, ''); |
| + var state = this.context.get(CONTEXT_KEY_KEYBOARD_STATE, ''); |
| + |
| + if (!pincode || state !== this.CONNECTION.PAIRING) { |
| + pincodeKeys.hidden = true; |
| + return; |
| + } |
| + |
| + if (pincodeKeys.hidden) { |
| + pincodeKeys.hidden = false; |
| + announceAccessibleMessage( |
| + this.context.get(CONTEXT_KEY_KEYBOARD_LABEL, '') + ' ' + pincode + |
| + ' ' + loadTimeData.getString('hidDetectionBTEnterKey')); |
| + } |
| + |
| var entered = this.context.get( |
| CONTEXT_KEY_KEYBOARD_ENTERED_PART_PINCODE, 0); |
| + |
| // whether the functionality of getting num of entered keys is available. |
| var expected = this.context.get( |
| CONTEXT_KEY_KEYBOARD_ENTERED_PART_EXPECTED, false); |
| - var pincodeLength = 7; // including enter-key |
| - for (var i = 0; i < pincodeLength; i++) { |
| + |
| + if (pincode.length != 6) |
|
Roman Sorokin (ftl)
2015/07/21 12:10:58
nit: Why not create the constant stores 6-value?
dzhioev (left Google)
2015/07/21 21:06:06
Done.
|
| + console.error('Wrong pincode length'); |
| + |
| + // Pincode keys plus Enter key. |
| + for (var i = 0; i < (pincode.length + 1); i++) { |
| var pincodeSymbol = $('hid-keyboard-pincode-sym-' + (i + 1)); |
| pincodeSymbol.classList.toggle('key-typed', i < entered && expected); |
| pincodeSymbol.classList.toggle('key-untyped', i > entered && expected); |
| pincodeSymbol.classList.toggle('key-next', i == entered && expected); |
| + if (i < pincode.length) |
| + pincodeSymbol.textContent = pincode[i]; |
| } |
| }, |