OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 cr.define('mobile', function() { | 6 cr.define('mobile', function() { |
7 | 7 |
8 function MobileSetup() { | 8 function MobileSetup() { |
9 } | 9 } |
10 | 10 |
11 cr.addSingletonGetter(MobileSetup); | 11 cr.addSingletonGetter(MobileSetup); |
12 | 12 |
13 MobileSetup.PLAN_ACTIVATION_LOADING = -1; | 13 MobileSetup.PLAN_ACTIVATION_LOADING = -1; |
14 MobileSetup.PLAN_ACTIVATION_START = 0; | 14 MobileSetup.PLAN_ACTIVATION_START = 0; |
15 MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION = 1; | 15 MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION = 1; |
16 MobileSetup.PLAN_ACTIVATION_RECONNECTING = 2; | 16 MobileSetup.PLAN_ACTIVATION_RECONNECTING = 2; |
17 MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT = 3; | 17 MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT = 3; |
18 MobileSetup.PLAN_ACTIVATION_DONE = 4; | 18 MobileSetup.PLAN_ACTIVATION_DONE = 4; |
19 MobileSetup.PLAN_ACTIVATION_ERROR = 5; | 19 MobileSetup.PLAN_ACTIVATION_ERROR = 5; |
20 | 20 |
| 21 MobileSetup.ACTIVATION_PAGE_URL = |
| 22 'file:///usr/share/chromeos-assets/mobile/activation.html'; |
| 23 |
21 MobileSetup.localStrings_ = new LocalStrings(); | 24 MobileSetup.localStrings_ = new LocalStrings(); |
22 | 25 |
23 MobileSetup.prototype = { | 26 MobileSetup.prototype = { |
24 // Mobile device information. | 27 // Mobile device information. |
25 deviceInfo_: null, | 28 deviceInfo_: null, |
26 frameName_ : '', | 29 frameName_ : '', |
27 initialized_ : false, | 30 initialized_ : false, |
28 faked_transaction_ : false, | 31 faked_transaction_ : false, |
29 // UI states. | 32 // UI states. |
30 state_ : -1, | 33 state_ : -1, |
31 STATE_UNKNOWN_: "unknown", | 34 STATE_UNKNOWN_: "unknown", |
32 STATE_CONNECTING_: "connecting", | 35 STATE_CONNECTING_: "connecting", |
33 STATE_ERROR_: "error", | 36 STATE_ERROR_: "error", |
34 STATE_PAYMENT_: "payment", | 37 STATE_PAYMENT_: "payment", |
35 STATE_ACTIVATING_: "activating", | 38 STATE_ACTIVATING_: "activating", |
36 STATE_CONNECTED_: "connected", | 39 STATE_CONNECTED_: "connected", |
37 | 40 |
38 initialize: function(frame_name) { | 41 initialize: function(frame_name, carrierPage) { |
39 if (this.initialized_) { | 42 if (this.initialized_) { |
40 console.log('calling initialize() again?'); | 43 console.log('calling initialize() again?'); |
41 return; | 44 return; |
42 } | 45 } |
43 this.initialized_ = true; | 46 this.initialized_ = true; |
44 self = this; | 47 self = this; |
45 this.frameName_ = frame_name; | 48 this.frameName_ = frame_name; |
46 window.addEventListener('message', function(e) { | 49 window.addEventListener('message', function(e) { |
47 self.onMessageReceived_(e); | 50 self.onMessageReceived_(e); |
48 }); | 51 }); |
49 $('closeButton').addEventListener('click', function(e) { | 52 $('closeButton').addEventListener('click', function(e) { |
50 $('finalMessage').classList.add('hidden'); | 53 $('finalMessage').classList.add('hidden'); |
51 }); | 54 }); |
| 55 $('carrierPage').contentWindow.location.href = |
| 56 carrierPage; |
52 $(frame_name).addEventListener('load', function(e) { | 57 $(frame_name).addEventListener('load', function(e) { |
53 // Flip the visibility of the payment page only after the frame is | 58 // Flip the visibility of the payment page only after the frame is |
54 // fully loaded. | 59 // fully loaded. |
55 if (self.state_ == MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT) { | 60 if (self.state_ == MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT) { |
56 $('statusHeader').textContent = ''; | 61 $('statusHeader').textContent = ''; |
| 62 $('auxHeader').textContent = ''; |
57 $('finalMessage').classList.add('hidden'); | 63 $('finalMessage').classList.add('hidden'); |
58 $('errorMessage').classList.add('hidden'); | 64 $('errorMessage').classList.add('hidden'); |
59 $('systemStatus').classList.add('hidden'); | 65 $('systemStatus').classList.add('hidden'); |
60 $('canvas').classList.add('hidden'); | 66 $('canvas').classList.add('hidden'); |
| 67 $('carrierPage').classList.add('hidden'); |
61 $('paymentForm').classList.remove('hidden'); | 68 $('paymentForm').classList.remove('hidden'); |
62 } | 69 } |
63 }); | 70 }); |
64 | 71 |
65 this.changeState_(MobileSetup.PLAN_ACTIVATION_LOADING); | 72 this.changeState_(MobileSetup.PLAN_ACTIVATION_LOADING); |
66 setInterval(mobile.MobileSetup.drawProgress, 100); | 73 setInterval(mobile.MobileSetup.drawProgress, 100); |
67 // Kick off activation process. | 74 // Kick off activation process. |
68 chrome.send('startActivation', []); | 75 chrome.send('startActivation', []); |
69 }, | 76 }, |
70 | 77 |
(...skipping 25 matching lines...) Expand all Loading... |
96 if (this.state_ == new_state) | 103 if (this.state_ == new_state) |
97 return; | 104 return; |
98 var main = $('mainbody'); | 105 var main = $('mainbody'); |
99 // Map handler state to UX. | 106 // Map handler state to UX. |
100 switch(new_state) { | 107 switch(new_state) { |
101 case MobileSetup.PLAN_ACTIVATION_LOADING: | 108 case MobileSetup.PLAN_ACTIVATION_LOADING: |
102 case MobileSetup.PLAN_ACTIVATION_START: | 109 case MobileSetup.PLAN_ACTIVATION_START: |
103 case MobileSetup.PLAN_ACTIVATION_RECONNECTING: | 110 case MobileSetup.PLAN_ACTIVATION_RECONNECTING: |
104 $('statusHeader').textContent = | 111 $('statusHeader').textContent = |
105 MobileSetup.localStrings_.getString('connecting_header'); | 112 MobileSetup.localStrings_.getString('connecting_header'); |
| 113 $('auxHeader').textContent = |
| 114 MobileSetup.localStrings_.getString('please_wait'); |
106 $('errorMessage').textContent = ''; | 115 $('errorMessage').textContent = ''; |
107 $('paymentForm').classList.add('hidden'); | 116 $('paymentForm').classList.add('hidden'); |
108 $('finalMessage').classList.add('hidden'); | 117 $('finalMessage').classList.add('hidden'); |
109 $('errorMessage').classList.add('hidden'); | 118 $('errorMessage').classList.add('hidden'); |
110 $('systemStatus').classList.remove('hidden'); | 119 $('systemStatus').classList.remove('hidden'); |
111 $('canvas').classList.remove('hidden'); | 120 $('canvas').classList.remove('hidden'); |
| 121 $('carrierPage').classList.remove('hidden'); |
112 break; | 122 break; |
113 case MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION: | 123 case MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION: |
114 $('statusHeader').textContent = | 124 $('statusHeader').textContent = |
115 MobileSetup.localStrings_.getString('activating_header'); | 125 MobileSetup.localStrings_.getString('activating_header'); |
| 126 $('auxHeader').textContent = |
| 127 MobileSetup.localStrings_.getString('please_wait'); |
116 $('errorMessage').textContent = ''; | 128 $('errorMessage').textContent = ''; |
117 $('paymentForm').classList.add('hidden'); | 129 $('paymentForm').classList.add('hidden'); |
118 $('finalMessage').classList.add('hidden'); | 130 $('finalMessage').classList.add('hidden'); |
119 $('errorMessage').classList.add('hidden'); | 131 $('errorMessage').classList.add('hidden'); |
120 $('systemStatus').classList.remove('hidden'); | 132 $('systemStatus').classList.remove('hidden'); |
121 $('canvas').classList.remove('hidden'); | 133 $('canvas').classList.remove('hidden'); |
| 134 $('carrierPage').classList.remove('hidden'); |
122 break; | 135 break; |
123 case MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT: | 136 case MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT: |
124 $('statusHeader').textContent = | 137 $('statusHeader').textContent = |
125 MobileSetup.localStrings_.getString('connecting_header'); | 138 MobileSetup.localStrings_.getString('connecting_header'); |
| 139 $('auxHeader').textContent = ''; |
126 $('paymentForm').classList.add('hidden'); | 140 $('paymentForm').classList.add('hidden'); |
127 $('finalMessage').classList.add('hidden'); | 141 $('finalMessage').classList.add('hidden'); |
128 $('errorMessage').classList.add('hidden'); | 142 $('errorMessage').classList.add('hidden'); |
129 $('systemStatus').classList.remove('hidden'); | 143 $('systemStatus').classList.remove('hidden'); |
130 $('canvas').classList.remove('hidden'); | 144 $('canvas').classList.remove('hidden'); |
131 this.loadPaymentFrame_(deviceInfo); | 145 this.loadPaymentFrame_(deviceInfo); |
132 break; | 146 break; |
133 case MobileSetup.PLAN_ACTIVATION_DONE: | 147 case MobileSetup.PLAN_ACTIVATION_DONE: |
134 $('statusHeader').textContent = ''; | 148 $('statusHeader').textContent = ''; |
| 149 $('auxHeader').textContent = ''; |
135 $('errorMessage').classList.add('hidden'); | 150 $('errorMessage').classList.add('hidden'); |
136 $('systemStatus').classList.add('hidden'); | 151 $('systemStatus').classList.add('hidden'); |
137 $('canvas').classList.add('hidden'); | 152 $('canvas').classList.add('hidden'); |
| 153 $('carrierPage').classList.add('hidden'); |
138 $('paymentForm').classList.remove('hidden'); | 154 $('paymentForm').classList.remove('hidden'); |
139 $('finalMessage').classList.remove('hidden'); | 155 $('finalMessage').classList.remove('hidden'); |
140 break; | 156 break; |
141 case MobileSetup.PLAN_ACTIVATION_ERROR: | 157 case MobileSetup.PLAN_ACTIVATION_ERROR: |
142 $('statusHeader').textContent = | 158 $('statusHeader').textContent = |
143 MobileSetup.localStrings_.getString('error_header'); | 159 MobileSetup.localStrings_.getString('error_header'); |
| 160 $('auxHeader').textContent = ''; |
144 $('errorMessage').textContent = deviceInfo.error; | 161 $('errorMessage').textContent = deviceInfo.error; |
145 $('paymentForm').classList.add('hidden'); | 162 $('paymentForm').classList.add('hidden'); |
146 $('finalMessage').classList.add('hidden'); | 163 $('finalMessage').classList.add('hidden'); |
| 164 $('carrierPage').classList.add('hidden'); |
147 $('canvas').classList.add('hidden'); | 165 $('canvas').classList.add('hidden'); |
148 $('errorMessage').classList.remove('hidden'); | 166 $('errorMessage').classList.remove('hidden'); |
149 $('systemStatus').classList.remove('hidden'); | 167 $('systemStatus').classList.remove('hidden'); |
150 break; | 168 break; |
151 } | 169 } |
152 this.state_ = new_state; | 170 this.state_ = new_state; |
153 }, | 171 }, |
154 | 172 |
155 updateDeviceStatus_: function(deviceInfo) { | 173 updateDeviceStatus_: function(deviceInfo) { |
156 this.changeState_(deviceInfo); | 174 this.changeState_(deviceInfo); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 ctx.fillStyle = "rgba(240, 30, 29, " + opacity + ")"; | 227 ctx.fillStyle = "rgba(240, 30, 29, " + opacity + ")"; |
210 ctx.fill(); | 228 ctx.fill(); |
211 } | 229 } |
212 }; | 230 }; |
213 | 231 |
214 MobileSetup.deviceStateChanged = function(deviceInfo) { | 232 MobileSetup.deviceStateChanged = function(deviceInfo) { |
215 MobileSetup.getInstance().updateDeviceStatus_(deviceInfo); | 233 MobileSetup.getInstance().updateDeviceStatus_(deviceInfo); |
216 }; | 234 }; |
217 | 235 |
218 MobileSetup.loadPage = function() { | 236 MobileSetup.loadPage = function() { |
219 mobile.MobileSetup.getInstance().initialize('paymentForm'); | 237 mobile.MobileSetup.getInstance().initialize('paymentForm', |
| 238 mobile.MobileSetup.ACTIVATION_PAGE_URL); |
220 }; | 239 }; |
221 | 240 |
222 // Export | 241 // Export |
223 return { | 242 return { |
224 MobileSetup: MobileSetup | 243 MobileSetup: MobileSetup |
225 }; | 244 }; |
226 | 245 |
227 }); | 246 }); |
228 | 247 |
OLD | NEW |