TelephonyIcons.java revision 2fdbe128209f02725c645f29bff941efe865da56
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    static final int QS_DATA_R = R.drawable.ic_qs_signal_r;
99
100    //***** Data connection icons
101
102    //GSM/UMTS
103    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_g,
111              R.drawable.stat_sys_data_fully_connected_g }
112        };
113
114    static final int QS_DATA_G = R.drawable.ic_qs_signal_g;
115
116    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_3g,
124              R.drawable.stat_sys_data_fully_connected_3g }
125        };
126
127    static final int QS_DATA_3G = R.drawable.ic_qs_signal_3g;
128
129    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_e,
137              R.drawable.stat_sys_data_fully_connected_e }
138        };
139
140    static final int QS_DATA_E = R.drawable.ic_qs_signal_e;
141
142    //3.5G
143    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_h,
151              R.drawable.stat_sys_data_fully_connected_h }
152    };
153
154    static final int QS_DATA_H = R.drawable.ic_qs_signal_h;
155
156    //CDMA
157    // Use 3G icons for EVDO data and 1x icons for 1XRTT data
158    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_1x,
166              R.drawable.stat_sys_data_fully_connected_1x }
167            };
168
169    static final int QS_DATA_1X = R.drawable.ic_qs_signal_1x;
170
171    // LTE and eHRPD
172    static final int[][] DATA_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              R.drawable.stat_sys_data_fully_connected_4g,
180              R.drawable.stat_sys_data_fully_connected_4g }
181        };
182
183    static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g;
184
185    // LTE branded "LTE"
186    static final int[][] DATA_LTE = {
187            { R.drawable.stat_sys_data_fully_connected_lte,
188                    R.drawable.stat_sys_data_fully_connected_lte,
189                    R.drawable.stat_sys_data_fully_connected_lte,
190                    R.drawable.stat_sys_data_fully_connected_lte },
191            { R.drawable.stat_sys_data_fully_connected_lte,
192                    R.drawable.stat_sys_data_fully_connected_lte,
193                    R.drawable.stat_sys_data_fully_connected_lte,
194                    R.drawable.stat_sys_data_fully_connected_lte }
195    };
196
197    static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte;
198
199    static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode;
200    static final int ROAMING_ICON = R.drawable.stat_sys_data_fully_connected_roam;
201    static final int ICON_LTE = R.drawable.stat_sys_data_fully_connected_lte;
202    static final int ICON_G = R.drawable.stat_sys_data_fully_connected_g;
203    static final int ICON_E = R.drawable.stat_sys_data_fully_connected_e;
204    static final int ICON_H = R.drawable.stat_sys_data_fully_connected_h;
205    static final int ICON_3G = R.drawable.stat_sys_data_fully_connected_3g;
206    static final int ICON_4G = R.drawable.stat_sys_data_fully_connected_4g;
207    static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x;
208    static final int ICON_CARRIER_NETWORK_CHANGE =
209            R.drawable.stat_sys_signal_carrier_network_change_animation;
210
211    static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte;
212    static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g;
213    static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g;
214    static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x;
215    static final int QS_ICON_CARRIER_NETWORK_CHANGE =
216            R.drawable.ic_qs_signal_carrier_network_change_animation;
217
218    static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup(
219            "CARRIER_NETWORK_CHANGE",
220            TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE,
221            TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE,
222            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
223            0, 0,
224            TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE,
225            TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE,
226            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
227            R.string.accessibility_carrier_network_change_mode,
228            0,
229            false,
230            0
231            );
232
233    static final MobileIconGroup THREE_G = new MobileIconGroup(
234            "3G",
235            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
236            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
237            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
238            0, 0,
239            TelephonyIcons.TELEPHONY_NO_NETWORK,
240            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
241            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
242            R.string.accessibility_data_connection_3g,
243            TelephonyIcons.ICON_3G,
244            true,
245            TelephonyIcons.QS_DATA_3G
246            );
247
248    static final MobileIconGroup UNKNOWN = new MobileIconGroup(
249            "Unknown",
250            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
251            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
252            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
253            0, 0,
254            TelephonyIcons.TELEPHONY_NO_NETWORK,
255            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
256            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
257            0, 0, false, 0
258            );
259
260    static final MobileIconGroup E = new MobileIconGroup(
261            "E",
262            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
263            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
264            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
265            0, 0,
266            TelephonyIcons.TELEPHONY_NO_NETWORK,
267            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
268            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
269            R.string.accessibility_data_connection_edge,
270            TelephonyIcons.ICON_E,
271            false,
272            TelephonyIcons.QS_DATA_E
273            );
274
275    static final MobileIconGroup ONE_X = new MobileIconGroup(
276            "1X",
277            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
278            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
279            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
280            0, 0,
281            TelephonyIcons.TELEPHONY_NO_NETWORK,
282            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
283            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
284            R.string.accessibility_data_connection_cdma,
285            TelephonyIcons.ICON_1X,
286            true,
287            TelephonyIcons.QS_DATA_1X
288            );
289
290    static final MobileIconGroup G = new MobileIconGroup(
291            "G",
292            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
293            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
294            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
295            0, 0,
296            TelephonyIcons.TELEPHONY_NO_NETWORK,
297            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
298            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
299            R.string.accessibility_data_connection_gprs,
300            TelephonyIcons.ICON_G,
301            false,
302            TelephonyIcons.QS_DATA_G
303            );
304
305    static final MobileIconGroup H = new MobileIconGroup(
306            "H",
307            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
308            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
309            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
310            0, 0,
311            TelephonyIcons.TELEPHONY_NO_NETWORK,
312            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
313            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
314            R.string.accessibility_data_connection_3_5g,
315            TelephonyIcons.ICON_H,
316            false,
317            TelephonyIcons.QS_DATA_H
318            );
319
320    static final MobileIconGroup FOUR_G = new MobileIconGroup(
321            "4G",
322            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
323            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
324            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
325            0, 0,
326            TelephonyIcons.TELEPHONY_NO_NETWORK,
327            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
328            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
329            R.string.accessibility_data_connection_4g,
330            TelephonyIcons.ICON_4G,
331            true,
332            TelephonyIcons.QS_DATA_4G
333            );
334
335    static final MobileIconGroup LTE = new MobileIconGroup(
336            "LTE",
337            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
338            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
339            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
340            0, 0,
341            TelephonyIcons.TELEPHONY_NO_NETWORK,
342            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
343            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
344            R.string.accessibility_data_connection_lte,
345            TelephonyIcons.ICON_LTE,
346            true,
347            TelephonyIcons.QS_DATA_LTE
348            );
349
350    static final MobileIconGroup ROAMING = new MobileIconGroup(
351            "Roaming",
352            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING,
353            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
354            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
355            0, 0,
356            TelephonyIcons.TELEPHONY_NO_NETWORK,
357            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
358            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
359            R.string.accessibility_data_connection_roaming,
360            TelephonyIcons.ROAMING_ICON,
361            false,
362            TelephonyIcons.QS_DATA_R
363            );
364}
365
366