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

Commit 9de6e7c5 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Reduce flaky of SpaPrivilegedLibTests

Bug: 335982150
Test: ABTD
Change-Id: Id4024324305b24abb6391b3a0085a22f437ac066
parent cdf3a135
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.Dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.lifecycle.viewmodel.compose.viewModel
import com.android.settingslib.spa.framework.compose.LifecycleEffect
import com.android.settingslib.spa.framework.compose.LifecycleEffect
import com.android.settingslib.spa.framework.compose.LogCompositions
import com.android.settingslib.spa.framework.compose.LogCompositions
@@ -49,7 +50,6 @@ import com.android.settingslib.spaprivileged.model.app.AppListViewModel
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.IAppListViewModel
import com.android.settingslib.spaprivileged.model.app.IAppListViewModel
import com.android.settingslib.spaprivileged.model.app.userId
import com.android.settingslib.spaprivileged.model.app.userId
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.MutableStateFlow


private const val TAG = "AppList"
private const val TAG = "AppList"
@@ -95,9 +95,9 @@ internal fun <T : AppRecord> AppListInput<T>.AppListImpl(
    LogCompositions(TAG, config.userIds.toString())
    LogCompositions(TAG, config.userIds.toString())
    val viewModel = viewModelSupplier()
    val viewModel = viewModelSupplier()
    Column(Modifier.fillMaxSize()) {
    Column(Modifier.fillMaxSize()) {
        val optionsState = viewModel.spinnerOptionsFlow.collectAsState(null, Dispatchers.IO)
        val optionsState = viewModel.spinnerOptionsFlow.collectAsStateWithLifecycle(null)
        SpinnerOptions(optionsState, viewModel.optionFlow)
        SpinnerOptions(optionsState, viewModel.optionFlow)
        val appListData = viewModel.appListDataFlow.collectAsState(null, Dispatchers.IO)
        val appListData = viewModel.appListDataFlow.collectAsStateWithLifecycle(null)
        listModel.AppListWidget(appListData, header, bottomPadding, noItemMessage)
        listModel.AppListWidget(appListData, header, bottomPadding, noItemMessage)
    }
    }
}
}
+2 −6
Original line number Original line Diff line number Diff line
@@ -27,8 +27,6 @@ import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.testutils.delay
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Rule
import org.junit.Test
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runner.RunWith
@@ -71,9 +69,8 @@ class DisposableBroadcastReceiverAsUserTest {
                DisposableBroadcastReceiverAsUser(INTENT_FILTER, USER_HANDLE) {}
                DisposableBroadcastReceiverAsUser(INTENT_FILTER, USER_HANDLE) {}
            }
            }
        }
        }
        composeTestRule.delay()


        assertThat(registeredBroadcastReceiver).isNotNull()
        composeTestRule.waitUntil { registeredBroadcastReceiver != null }
    }
    }


    @Test
    @Test
@@ -91,9 +88,8 @@ class DisposableBroadcastReceiverAsUserTest {
        }
        }


        registeredBroadcastReceiver!!.onReceive(context, Intent())
        registeredBroadcastReceiver!!.onReceive(context, Intent())
        composeTestRule.delay()


        assertThat(onReceiveIsCalled).isTrue()
        composeTestRule.waitUntil { onReceiveIsCalled }
    }
    }


    private companion object {
    private companion object {
+2 −1
Original line number Original line Diff line number Diff line
@@ -102,7 +102,8 @@ class SettingsGlobalBooleanTest {
        delay(100)
        delay(100)
        value = true
        value = true


        assertThat(listDeferred.await()).containsExactly(false, true).inOrder()
        assertThat(listDeferred.await())
            .containsAtLeast(false, true).inOrder()
    }
    }


    private companion object {
    private companion object {
+2 −1
Original line number Original line Diff line number Diff line
@@ -102,7 +102,8 @@ class SettingsSecureBooleanTest {
        delay(100)
        delay(100)
        value = true
        value = true


        assertThat(listDeferred.await()).containsExactly(false, true).inOrder()
        assertThat(listDeferred.await())
            .containsAtLeast(false, true).inOrder()
    }
    }


    private companion object {
    private companion object {