1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file. 4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsencr.define('mobile', function() { 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen function SimUnlock() { 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen cr.addSingletonGetter(SimUnlock); 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // State of the dialog. 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_UNLOCK_LOADING = -1; 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_ABSENT_NOT_LOCKED = 0, 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_NOT_LOCKED_ASK_PIN = 1; 16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_NOT_LOCKED_CHANGE_PIN = 2; 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_LOCKED_PIN = 3; 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_LOCKED_NO_PIN_TRIES_LEFT = 4; 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_LOCKED_PUK = 5; 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_LOCKED_NO_PUK_TRIES_LEFT = 6; 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_DISABLED = 7; 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // Mode of the dialog. 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_DIALOG_UNLOCK = 0; 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_DIALOG_CHANGE_PIN = 1; 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_DIALOG_SET_LOCK_ON = 2; 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.SIM_DIALOG_SET_LOCK_OFF = 3; 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // Error codes. 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.ERROR_PIN = 'incorrectPin'; 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.ERROR_PUK = 'incorrectPuk'; 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.ERROR_OK = 'ok'; 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.localStrings_ = new LocalStrings(); 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.prototype = { 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen initialized_: false, 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen mode_: SimUnlock.SIM_DIALOG_UNLOCK, 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pukValue_: '', 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen state_: SimUnlock.SIM_UNLOCK_LOADING, 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen changeState_: function(simInfo) { 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var newState = simInfo.state; 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var error = simInfo.error; 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var tries = simInfo.tries; 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var pinMessage; 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.hideAll_(); 48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen switch(newState) { 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_UNLOCK_LOADING: 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_ABSENT_NOT_LOCKED: 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.close(); 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_LOCKED_PIN: 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (error == SimUnlock.ERROR_OK) { 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getStringF( 57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 'enterPinTriesMessage', tries); 58ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').classList.remove('error'); 59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else if (error == SimUnlock.ERROR_PIN) { 60ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getStringF( 61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 'incorrectPinTriesMessage', tries); 62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').classList.add('error'); 63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 64ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').textContent = pinMessage; 65ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-input').value = ''; 66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enablePinDialog(true); 67ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-pin-overlay').hidden = false; 68ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-input').focus(); 69ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 70ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_NOT_LOCKED_ASK_PIN: 71ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (error == SimUnlock.ERROR_OK) { 72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getString('enterPinMessage'); 73ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').classList.remove('error'); 74ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else if (error == SimUnlock.ERROR_PIN) { 75ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getStringF( 76ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 'incorrectPinTriesMessage', tries); 77ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').classList.add('error'); 78ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 79ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-error-msg').textContent = pinMessage; 80ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-input').value = ''; 81ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enablePinDialog(true); 82ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-pin-overlay').hidden = false; 83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-input').focus(); 84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_NOT_LOCKED_CHANGE_PIN: 86ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.prepareChoosePinDialog(true); 87ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (error == SimUnlock.ERROR_OK) { 88ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getString('changePinMessage'); 89ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-msg').classList.remove('error'); 90ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else if (error == SimUnlock.ERROR_PIN) { 91ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pinMessage = SimUnlock.localStrings_.getStringF( 92ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 'incorrectPinTriesMessage', tries); 93ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-msg').classList.add('error'); 94ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 95ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-msg').textContent = pinMessage; 96ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input').value = ''; 97ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').value = ''; 98ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('retype-new-pin-input').value = ''; 99ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-overlay').hidden = false; 100ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input').focus(); 101ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enableChoosePinDialog(true); 102ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 103ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_LOCKED_NO_PIN_TRIES_LEFT: 104ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-pin-no-tries-overlay').hidden = false; 105ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 106ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_LOCKED_PUK: 107ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('puk-input').value = ''; 108ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (tries && tries >= 0) { 109ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var pukMessage = SimUnlock.localStrings_.getStringF( 110ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 'enterPukWarning', tries); 111ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('puk-warning-msg').textContent = pukMessage; 112ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 113ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-puk-overlay').hidden = false; 114ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('puk-input').focus(); 115ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 116ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SIM_LOCKED_NO_PUK_TRIES_LEFT: 117ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-puk-no-tries-overlay').hidden = false; 118ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 119ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen case SimUnlock.SimUnlock.SIM_DISABLED: 120ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('sim-disabled-overlay').hidden = false; 121ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen break; 122ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 123ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.state_ = newState; 124ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }, 125ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 126ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen hideAll_: function() { 127ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-pin-overlay').hidden = true; 128ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-pin-no-tries-overlay').hidden = true; 129ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-puk-overlay').hidden = true; 130ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-overlay').hidden = true; 131ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('locked-puk-no-tries-overlay').hidden = true; 132ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('sim-disabled-overlay').hidden = true; 133ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }, 134ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 135ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen newPinEntered_: function(newPin, newPin2) { 136ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var changePinMode = this.state_ == SimUnlock.SIM_NOT_LOCKED_CHANGE_PIN; 137ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (newPin != newPin2) { 138ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-error').hidden = false; 139ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input').value = ''; 140ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').value = ''; 141ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('retype-new-pin-input').value = ''; 142ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (changePinMode) 143ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input').focus(); 144ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen else 145ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').focus(); 146ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else { 147ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-error').hidden = true; 148ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enableChoosePinDialog(false); 149ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (changePinMode) { 150ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var oldPin = $('old-pin-input').value; 151ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('changePinCode', [oldPin, newPin]); 152ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else { 153ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('enterPukCode', [this.pukValue_, newPin]); 154ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.pukValue_ = ''; 155ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 156ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 157ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }, 158ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 159ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen pukEntered_: function(pukValue) { 160ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.pukValue_ = pukValue; 161ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.hideAll_(); 162ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.prepareChoosePinDialog(false); 163ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enableChoosePinDialog(true); 164ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').value = ''; 165ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('retype-new-pin-input').value = ''; 166ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-overlay').hidden = false; 167ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').focus(); 168ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }, 169ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 170ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen updateSimStatus_: function(simInfo) { 171ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.changeState_(simInfo); 172ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }, 173ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 174ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 175ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.cancel = function() { 176ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('cancel'); 177ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.close(); 178ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 179ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 180ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.close = function() { 181ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen window.close(); 182ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 183ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 184ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.initialize = function() { 185ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.initialized_ = true; 186ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 187ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var modePattern = /(^\?|&)mode=([^&#]*)/; 188ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var results = modePattern.exec(window.location.search); 189ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (results == null) { 190ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.mode_ = SimUnlock.SIM_DIALOG_UNLOCK; 191ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else { 192ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var mode = results[2]; 193ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (mode == 'change-pin') 194ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.mode_ = SimUnlock.SIM_DIALOG_CHANGE_PIN; 195ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen else if (mode == 'set-lock-on') 196ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.mode_ = SimUnlock.SIM_DIALOG_SET_LOCK_ON; 197ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen else if (mode == 'set-lock-off') 198ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen this.mode_ = SimUnlock.SIM_DIALOG_SET_LOCK_OFF; 199ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 200ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 201ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-pin-confirm').addEventListener('click', function(event) { 202ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enablePinDialog(false); 203ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('enterPinCode', [$('pin-input').value]); 204ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 205ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-pin-dismiss').addEventListener('click', function(event) { 206ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.cancel(); 207ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 208ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-no-tries-proceed').addEventListener('click', function(event) { 209ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('proceedToPukInput'); 210ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 211ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-no-tries-dismiss').addEventListener('click', function(event) { 212ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.cancel(); 213ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 214ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-puk-confirm').addEventListener('click', function(event) { 215ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.pukEntered($('puk-input').value); 216ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 217ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-puk-dismiss').addEventListener('click', function(event) { 218ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.cancel(); 219ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 220ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-confirm').addEventListener('click', function(event) { 221ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.newPinEntered($('new-pin-input').value, 222ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('retype-new-pin-input').value); 223ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 224ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-dismiss').addEventListener('click', function(event) { 225ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.cancel(); 226ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 227ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('puk-no-tries-confirm').addEventListener('click', function(event) { 228ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.close(); 229ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 230ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('sim-disabled-confirm').addEventListener('click', function(event) { 231ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.close(); 232ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }); 233ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chrome.send('simStatusInitialize', [this.mode_]); 234ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 235ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 236ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enablePinDialog = function(enabled) { 237ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('pin-input').disabled = !enabled; 238ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-pin-confirm').disabled = !enabled; 239ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('enter-pin-dismiss').disabled = !enabled; 240ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 241ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 242ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.enableChoosePinDialog = function(enabled) { 243ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input').disabled = !enabled; 244ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('new-pin-input').disabled = !enabled; 245ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('retype-new-pin-input').disabled = !enabled; 246ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-confirm').disabled = !enabled; 247ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-dismiss').disabled = !enabled; 248ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 249ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 250ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.prepareChoosePinDialog = function(changePin) { 251ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // Our dialog has different height than choose-pin step of the 252ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // unlock process which we're reusing. 253ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (changePin) { 254ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-content-area').classList.remove('choose-pin-content-area'); 255ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-content-area').classList.add('change-pin-content-area'); 256ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var title = SimUnlock.localStrings_.getString('changePinTitle'); 257ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-title').textContent = title; 258ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } else { 259ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-content-area').classList.remove('change-pin-content-area'); 260ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-content-area').classList.add('choose-pin-content-area'); 261ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var pinMessage = SimUnlock.localStrings_.getString('choosePinMessage'); 262ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-msg').classList.remove('error'); 263ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-msg').textContent = pinMessage; 264ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen var title = SimUnlock.localStrings_.getString('choosePinTitle'); 265ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('choose-pin-title').textContent = title; 266ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen } 267ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-label').hidden = !changePin; 268ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen $('old-pin-input-area').hidden = !changePin; 269ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 270ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 271ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.newPinEntered = function(newPin, newPin2) { 272ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.getInstance().newPinEntered_(newPin, newPin2); 273ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 274ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 275ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.pukEntered = function(pukValue) { 276ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.getInstance().pukEntered_(pukValue); 277ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 278ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 279ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.simStateChanged = function(simInfo) { 280ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock.getInstance().updateSimStatus_(simInfo); 281ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 282ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 283ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // Export 284ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return { 285ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen SimUnlock: SimUnlock 286ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen }; 287ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 288ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}); 289