Home | History | Annotate | Download | only in policy
      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.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     //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     static final int[][] DATA_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               R.drawable.stat_sys_data_fully_connected_4g_plus,
    193               R.drawable.stat_sys_data_fully_connected_4g_plus }
    194     };
    195 
    196     static final int QS_DATA_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
    197 
    198     // LTE branded "LTE"
    199     static final int[][] DATA_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                     R.drawable.stat_sys_data_fully_connected_lte,
    207                     R.drawable.stat_sys_data_fully_connected_lte }
    208     };
    209 
    210     static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte;
    211     static final int QS_DATA_LTE_PLUS = R.drawable.ic_qs_signal_lte_plus;
    212 
    213     static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode;
    214     static final int ROAMING_ICON = R.drawable.stat_sys_data_fully_connected_roam;
    215     static final int ICON_LTE = R.drawable.stat_sys_data_fully_connected_lte;
    216     static final int ICON_LTE_PLUS = R.drawable.stat_sys_data_fully_connected_lte_plus;
    217     static final int ICON_G = R.drawable.stat_sys_data_fully_connected_g;
    218     static final int ICON_E = R.drawable.stat_sys_data_fully_connected_e;
    219     static final int ICON_H = R.drawable.stat_sys_data_fully_connected_h;
    220     static final int ICON_3G = R.drawable.stat_sys_data_fully_connected_3g;
    221     static final int ICON_4G = R.drawable.stat_sys_data_fully_connected_4g;
    222     static final int ICON_4G_PLUS = R.drawable.stat_sys_data_fully_connected_4g_plus;
    223     static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x;
    224     static final int ICON_CARRIER_NETWORK_CHANGE =
    225             R.drawable.stat_sys_signal_carrier_network_change_animation;
    226 
    227     static final int ICON_DATA_DISABLED = R.drawable.stat_sys_data_disabled;
    228 
    229     static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte;
    230     static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g;
    231     static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g;
    232     static final int QS_ICON_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
    233     static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x;
    234     static final int QS_ICON_CARRIER_NETWORK_CHANGE =
    235             R.drawable.ic_qs_signal_carrier_network_change_animation;
    236 
    237     static final int QS_ICON_DATA_DISABLED = R.drawable.ic_qs_data_disabled;
    238 
    239     static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup(
    240             "CARRIER_NETWORK_CHANGE",
    241             TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE,
    242             TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE,
    243             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    244             0, 0,
    245             TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE,
    246             TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE,
    247             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    248             R.string.accessibility_carrier_network_change_mode,
    249             0,
    250             false,
    251             0
    252             );
    253 
    254     static final MobileIconGroup THREE_G = new MobileIconGroup(
    255             "3G",
    256             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    257             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    258             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    259             0, 0,
    260             TelephonyIcons.TELEPHONY_NO_NETWORK,
    261             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    262             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    263             R.string.accessibility_data_connection_3g,
    264             TelephonyIcons.ICON_3G,
    265             true,
    266             TelephonyIcons.QS_DATA_3G
    267             );
    268 
    269     static final MobileIconGroup WFC = new MobileIconGroup(
    270             "WFC",
    271             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    272             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    273             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    274             0, 0,
    275             TelephonyIcons.TELEPHONY_NO_NETWORK,
    276             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    277             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    278             0, 0, false, 0
    279             );
    280 
    281     static final MobileIconGroup UNKNOWN = new MobileIconGroup(
    282             "Unknown",
    283             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    284             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    285             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    286             0, 0,
    287             TelephonyIcons.TELEPHONY_NO_NETWORK,
    288             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    289             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    290             0, 0, false, 0
    291             );
    292 
    293     static final MobileIconGroup E = new MobileIconGroup(
    294             "E",
    295             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    296             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    297             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    298             0, 0,
    299             TelephonyIcons.TELEPHONY_NO_NETWORK,
    300             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    301             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    302             R.string.accessibility_data_connection_edge,
    303             TelephonyIcons.ICON_E,
    304             false,
    305             TelephonyIcons.QS_DATA_E
    306             );
    307 
    308     static final MobileIconGroup ONE_X = new MobileIconGroup(
    309             "1X",
    310             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    311             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    312             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    313             0, 0,
    314             TelephonyIcons.TELEPHONY_NO_NETWORK,
    315             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    316             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    317             R.string.accessibility_data_connection_cdma,
    318             TelephonyIcons.ICON_1X,
    319             true,
    320             TelephonyIcons.QS_DATA_1X
    321             );
    322 
    323     static final MobileIconGroup G = new MobileIconGroup(
    324             "G",
    325             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    326             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    327             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    328             0, 0,
    329             TelephonyIcons.TELEPHONY_NO_NETWORK,
    330             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    331             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    332             R.string.accessibility_data_connection_gprs,
    333             TelephonyIcons.ICON_G,
    334             false,
    335             TelephonyIcons.QS_DATA_G
    336             );
    337 
    338     static final MobileIconGroup H = new MobileIconGroup(
    339             "H",
    340             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    341             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    342             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    343             0, 0,
    344             TelephonyIcons.TELEPHONY_NO_NETWORK,
    345             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    346             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    347             R.string.accessibility_data_connection_3_5g,
    348             TelephonyIcons.ICON_H,
    349             false,
    350             TelephonyIcons.QS_DATA_H
    351             );
    352 
    353     static final MobileIconGroup FOUR_G = new MobileIconGroup(
    354             "4G",
    355             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    356             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    357             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    358             0, 0,
    359             TelephonyIcons.TELEPHONY_NO_NETWORK,
    360             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    361             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    362             R.string.accessibility_data_connection_4g,
    363             TelephonyIcons.ICON_4G,
    364             true,
    365             TelephonyIcons.QS_DATA_4G
    366             );
    367 
    368     static final MobileIconGroup FOUR_G_PLUS = new MobileIconGroup(
    369             "4G+",
    370             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    371             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    372             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    373             0,0,
    374             TelephonyIcons.TELEPHONY_NO_NETWORK,
    375             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    376             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    377             R.string.accessibility_data_connection_4g_plus,
    378             TelephonyIcons.ICON_4G_PLUS,
    379             true,
    380             TelephonyIcons.QS_DATA_4G_PLUS
    381             );
    382 
    383     static final MobileIconGroup LTE = new MobileIconGroup(
    384             "LTE",
    385             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    386             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    387             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    388             0, 0,
    389             TelephonyIcons.TELEPHONY_NO_NETWORK,
    390             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    391             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    392             R.string.accessibility_data_connection_lte,
    393             TelephonyIcons.ICON_LTE,
    394             true,
    395             TelephonyIcons.QS_DATA_LTE
    396             );
    397 
    398     static final MobileIconGroup LTE_PLUS = new MobileIconGroup(
    399             "LTE+",
    400             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    401             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    402             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    403             0, 0,
    404             TelephonyIcons.TELEPHONY_NO_NETWORK,
    405             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    406             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    407             R.string.accessibility_data_connection_lte_plus,
    408             TelephonyIcons.ICON_LTE_PLUS,
    409             true,
    410             TelephonyIcons.QS_DATA_LTE_PLUS
    411             );
    412 
    413     static final MobileIconGroup ROAMING = new MobileIconGroup(
    414             "Roaming",
    415             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH_ROAMING,
    416             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    417             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    418             0, 0,
    419             TelephonyIcons.TELEPHONY_NO_NETWORK,
    420             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    421             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    422             R.string.accessibility_data_connection_roaming,
    423             TelephonyIcons.ROAMING_ICON,
    424             false,
    425             TelephonyIcons.QS_DATA_R
    426             );
    427 
    428     static final MobileIconGroup DATA_DISABLED = new MobileIconGroup(
    429             "DataDisabled",
    430             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    431             TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    432             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    433             0, 0,
    434             TelephonyIcons.TELEPHONY_NO_NETWORK,
    435             TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    436             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    437             R.string.accessibility_cell_data_off,
    438             TelephonyIcons.ICON_DATA_DISABLED,
    439             false,
    440             TelephonyIcons.QS_ICON_DATA_DISABLED
    441             );
    442 }
    443 
    444