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

Commit 0e6006b3 authored by Steve Elliott's avatar Steve Elliott
Browse files

Add ntnSignalStrength callback to kairos impl

Flag: com.android.systemui.status_bar_mobile_icon_kairos
Test: atest
Fixes: 440489608
Change-Id: If6ab3b72e52ee7f6c9e4a8b467d3a8215d022318
parent 1b4c0173
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
@@ -1390,6 +1392,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)
    }