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

Side by Side Diff: chrome/browser/ui/webui/chromeos/charger_replacement_handler.cc

Issue 107103004: Implement the spring charger replacement UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/webui/chromeos/charger_replacement_handler.h"
6
7 #include "base/bind.h"
8 #include "base/prefs/pref_registry_simple.h"
9 #include "base/prefs/pref_service.h"
10 #include "base/strings/utf_string_conversions.h"
11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/chromeos/charger_replace/charger_link_dialog.h"
14 #include "chrome/browser/chromeos/charger_replace/charger_replacement_dialog.h"
15 #include "chrome/common/pref_names.h"
16 #include "content/public/browser/web_ui.h"
17 #include "grit/generated_resources.h"
18 #include "ui/base/l10n/l10n_util.h"
19
20 namespace chromeos {
21
22 ChargerReplacementHandler::ChargerReplacementHandler(
23 ChargerReplacementDialog* dialog)
24 : charger_window_(NULL),
25 dialog_(dialog) {
26 }
27
28 ChargerReplacementHandler::~ChargerReplacementHandler() {
29 }
30
31 void ChargerReplacementHandler::RegisterMessages() {
32 web_ui()->RegisterMessageCallback("confirmSafeCharger",
33 base::Bind(&ChargerReplacementHandler::ConfirmSafeCharger,
34 base::Unretained(this)));
35 web_ui()->RegisterMessageCallback("confirmNotOrderNewCharger",
36 base::Bind(&ChargerReplacementHandler::ConfirmNotOrderNewCharger,
37 base::Unretained(this)));
38 web_ui()->RegisterMessageCallback("confirmChargerOrderedOnline",
39 base::Bind(&ChargerReplacementHandler::ConfirmChargerOrderedOnline,
40 base::Unretained(this)));
41 web_ui()->RegisterMessageCallback("confirmChargerOrderByPhone",
42 base::Bind(&ChargerReplacementHandler::ConfirmChargerOrderByPhone,
43 base::Unretained(this)));
44 web_ui()->RegisterMessageCallback("confirmStillUseBadCharger",
45 base::Bind(&ChargerReplacementHandler::ConfirmStillUseBadCharger,
46 base::Unretained(this)));
47 web_ui()->RegisterMessageCallback("showLink",
48 base::Bind(&ChargerReplacementHandler::ShowLink,
49 base::Unretained(this)));
50 }
51
52 // static
53 void ChargerReplacementHandler::GetLocalizedValues(
54 base::DictionaryValue* localized_strings) {
55 localized_strings->SetString(
56 "checkChargerTitle",
57 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_CHECK_CHARGER_TITLE));
58 localized_strings->SetString(
59 "checkChargerDamage",
60 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_CHECK_CHARGER_DAMAGE));
61 localized_strings->SetString(
62 "checkOriginalCharger",
63 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_CHECK_ORIGNAL_CHARGER));
64 localized_strings->SetString(
65 "whereDevicePurchased",
66 l10n_util::GetStringUTF16(
67 IDS_CHARGER_REPLACEMENT_WHERE_DEVICE_PURCHASED));
68 localized_strings->SetString(
69 "selectCountry",
70 l10n_util::GetStringUTF16(
71 IDS_CHARGER_REPLACEMENT_SELECT_A_COUNTRY));
72 localized_strings->SetString(
73 "us",
74 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_US));
75 localized_strings->SetString(
76 "uk",
77 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_UK));
78 localized_strings->SetString(
79 "au",
80 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_AU));
81 localized_strings->SetString(
82 "ire",
83 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_IRE));
84 localized_strings->SetString(
85 "checkChargerSelectCharger",
86 l10n_util::GetStringUTF16(
87 IDS_CHARGER_REPLACEMENT_CHECK_CHARGER_SELECT_CHARGER));
88 localized_strings->SetString(
89 "nextStepButtonText",
90 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_NEXT_STEP));
91 localized_strings->SetString(
92 "confirmSafeChargerTitle",
93 l10n_util::GetStringUTF16(
94 IDS_CHARGER_REPLACEMENT_CONFIRM_SAFE_CHARGER_TITLE));
95 localized_strings->SetString(
96 "goWithSafeCharger",
97 l10n_util::GetStringUTF16(
98 IDS_CHARGER_REPLACEMENT_CONFIRM_SAFE_CHARGER_TO_GO));
99 localized_strings->SetString(
100 "prevStepText",
101 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_PREVIOUS_STEP));
102 localized_strings->SetString(
103 "finishText",
104 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_FINISH));
105 localized_strings->SetString(
106 "chargerUpdateTitle",
107 l10n_util::GetStringUTF16(
108 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_TITLE));
109 localized_strings->SetString(
110 "chargerUpdateP1",
111 l10n_util::GetStringUTF16(
112 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_P1));
113 localized_strings->SetString(
114 "stopUsingRecalledCharger",
115 l10n_util::GetStringUTF16(
116 IDS_CHARGER_REPLACEMENT_CHARGER_STOP_USING_RECALLED_CHARGER));
117 localized_strings->SetString(
118 "chargerUpdateP2",
119 l10n_util::GetStringUTF16(
120 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_P2));
121 localized_strings->SetString(
122 "chargerUpdateP3_1",
123 l10n_util::GetStringUTF16(
124 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_P3_1));
125 localized_strings->SetString(
126 "chargerUpdateP3Faq",
127 l10n_util::GetStringUTF16(
128 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_P3_FAQ));
129 localized_strings->SetString(
130 "chargerUpdateP3_2",
131 l10n_util::GetStringUTF16(
132 IDS_CHARGER_REPLACEMENT_CHARGER_UPDATE_P3_2));
133 localized_strings->SetString(
134 "orderNewCharger",
135 l10n_util::GetStringUTF16(
136 IDS_CHARGER_REPLACEMENT_CHARGER_ORDER_NEW_CHARGER));
137 localized_strings->SetString(
138 "notOrderNewCharger",
139 l10n_util::GetStringUTF16(
140 IDS_CHARGER_REPLACEMENT_CHARGER_NOT_ORDER_NEW_CHARGER));
141 localized_strings->SetString(
142 "confirmNotOrderNewCharger",
143 l10n_util::GetStringUTF16(
144 IDS_CHARGER_REPLACEMENT_CHARGER_CONIFRM_NOT_ORDER_CHARGER));
145 localized_strings->SetString(
146 "noMoreShowText",
147 l10n_util::GetStringUTF16(
148 IDS_CHARGER_REPLACEMENT_NO_MOPE_MESSAGE_SHOW));
149 localized_strings->SetString(
150 "finishNotOrderChargerTitle",
151 l10n_util::GetStringUTF16(
152 IDS_CHARGER_REPLACEMENT_FINISH_NOT_ORDER_CHARGER_TITLE));
153 localized_strings->SetString(
154 "finishNotOrderChargerP2_1",
155 l10n_util::GetStringUTF16(
156 IDS_CHARGER_REPLACEMENT_FINISH_NOT_ORDER_CHARGER_P2_1));
157 localized_strings->SetString(
158 "finishNotOrderChargerP2_2",
159 l10n_util::GetStringUTF16(
160 IDS_CHARGER_REPLACEMENT_FINISH_NOT_ORDER_CHARGER_P2_2));
161 localized_strings->SetString(
162 "finishNotOrderChargerMoreInfo",
163 l10n_util::GetStringUTF16(
164 IDS_CHARGER_REPLACEMENT_FINISH_NOT_ORDER_CHARGER_MORE_INFO));
165
166 localized_strings->SetString(
167 "confirmOnlineOrder",
168 l10n_util::GetStringUTF16(
169 IDS_CHARGER_REPLACEMENT_ONLINE_ORDER_CONFIRMATION_TITLE));
170 localized_strings->SetString(
171 "confirmReceivingOnlineOrder",
172 l10n_util::GetStringUTF16(
173 IDS_CHARGER_REPLACEMENT_ONLINE_ORDER_CONFIRMATION_MESSAGE));
174 localized_strings->SetString(
175 "needMoreInformation",
176 l10n_util::GetStringUTF16(IDS_CHARGER_REPLACEMENT_FIND_MORE_INFORMATION));
177 localized_strings->SetString(
178 "orderChargerOfflineTitle",
179 l10n_util::GetStringUTF16(
180 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_TITLE));
181 localized_strings->SetString(
182 "offlineChargerOrderParagraph1",
183 l10n_util::GetStringUTF16(
184 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_P1));
185 localized_strings->SetString(
186 "offlineChargerOrderParagraph2",
187 l10n_util::GetStringUTF16(
188 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_P2));
189 localized_strings->SetString(
190 "offlineSafeChargerConfirmationText",
191 l10n_util::GetStringUTF16(
192 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_CONFIRM));
193 localized_strings->SetString(
194 "textBeforePrivacyLink",
195 l10n_util::GetStringUTF16(
196 IDS_CHARGER_REPLACEMENT_TEXT_BEFORE_PRIVACY_LINK));
197 localized_strings->SetString(
198 "privacyPolicy",
199 l10n_util::GetStringUTF16(
200 IDS_CHARGER_REPLACEMENT_PRIVACY_LINK_TEXT));
201 localized_strings->SetString(
202 "textAfterPrivacyLink",
203 l10n_util::GetStringUTF16(
204 IDS_CHARGER_REPLACEMENT_TEXT_AFTER_PRIVACY_LINK));
205 localized_strings->SetString(
206 "offlineOrderPhoneNumber",
207 l10n_util::GetStringUTF16(
208 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_PHONE_NUMBER));
209 localized_strings->SetString(
210 "offlineOrderPhoneNumber",
211 l10n_util::GetStringUTF16(
212 IDS_CHARGER_REPLACEMENT_OFFLINE_ORDER_PHONE_NUMBER));
213 localized_strings->SetString(
214 "chargerStillBadTitle",
215 l10n_util::GetStringUTF16(
216 IDS_CHARGER_REPLACEMENT_CHARGER_STILL_BAD));
217 localized_strings->SetString(
218 "chargedOrdered",
219 l10n_util::GetStringUTF16(
220 IDS_CHARGER_REPLACEMENT_CHARGER_ORDERED));
221 localized_strings->SetString(
222 "findMoreInfo",
223 l10n_util::GetStringUTF16(
224 IDS_CHARGER_REPLACEMENT_CHARGER_MORE_INFO));
225 }
226
227 // static
228 void ChargerReplacementHandler::RegisterPrefs(PrefRegistrySimple* registry) {
229 registry->RegisterIntegerPref(prefs::kSpringChargerCheck, CHARGER_UNKNOWN);
230 }
231
232 // static
233 ChargerReplacementHandler::SpringChargerStatus
234 ChargerReplacementHandler::GetChargerStatusPref() {
235 ChargerReplacementHandler::SpringChargerStatus charger_status =
236 static_cast<ChargerReplacementHandler::SpringChargerStatus>(
237 g_browser_process->local_state()->GetInteger(prefs::kSpringChargerCheck));
238 return charger_status;
239 }
240
241 // static
242 void ChargerReplacementHandler::SetChargerStatusPref(
243 SpringChargerStatus status) {
244 g_browser_process->local_state()->SetInteger(prefs::kSpringChargerCheck,
245 status);
246 }
247
248 void ChargerReplacementHandler::ConfirmSafeCharger(
249 const base::ListValue* args) {
250 SetChargerStatusPref(CONFIRM_SAFE_CHARGER);
251 dialog_->set_can_close(true);
252 }
253
254 void ChargerReplacementHandler::ConfirmNotOrderNewCharger(
255 const base::ListValue* args) {
256 SetChargerStatusPref(CONFIRM_NOT_ORDER_NEW_CHARGER);
257 dialog_->set_can_close(true);
258 }
259
260 void ChargerReplacementHandler::ConfirmChargerOrderedOnline(
261 const base::ListValue* args) {
262 SetChargerStatusPref(CONFIRM_NEW_CHARGER_ORDERED_ONLINE);
263 dialog_->set_can_close(true);
264 }
265
266 void ChargerReplacementHandler::ConfirmChargerOrderByPhone(
267 const base::ListValue* args) {
268 SetChargerStatusPref(CONFIRM_ORDER_NEW_CHARGER_BY_PHONE);
269 dialog_->set_can_close(true);
270 }
271
272 void ChargerReplacementHandler::ConfirmStillUseBadCharger(
273 const base::ListValue* args) {
274 if (GetChargerStatusPref() == CONFIRM_NEW_CHARGER_ORDERED_ONLINE) {
275 SetChargerStatusPref(USE_BAD_CHARGER_AFTER_ORDER_ONLINE);
276 } else {
277 DCHECK(GetChargerStatusPref() == CONFIRM_ORDER_NEW_CHARGER_BY_PHONE);
278 SetChargerStatusPref(USE_BAD_CHARGER_AFTER_ORDER_BY_PHONE);
279 }
280 dialog_->set_can_close(true);
281 }
282
283 void ChargerReplacementHandler::ShowLink(const base::ListValue* args) {
284 std::string url = UTF16ToUTF8(ExtractStringValue(args));
285 ChargerLinkDialog* dialog = new ChargerLinkDialog(charger_window_, url);
286 dialog->Show();
287 }
288
289 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698