Fix com.android.phone crash for wifionly project
fix phone crash for reason ArrayIndexOutOfBoundException
Bug: 236102670
Test: Bootup wifionly device, process com.android.phone will not crash
Change-Id: Ia49f219d992bb64174d63c04bec83b65367e514a
Merged-In: Ia49f219d992bb64174d63c04bec83b65367e514a
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 99e73ff..f6ec75d 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -549,15 +549,15 @@
mHandler, EVENT_MULTI_SIM_CONFIG_CHANGED, null);
mTelephonyCallbacks = new PhoneAppCallback[tm.getSupportedModemCount()];
-
- for (Phone phone : PhoneFactory.getPhones()) {
- int subId = phone.getSubId();
- PhoneAppCallback callback = new PhoneAppCallback(subId);
- tm.createForSubscriptionId(subId).registerTelephonyCallback(
- TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post, callback);
- mTelephonyCallbacks[phone.getPhoneId()] = callback;
+ if (tm.getSupportedModemCount() > 0) {
+ for (Phone phone : PhoneFactory.getPhones()) {
+ int subId = phone.getSubId();
+ PhoneAppCallback callback = new PhoneAppCallback(subId);
+ tm.createForSubscriptionId(subId).registerTelephonyCallback(
+ TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post, callback);
+ mTelephonyCallbacks[phone.getPhoneId()] = callback;
+ }
}
-
mCarrierVvmPackageInstalledReceiver.register(this);
//set the default values for the preferences in the phone.