Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 547f733d authored by Hakjun Choi's avatar Hakjun Choi Committed by Android (Google) Code Review
Browse files

Merge "clean aflag CARRIER_ROAMING_NB_IOT_NTN, 24 Q3 flag" into main

parents cfb198ee 5f167b87
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -45455,7 +45455,7 @@ package android.telephony {
    field public static final String KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL = "carrier_provisions_wifi_merged_networks_bool";
    field public static final String KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL = "carrier_rcs_provisioning_required_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT = "carrier_roaming_ntn_connect_type_int";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_CARRIER_ROAMING_NTN_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_INT = "carrier_roaming_ntn_emergency_call_to_satellite_handover_type_int";
    field public static final String KEY_CARRIER_ROAMING_NTN_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_INT = "carrier_roaming_ntn_emergency_call_to_satellite_handover_type_int";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_CARRIER_ROAMING_SATELLITE_DEFAULT_SERVICES_INT_ARRAY = "carrier_roaming_satellite_default_services_int_array";
    field public static final String KEY_CARRIER_SERVICE_NAME_STRING_ARRAY = "carrier_service_name_array";
    field public static final String KEY_CARRIER_SERVICE_NUMBER_STRING_ARRAY = "carrier_service_number_array";
@@ -45650,14 +45650,14 @@ package android.telephony {
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_ENTITLEMENT_APP_NAME_STRING = "satellite_entitlement_app_name_string";
    field public static final String KEY_SATELLITE_ENTITLEMENT_STATUS_REFRESH_DAYS_INT = "satellite_entitlement_status_refresh_days_int";
    field public static final String KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL = "satellite_entitlement_supported_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ESOS_SUPPORTED_BOOL = "satellite_esos_supported_bool";
    field public static final String KEY_SATELLITE_ESOS_SUPPORTED_BOOL = "satellite_esos_supported_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_25q4_apis") public static final String KEY_SATELLITE_IGNORE_DATA_ROAMING_SETTING_BOOL = "satellite_ignore_data_roaming_setting_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_INFORMATION_REDIRECT_URL_STRING = "satellite_information_redirect_url_string";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_NIDD_APN_NAME_STRING = "satellite_nidd_apn_name_string";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ROAMING_ESOS_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_esos_inactivity_timeout_sec_int";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ROAMING_P2P_SMS_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_p2p_sms_inactivity_timeout_sec_int";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ROAMING_P2P_SMS_SUPPORTED_BOOL = "satellite_roaming_p2p_sms_supported_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ROAMING_SCREEN_OFF_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_screen_off_inactivity_timeout_sec_int";
    field public static final String KEY_SATELLITE_ROAMING_ESOS_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_esos_inactivity_timeout_sec_int";
    field public static final String KEY_SATELLITE_ROAMING_P2P_SMS_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_p2p_sms_inactivity_timeout_sec_int";
    field public static final String KEY_SATELLITE_ROAMING_P2P_SMS_SUPPORTED_BOOL = "satellite_roaming_p2p_sms_supported_bool";
    field public static final String KEY_SATELLITE_ROAMING_SCREEN_OFF_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_screen_off_inactivity_timeout_sec_int";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_ROAMING_TURN_OFF_SESSION_FOR_EMERGENCY_CALL_BOOL = "satellite_roaming_turn_off_session_for_emergency_call_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_SOS_MAX_DATAGRAM_SIZE_BYTES_INT = "satellite_sos_max_datagram_size_bytes_int";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_SUPPORTED_MSG_APPS_STRING_ARRAY = "satellite_supported_msg_apps_string_array";
+0 −6
Original line number Diff line number Diff line
@@ -2339,8 +2339,6 @@ public class TelephonyCallback {
        }

        public void onCarrierRoamingNtnEligibleStateChanged(boolean eligible) {
            if (!Flags.carrierRoamingNbIotNtn()) return;

            CarrierRoamingNtnListener listener =
                    (CarrierRoamingNtnListener) mTelephonyCallbackWeakRef.get();
            if (listener == null) return;
@@ -2351,8 +2349,6 @@ public class TelephonyCallback {

        public void onCarrierRoamingNtnAvailableServicesChanged(
                @NetworkRegistrationInfo.ServiceType int[] availableServices) {
            if (!Flags.carrierRoamingNbIotNtn()) return;

            CarrierRoamingNtnListener listener =
                    (CarrierRoamingNtnListener) mTelephonyCallbackWeakRef.get();
            if (listener == null) return;
@@ -2363,8 +2359,6 @@ public class TelephonyCallback {

        public void onCarrierRoamingNtnSignalStrengthChanged(
                @NonNull NtnSignalStrength ntnSignalStrength) {
            if (!Flags.carrierRoamingNbIotNtn()) return;

            CarrierRoamingNtnListener listener =
                    (CarrierRoamingNtnListener) mTelephonyCallbackWeakRef.get();
            if (listener == null) return;
+0 −65
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.systemui.statusbar.pipeline.mobile.domain.interactor

import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.telephony.CellSignalStrength
import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -636,28 +634,6 @@ class MobileIconInteractorKairosTest : SysuiTestCase() {
        assertThat(latest).isInstanceOf(SignalIconModel.Satellite::class.java)
    }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    // See b/346904529 for more context
    fun satBasedIcon_doesNotInflateSignalStrength_flagOff() = runTest {
        val latest by underTest.signalLevelIcon.collectLastValue()

        // GIVEN a satellite connection
        connectionRepo.isNonTerrestrial.setValue(true)
        // GIVEN this carrier has set INFLATE_SIGNAL_STRENGTH
        connectionRepo.inflateSignalStrength.setValue(true)

        connectionRepo.primaryLevel.setValue(4)
        assertThat(latest!!.level).isEqualTo(4)

        connectionRepo.inflateSignalStrength.setValue(true)
        connectionRepo.primaryLevel.setValue(4)

        // Icon level is unaffected
        assertThat(latest!!.level).isEqualTo(4)
    }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    // See b/346904529 for more context
    fun satBasedIcon_doesNotInflateSignalStrength_flagOn() = runTest {
@@ -678,23 +654,6 @@ class MobileIconInteractorKairosTest : SysuiTestCase() {
        assertThat(latest!!.level).isEqualTo(4)
    }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_usesPrimaryLevel_flagOff() = runTest {
        val latest by underTest.signalLevelIcon.collectLastValue()

        // GIVEN a satellite connection
        connectionRepo.isNonTerrestrial.setValue(true)

        // GIVEN primary level is set
        connectionRepo.primaryLevel.setValue(4)
        connectionRepo.satelliteLevel.setValue(0)

        // THEN icon uses the primary level because the flag is off
        assertThat(latest!!.level).isEqualTo(4)
    }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_usesSatelliteLevel_flagOn() = runTest {
        val latest by underTest.signalLevelIcon.collectLastValue()
@@ -710,30 +669,6 @@ class MobileIconInteractorKairosTest : SysuiTestCase() {
        assertThat(latest!!.level).isEqualTo(4)
    }

    /**
     * Context (b/377518113), this test will not be needed after FLAG_CARRIER_ROAMING_NB_IOT_NTN is
     * rolled out. The new API should report 0 automatically if not in service.
     */
    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_reportsLevelZeroWhenOutOfService() = runTest {
        val latest by underTest.signalLevelIcon.collectLastValue()

        // GIVEN a satellite connection
        connectionRepo.isNonTerrestrial.setValue(true)
        // GIVEN this carrier has set INFLATE_SIGNAL_STRENGTH
        connectionRepo.inflateSignalStrength.setValue(true)

        connectionRepo.primaryLevel.setValue(4)
        assertThat(latest!!.level).isEqualTo(4)

        connectionRepo.isInService.setValue(false)
        connectionRepo.primaryLevel.setValue(4)

        // THEN level reports 0, by policy
        assertThat(latest!!.level).isEqualTo(0)
    }

    companion object {
        private const val GSM_LEVEL = 1
        private const val CDMA_LEVEL = 2
+0 −69
Original line number Diff line number Diff line
@@ -16,13 +16,10 @@

package com.android.systemui.statusbar.pipeline.mobile.domain.interactor

import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.telephony.CellSignalStrength
import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.telephony.flags.Flags
import com.android.settingslib.mobile.MobileIconCarrierIdOverrides
import com.android.settingslib.mobile.MobileIconCarrierIdOverridesImpl
import com.android.settingslib.mobile.TelephonyIcons
@@ -753,29 +750,6 @@ abstract class MobileIconInteractorTestBase : SysuiTestCase() {
            assertThat(latest).isInstanceOf(SignalIconModel.Satellite::class.java)
        }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    // See b/346904529 for more context
    fun satBasedIcon_doesNotInflateSignalStrength_flagOff() =
        testScope.runTest {
            val latest by collectLastValue(underTest.signalLevelIcon)

            // GIVEN a satellite connection
            connectionRepository.isNonTerrestrial.value = true
            // GIVEN this carrier has set INFLATE_SIGNAL_STRENGTH
            connectionRepository.inflateSignalStrength.value = true

            connectionRepository.primaryLevel.value = 4
            assertThat(latest!!.level).isEqualTo(4)

            connectionRepository.inflateSignalStrength.value = true
            connectionRepository.primaryLevel.value = 4

            // Icon level is unaffected
            assertThat(latest!!.level).isEqualTo(4)
        }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    // See b/346904529 for more context
    fun satBasedIcon_doesNotInflateSignalStrength_flagOn() =
@@ -797,24 +771,6 @@ abstract class MobileIconInteractorTestBase : SysuiTestCase() {
            assertThat(latest!!.level).isEqualTo(4)
        }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_usesPrimaryLevel_flagOff() =
        testScope.runTest {
            val latest by collectLastValue(underTest.signalLevelIcon)

            // GIVEN a satellite connection
            connectionRepository.isNonTerrestrial.value = true

            // GIVEN primary level is set
            connectionRepository.primaryLevel.value = 4
            connectionRepository.satelliteLevel.value = 0

            // THEN icon uses the primary level because the flag is off
            assertThat(latest!!.level).isEqualTo(4)
        }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_usesSatelliteLevel_flagOn() =
        testScope.runTest {
@@ -831,31 +787,6 @@ abstract class MobileIconInteractorTestBase : SysuiTestCase() {
            assertThat(latest!!.level).isEqualTo(4)
        }

    /**
     * Context (b/377518113), this test will not be needed after FLAG_CARRIER_ROAMING_NB_IOT_NTN is
     * rolled out. The new API should report 0 automatically if not in service.
     */
    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satBasedIcon_reportsLevelZeroWhenOutOfService() =
        testScope.runTest {
            val latest by collectLastValue(underTest.signalLevelIcon)

            // GIVEN a satellite connection
            connectionRepository.isNonTerrestrial.value = true
            // GIVEN this carrier has set INFLATE_SIGNAL_STRENGTH
            connectionRepository.inflateSignalStrength.value = true

            connectionRepository.primaryLevel.value = 4
            assertThat(latest!!.level).isEqualTo(4)

            connectionRepository.isInService.value = false
            connectionRepository.primaryLevel.value = 4

            // THEN level reports 0, by policy
            assertThat(latest!!.level).isEqualTo(0)
        }

    abstract fun createInteractor(
        overrides: MobileIconCarrierIdOverrides = MobileIconCarrierIdOverridesImpl()
    ): MobileIconInteractor
+0 −69
Original line number Diff line number Diff line
@@ -788,39 +788,6 @@ class MobileIconViewModelKairosTest : SysuiTestCase() {
        assertThat(activityContainerVisible).isFalse()
    }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun nonTerrestrial_usesSatelliteIcon_flagOff() = runTest {
        repository.isNonTerrestrial.setValue(true)
        repository.setAllLevels(0)
        repository.satelliteLevel.setValue(0)

        val latest by underTest.icon.map { it as SignalIconModel.Satellite }.collectLastValue()

        // Level 0 -> no connection
        assertThat(latest).isNotNull()
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_0)

        // 1-2 -> 1 bar
        repository.setAllLevels(1)
        repository.satelliteLevel.setValue(1)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_1)

        repository.setAllLevels(2)
        repository.satelliteLevel.setValue(2)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_1)

        // 3-4 -> 2 bars
        repository.setAllLevels(3)
        repository.satelliteLevel.setValue(3)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_2)

        repository.setAllLevels(4)
        repository.satelliteLevel.setValue(4)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_2)
    }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun nonTerrestrial_usesSatelliteIcon_flagOn() = runTest {
        repository.isNonTerrestrial.setValue(true)
@@ -847,42 +814,6 @@ class MobileIconViewModelKairosTest : SysuiTestCase() {
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_2)
    }

    @DisableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satelliteIcon_ignoresInflateSignalStrength_flagOff() = runTest {
        // Note that this is the exact same test as above, but with inflateSignalStrength set to
        // true we note that the level is unaffected by inflation
        repository.inflateSignalStrength.setValue(true)
        repository.isNonTerrestrial.setValue(true)
        repository.setAllLevels(0)
        repository.satelliteLevel.setValue(0)

        val latest by underTest.icon.map { it as SignalIconModel.Satellite }.collectLastValue()

        // Level 0 -> no connection
        assertThat(latest).isNotNull()
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_0)

        // 1-2 -> 1 bar
        repository.setAllLevels(1)
        repository.satelliteLevel.setValue(1)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_1)

        repository.setAllLevels(2)
        repository.satelliteLevel.setValue(2)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_1)

        // 3-4 -> 2 bars
        repository.setAllLevels(3)
        repository.satelliteLevel.setValue(3)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_2)

        repository.setAllLevels(4)
        repository.satelliteLevel.setValue(4)
        assertThat(latest!!.icon.res).isEqualTo(R.drawable.ic_satellite_connected_2)
    }

    @EnableFlags(com.android.internal.telephony.flags.Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
    @Test
    fun satelliteIcon_ignoresInflateSignalStrength_flagOn() = runTest {
        // Note that this is the exact same test as above, but with inflateSignalStrength set to
Loading