4.3
多SIM卡状态栏信号更新:
1>:信号以是否连接使用数据分为2组:未连接使用数据的,连接使用数据的:
TelephonyIcons.java
//GSM/UMTS
static final int[][] TELEPHONY_SIGNAL_STRENGTH = {
{ R.drawable.stat_sys_signal_0,
R.drawable.stat_sys_signal_1,
R.drawable.stat_sys_signal_2,
R.drawable.stat_sys_signal_3,
R.drawable.stat_sys_signal_4 },
{ R.drawable.stat_sys_signal_0_fully,
R.drawable.stat_sys_signal_1_fully,
R.drawable.stat_sys_signal_2_fully,
R.drawable.stat_sys_signal_3_fully,
R.drawable.stat_sys_signal_4_fully }
};
2>:
数据是否连接使用在MSimNetworkController.java的updateConnectivity(Intent intent)方法里依据底层值判断:
// INET_CONDITION_THRESHOLD = 50
int connectionStatus = intent.getIntExtra(ConnectivityManager.EXTRA_INET_CONDITION, 0);
mInetCondition = (connectionStatus > INET_CONDITION_THRESHOLD ? 1 : 0);
其中:
/**
* The lookup key for an int that provides information about
* our connection to the internet at large. 0 indicates no connection,
* 100 indicates a great connection. Retrieve it with
* {@link android.content.Intent#getIntExtra(String, int)}.
* {@hide}
*/
public static final String EXTRA_INET_CONDITION = "inetCondition";
另外:ConnectivityManagerEXTRA_INET_CONDITION值是在LINUX/android/frameworks/opt/connectivity/services/java/QcConnectivityService.java里intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION , xxxxxxxxx);
注:1>:数据是连接使用 != 数据连接。
2>:另外状态栏在MSimNetworkController.java中还有一个数值判断当前数据是否连接,这个值服务于数据上下行箭头标识的控制。