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.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