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:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
@@ -129,6 +130,12 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC
|
|||||||
return queryImsState(mSubId).isEnabledByUser();
|
return queryImsState(mSubId).isEnabledByUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean isImsSupported() {
|
||||||
|
return mContext.getPackageManager().hasSystemFeature(
|
||||||
|
PackageManager.FEATURE_TELEPHONY_IMS);
|
||||||
|
}
|
||||||
|
|
||||||
public VideoCallingPreferenceController init(int subId) {
|
public VideoCallingPreferenceController init(int subId) {
|
||||||
mSubId = subId;
|
mSubId = subId;
|
||||||
|
|
||||||
@@ -154,7 +161,7 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return queryImsState(subId).isReadyToVideoCall();
|
return isImsSupported() && queryImsState(subId).isReadyToVideoCall();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -89,6 +89,7 @@ public class VideoCallingPreferenceControllerTest {
|
|||||||
mController.init(SUB_ID);
|
mController.init(SUB_ID);
|
||||||
doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
|
doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
|
||||||
doReturn(mQueryVoLteState).when(mController).queryVoLteState(anyInt());
|
doReturn(mQueryVoLteState).when(mController).queryVoLteState(anyInt());
|
||||||
|
doReturn(true).when(mController).isImsSupported();
|
||||||
mPreference.setKey(mController.getPreferenceKey());
|
mPreference.setKey(mController.getPreferenceKey());
|
||||||
|
|
||||||
mQueryImsState.setIsEnabledByPlatform(true);
|
mQueryImsState.setIsEnabledByPlatform(true);
|
||||||
|
Reference in New Issue
Block a user