Merge "[Settings] IMS feature checking before accessing VT IMS API" into tm-dev am: bd971968e9

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18131632

Change-Id: I9c2056dfb62576bfc7dd87df6a1a58ef0aa7095e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Bonian Chen
2022-05-10 05:43:38 +00:00
committed by Automerger Merge Worker
2 changed files with 9 additions and 1 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.network.telephony;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
@@ -129,6 +130,12 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC
return queryImsState(mSubId).isEnabledByUser();
}
@VisibleForTesting
protected boolean isImsSupported() {
return mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY_IMS);
}
public VideoCallingPreferenceController init(int subId) {
mSubId = subId;
@@ -154,7 +161,7 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC
return false;
}
return queryImsState(subId).isReadyToVideoCall();
return isImsSupported() && queryImsState(subId).isReadyToVideoCall();
}
@Override

View File

@@ -89,6 +89,7 @@ public class VideoCallingPreferenceControllerTest {
mController.init(SUB_ID);
doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
doReturn(mQueryVoLteState).when(mController).queryVoLteState(anyInt());
doReturn(true).when(mController).isImsSupported();
mPreference.setKey(mController.getPreferenceKey());
mQueryImsState.setIsEnabledByPlatform(true);