TelephonyIcons.java revision 0f0de13c37082f9443e3f0c8cc413188ec66d3fe
1/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.systemui.statusbar.policy;
18
19import com.android.systemui.R;
20import com.android.systemui.statusbar.policy.MobileSignalController.MobileIconGroup;
21
22class TelephonyIcons {
23    //***** Signal strength icons
24
25    static final int TELEPHONY_NUM_LEVELS = 5;
26
27    //GSM/UMTS
28    static final int TELEPHONY_NO_NETWORK = R.drawable.stat_sys_signal_null;
29
30    static final int[][] TELEPHONY_SIGNAL_STRENGTH = {
31        { R.drawable.stat_sys_signal_0,
32          R.drawable.stat_sys_signal_1,
33          R.drawable.stat_sys_signal_2,
34          R.drawable.stat_sys_signal_3,
35          R.drawable.stat_sys_signal_4 },
36        { R.drawable.stat_sys_signal_0_fully,
37          R.drawable.stat_sys_signal_1_fully,
38          R.drawable.stat_sys_signal_2_fully,
39          R.drawable.stat_sys_signal_3_fully,
40          R.drawable.stat_sys_signal_4_fully }
41    };
42
43    static final int QS_TELEPHONY_NO_NETWORK = R.drawable.ic_qs_signal_no_signal;
44
45    static final int[][] QS_TELEPHONY_SIGNAL_STRENGTH = {
46        { R.drawable.ic_qs_signal_0,
47          R.drawable.ic_qs_signal_1,
48          R.drawable.ic_qs_signal_2,
49          R.drawable.ic_qs_signal_3,
50          R.drawable.ic_qs_signal_4 },
51        { R.drawable.ic_qs_signal_full_0,
52          R.drawable.ic_qs_signal_full_1,
53          R.drawable.ic_qs_signal_full_2,
54          R.drawable.ic_qs_signal_full_3,
55          R.drawable.ic_qs_signal_full_4 }
56    };
57
58    static final int[][] TELEPHONY_SIGNAL_STRENGTH_ROAMING = {
59        { R.drawable.stat_sys_signal_0,
60          R.drawable.stat_sys_signal_1,
61          R.drawable.stat_sys_signal_2,
62          R.drawable.stat_sys_signal_3,
63          R.drawable.stat_sys_signal_4 },
64        { R.drawable.stat_sys_signal_0_fully,
65          R.drawable.stat_sys_signal_1_fully,
66          R.drawable.stat_sys_signal_2_fully,
67          R.drawable.stat_sys_signal_3_fully,
68          R.drawable.stat_sys_signal_4_fully }
69    };
70
71    //CarrierNetworkChange
72    static final int[][] TELEPHONY_CARRIER_NETWORK_CHANGE = {
73            { R.drawable.stat_sys_signal_carrier_network_change_animation,
74              R.drawable.stat_sys_signal_carrier_network_change_animation,
75              R.drawable.stat_sys_signal_carrier_network_change_animation,
76              R.drawable.stat_sys_signal_carrier_network_change_animation,
77              R.drawable.stat_sys_signal_carrier_network_change_animation },
78            { R.drawable.stat_sys_signal_carrier_network_change_animation,
79              R.drawable.stat_sys_signal_carrier_network_change_animation,
80              R.drawable.stat_sys_signal_carrier_network_change_animation,
81              R.drawable.stat_sys_signal_carrier_network_change_animation,
82              R.drawable.stat_sys_signal_carrier_network_change_animation }
83        };
84
85    static final int[][] QS_TELEPHONY_CARRIER_NETWORK_CHANGE = {
86        { R.drawable.ic_qs_signal_carrier_network_change_animation,
87          R.drawable.ic_qs_signal_carrier_network_change_animation,
88          R.drawable.ic_qs_signal_carrier_network_change_animation,
89          R.drawable.ic_qs_signal_carrier_network_change_animation,
90          R.drawable.ic_qs_signal_carrier_network_change_animation },
91        { R.drawable.ic_qs_signal_carrier_network_change_animation,
92          R.drawable.ic_qs_signal_carrier_network_change_animation,
93          R.drawable.ic_qs_signal_carrier_network_change_animation,
94          R.drawable.ic_qs_signal_carrier_network_change_animation,
95          R.drawable.ic_qs_signal_carrier_network_change_animation }
96    };
97
98    //***** Data connection icons
99
100    //GSM/UMTS
101    static final int[][] DATA_G = {
102            { R.drawable.stat_sys_data_fully_connected_g,
103              R.drawable.stat_sys_data_fully_connected_g,
104              R.drawable.stat_sys_data_fully_connected_g,
105              R.drawable.stat_sys_data_fully_connected_g },
106            { R.drawable.stat_sys_data_fully_connected_g,
107              R.drawable.stat_sys_data_fully_connected_g,
108              R.drawable.stat_sys_data_fully_connected_g,
109              R.drawable.stat_sys_data_fully_connected_g }
110        };
111
112    static final int QS_DATA_G = R.drawable.ic_qs_signal_g;
113
114    static final int[][] DATA_3G = {
115            { R.drawable.stat_sys_data_fully_connected_3g,
116              R.drawable.stat_sys_data_fully_connected_3g,
117              R.drawable.stat_sys_data_fully_connected_3g,
118              R.drawable.stat_sys_data_fully_connected_3g },
119            { R.drawable.stat_sys_data_fully_connected_3g,
120              R.drawable.stat_sys_data_fully_connected_3g,
121              R.drawable.stat_sys_data_fully_connected_3g,
122              R.drawable.stat_sys_data_fully_connected_3g }
123        };
124
125    static final int QS_DATA_3G = R.drawable.ic_qs_signal_3g;
126
127    static final int[][] DATA_E = {
128            { R.drawable.stat_sys_data_fully_connected_e,
129              R.drawable.stat_sys_data_fully_connected_e,
130              R.drawable.stat_sys_data_fully_connected_e,
131              R.drawable.stat_sys_data_fully_connected_e },
132            { R.drawable.stat_sys_data_fully_connected_e,
133              R.drawable.stat_sys_data_fully_connected_e,
134              R.drawable.stat_sys_data_fully_connected_e,
135              R.drawable.stat_sys_data_fully_connected_e }
136        };
137
138    static final int QS_DATA_E = R.drawable.ic_qs_signal_e;
139
140    //3.5G
141    static final int[][] DATA_H = {
142            { R.drawable.stat_sys_data_fully_connected_h,
143              R.drawable.stat_sys_data_fully_connected_h,
144              R.drawable.stat_sys_data_fully_connected_h,
145              R.drawable.stat_sys_data_fully_connected_h },
146            { R.drawable.stat_sys_data_fully_connected_h,
147              R.drawable.stat_sys_data_fully_connected_h,
148              R.drawable.stat_sys_data_fully_connected_h,
149              R.drawable.stat_sys_data_fully_connected_h }
150    };
151
152    static final int QS_DATA_H = R.drawable.ic_qs_signal_h;
153
154    //CDMA
155    // Use 3G icons for EVDO data and 1x icons for 1XRTT data
156    static final int[][] DATA_1X = {
157            { R.drawable.stat_sys_data_fully_connected_1x,
158              R.drawable.stat_sys_data_fully_connected_1x,
159              R.drawable.stat_sys_data_fully_connected_1x,
160              R.drawable.stat_sys_data_fully_connected_1x },
161            { R.drawable.stat_sys_data_fully_connected_1x,
162              R.drawable.stat_sys_data_fully_connected_1x,
163              R.drawable.stat_sys_data_fully_connected_1x,
164              R.drawable.stat_sys_data_fully_connected_1x }
165            };
166
167    static final int QS_DATA_1X = R.drawable.ic_qs_signal_1x;
168
169    // LTE and eHRPD
170    static final int[][] DATA_4G = {
171            { R.drawable.stat_sys_data_fully_connected_4g,
172              R.drawable.stat_sys_data_fully_connected_4g,
173              R.drawable.stat_sys_data_fully_connected_4g,
174              R.drawable.stat_sys_data_fully_connected_4g },
175            { R.drawable.stat_sys_data_fully_connected_4g,
176              R.drawable.stat_sys_data_fully_connected_4g,
177              R.drawable.stat_sys_data_fully_connected_4g,
178              R.drawable.stat_sys_data_fully_connected_4g }
179        };
180
181    static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g;
182
183    static final int[][] DATA_4G_PLUS = {
184            { R.drawable.stat_sys_data_fully_connected_4g_plus,
185              R.drawable.stat_sys_data_fully_connected_4g_plus,
186              R.drawable.stat_sys_data_fully_connected_4g_plus,
187              R.drawable.stat_sys_data_fully_connected_4g_plus },
188            { R.drawable.stat_sys_data_fully_connected_4g_plus,
189              R.drawable.stat_sys_data_fully_connected_4g_plus,
190              R.drawable.stat_sys_data_fully_connected_4g_plus,
191              R.drawable.stat_sys_data_fully_connected_4g_plus }
192    };
193
194    static final int QS_DATA_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
195
196    // LTE branded "LTE"
197    static final int[][] DATA_LTE = {
198            { R.drawable.stat_sys_data_fully_connected_lte,
199                    R.drawable.stat_sys_data_fully_connected_lte,
200                    R.drawable.stat_sys_data_fully_connected_lte,
201                    R.drawable.stat_sys_data_fully_connected_lte },
202            { R.drawable.stat_sys_data_fully_connected_lte,
203                    R.drawable.stat_sys_data_fully_connected_lte,
204                    R.drawable.stat_sys_data_fully_connected_lte,
205                    R.drawable.stat_sys_data_fully_connected_lte }
206    };
207
208    static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte;
209    static final int QS_DATA_LTE_PLUS = R.drawable.ic_qs_signal_lte_plus;
210
211    static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode;
212    static final int ROAMING_ICON = R.drawable.stat_sys_roaming;
213    static final int ICON_LTE = R.drawable.stat_sys_data_fully_connected_lte;
214    static final int ICON_LTE_PLUS = R.drawable.stat_sys_data_fully_connected_lte_plus;
215    static final int ICON_G = R.drawable.stat_sys_data_fully_connected_g;
216    static final int ICON_E = R.drawable.stat_sys_data_fully_connected_e;
217    static final int ICON_H = R.drawable.stat_sys_data_fully_connected_h;
218    static final int ICON_3G = R.drawable.stat_sys_data_fully_connected_3g;
219    static final int ICON_4G = R.drawable.stat_sys_data_fully_connected_4g;
220    static final int ICON_4G_PLUS = R.drawable.stat_sys_data_fully_connected_4g_plus;
221    static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x;
222    static final int ICON_CARRIER_NETWORK_CHANGE =
223            R.drawable.stat_sys_signal_carrier_network_change_animation;
224
225    static final int ICON_DATA_DISABLED = R.drawable.stat_sys_data_disabled;
226
227    static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte;
228    static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g;
229    static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g;
230    static final int QS_ICON_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
231    static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x;
232    static final int QS_ICON_CARRIER_NETWORK_CHANGE =
233            R.drawable.ic_qs_signal_carrier_network_change_animation;
234
235    static final int QS_ICON_DATA_DISABLED = R.drawable.ic_qs_data_disabled;
236
237    static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup(
238            "CARRIER_NETWORK_CHANGE",
239            TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE,
240            TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE,
241            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
242            0, 0,
243            TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE,
244            TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE,
245            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
246            R.string.accessibility_carrier_network_change_mode,
247            0,
248            false,
249            0
250            );
251
252    static final MobileIconGroup THREE_G = new MobileIconGroup(
253            "3G",
254            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
255            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
256            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
257            0, 0,
258            TelephonyIcons.TELEPHONY_NO_NETWORK,
259            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
260            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
261            R.string.accessibility_data_connection_3g,
262            TelephonyIcons.ICON_3G,
263            true,
264            TelephonyIcons.QS_DATA_3G
265            );
266
267    static final MobileIconGroup WFC = new MobileIconGroup(
268            "WFC",
269            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
270            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
271            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
272            0, 0,
273            TelephonyIcons.TELEPHONY_NO_NETWORK,
274            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
275            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
276            0, 0, false, 0
277            );
278
279    static final MobileIconGroup UNKNOWN = new MobileIconGroup(
280            "Unknown",
281            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
282            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
283            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
284            0, 0,
285            TelephonyIcons.TELEPHONY_NO_NETWORK,
286            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
287            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
288            0, 0, false, 0
289            );
290
291    static final MobileIconGroup E = new MobileIconGroup(
292            "E",
293            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
294            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
295            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
296            0, 0,
297            TelephonyIcons.TELEPHONY_NO_NETWORK,
298            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
299            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
300            R.string.accessibility_data_connection_edge,
301            TelephonyIcons.ICON_E,
302            false,
303            TelephonyIcons.QS_DATA_E
304            );
305
306    static final MobileIconGroup ONE_X = new MobileIconGroup(
307            "1X",
308            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
309            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
310            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
311            0, 0,
312            TelephonyIcons.TELEPHONY_NO_NETWORK,
313            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
314            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
315            R.string.accessibility_data_connection_cdma,
316            TelephonyIcons.ICON_1X,
317            true,
318            TelephonyIcons.QS_DATA_1X
319            );
320
321    static final MobileIconGroup G = new MobileIconGroup(
322            "G",
323            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
324            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
325            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
326            0, 0,
327            TelephonyIcons.TELEPHONY_NO_NETWORK,
328            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
329            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
330            R.string.accessibility_data_connection_gprs,
331            TelephonyIcons.ICON_G,
332            false,
333            TelephonyIcons.QS_DATA_G
334            );
335
336    static final MobileIconGroup H = new MobileIconGroup(
337            "H",
338            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
339            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
340            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
341            0, 0,
342            TelephonyIcons.TELEPHONY_NO_NETWORK,
343            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
344            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
345            R.string.accessibility_data_connection_3_5g,
346            TelephonyIcons.ICON_H,
347            false,
348            TelephonyIcons.QS_DATA_H
349            );
350
351    static final MobileIconGroup FOUR_G = new MobileIconGroup(
352            "4G",
353            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
354            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
355            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
356            0, 0,
357            TelephonyIcons.TELEPHONY_NO_NETWORK,
358            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
359            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
360            R.string.accessibility_data_connection_4g,
361            TelephonyIcons.ICON_4G,
362            true,
363            TelephonyIcons.QS_DATA_4G
364            );
365
366    static final MobileIconGroup FOUR_G_PLUS = new MobileIconGroup(
367            "4G+",
368            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
369            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
370            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
371            0,0,
372            TelephonyIcons.TELEPHONY_NO_NETWORK,
373            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
374            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
375            R.string.accessibility_data_connection_4g_plus,
376            TelephonyIcons.ICON_4G_PLUS,
377            true,
378            TelephonyIcons.QS_DATA_4G_PLUS
379            );
380
381    static final MobileIconGroup LTE = new MobileIconGroup(
382            "LTE",
383            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
384            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
385            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
386            0, 0,
387            TelephonyIcons.TELEPHONY_NO_NETWORK,
388            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
389            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
390            R.string.accessibility_data_connection_lte,
391            TelephonyIcons.ICON_LTE,
392            true,
393            TelephonyIcons.QS_DATA_LTE
394            );
395
396    static final MobileIconGroup LTE_PLUS = new MobileIconGroup(
397            "LTE+",
398            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
399            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
400            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
401            0, 0,
402            TelephonyIcons.TELEPHONY_NO_NETWORK,
403            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
404            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
405            R.string.accessibility_data_connection_lte_plus,
406            TelephonyIcons.ICON_LTE_PLUS,
407            true,
408            TelephonyIcons.QS_DATA_LTE_PLUS
409            );
410
411    static final MobileIconGroup DATA_DISABLED = new MobileIconGroup(
412            "DataDisabled",
413            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
414            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
415            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
416            0, 0,
417            TelephonyIcons.TELEPHONY_NO_NETWORK,
418            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
419            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
420            R.string.accessibility_cell_data_off,
421            TelephonyIcons.ICON_DATA_DISABLED,
422            false,
423            TelephonyIcons.QS_ICON_DATA_DISABLED
424            );
425}
426
427