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

Commit 0a2105d7 authored by Steve Elliott's avatar Steve Elliott Committed by Android (Google) Code Review
Browse files

Merge "Add ntnSignalStrength callback to kairos impl" into main

parents 459fe2b3 0e6006b3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.telephony.TelephonyManager.ERI_ON
import android.telephony.TelephonyManager.EXTRA_SUBSCRIPTION_ID
import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN
import android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID
import android.telephony.satellite.NtnSignalStrength
import com.android.settingslib.Utils
import com.android.systemui.KairosBuilder
import com.android.systemui.broadcast.BroadcastDispatcher
@@ -198,6 +199,13 @@ constructor(
                        emit(CallbackEvent.OnSignalStrengthChanged(signalStrength))
                    }

                    override fun onCarrierRoamingNtnSignalStrengthChanged(
                        signalStrength: NtnSignalStrength
                    ) {
                        logger.logNtnSignalStrengthChanged(signalStrength, subId)
                        emit(CallbackEvent.OnCarrierRoamingNtnSignalStrengthChanged(signalStrength))
                    }

                    override fun onCallbackModeStarted(
                        type: Int,
                        timerDuration: Duration,
+17 −0
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ import android.telephony.TelephonyManager.EXTRA_SPN
import android.telephony.TelephonyManager.EXTRA_SUBSCRIPTION_ID
import android.telephony.TelephonyManager.NETWORK_TYPE_LTE
import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN
import android.telephony.satellite.NtnSignalStrength
import android.telephony.satellite.NtnSignalStrength.NTN_SIGNAL_STRENGTH_GREAT
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.settingslib.mobile.MobileMappings
@@ -1404,6 +1406,21 @@ abstract class MobileConnectionRepositoryTest : SysuiTestCase() {
            assertThat(latest).isFalse()
        }

    @Test
    fun satelliteLevel_updatesWithCallback() =
        testScope.runTest {
            val latest by collectLastValue(underTest.satelliteLevel)
            val callback =
                withArgCaptor<TelephonyCallback> {
                    verify(telephonyManager).registerTelephonyCallback(any(), capture())
                }
            callback as CarrierRoamingNtnListener
            callback.onCarrierRoamingNtnSignalStrengthChanged(
                NtnSignalStrength(NTN_SIGNAL_STRENGTH_GREAT)
            )
            assertThat(latest).isEqualTo(NTN_SIGNAL_STRENGTH_GREAT)
        }

    private inline fun <reified T> getTelephonyCallbackForType(): T {
        return MobileTelephonyHelpers.getTelephonyCallbackForType(telephonyManager)
    }