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