Added KEY_VONR_ENABLED_BOOL to obtain VoNR availability status
Bug: 205809218 Test: atest NrAdvancedCallingPreferenceControllerTest Change-Id: I45ac1e95d669801c2d37f49943d7c16cfb7adae3
This commit is contained in:
@@ -46,6 +46,7 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
||||
Preference mPreference;
|
||||
private TelephonyManager mTelephonyManager;
|
||||
private PhoneCallStateTelephonyCallback mTelephonyCallback;
|
||||
private boolean mIsVonrEnabledFromCarrierConfig = false;
|
||||
private boolean mIsVonrVisibleFromCarrierConfig = false;
|
||||
private boolean mIsNrEnableFromCarrierConfig = false;
|
||||
private boolean mHas5gCapability = false;
|
||||
@@ -83,6 +84,9 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
||||
if (carrierConfig == null) {
|
||||
return this;
|
||||
}
|
||||
mIsVonrEnabledFromCarrierConfig = carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_VONR_ENABLED_BOOL);
|
||||
|
||||
mIsVonrVisibleFromCarrierConfig = carrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL);
|
||||
|
||||
@@ -92,6 +96,7 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
||||
|
||||
Log.d(TAG, "mHas5gCapability: " + mHas5gCapability
|
||||
+ ",mIsNrEnabledFromCarrierConfig: " + mIsNrEnableFromCarrierConfig
|
||||
+ ",mIsVonrEnabledFromCarrierConfig: " + mIsVonrEnabledFromCarrierConfig
|
||||
+ ",mIsVonrVisibleFromCarrierConfig: " + mIsVonrVisibleFromCarrierConfig);
|
||||
return this;
|
||||
}
|
||||
@@ -100,7 +105,10 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
||||
public int getAvailabilityStatus(int subId) {
|
||||
init(subId);
|
||||
|
||||
if (mHas5gCapability && mIsNrEnableFromCarrierConfig && mIsVonrVisibleFromCarrierConfig) {
|
||||
if (mHas5gCapability
|
||||
&& mIsNrEnableFromCarrierConfig
|
||||
&& mIsVonrEnabledFromCarrierConfig
|
||||
&& mIsVonrVisibleFromCarrierConfig) {
|
||||
return AVAILABLE;
|
||||
}
|
||||
return CONDITIONALLY_UNAVAILABLE;
|
||||
|
@@ -80,7 +80,8 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
||||
mTelephonyManager).setVoNrEnabled(anyBoolean());
|
||||
mCarrierConfig = new PersistableBundle();
|
||||
doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);
|
||||
mCarrierConfig.putIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
|
||||
new int[]{1, 2});
|
||||
|
||||
@@ -92,7 +93,8 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_vonrDisabled_returnUnavailable() {
|
||||
public void getAvailabilityStatus_vonrEnabledAndVisibleDisable_returnUnavailable() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, true);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);
|
||||
|
||||
mController.init(SUB_ID);
|
||||
@@ -102,7 +104,30 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_vonrEnabled_returnAvailable() {
|
||||
public void getAvailabilityStatus_vonrDisabledAndVisibleDisable_returnUnavailable() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);
|
||||
|
||||
mController.init(SUB_ID);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(
|
||||
BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_vonrDisabledAndVisibleEnable_returnUnavailable() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);
|
||||
|
||||
mController.init(SUB_ID);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(
|
||||
BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_vonrEnabledAndVisibleEnable_returnAvailable() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, true);
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);
|
||||
|
||||
mController.init(SUB_ID);
|
||||
|
Reference in New Issue
Block a user