Merge "Handle null intent in WifiCallingPreferenceController" into qt-dev
am: b4d94a8ccc
Change-Id: I82623904692cd6f9cdf1daf50b366c8a41f15804
This commit is contained in:
@@ -114,6 +114,10 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont
|
||||
if (mSimCallManager != null) {
|
||||
Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
|
||||
mSimCallManager);
|
||||
if (intent == null) {
|
||||
// Do nothing in this case since preference is invisible
|
||||
return;
|
||||
}
|
||||
final PackageManager pm = mContext.getPackageManager();
|
||||
List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
|
||||
preference.setTitle(resolutions.get(0).loadLabel(pm));
|
||||
|
@@ -27,6 +27,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.PersistableBundle;
|
||||
import android.provider.Settings;
|
||||
import android.telecom.PhoneAccountHandle;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -117,6 +118,14 @@ public class WifiCallingPreferenceControllerTest {
|
||||
assertThat(mPreference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_invalidPhoneAccountHandle_shouldNotCrash() {
|
||||
mController.mSimCallManager = new PhoneAccountHandle(null /* invalid */, "");
|
||||
|
||||
//Should not crash
|
||||
mController.updateState(mPreference);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_wfcNonRoaming() {
|
||||
assertNull(mController.mSimCallManager);
|
||||
|
Reference in New Issue
Block a user