From 0569647a24aa997a134a342ca890fe686fe6dc8b Mon Sep 17 00:00:00 2001 From: tom hsu Date: Fri, 21 Mar 2025 02:35:32 +0000 Subject: [PATCH] [Satellite] Show category of Your data plan with Manual connection type. - When satellite entitlement is unsupported, it shall show the category of Your data plan with Manual connection type. Flag: EXEMPT bug fix Fix: b/405250203 Test: atest pass Change-Id: I91c5be123d59753d93db37226d0ae17ebb5ea1f5 --- .../SatelliteSettingAccountInfoController.java | 4 ++++ ...elliteSettingAccountInfoControllerTest.java | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoController.java b/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoController.java index f688a92305e..c3ddbe953f5 100644 --- a/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoController.java +++ b/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoController.java @@ -101,6 +101,10 @@ public class SatelliteSettingAccountInfoController extends TelephonyBasePreferen @Override public int getAvailabilityStatus(int subId) { + if (mConfigBundle.getInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT) + == CARRIER_ROAMING_NTN_CONNECT_MANUAL) { + return AVAILABLE; + } return mConfigBundle.getBoolean(KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; diff --git a/tests/unit/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoControllerTest.java index 331a74c8b5c..bab43aeaa32 100644 --- a/tests/unit/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoControllerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/satellite/SatelliteSettingAccountInfoControllerTest.java @@ -16,6 +16,9 @@ package com.android.settings.network.telephony.satellite; +import static android.telephony.CarrierConfigManager.CARRIER_ROAMING_NTN_CONNECT_AUTOMATIC; +import static android.telephony.CarrierConfigManager.CARRIER_ROAMING_NTN_CONNECT_MANUAL; +import static android.telephony.CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT; import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL; import static com.android.settings.core.BasePreferenceController.AVAILABLE; @@ -81,6 +84,8 @@ public class SatelliteSettingAccountInfoControllerTest { @Test public void getAvailabilityStatus_entitlementNotSupport_returnConditionalUnavailable() { + mPersistableBundle.putInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT, + CARRIER_ROAMING_NTN_CONNECT_AUTOMATIC); when(mContext.getSystemService(SatelliteManager.class)).thenReturn(null); mController.init(TEST_SUB_ID, mPersistableBundle, false, false); @@ -91,6 +96,8 @@ public class SatelliteSettingAccountInfoControllerTest { @Test public void getAvailabilityStatus_entitlementIsSupported_returnConditionalUnavailable() { + mPersistableBundle.putInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT, + CARRIER_ROAMING_NTN_CONNECT_AUTOMATIC); mPersistableBundle.putBoolean(KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL, true); mController.init(TEST_SUB_ID, mPersistableBundle, false, false); @@ -99,6 +106,17 @@ public class SatelliteSettingAccountInfoControllerTest { assertThat(result).isEqualTo(AVAILABLE); } + @Test + public void getAvailabilityStatus_connectionTypeISManual_returnAvailable() { + mPersistableBundle.putInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT, + CARRIER_ROAMING_NTN_CONNECT_MANUAL); + mController.init(TEST_SUB_ID, mPersistableBundle, false, false); + + int result = mController.getAvailabilityStatus(TEST_SUB_ID); + + assertThat(result).isEqualTo(AVAILABLE); + } + @Test public void displayPreference_showCategoryTitle_correctOperatorName() { mPersistableBundle.putBoolean(KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL, true);