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

Commit 13c6cad5 authored by Tom Hsu's avatar Tom Hsu Committed by Android (Google) Code Review
Browse files

Merge "Fix crash due to no Satellite" into main

parents 10f0cd82 9329684c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@ class AutoSelectPreferenceController @JvmOverloads constructor(
    private var isSelectedSubIdForSatellite = false

    private lateinit var telephonyManager: TelephonyManager
    private lateinit var satelliteManager: SatelliteManager
    private val satelliteManager: SatelliteManager? =
        context.getSystemService(SatelliteManager::class.java)
    private val listeners = mutableListOf<OnNetworkSelectModeListener>()

    @VisibleForTesting
@@ -112,7 +113,6 @@ class AutoSelectPreferenceController @JvmOverloads constructor(
        this.subId = subId
        telephonyManager = mContext.getSystemService(TelephonyManager::class.java)!!
            .createForSubscriptionId(subId)
        satelliteManager = mContext.getSystemService(SatelliteManager::class.java)!!
        return this
    }

+14 −0
Original line number Diff line number Diff line
@@ -217,6 +217,20 @@ class AutoSelectPreferenceControllerTest {
            .assertIsEnabled()
    }

    @Test
    @EnableFlags(Flags.FLAG_SATELLITE_OEM_SETTINGS_UX_MIGRATION)
    fun initialization_noSatellite_noCrash() {
        `when`(context.getSystemService(SatelliteManager::class.java)).thenReturn(null)

        AutoSelectPreferenceController(
            context = context,
            key = TEST_KEY,
            allowedNetworkTypesFlowFactory = { emptyFlow() },
            serviceStateFlowFactory = { flowOf(serviceState) },
            getConfigForSubId = { carrierConfig },
        ).init(subId = SUB_ID)
    }

    @Test
    fun onClick_turnOff_startNetworkSelectActivity() {
        serviceState.isManualSelection = false