Loading src/com/android/settings/development/desktopexperience/DesktopExperiencePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import androidx.annotation.Nullable; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; import com.android.server.display.feature.flags.Flags; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.development.DevelopmentSettingsDashboardFragment; Loading Loading @@ -80,6 +81,12 @@ public class DesktopExperiencePreferenceController extends DeveloperOptionsPrefe @Override public void updateState(Preference preference) { super.updateState(preference); if (Flags.enableDisplayContentModeManagement()) { ((TwoStatePreference) preference).setChecked(true); preference.setEnabled(false); return; } preference.setEnabled(true); // Use overridden state, if not present, then use default state final int overrideInt = Settings.Global.getInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_UNSET.getSetting()); Loading @@ -89,7 +96,7 @@ public class DesktopExperiencePreferenceController extends DeveloperOptionsPrefe case OVERRIDE_OFF, OVERRIDE_UNSET -> false; case OVERRIDE_ON -> true; }; ((TwoStatePreference) mPreference).setChecked(shouldDevOptionBeEnabled); ((TwoStatePreference) preference).setChecked(shouldDevOptionBeEnabled); } @Override Loading tests/robotests/src/com/android/settings/development/desktopexperience/DesktopExperiencePreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF; import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_ON; import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET; import static com.android.server.display.feature.flags.Flags.FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading Loading @@ -120,6 +122,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onPreferenceChange_switchEnabled_putsSettingsOverrideOnAndTriggersRestart() { mController.onPreferenceChange(mPreference, true /* new value */); Loading @@ -130,6 +133,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onPreferenceChange_switchDisabled_putsSettingsOverrideOffAndTriggersRestart() { mController.onPreferenceChange(mPreference, false /* new value */); Loading @@ -140,6 +144,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_overrideOn_checksPreference() { Settings.Global.putInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_ON.getSetting()); Loading @@ -150,6 +155,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_overrideOff_unchecksPreference() { Settings.Global.putInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_OFF.getSetting()); Loading @@ -160,6 +166,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_noOverride_noNewSettingsOverride() { // Set no override Settings.Global.putString(mContext.getContentResolver(), Loading @@ -173,6 +180,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onDeveloperOptionsSwitchDisabled_putsSettingsOverrideOff() { mController.onDeveloperOptionsSwitchDisabled(); Loading @@ -182,7 +190,8 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT}) public void updateState_whenDesktopModeAvailableButNotEnabled_checkSummary() { SwitchPreference pref = new SwitchPreference(mContext); Loading @@ -193,6 +202,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) public void updateState_whenDesktopModeAvailableAndEnabled_checkSummary() { SwitchPreference pref = new SwitchPreference(mContext); Loading @@ -202,4 +212,15 @@ public class DesktopExperiencePreferenceControllerTest { assertThat(pref.getSummary()).isEqualTo(mContext.getString( R.string.enable_desktop_experience_features_summary_without_desktop)); } @Test @EnableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_whenContentModeEnabled_checkDisabled() { SwitchPreference pref = new SwitchPreference(mContext); mController.updateState(pref); assertThat(pref.isEnabled()).isFalse(); assertThat(pref.isChecked()).isTrue(); } } Loading
src/com/android/settings/development/desktopexperience/DesktopExperiencePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import androidx.annotation.Nullable; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; import com.android.server.display.feature.flags.Flags; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.development.DevelopmentSettingsDashboardFragment; Loading Loading @@ -80,6 +81,12 @@ public class DesktopExperiencePreferenceController extends DeveloperOptionsPrefe @Override public void updateState(Preference preference) { super.updateState(preference); if (Flags.enableDisplayContentModeManagement()) { ((TwoStatePreference) preference).setChecked(true); preference.setEnabled(false); return; } preference.setEnabled(true); // Use overridden state, if not present, then use default state final int overrideInt = Settings.Global.getInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_UNSET.getSetting()); Loading @@ -89,7 +96,7 @@ public class DesktopExperiencePreferenceController extends DeveloperOptionsPrefe case OVERRIDE_OFF, OVERRIDE_UNSET -> false; case OVERRIDE_ON -> true; }; ((TwoStatePreference) mPreference).setChecked(shouldDevOptionBeEnabled); ((TwoStatePreference) preference).setChecked(shouldDevOptionBeEnabled); } @Override Loading
tests/robotests/src/com/android/settings/development/desktopexperience/DesktopExperiencePreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF; import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_ON; import static android.window.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET; import static com.android.server.display.feature.flags.Flags.FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading Loading @@ -120,6 +122,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onPreferenceChange_switchEnabled_putsSettingsOverrideOnAndTriggersRestart() { mController.onPreferenceChange(mPreference, true /* new value */); Loading @@ -130,6 +133,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onPreferenceChange_switchDisabled_putsSettingsOverrideOffAndTriggersRestart() { mController.onPreferenceChange(mPreference, false /* new value */); Loading @@ -140,6 +144,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_overrideOn_checksPreference() { Settings.Global.putInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_ON.getSetting()); Loading @@ -150,6 +155,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_overrideOff_unchecksPreference() { Settings.Global.putInt(mContext.getContentResolver(), DEVELOPMENT_OVERRIDE_DESKTOP_EXPERIENCE_FEATURES, OVERRIDE_OFF.getSetting()); Loading @@ -160,6 +166,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_noOverride_noNewSettingsOverride() { // Set no override Settings.Global.putString(mContext.getContentResolver(), Loading @@ -173,6 +180,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void onDeveloperOptionsSwitchDisabled_putsSettingsOverrideOff() { mController.onDeveloperOptionsSwitchDisabled(); Loading @@ -182,7 +190,8 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT}) public void updateState_whenDesktopModeAvailableButNotEnabled_checkSummary() { SwitchPreference pref = new SwitchPreference(mContext); Loading @@ -193,6 +202,7 @@ public class DesktopExperiencePreferenceControllerTest { } @Test @DisableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) public void updateState_whenDesktopModeAvailableAndEnabled_checkSummary() { SwitchPreference pref = new SwitchPreference(mContext); Loading @@ -202,4 +212,15 @@ public class DesktopExperiencePreferenceControllerTest { assertThat(pref.getSummary()).isEqualTo(mContext.getString( R.string.enable_desktop_experience_features_summary_without_desktop)); } @Test @EnableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT) public void updateState_whenContentModeEnabled_checkDisabled() { SwitchPreference pref = new SwitchPreference(mContext); mController.updateState(pref); assertThat(pref.isEnabled()).isFalse(); assertThat(pref.isChecked()).isTrue(); } }