Only show "hub mode" settings when the glanceable_hub_v2 flag is true.

Bug: 395320922
Test: atest CommunalPreferenceControllerTest
Flag: com.android.systemui.glanceable_hub_v2
Change-Id: I46e5931205a219806917fafcc1a7aac3b7046796
This commit is contained in:
Will Leshner
2025-02-08 13:47:25 -08:00
parent faa7bc846e
commit 6f21b063f8
4 changed files with 15 additions and 13 deletions

View File

@@ -115,6 +115,7 @@ android_library {
"device_policy_aconfig_flags_lib", "device_policy_aconfig_flags_lib",
"keyboard_flags_lib", "keyboard_flags_lib",
"settings_connectivity_flags", "settings_connectivity_flags",
"com_android_systemui_flags_lib",
], ],
plugins: [ plugins: [

View File

@@ -21,7 +21,6 @@ import android.content.Context;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.flags.Flags;
/** /**
* Controls the top-level Communal settings preference. * Controls the top-level Communal settings preference.
@@ -40,14 +39,15 @@ public class CommunalPreferenceController extends BasePreferenceController {
* Returns whether communal preferences are available. * Returns whether communal preferences are available.
*/ */
public static boolean isAvailable(Context context) { public static boolean isAvailable(Context context) {
if (!Utils.canCurrentUserDream(context)) {
return false;
}
if (context.getResources().getBoolean(R.bool.config_show_communal_settings)) { if (context.getResources().getBoolean(R.bool.config_show_communal_settings)) {
return Utils.canCurrentUserDream(context); return true;
} }
if (context.getResources().getBoolean(R.bool.config_show_communal_settings_mobile)) { return com.android.systemui.Flags.glanceableHubV2()
return Flags.enableHubModeSettingsOnMobile() && Utils.canCurrentUserDream(context); && context.getResources().getBoolean(R.bool.config_show_communal_settings_mobile);
}
return false;
} }
} }

View File

@@ -77,6 +77,7 @@ android_robolectric_test {
"platform-test-annotations", "platform-test-annotations",
"testables", "testables",
"android.app.flags-aconfig-java", "android.app.flags-aconfig-java",
"com_android_systemui_flags_lib",
], ],
libs: [ libs: [

View File

@@ -17,6 +17,7 @@
package com.android.settings.communal; package com.android.settings.communal;
import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_V2;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -34,7 +35,6 @@ import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule; import android.platform.test.flag.junit.SetFlagsRule;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -87,7 +87,7 @@ public class CommunalPreferenceControllerTest {
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_HUB_MODE_SETTINGS_ON_MOBILE) @EnableFlags(FLAG_GLANCEABLE_HUB_V2)
public void isAvailable_communalOnMobileEnabled_shouldBeTrueForPrimaryUser() { public void isAvailable_communalOnMobileEnabled_shouldBeTrueForPrimaryUser() {
setCommunalEnabled(false); setCommunalEnabled(false);
setCommunalOnMobileEnabled(true); setCommunalOnMobileEnabled(true);
@@ -96,7 +96,7 @@ public class CommunalPreferenceControllerTest {
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_HUB_MODE_SETTINGS_ON_MOBILE) @EnableFlags(FLAG_GLANCEABLE_HUB_V2)
public void isAvailable_communalOnMobileEnabled_shouldBeFalseForSecondaryUser() { public void isAvailable_communalOnMobileEnabled_shouldBeFalseForSecondaryUser() {
setCommunalEnabled(false); setCommunalEnabled(false);
setCommunalOnMobileEnabled(true); setCommunalOnMobileEnabled(true);
@@ -105,7 +105,7 @@ public class CommunalPreferenceControllerTest {
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_HUB_MODE_SETTINGS_ON_MOBILE) @EnableFlags(FLAG_GLANCEABLE_HUB_V2)
public void isAvailable_communalOnMobileDisabled_shouldBeFalseForPrimaryUser() { public void isAvailable_communalOnMobileDisabled_shouldBeFalseForPrimaryUser() {
setCommunalEnabled(false); setCommunalEnabled(false);
setCommunalOnMobileEnabled(false); setCommunalOnMobileEnabled(false);
@@ -114,8 +114,8 @@ public class CommunalPreferenceControllerTest {
} }
@Test @Test
@DisableFlags(Flags.FLAG_ENABLE_HUB_MODE_SETTINGS_ON_MOBILE) @DisableFlags(FLAG_GLANCEABLE_HUB_V2)
public void isAvailable_hubModeSettingsOnMobileFlagDisabled_shouldBeFalseForPrimaryUser() { public void isAvailable_glanceableHubV2FlagDisabled_shouldBeFalseForPrimaryUser() {
setCommunalEnabled(false); setCommunalEnabled(false);
setCommunalOnMobileEnabled(true); setCommunalOnMobileEnabled(true);
mShadowUserManager.setUserForeground(true); mShadowUserManager.setUserForeground(true);