external displays: mirror/extend switch
Add a mirror/extend built-in display switch. Make minor changes to DisplayTopology.kt for consistency and correctness. Kotlin requires the two preference key names are different since they are in the same namespace, so fix the name in the existing DisplayTopology.kt module. Make DisplayTopologyPreference responsible, rather than the caller, for setting its persistence property, since a wrong value may cause unusual behavior. The setOrder calls are necessary to prevent the new switch from appearing below the Built-in display category when a display is hot-plugged in after showing the UI. We set them on all top-level preferences (not just the two we are fixing) for consistency. Flag: com.android.settings.flags.display_topology_pane_in_display_list Test: atest ExternalDisplayPreferenceFragmentTest.java Bug: b/352648432 Bug: b/366056921 Change-Id: Ib0072dd75066758903cc48c2d1e7142e1d921f67
This commit is contained in:
@@ -105,7 +105,7 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
||||
fragment.onSaveInstanceStateCallback(outState);
|
||||
assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isTrue();
|
||||
|
||||
pref = mPreferenceScreen.findPreference(DisplayTopologyKt.PREFERENCE_KEY);
|
||||
pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
||||
assertThat(pref).isNull();
|
||||
|
||||
pref = mPreferenceScreen.findPreference(
|
||||
@@ -122,7 +122,9 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
||||
doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
|
||||
mHandler.flush();
|
||||
|
||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.PREFERENCE_KEY);
|
||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
||||
assertThat(pref).isNotNull();
|
||||
pref = mPreferenceScreen.findPreference(MirroringKt.MIRROR_PREFERENCE_KEY);
|
||||
assertThat(pref).isNotNull();
|
||||
|
||||
PreferenceCategory listPref =
|
||||
@@ -145,8 +147,10 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
||||
doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
|
||||
mHandler.flush();
|
||||
|
||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.PREFERENCE_KEY);
|
||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
||||
assertThat(pref).isNotNull();
|
||||
pref = mPreferenceScreen.findPreference(MirroringKt.MIRROR_PREFERENCE_KEY);
|
||||
assertThat(pref).isNull();
|
||||
|
||||
PreferenceCategory listPref =
|
||||
mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
||||
|
Reference in New Issue
Block a user