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 ICON_DATA_DISABLED = R.drawable.stat_sys_data_disabled; 212 213 static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte; 214 static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g; 215 static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g; 216 static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x; 217 static final int QS_ICON_CARRIER_NETWORK_CHANGE = 218 R.drawable.ic_qs_signal_carrier_network_change_animation; 219 220 static final int QS_ICON_DATA_DISABLED = R.drawable.ic_qs_data_disabled; 221 222 static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup( 223 "CARRIER_NETWORK_CHANGE", 224 TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE, 225 TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE, 226 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, 227 0, 0, 228 TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE, 229 TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE, 230 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], 231 R.string.accessibility_carrier_network_change_mode, 232 0, 233 false, 234 0 235 ); 236 237 static final MobileIconGroup THREE_G = new MobileIconGroup( 238 "3G", 239 TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH, 240 TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH, 241 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, 242 0, 0, 243 TelephonyIcons.TELEPHONY_NO_NETWORK, 244 TelephonyIcons.QS_TELEPHONY_NO_NETWORK, 245 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], 246 R.string.accessibility_data_connection_3g, 247 TelephonyIcons.ICON_3G, 248 true, 249 TelephonyIcons.QS_DATA_3G 250 ); 251 252 static final MobileIconGroup WFC = new MobileIconGroup( 253 "WFC", 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 0, 0, false, 0 262 ); 263 264 static final MobileIconGroup UNKNOWN = new MobileIconGroup( 265 "Unknown", 266 TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH, 267 TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH, 268 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, 269 0, 0, 270 TelephonyIcons.TELEPHONY_NO_NETWORK, 271 TelephonyIcons.QS_TELEPHONY_NO_NETWORK, 272 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], 273 0, 0, false, 0 274 ); 275 276 static final MobileIconGroup E = new MobileIconGroup( 277 "E", 278 TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH, 279 TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH, 280 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, 281 0, 0, 282 TelephonyIcons.TELEPHONY_NO_NETWORK, 283 TelephonyIcons.QS_TELEPHONY_NO_NETWORK, 284 AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], 285 R.string.accessibility_data_connection_edge, 286 TelephonyIcons.ICON_E, 287 false, 288 TelephonyIcons.QS_DATA_E 289 ); 290 291 static final MobileIconGroup ONE_X = new MobileIconGroup( 292 "1X", 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_cdma, 301 TelephonyIcons.ICON_1X, 302 true, 303 TelephonyIcons.QS_DATA_1X 304 ); 305 306 static final MobileIconGroup G = new MobileIconGroup( 307 "G", 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_gprs, 316 TelephonyIcons.ICON_G, 317 false, 318 TelephonyIcons.QS_DATA_G 319 ); 320 321 static final MobileIconGroup H = new MobileIconGroup( 322 "H", 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_3_5g, 331 TelephonyIcons.ICON_H, 332 false, 333 TelephonyIcons.QS_DATA_H 334 ); 335 336 static final MobileIconGroup FOUR_G = new MobileIconGroup( 337 "4G", 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_4g, 346 TelephonyIcons.ICON_4G, 347 true, 348 TelephonyIcons.QS_DATA_4G 349 ); 350 351 static final MobileIconGroup LTE = new MobileIconGroup( 352 "LTE", 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_lte, 361 TelephonyIcons.ICON_LTE, 362 true, 363 TelephonyIcons.QS_DATA_LTE 364 ); 365 366 static final MobileIconGroup ROAMING = new MobileIconGroup( 367 "Roaming", 368 TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING, 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_roaming, 376 TelephonyIcons.ROAMING_ICON, 377 false, 378 TelephonyIcons.QS_DATA_R 379 ); 380 381 static final MobileIconGroup DATA_DISABLED = new MobileIconGroup( 382 "DataDisabled", 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_cell_data_off, 391 TelephonyIcons.ICON_DATA_DISABLED, 392 false, 393 TelephonyIcons.QS_ICON_DATA_DISABLED 394 ); 395} 396 397