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

Commit 8ca4abde authored by Caitlin Shkuratov's avatar Caitlin Shkuratov Committed by Android (Google) Code Review
Browse files

Merge changes If888f060,I6924d3e1,I8290fe89 into main

* changes:
  [SB][Wifi] Rename WifiRepositoryViaTrackerLib to WifiRepositoryImpl.
  [SB][Wifi] Remove WIFI_TRACKER_LIB_FOR_WIFI_ICON flag and old repo.
  [SB][Wifi] Update tests to use new trackerlib repo instead of old repo.
parents 3fdc21c5 0401d1e2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.systemui.statusbar.pipeline.wifi.data.repository

import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryHelper.ACTIVITY_DEFAULT
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiScanEntry
import kotlinx.coroutines.flow.MutableStateFlow
+23 −11
Original line number Diff line number Diff line
@@ -16,24 +16,28 @@

package com.android.systemui.statusbar.pipeline.wifi.data.repository

import android.net.ConnectivityManager
import android.net.wifi.WifiManager
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.demomode.DemoMode
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.flags.FakeFeatureFlagsClassic
import com.android.systemui.flags.Flags
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.table.TableLogBuffer
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
import com.android.systemui.statusbar.connectivity.WifiPickerTrackerFactory
import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.DemoModeWifiDataSource
import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.DemoWifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.model.FakeWifiEventModel
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl
import com.android.systemui.statusbar.pipeline.wifi.shared.WifiInputLogger
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.kotlinArgumentCaptor
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.time.FakeSystemClock
import com.android.wifitrackerlib.WifiPickerTracker
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
@@ -59,14 +63,21 @@ class WifiRepositorySwitcherTest : SysuiTestCase() {
    private lateinit var demoImpl: DemoWifiRepository

    @Mock private lateinit var demoModeController: DemoModeController
    @Mock private lateinit var logger: WifiInputLogger
    @Mock private lateinit var tableLogger: TableLogBuffer
    @Mock private lateinit var connectivityManager: ConnectivityManager
    @Mock private lateinit var wifiManager: WifiManager
    @Mock private lateinit var demoModeWifiDataSource: DemoModeWifiDataSource
    @Mock private lateinit var wifiPickerTrackerFactory: WifiPickerTrackerFactory
    @Mock private lateinit var wifiPickerTracker: WifiPickerTracker

    private val wifiLogBuffer = LogBuffer("wifi", maxSize = 100, logcatEchoTracker = mock())
    private val demoModelFlow = MutableStateFlow<FakeWifiEventModel?>(null)

    private val mainExecutor = FakeExecutor(FakeSystemClock())
    private val featureFlags =
        FakeFeatureFlagsClassic().also {
            it.set(Flags.INSTANT_TETHER, true)
            it.set(Flags.WIFI_SECONDARY_NETWORKS, true)
        }

    private val testDispatcher = UnconfinedTestDispatcher()
    private val testScope = TestScope(testDispatcher)
@@ -78,17 +89,18 @@ class WifiRepositorySwitcherTest : SysuiTestCase() {
        // Never start in demo mode
        whenever(demoModeController.isInDemoMode).thenReturn(false)

        whenever(wifiPickerTrackerFactory.create(any(), any(), any())).thenReturn(wifiPickerTracker)

        realImpl =
            WifiRepositoryImpl(
                fakeBroadcastDispatcher,
                connectivityManager,
                FakeConnectivityRepository(),
                logger,
                tableLogger,
                featureFlags,
                testScope.backgroundScope,
                mainExecutor,
                testDispatcher,
                testScope.backgroundScope,
                wifiPickerTrackerFactory,
                wifiManager,
                wifiLogBuffer,
                tableLogger,
            )

        whenever(demoModeWifiDataSource.wifiEvents).thenReturn(demoModelFlow)
+0 −1323

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −3
Original line number Diff line number Diff line
@@ -255,9 +255,6 @@ object Flags {
    val FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS =
        releasedFlag("filter_provisioning_network_subscriptions")

    // TODO(b/292533677): Tracking Bug
    val WIFI_TRACKER_LIB_FOR_WIFI_ICON = releasedFlag("wifi_tracker_lib_for_wifi_icon")

    // TODO(b/293863612): Tracking Bug
    @JvmField val INCOMPATIBLE_CHARGING_BATTERY_ICON =
        releasedFlag("incompatible_charging_battery_icon")
+5 −59
Original line number Diff line number Diff line
@@ -19,8 +19,6 @@ package com.android.systemui.statusbar.pipeline.dagger
import android.net.wifi.WifiManager
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.LogBufferFactory
import com.android.systemui.log.table.TableLogBuffer
@@ -52,12 +50,9 @@ import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.CollapsedStat
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.CollapsedStatusBarViewModelImpl
import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryDagger
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryViaTrackerLibDagger
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.DisabledWifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl
import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryViaTrackerLib
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractor
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractorImpl
import com.android.systemui.statusbar.policy.data.repository.UserSetupRepository
@@ -131,19 +126,15 @@ abstract class StatusBarPipelineModule {
        impl: CollapsedStatusBarViewBinderImpl
    ): CollapsedStatusBarViewBinder

    @Binds
    @IntoMap
    @ClassKey(WifiRepositoryDagger::class)
    abstract fun bindWifiRepositoryDagger(impl: WifiRepositoryDagger): CoreStartable

    companion object {

        @Provides
        @SysUISingleton
        fun provideWifiRepositoryDagger(
        fun provideRealWifiRepository(
            wifiManager: WifiManager?,
            disabledWifiRepository: DisabledWifiRepository,
            wifiRepositoryImplFactory: WifiRepositoryImpl.Factory,
        ): WifiRepositoryDagger {
        ): RealWifiRepository {
            // If we have a null [WifiManager], then the wifi repository should be permanently
            // disabled.
            return if (wifiManager == null) {
@@ -153,36 +144,6 @@ abstract class StatusBarPipelineModule {
            }
        }

        @Provides
        @SysUISingleton
        fun provideWifiRepositoryViaTrackerLibDagger(
            wifiManager: WifiManager?,
            disabledWifiRepository: DisabledWifiRepository,
            wifiRepositoryFromTrackerLibFactory: WifiRepositoryViaTrackerLib.Factory,
        ): WifiRepositoryViaTrackerLibDagger {
            // If we have a null [WifiManager], then the wifi repository should be permanently
            // disabled.
            return if (wifiManager == null) {
                disabledWifiRepository
            } else {
                wifiRepositoryFromTrackerLibFactory.create(wifiManager)
            }
        }

        @Provides
        @SysUISingleton
        fun provideRealWifiRepository(
            wifiRepository: WifiRepositoryDagger,
            wifiRepositoryFromTrackerLib: WifiRepositoryViaTrackerLibDagger,
            flags: FeatureFlags,
        ): RealWifiRepository {
            return if (flags.isEnabled(Flags.WIFI_TRACKER_LIB_FOR_WIFI_ICON)) {
                wifiRepositoryFromTrackerLib
            } else {
                wifiRepository
            }
        }

        @Provides
        @SysUISingleton
        @Named(FIRST_MOBILE_SUB_SHOWING_NETWORK_TYPE_ICON)
@@ -197,16 +158,8 @@ abstract class StatusBarPipelineModule {
        @Provides
        @SysUISingleton
        @WifiInputLog
        fun provideWifiInputLogBuffer(factory: LogBufferFactory): LogBuffer {
            return factory.create("WifiInputLog", 50)
        }

        @Provides
        @SysUISingleton
        @WifiTrackerLibInputLog
        fun provideWifiTrackerLibInputLogBuffer(factory: LogBufferFactory): LogBuffer {
            // WifiTrackerLib is pretty noisy, so give it more room than WifiInputLog.
            return factory.create("WifiTrackerLibInputLog", 200)
        fun provideWifiLogBuffer(factory: LogBufferFactory): LogBuffer {
            return factory.create("WifiInputLog", 200)
        }

        @Provides
@@ -216,13 +169,6 @@ abstract class StatusBarPipelineModule {
            return factory.create("WifiTableLog", 100)
        }

        @Provides
        @SysUISingleton
        @WifiTrackerLibTableLog
        fun provideWifiTrackerLibTableLogBuffer(factory: TableLogBufferFactory): TableLogBuffer {
            return factory.create("WifiTrackerLibTableLog", 100)
        }

        @Provides
        @SysUISingleton
        @AirplaneTableLog
Loading