[Settings] Avoid from crash when pull out SIM

Avoid from crash through exception handling.

Bug: 148803073
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSliceHelperTest

Change-Id: I10aff50b6f3fc50b2f336ee320740f9f4a81e256
This commit is contained in:
Bonian Chen
2020-04-01 12:01:45 +08:00
parent 783b0257ad
commit bd03b17a62
5 changed files with 54 additions and 12 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.network.ims;
import android.telephony.ims.ImsMmTelManager;
import android.util.Log;
/**
@@ -24,6 +25,8 @@ import android.telephony.ims.ImsMmTelManager;
*/
public class ImsQueryTtyOnVolteStat implements ImsQuery {
private static final String LOG_TAG = "QueryTtyOnVolteStat";
/**
* Constructor
* @param subId subscription id
@@ -40,7 +43,13 @@ public class ImsQueryTtyOnVolteStat implements ImsQuery {
* @return result of query
*/
public boolean query() {
final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
return imsMmTelManager.isTtyOverVolteEnabled();
try {
final ImsMmTelManager imsMmTelManager =
ImsMmTelManager.createForSubscriptionId(mSubId);
return imsMmTelManager.isTtyOverVolteEnabled();
} catch (IllegalArgumentException exception) {
Log.w(LOG_TAG, "fail to get VoLte Tty Stat. subId=" + mSubId, exception);
}
return false;
}
}