diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java index 698f6e1258b..40641812133 100644 --- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java +++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java @@ -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 diff --git a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java index 668d7f37981..9b44faa9295 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java @@ -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);