Merge "[Satellite] Add satellite string for KDDI if no entitlement" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
1b1fa4810f
@@ -16,10 +16,12 @@
|
||||
|
||||
package com.android.settings.network.telephony;
|
||||
|
||||
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_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL;
|
||||
import static android.telephony.NetworkRegistrationInfo.SERVICE_TYPE_DATA;
|
||||
import static android.telephony.NetworkRegistrationInfo.SERVICE_TYPE_SMS;
|
||||
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||
|
||||
@@ -39,6 +41,9 @@ import android.telephony.TelephonyManager;
|
||||
import android.telephony.satellite.SatelliteManager;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
@@ -47,7 +52,6 @@ import com.android.settings.R;
|
||||
import com.android.settings.network.CarrierConfigCache;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -56,10 +60,10 @@ import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@Ignore("b/382664790")
|
||||
@UiThreadTest
|
||||
public class SatelliteSettingsPreferenceControllerTest {
|
||||
private static final String KEY = "key";
|
||||
private static final int TEST_SUB_ID = 0;
|
||||
private static final String KEY = "SatelliteSettingsPreferenceControllerTest";
|
||||
private static final int TEST_SUB_ID = 5;
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
@@ -85,12 +89,13 @@ public class SatelliteSettingsPreferenceControllerTest {
|
||||
when(mContext.getSystemService(SatelliteManager.class)).thenReturn(mSatelliteManager);
|
||||
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
|
||||
when(mTelephonyManager.createForSubscriptionId(TEST_SUB_ID)).thenReturn(mTelephonyManager);
|
||||
when(mCarrierConfigCache.getConfigForSubId(TEST_SUB_ID)).thenReturn(mCarrierConfig);
|
||||
mController = spy(new SatelliteSettingPreferenceController(mContext, KEY));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
|
||||
public void getAvailabilityStatus_noSatellite_returnUnsupport() {
|
||||
public void getAvailabilityStatus_noSatellite_returnUnsupported() {
|
||||
when(mContext.getSystemService(SatelliteManager.class)).thenReturn(null);
|
||||
mController = new SatelliteSettingPreferenceController(mContext, KEY);
|
||||
|
||||
@@ -102,11 +107,39 @@ public class SatelliteSettingsPreferenceControllerTest {
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
|
||||
public void getAvailabilityStatus_carrierIsNotSupport_returnUnavailable() {
|
||||
when(mContext.getSystemService(SatelliteManager.class)).thenReturn(null);
|
||||
mCarrierConfig.putBoolean(
|
||||
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
|
||||
false);
|
||||
when(mCarrierConfigCache.getConfigForSubId(TEST_SUB_ID)).thenReturn(mCarrierConfig);
|
||||
int result = mController.getAvailabilityStatus(TEST_SUB_ID);
|
||||
|
||||
assertThat(result).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
|
||||
public void getAvailabilityStatus_ntnConnectIsManual_returnUnavailable() {
|
||||
mCarrierConfig.putBoolean(
|
||||
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
|
||||
true);
|
||||
mCarrierConfig.putInt(
|
||||
CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT,
|
||||
CARRIER_ROAMING_NTN_CONNECT_MANUAL);
|
||||
int result = mController.getAvailabilityStatus(TEST_SUB_ID);
|
||||
|
||||
assertThat(result).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
|
||||
public void getAvailabilityStatus_smsNotAvailable_returnUnavailable() {
|
||||
mCarrierConfig.putBoolean(
|
||||
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
|
||||
true);
|
||||
mCarrierConfig.putInt(
|
||||
CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT,
|
||||
CARRIER_ROAMING_NTN_CONNECT_AUTOMATIC);
|
||||
mController.mCarrierRoamingNtnModeCallback.onCarrierRoamingNtnAvailableServicesChanged(
|
||||
new int[]{SERVICE_TYPE_SMS});
|
||||
|
||||
int result = mController.getAvailabilityStatus(TEST_SUB_ID);
|
||||
|
||||
@@ -115,22 +148,25 @@ public class SatelliteSettingsPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG)
|
||||
public void getAvailabilityStatus_carrierIsSupport_returnAvailable() {
|
||||
when(mContext.getSystemService(SatelliteManager.class)).thenReturn(null);
|
||||
public void getAvailabilityStatus_matchAllConditions_returnAvailable() {
|
||||
mCarrierConfig.putBoolean(
|
||||
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
|
||||
true);
|
||||
when(mCarrierConfigCache.getConfigForSubId(TEST_SUB_ID)).thenReturn(mCarrierConfig);
|
||||
mCarrierConfig.putInt(
|
||||
CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT,
|
||||
CARRIER_ROAMING_NTN_CONNECT_AUTOMATIC);
|
||||
|
||||
mController.mCarrierRoamingNtnModeCallback.onCarrierRoamingNtnAvailableServicesChanged(
|
||||
new int[]{SERVICE_TYPE_SMS});
|
||||
|
||||
int result = mController.getAvailabilityStatus(TEST_SUB_ID);
|
||||
|
||||
assertThat(result).isEqualTo(AVAILABLE);
|
||||
assertThat(result).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore("avoid post submit failed")
|
||||
@EnableFlags(com.android.settings.flags.Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
|
||||
public void getAvailabilityStatus_registerTelephonyCallback_success() {
|
||||
public void onResume_registerTelephonyCallback_success() {
|
||||
mController.init(TEST_SUB_ID);
|
||||
mController.onResume(null);
|
||||
|
||||
@@ -138,7 +174,6 @@ public class SatelliteSettingsPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore("avoid post submit failed")
|
||||
@EnableFlags(com.android.settings.flags.Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
|
||||
public void getAvailabilityStatus_unregisterTelephonyCallback_success() {
|
||||
mController.init(TEST_SUB_ID);
|
||||
@@ -178,4 +213,66 @@ public class SatelliteSettingsPreferenceControllerTest {
|
||||
assertThat(preference.getTitle()).isEqualTo(
|
||||
mContext.getString(R.string.satellite_setting_title));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(com.android.settings.flags.Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
|
||||
public void getAvailabilityStatus_noEntitlement_showSummaryWithoutEntitlement() {
|
||||
mCarrierConfig.putBoolean(
|
||||
KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL,
|
||||
false);
|
||||
mController.init(TEST_SUB_ID);
|
||||
Preference preference = new Preference(mContext);
|
||||
preference.setKey(KEY);
|
||||
preference.setTitle("test title");
|
||||
mController.updateState(preference);
|
||||
|
||||
assertThat(preference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.satellite_setting_summary_without_entitlement));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(com.android.settings.flags.Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
|
||||
public void getAvailabilityStatus_smsAvailableForManualType_showSummaryWithAccount() {
|
||||
mCarrierConfig.putBoolean(
|
||||
KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL,
|
||||
true);
|
||||
mCarrierConfig.putInt(
|
||||
CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT,
|
||||
CARRIER_ROAMING_NTN_CONNECT_MANUAL);
|
||||
mController.init(TEST_SUB_ID);
|
||||
PreferenceManager preferenceManager = new PreferenceManager(mContext);
|
||||
PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
|
||||
Preference preference = new Preference(mContext);
|
||||
preference.setKey(KEY);
|
||||
preference.setTitle("test title");
|
||||
preferenceScreen.addPreference(preference);
|
||||
mController.mIsSatelliteSmsAvailableForManualType = true;
|
||||
mController.displayPreference(preferenceScreen);
|
||||
|
||||
assertThat(preference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.satellite_setting_enabled_summary));
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(com.android.settings.flags.Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
|
||||
public void getAvailabilityStatus_smsAvailableForAutoType_showSummaryWithoutAccount() {
|
||||
mCarrierConfig.putBoolean(
|
||||
KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL,
|
||||
true);
|
||||
mCarrierConfig.putInt(
|
||||
CarrierConfigManager.KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT,
|
||||
CARRIER_ROAMING_NTN_CONNECT_MANUAL);
|
||||
mController.init(TEST_SUB_ID);
|
||||
PreferenceManager preferenceManager = new PreferenceManager(mContext);
|
||||
PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
|
||||
Preference preference = new Preference(mContext);
|
||||
preference.setKey(KEY);
|
||||
preference.setTitle("test title");
|
||||
preferenceScreen.addPreference(preference);
|
||||
mController.mIsSatelliteSmsAvailableForManualType = false;
|
||||
mController.displayPreference(preferenceScreen);
|
||||
|
||||
assertThat(preference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.satellite_setting_disabled_summary));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user