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;
|
Preference mPreference;
|
||||||
private TelephonyManager mTelephonyManager;
|
private TelephonyManager mTelephonyManager;
|
||||||
private PhoneCallStateTelephonyCallback mTelephonyCallback;
|
private PhoneCallStateTelephonyCallback mTelephonyCallback;
|
||||||
|
private boolean mIsVonrEnabledFromCarrierConfig = false;
|
||||||
private boolean mIsVonrVisibleFromCarrierConfig = false;
|
private boolean mIsVonrVisibleFromCarrierConfig = false;
|
||||||
private boolean mIsNrEnableFromCarrierConfig = false;
|
private boolean mIsNrEnableFromCarrierConfig = false;
|
||||||
private boolean mHas5gCapability = false;
|
private boolean mHas5gCapability = false;
|
||||||
@@ -83,6 +84,9 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
|||||||
if (carrierConfig == null) {
|
if (carrierConfig == null) {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
mIsVonrEnabledFromCarrierConfig = carrierConfig.getBoolean(
|
||||||
|
CarrierConfigManager.KEY_VONR_ENABLED_BOOL);
|
||||||
|
|
||||||
mIsVonrVisibleFromCarrierConfig = carrierConfig.getBoolean(
|
mIsVonrVisibleFromCarrierConfig = carrierConfig.getBoolean(
|
||||||
CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL);
|
CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL);
|
||||||
|
|
||||||
@@ -92,6 +96,7 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
|||||||
|
|
||||||
Log.d(TAG, "mHas5gCapability: " + mHas5gCapability
|
Log.d(TAG, "mHas5gCapability: " + mHas5gCapability
|
||||||
+ ",mIsNrEnabledFromCarrierConfig: " + mIsNrEnableFromCarrierConfig
|
+ ",mIsNrEnabledFromCarrierConfig: " + mIsNrEnableFromCarrierConfig
|
||||||
|
+ ",mIsVonrEnabledFromCarrierConfig: " + mIsVonrEnabledFromCarrierConfig
|
||||||
+ ",mIsVonrVisibleFromCarrierConfig: " + mIsVonrVisibleFromCarrierConfig);
|
+ ",mIsVonrVisibleFromCarrierConfig: " + mIsVonrVisibleFromCarrierConfig);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -100,7 +105,10 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
|
|||||||
public int getAvailabilityStatus(int subId) {
|
public int getAvailabilityStatus(int subId) {
|
||||||
init(subId);
|
init(subId);
|
||||||
|
|
||||||
if (mHas5gCapability && mIsNrEnableFromCarrierConfig && mIsVonrVisibleFromCarrierConfig) {
|
if (mHas5gCapability
|
||||||
|
&& mIsNrEnableFromCarrierConfig
|
||||||
|
&& mIsVonrEnabledFromCarrierConfig
|
||||||
|
&& mIsVonrVisibleFromCarrierConfig) {
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
return CONDITIONALLY_UNAVAILABLE;
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
|
@@ -80,7 +80,8 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
|||||||
mTelephonyManager).setVoNrEnabled(anyBoolean());
|
mTelephonyManager).setVoNrEnabled(anyBoolean());
|
||||||
mCarrierConfig = new PersistableBundle();
|
mCarrierConfig = new PersistableBundle();
|
||||||
doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
|
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,
|
mCarrierConfig.putIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
|
||||||
new int[]{1, 2});
|
new int[]{1, 2});
|
||||||
|
|
||||||
@@ -92,7 +93,8 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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);
|
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);
|
||||||
|
|
||||||
mController.init(SUB_ID);
|
mController.init(SUB_ID);
|
||||||
@@ -102,7 +104,30 @@ public class NrAdvancedCallingPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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);
|
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);
|
||||||
|
|
||||||
mController.init(SUB_ID);
|
mController.init(SUB_ID);
|
||||||
|
Reference in New Issue
Block a user