diff options
author | Kangping Dong <wgtdkp@google.com> | 2024-03-13 18:14:25 +0800 |
---|---|---|
committer | Kangping Dong <wgtdkp@google.com> | 2024-03-13 18:28:45 +0800 |
commit | 08dd96fd8fd16bf58ddd117b94b69baa4c508830 (patch) | |
tree | c6b53855266681e607ff4108a80ddfef887c9fe4 | |
parent | 12e4524868523290d8f31afae6ca3c5f8167adfe (diff) | |
download | Settings-08dd96fd8fd16bf58ddd117b94b69baa4c508830.tar.gz |
[Thread] use dedicated flag for Thread settings
a larger THREAD_ENABLED_PLATFORM flag which guards all Thread-related
platform changes is used for the Thread settings change. But we need
more flexible control of the UX release timeline. So use a dedicated
THREAD_SETTINGS_ENABLED flag here.
Bug: 329384658
Change-Id: Ib5b3ae3c71ccc890fc46af982b021858774938f3
3 files changed, 13 insertions, 5 deletions
diff --git a/aconfig/settings_threadnetwork_flag_declarations.aconfig b/aconfig/settings_threadnetwork_flag_declarations.aconfig new file mode 100644 index 00000000000..70945d34775 --- /dev/null +++ b/aconfig/settings_threadnetwork_flag_declarations.aconfig @@ -0,0 +1,8 @@ +package: "com.android.settings.flags" + +flag { + name: "thread_settings_enabled" + namespace: "thread_network" + description: "Controls whether the Thread Settings UX is displayed" + bug: "329384658" +} diff --git a/src/com/android/settings/connecteddevice/threadnetwork/ThreadNetworkPreferenceController.kt b/src/com/android/settings/connecteddevice/threadnetwork/ThreadNetworkPreferenceController.kt index f5c0a87fde2..1c0175036d5 100644 --- a/src/com/android/settings/connecteddevice/threadnetwork/ThreadNetworkPreferenceController.kt +++ b/src/com/android/settings/connecteddevice/threadnetwork/ThreadNetworkPreferenceController.kt @@ -34,9 +34,9 @@ import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner import androidx.preference.Preference import androidx.preference.PreferenceScreen -import com.android.net.thread.platform.flags.Flags import com.android.settings.R import com.android.settings.core.TogglePreferenceController +import com.android.settings.flags.Flags import java.util.concurrent.Executor /** Controller for the "Thread" toggle in "Connected devices > Connection preferences". */ @@ -110,7 +110,7 @@ class ThreadNetworkPreferenceController @VisibleForTesting constructor( } override fun getAvailabilityStatus(): Int { - return if (!Flags.threadEnabledPlatform()) { + return if (!Flags.threadSettingsEnabled()) { CONDITIONALLY_UNAVAILABLE } else if (!isThreadSupportedOnDevice) { UNSUPPORTED_ON_DEVICE diff --git a/tests/unit/src/com/android/settings/conecteddevice/threadnetwork/ThreadNetworkPreferenceControllerTest.kt b/tests/unit/src/com/android/settings/conecteddevice/threadnetwork/ThreadNetworkPreferenceControllerTest.kt index 644095d1294..976096c7cc4 100644 --- a/tests/unit/src/com/android/settings/conecteddevice/threadnetwork/ThreadNetworkPreferenceControllerTest.kt +++ b/tests/unit/src/com/android/settings/conecteddevice/threadnetwork/ThreadNetworkPreferenceControllerTest.kt @@ -33,13 +33,13 @@ import androidx.preference.PreferenceManager import androidx.preference.SwitchPreference import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.net.thread.platform.flags.Flags import com.android.settings.R import com.android.settings.core.BasePreferenceController.AVAILABLE import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE import com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING import com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE import com.android.settings.connecteddevice.threadnetwork.ThreadNetworkPreferenceController.BaseThreadNetworkController +import com.android.settings.flags.Flags import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Rule @@ -68,7 +68,7 @@ class ThreadNetworkPreferenceControllerTest { @Before fun setUp() { - mSetFlagsRule.enableFlags(Flags.FLAG_THREAD_ENABLED_PLATFORM) + mSetFlagsRule.enableFlags(Flags.FLAG_THREAD_SETTINGS_ENABLED) context = spy(ApplicationProvider.getApplicationContext<Context>()) executor = ContextCompat.getMainExecutor(context) fakeThreadNetworkController = FakeThreadNetworkController(executor) @@ -96,7 +96,7 @@ class ThreadNetworkPreferenceControllerTest { @Test fun availabilityStatus_flagDisabled_returnsConditionallyUnavailable() { - mSetFlagsRule.disableFlags(Flags.FLAG_THREAD_ENABLED_PLATFORM) + mSetFlagsRule.disableFlags(Flags.FLAG_THREAD_SETTINGS_ENABLED) assertThat(controller.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE) } |