TelephonyIcons.java revision 33f8ae7543fbf7d94266f0f1621ec873aa2542f1
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        };
82
83    static final int[][] TELEPHONY_CARRIER_NETWORK_CHANGE_DARK = {
84            { R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
85              R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
86              R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
87              R.drawable.stat_sys_signal_dark_carrier_network_change_animation },
88            { R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
89              R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
90              R.drawable.stat_sys_signal_dark_carrier_network_change_animation,
91              R.drawable.stat_sys_signal_dark_carrier_network_change_animation }
92        };
93
94    static final int[][] QS_TELEPHONY_CARRIER_NETWORK_CHANGE = {
95        { R.drawable.ic_qs_signal_carrier_network_change_animation,
96          R.drawable.ic_qs_signal_carrier_network_change_animation,
97          R.drawable.ic_qs_signal_carrier_network_change_animation,
98          R.drawable.ic_qs_signal_carrier_network_change_animation,
99          R.drawable.ic_qs_signal_carrier_network_change_animation },
100        { R.drawable.ic_qs_signal_carrier_network_change_animation,
101          R.drawable.ic_qs_signal_carrier_network_change_animation,
102          R.drawable.ic_qs_signal_carrier_network_change_animation,
103          R.drawable.ic_qs_signal_carrier_network_change_animation,
104          R.drawable.ic_qs_signal_carrier_network_change_animation }
105    };
106
107    static final int QS_DATA_R = R.drawable.ic_qs_signal_r;
108
109    //***** Data connection icons
110
111    //GSM/UMTS
112    static final int[][] DATA_G = {
113            { R.drawable.stat_sys_data_fully_connected_g,
114              R.drawable.stat_sys_data_fully_connected_g,
115              R.drawable.stat_sys_data_fully_connected_g,
116              R.drawable.stat_sys_data_fully_connected_g },
117            { R.drawable.stat_sys_data_fully_connected_g,
118              R.drawable.stat_sys_data_fully_connected_g,
119              R.drawable.stat_sys_data_fully_connected_g,
120              R.drawable.stat_sys_data_fully_connected_g }
121        };
122
123    static final int QS_DATA_G = R.drawable.ic_qs_signal_g;
124
125    static final int[][] DATA_3G = {
126            { R.drawable.stat_sys_data_fully_connected_3g,
127              R.drawable.stat_sys_data_fully_connected_3g,
128              R.drawable.stat_sys_data_fully_connected_3g,
129              R.drawable.stat_sys_data_fully_connected_3g },
130            { R.drawable.stat_sys_data_fully_connected_3g,
131              R.drawable.stat_sys_data_fully_connected_3g,
132              R.drawable.stat_sys_data_fully_connected_3g,
133              R.drawable.stat_sys_data_fully_connected_3g }
134        };
135
136    static final int QS_DATA_3G = R.drawable.ic_qs_signal_3g;
137
138    static final int[][] DATA_E = {
139            { R.drawable.stat_sys_data_fully_connected_e,
140              R.drawable.stat_sys_data_fully_connected_e,
141              R.drawable.stat_sys_data_fully_connected_e,
142              R.drawable.stat_sys_data_fully_connected_e },
143            { R.drawable.stat_sys_data_fully_connected_e,
144              R.drawable.stat_sys_data_fully_connected_e,
145              R.drawable.stat_sys_data_fully_connected_e,
146              R.drawable.stat_sys_data_fully_connected_e }
147        };
148
149    static final int QS_DATA_E = R.drawable.ic_qs_signal_e;
150
151    //3.5G
152    static final int[][] DATA_H = {
153            { R.drawable.stat_sys_data_fully_connected_h,
154              R.drawable.stat_sys_data_fully_connected_h,
155              R.drawable.stat_sys_data_fully_connected_h,
156              R.drawable.stat_sys_data_fully_connected_h },
157            { R.drawable.stat_sys_data_fully_connected_h,
158              R.drawable.stat_sys_data_fully_connected_h,
159              R.drawable.stat_sys_data_fully_connected_h,
160              R.drawable.stat_sys_data_fully_connected_h }
161    };
162
163    static final int QS_DATA_H = R.drawable.ic_qs_signal_h;
164
165    //CDMA
166    // Use 3G icons for EVDO data and 1x icons for 1XRTT data
167    static final int[][] DATA_1X = {
168            { R.drawable.stat_sys_data_fully_connected_1x,
169              R.drawable.stat_sys_data_fully_connected_1x,
170              R.drawable.stat_sys_data_fully_connected_1x,
171              R.drawable.stat_sys_data_fully_connected_1x },
172            { R.drawable.stat_sys_data_fully_connected_1x,
173              R.drawable.stat_sys_data_fully_connected_1x,
174              R.drawable.stat_sys_data_fully_connected_1x,
175              R.drawable.stat_sys_data_fully_connected_1x }
176            };
177
178    static final int QS_DATA_1X = R.drawable.ic_qs_signal_1x;
179
180    // LTE and eHRPD
181    static final int[][] DATA_4G = {
182            { R.drawable.stat_sys_data_fully_connected_4g,
183              R.drawable.stat_sys_data_fully_connected_4g,
184              R.drawable.stat_sys_data_fully_connected_4g,
185              R.drawable.stat_sys_data_fully_connected_4g },
186            { R.drawable.stat_sys_data_fully_connected_4g,
187              R.drawable.stat_sys_data_fully_connected_4g,
188              R.drawable.stat_sys_data_fully_connected_4g,
189              R.drawable.stat_sys_data_fully_connected_4g }
190        };
191
192    static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g;
193
194    // LTE branded "LTE"
195    static final int[][] DATA_LTE = {
196            { R.drawable.stat_sys_data_fully_connected_lte,
197                    R.drawable.stat_sys_data_fully_connected_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    };
205
206    static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte;
207
208    static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode;
209    static final int ROAMING_ICON = R.drawable.stat_sys_data_fully_connected_roam;
210    static final int ICON_LTE = R.drawable.stat_sys_data_fully_connected_lte;
211    static final int ICON_G = R.drawable.stat_sys_data_fully_connected_g;
212    static final int ICON_E = R.drawable.stat_sys_data_fully_connected_e;
213    static final int ICON_H = R.drawable.stat_sys_data_fully_connected_h;
214    static final int ICON_3G = R.drawable.stat_sys_data_fully_connected_3g;
215    static final int ICON_4G = R.drawable.stat_sys_data_fully_connected_4g;
216    static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x;
217    static final int ICON_CARRIER_NETWORK_CHANGE =
218            R.drawable.stat_sys_signal_carrier_network_change_animation;
219    static final int ICON_CARRIER_NETWORK_CHANGE_DARK =
220            R.drawable.stat_sys_signal_dark_carrier_network_change_animation;
221
222    static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte;
223    static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g;
224    static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g;
225    static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x;
226    static final int QS_ICON_CARRIER_NETWORK_CHANGE =
227            R.drawable.ic_qs_signal_carrier_network_change_animation;
228
229    static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup(
230            "CARRIER_NETWORK_CHANGE",
231            TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE,
232            TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE_DARK,
233            TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE,
234            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
235            0, 0,
236            TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE,
237            TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE_DARK,
238            TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE,
239            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
240            R.string.accessibility_carrier_network_change_mode,
241            0,
242            false,
243            0
244            );
245
246    static final MobileIconGroup THREE_G = new MobileIconGroup(
247            "3G",
248            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
249            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
250            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
251            0, 0,
252            TelephonyIcons.TELEPHONY_NO_NETWORK,
253            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
254            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
255            R.string.accessibility_data_connection_3g,
256            TelephonyIcons.ICON_3G,
257            true,
258            TelephonyIcons.QS_DATA_3G
259            );
260
261    static final MobileIconGroup UNKNOWN = new MobileIconGroup(
262            "Unknown",
263            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
264            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
265            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
266            0, 0,
267            TelephonyIcons.TELEPHONY_NO_NETWORK,
268            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
269            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
270            0, 0, false, 0
271            );
272
273    static final MobileIconGroup E = new MobileIconGroup(
274            "E",
275            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
276            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
277            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
278            0, 0,
279            TelephonyIcons.TELEPHONY_NO_NETWORK,
280            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
281            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
282            R.string.accessibility_data_connection_edge,
283            TelephonyIcons.ICON_E,
284            false,
285            TelephonyIcons.QS_DATA_E
286            );
287
288    static final MobileIconGroup ONE_X = new MobileIconGroup(
289            "1X",
290            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
291            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
292            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
293            0, 0,
294            TelephonyIcons.TELEPHONY_NO_NETWORK,
295            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
296            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
297            R.string.accessibility_data_connection_cdma,
298            TelephonyIcons.ICON_1X,
299            true,
300            TelephonyIcons.QS_DATA_1X
301            );
302
303    static final MobileIconGroup G = new MobileIconGroup(
304            "G",
305            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
306            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
307            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
308            0, 0,
309            TelephonyIcons.TELEPHONY_NO_NETWORK,
310            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
311            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
312            R.string.accessibility_data_connection_gprs,
313            TelephonyIcons.ICON_G,
314            false,
315            TelephonyIcons.QS_DATA_G
316            );
317
318    static final MobileIconGroup H = new MobileIconGroup(
319            "H",
320            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
321            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
322            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
323            0, 0,
324            TelephonyIcons.TELEPHONY_NO_NETWORK,
325            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
326            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
327            R.string.accessibility_data_connection_3_5g,
328            TelephonyIcons.ICON_H,
329            false,
330            TelephonyIcons.QS_DATA_H
331            );
332
333    static final MobileIconGroup FOUR_G = new MobileIconGroup(
334            "4G",
335            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
336            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
337            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
338            0, 0,
339            TelephonyIcons.TELEPHONY_NO_NETWORK,
340            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
341            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
342            R.string.accessibility_data_connection_4g,
343            TelephonyIcons.ICON_4G,
344            true,
345            TelephonyIcons.QS_DATA_4G
346            );
347
348    static final MobileIconGroup LTE = new MobileIconGroup(
349            "LTE",
350            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
351            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
352            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
353            0, 0,
354            TelephonyIcons.TELEPHONY_NO_NETWORK,
355            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
356            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
357            R.string.accessibility_data_connection_lte,
358            TelephonyIcons.ICON_LTE,
359            true,
360            TelephonyIcons.QS_DATA_LTE
361            );
362
363    static final MobileIconGroup ROAMING = new MobileIconGroup(
364            "Roaming",
365            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING,
366            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
367            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
368            0, 0,
369            TelephonyIcons.TELEPHONY_NO_NETWORK,
370            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
371            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
372            R.string.accessibility_data_connection_roaming,
373            TelephonyIcons.ROAMING_ICON,
374            false,
375            TelephonyIcons.QS_DATA_R
376            );
377}
378
379