Do not get CM instance in getActiveModemCount unless needed.
TM#getActiveModemCount might be called before ConnectivityService is initialized. So do not try to get ConnectivityService instance unless it's needed (very rarely). Otherwise it will throw WTF exception. Bug: 144373595 Test: sanity Change-Id: I7a90ec45a0a3700a0c6852c505d68f438f26768c
This commit is contained in:
committed by
Xiangyu/Malcolm Chen
parent
a9cfb69c9c
commit
8a4cf5e0e3
@@ -430,14 +430,14 @@ public class TelephonyManager {
|
||||
int modemCount = 1;
|
||||
switch (getMultiSimConfiguration()) {
|
||||
case UNKNOWN:
|
||||
ConnectivityManager cm = mContext == null ? null : (ConnectivityManager) mContext
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
modemCount = MODEM_COUNT_SINGLE_MODEM;
|
||||
// check for voice and data support, 0 if not supported
|
||||
if (!isVoiceCapable() && !isSmsCapable() && cm != null
|
||||
&& !cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)) {
|
||||
modemCount = MODEM_COUNT_NO_MODEM;
|
||||
} else {
|
||||
modemCount = MODEM_COUNT_SINGLE_MODEM;
|
||||
if (!isVoiceCapable() && !isSmsCapable() && mContext != null) {
|
||||
ConnectivityManager cm = (ConnectivityManager) mContext
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
if (cm != null && !cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)) {
|
||||
modemCount = MODEM_COUNT_NO_MODEM;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case DSDS:
|
||||
|
||||
Reference in New Issue
Block a user