[Thread] fix Thread unit test failures

It looks like SettingsUnitTests is not in presubmit and the existing Thread settings unit tests are failing in postsubmit.

This commit fixes two small issues:
1. The default Thread enabled state in FakeThreadNetworkController and ThreadNetworkToggleController is not consistent
2. The executor in ThreadNetworkToggleControllerTest is reusing the main thread which could result in flaky as the callbacks are not guaranteed to be invoked before the API returns

Bug: 339767488
Bug: 339145155
Test: atest SettingsUnitTests:com.android.settings.connecteddevice.threadnetwork.ThreadNetworkToggleControllerTest
Change-Id: Id8b453cf6d7bef698d08dbf106e48250369d0832
This commit is contained in:
Kangping Dong
2024-05-10 17:02:49 +08:00
parent ab7f48dcde
commit 257e164562
2 changed files with 2 additions and 3 deletions

View File

@@ -22,7 +22,7 @@ import java.util.concurrent.Executor
/** A fake implementation of [BaseThreadNetworkController] for unit tests. */ /** A fake implementation of [BaseThreadNetworkController] for unit tests. */
class FakeThreadNetworkController : BaseThreadNetworkController { class FakeThreadNetworkController : BaseThreadNetworkController {
var isEnabled = true var isEnabled = false
private set private set
var registeredStateCallback: ThreadNetworkController.StateCallback? = null var registeredStateCallback: ThreadNetworkController.StateCallback? = null
private set private set

View File

@@ -17,7 +17,6 @@ package com.android.settings.connecteddevice.threadnetwork
import android.content.Context import android.content.Context
import android.platform.test.flag.junit.SetFlagsRule import android.platform.test.flag.junit.SetFlagsRule
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
@@ -51,7 +50,7 @@ class ThreadNetworkToggleControllerTest {
fun setUp() { fun setUp() {
mSetFlagsRule.enableFlags(Flags.FLAG_THREAD_SETTINGS_ENABLED) mSetFlagsRule.enableFlags(Flags.FLAG_THREAD_SETTINGS_ENABLED)
context = spy(ApplicationProvider.getApplicationContext<Context>()) context = spy(ApplicationProvider.getApplicationContext<Context>())
executor = ContextCompat.getMainExecutor(context) executor = Executor { runnable: Runnable -> runnable.run() }
fakeThreadNetworkController = FakeThreadNetworkController() fakeThreadNetworkController = FakeThreadNetworkController()
controller = newControllerWithThreadFeatureSupported(true) controller = newControllerWithThreadFeatureSupported(true)
val preferenceManager = PreferenceManager(context) val preferenceManager = PreferenceManager(context)