Merge "Show topology pane in per-display fragment" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
a7caa23deb
@@ -159,8 +159,6 @@ class TopologyScale(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const val TOPOLOGY_PREFERENCE_KEY = "display_topology_preference"
|
|
||||||
|
|
||||||
/** Represents a draggable block in the topology pane. */
|
/** Represents a draggable block in the topology pane. */
|
||||||
class DisplayBlock(context : Context) : Button(context) {
|
class DisplayBlock(context : Context) : Button(context) {
|
||||||
@VisibleForTesting var mSelectedImage: Drawable = ColorDrawable(Color.BLACK)
|
@VisibleForTesting var mSelectedImage: Drawable = ColorDrawable(Color.BLACK)
|
||||||
@@ -240,7 +238,6 @@ class DisplayTopologyPreference(context : Context)
|
|||||||
// Prevent highlight when hovering with mouse.
|
// Prevent highlight when hovering with mouse.
|
||||||
isSelectable = false
|
isSelectable = false
|
||||||
|
|
||||||
key = TOPOLOGY_PREFERENCE_KEY
|
|
||||||
isPersistent = false
|
isPersistent = false
|
||||||
|
|
||||||
injector = Injector(context)
|
injector = Injector(context)
|
||||||
|
@@ -64,33 +64,69 @@ import java.util.List;
|
|||||||
* The Settings screen for External Displays configuration and connection management.
|
* The Settings screen for External Displays configuration and connection management.
|
||||||
*/
|
*/
|
||||||
public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmentBase {
|
public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmentBase {
|
||||||
|
@VisibleForTesting enum PrefBasics {
|
||||||
|
DISPLAY_TOPOLOGY(10, "display_topology_preference", null),
|
||||||
|
MIRROR(20, "mirror_preference", null),
|
||||||
|
|
||||||
|
// If shown, use toggle should be before other per-display settings.
|
||||||
|
EXTERNAL_DISPLAY_USE(30, "external_display_use_preference",
|
||||||
|
R.string.external_display_use_title),
|
||||||
|
|
||||||
|
ILLUSTRATION(35, "external_display_illustration", null),
|
||||||
|
|
||||||
|
// If shown, external display size is before other per-display settings.
|
||||||
|
EXTERNAL_DISPLAY_SIZE(40, "external_display_size", R.string.screen_zoom_title),
|
||||||
|
EXTERNAL_DISPLAY_ROTATION(50, "external_display_rotation",
|
||||||
|
R.string.external_display_rotation),
|
||||||
|
EXTERNAL_DISPLAY_RESOLUTION(60, "external_display_resolution",
|
||||||
|
R.string.external_display_resolution_settings_title),
|
||||||
|
|
||||||
|
// Built-in display link is after per-display settings.
|
||||||
|
BUILTIN_DISPLAY_LIST(70, "builtin_display_list_preference",
|
||||||
|
R.string.builtin_display_settings_category),
|
||||||
|
|
||||||
|
DISPLAYS_LIST(80, "displays_list_preference", null),
|
||||||
|
|
||||||
|
// If shown, footer should appear below everything.
|
||||||
|
FOOTER(90, "footer_preference", null);
|
||||||
|
|
||||||
|
|
||||||
|
PrefBasics(int order, String key, @Nullable Integer titleResource) {
|
||||||
|
this.order = order;
|
||||||
|
this.key = key;
|
||||||
|
this.titleResource = titleResource;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fields must be public to make the linter happy.
|
||||||
|
public final int order;
|
||||||
|
public final String key;
|
||||||
|
@Nullable public final Integer titleResource;
|
||||||
|
|
||||||
|
void apply(Preference preference) {
|
||||||
|
if (order != -1) {
|
||||||
|
preference.setOrder(order);
|
||||||
|
}
|
||||||
|
if (titleResource != null) {
|
||||||
|
preference.setTitle(titleResource);
|
||||||
|
}
|
||||||
|
preference.setKey(key);
|
||||||
|
preference.setPersistent(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static final int EXTERNAL_DISPLAY_SETTINGS_RESOURCE = R.xml.external_display_settings;
|
static final int EXTERNAL_DISPLAY_SETTINGS_RESOURCE = R.xml.external_display_settings;
|
||||||
static final String DISPLAYS_LIST_PREFERENCE_KEY = "displays_list_preference";
|
|
||||||
static final String BUILTIN_DISPLAY_LIST_PREFERENCE_KEY = "builtin_display_list_preference";
|
|
||||||
static final String EXTERNAL_DISPLAY_USE_PREFERENCE_KEY = "external_display_use_preference";
|
|
||||||
static final String EXTERNAL_DISPLAY_ROTATION_KEY = "external_display_rotation";
|
|
||||||
static final String EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY = "external_display_resolution";
|
|
||||||
static final String EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY = "external_display_size";
|
|
||||||
static final int EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE =
|
static final int EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE =
|
||||||
R.string.external_display_change_resolution_footer_title;
|
R.string.external_display_change_resolution_footer_title;
|
||||||
static final int EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE =
|
static final int EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE =
|
||||||
R.drawable.external_display_mirror_landscape;
|
R.drawable.external_display_mirror_landscape;
|
||||||
static final int EXTERNAL_DISPLAY_TITLE_RESOURCE =
|
static final int EXTERNAL_DISPLAY_TITLE_RESOURCE =
|
||||||
R.string.external_display_settings_title;
|
R.string.external_display_settings_title;
|
||||||
static final int EXTERNAL_DISPLAY_USE_TITLE_RESOURCE =
|
|
||||||
R.string.external_display_use_title;
|
|
||||||
static final int EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE =
|
static final int EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE =
|
||||||
R.string.external_display_not_found_footer_title;
|
R.string.external_display_not_found_footer_title;
|
||||||
static final int EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE =
|
static final int EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE =
|
||||||
R.drawable.external_display_mirror_portrait;
|
R.drawable.external_display_mirror_portrait;
|
||||||
static final int EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE =
|
|
||||||
R.string.external_display_rotation;
|
|
||||||
static final int EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE =
|
|
||||||
R.string.external_display_resolution_settings_title;
|
|
||||||
static final int EXTERNAL_DISPLAY_SIZE_TITLE_RESOURCE = R.string.screen_zoom_title;
|
|
||||||
static final int EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE = R.string.screen_zoom_short_summary;
|
static final int EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE = R.string.screen_zoom_short_summary;
|
||||||
static final int BUILTIN_DISPLAY_SETTINGS_CATEGORY_RESOURCE =
|
|
||||||
R.string.builtin_display_settings_category;
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String PREVIOUSLY_SHOWN_LIST_KEY = "mPreviouslyShownListOfDisplays";
|
static final String PREVIOUSLY_SHOWN_LIST_KEY = "mPreviouslyShownListOfDisplays";
|
||||||
private boolean mStarted;
|
private boolean mStarted;
|
||||||
@@ -253,9 +289,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
ListPreference getRotationPreference(@NonNull Context context) {
|
ListPreference getRotationPreference(@NonNull Context context) {
|
||||||
if (mRotationPref == null) {
|
if (mRotationPref == null) {
|
||||||
mRotationPref = new ListPreference(context);
|
mRotationPref = new ListPreference(context);
|
||||||
mRotationPref.setPersistent(false);
|
PrefBasics.EXTERNAL_DISPLAY_ROTATION.apply(mRotationPref);
|
||||||
mRotationPref.setKey(EXTERNAL_DISPLAY_ROTATION_KEY);
|
|
||||||
mRotationPref.setTitle(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE);
|
|
||||||
}
|
}
|
||||||
return mRotationPref;
|
return mRotationPref;
|
||||||
}
|
}
|
||||||
@@ -265,9 +299,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
Preference getResolutionPreference(@NonNull Context context) {
|
Preference getResolutionPreference(@NonNull Context context) {
|
||||||
if (mResolutionPreference == null) {
|
if (mResolutionPreference == null) {
|
||||||
mResolutionPreference = new Preference(context);
|
mResolutionPreference = new Preference(context);
|
||||||
mResolutionPreference.setPersistent(false);
|
PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.apply(mResolutionPreference);
|
||||||
mResolutionPreference.setKey(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
|
||||||
mResolutionPreference.setTitle(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE);
|
|
||||||
}
|
}
|
||||||
return mResolutionPreference;
|
return mResolutionPreference;
|
||||||
}
|
}
|
||||||
@@ -277,9 +309,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
MainSwitchPreference getUseDisplayPreference(@NonNull Context context) {
|
MainSwitchPreference getUseDisplayPreference(@NonNull Context context) {
|
||||||
if (mUseDisplayPref == null) {
|
if (mUseDisplayPref == null) {
|
||||||
mUseDisplayPref = new MainSwitchPreference(context);
|
mUseDisplayPref = new MainSwitchPreference(context);
|
||||||
mUseDisplayPref.setPersistent(false);
|
PrefBasics.EXTERNAL_DISPLAY_USE.apply(mUseDisplayPref);
|
||||||
mUseDisplayPref.setKey(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
|
|
||||||
mUseDisplayPref.setTitle(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE);
|
|
||||||
}
|
}
|
||||||
return mUseDisplayPref;
|
return mUseDisplayPref;
|
||||||
}
|
}
|
||||||
@@ -289,8 +319,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
IllustrationPreference getIllustrationPreference(@NonNull Context context) {
|
IllustrationPreference getIllustrationPreference(@NonNull Context context) {
|
||||||
if (mImagePreference == null) {
|
if (mImagePreference == null) {
|
||||||
mImagePreference = new IllustrationPreference(context);
|
mImagePreference = new IllustrationPreference(context);
|
||||||
mImagePreference.setPersistent(false);
|
PrefBasics.ILLUSTRATION.apply(mImagePreference);
|
||||||
mImagePreference.setKey("external_display_illustration");
|
|
||||||
}
|
}
|
||||||
return mImagePreference;
|
return mImagePreference;
|
||||||
}
|
}
|
||||||
@@ -308,9 +337,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
private PreferenceCategory getDisplaysListPreference(@NonNull Context context) {
|
private PreferenceCategory getDisplaysListPreference(@NonNull Context context) {
|
||||||
if (mDisplaysPreference == null) {
|
if (mDisplaysPreference == null) {
|
||||||
mDisplaysPreference = new PreferenceCategory(context);
|
mDisplaysPreference = new PreferenceCategory(context);
|
||||||
mDisplaysPreference.setPersistent(false);
|
PrefBasics.DISPLAYS_LIST.apply(mDisplaysPreference);
|
||||||
mDisplaysPreference.setOrder(40);
|
|
||||||
mDisplaysPreference.setKey(DISPLAYS_LIST_PREFERENCE_KEY);
|
|
||||||
}
|
}
|
||||||
return mDisplaysPreference;
|
return mDisplaysPreference;
|
||||||
}
|
}
|
||||||
@@ -319,10 +346,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
private PreferenceCategory getBuiltinDisplayListPreference(@NonNull Context context) {
|
private PreferenceCategory getBuiltinDisplayListPreference(@NonNull Context context) {
|
||||||
if (mBuiltinDisplayPreference == null) {
|
if (mBuiltinDisplayPreference == null) {
|
||||||
mBuiltinDisplayPreference = new PreferenceCategory(context);
|
mBuiltinDisplayPreference = new PreferenceCategory(context);
|
||||||
mBuiltinDisplayPreference.setPersistent(false);
|
PrefBasics.BUILTIN_DISPLAY_LIST.apply(mBuiltinDisplayPreference);
|
||||||
mBuiltinDisplayPreference.setOrder(30);
|
|
||||||
mBuiltinDisplayPreference.setKey(BUILTIN_DISPLAY_LIST_PREFERENCE_KEY);
|
|
||||||
mBuiltinDisplayPreference.setTitle(BUILTIN_DISPLAY_SETTINGS_CATEGORY_RESOURCE);
|
|
||||||
}
|
}
|
||||||
return mBuiltinDisplayPreference;
|
return mBuiltinDisplayPreference;
|
||||||
}
|
}
|
||||||
@@ -338,7 +362,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
@NonNull Preference getDisplayTopologyPreference(@NonNull Context context) {
|
@NonNull Preference getDisplayTopologyPreference(@NonNull Context context) {
|
||||||
if (mDisplayTopologyPreference == null) {
|
if (mDisplayTopologyPreference == null) {
|
||||||
mDisplayTopologyPreference = new DisplayTopologyPreference(context);
|
mDisplayTopologyPreference = new DisplayTopologyPreference(context);
|
||||||
mDisplayTopologyPreference.setOrder(10);
|
PrefBasics.DISPLAY_TOPOLOGY.apply(mDisplayTopologyPreference);
|
||||||
}
|
}
|
||||||
return mDisplayTopologyPreference;
|
return mDisplayTopologyPreference;
|
||||||
}
|
}
|
||||||
@@ -346,7 +370,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
@NonNull Preference getMirrorPreference(@NonNull Context context) {
|
@NonNull Preference getMirrorPreference(@NonNull Context context) {
|
||||||
if (mMirrorPreference == null) {
|
if (mMirrorPreference == null) {
|
||||||
mMirrorPreference = new MirrorPreference(context);
|
mMirrorPreference = new MirrorPreference(context);
|
||||||
mMirrorPreference.setOrder(20);
|
PrefBasics.MIRROR.apply(mMirrorPreference);
|
||||||
}
|
}
|
||||||
return mMirrorPreference;
|
return mMirrorPreference;
|
||||||
}
|
}
|
||||||
@@ -386,16 +410,18 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
|
|
||||||
private void updateScreenForDisplayId(final int displayId,
|
private void updateScreenForDisplayId(final int displayId,
|
||||||
@NonNull final PrefRefresh screen, @NonNull Context context) {
|
@NonNull final PrefRefresh screen, @NonNull Context context) {
|
||||||
final boolean forceShowList = displayId == INVALID_DISPLAY
|
|
||||||
&& isTopologyPaneEnabled(mInjector);
|
|
||||||
final var displaysToShow = externalDisplaysToShow(displayId);
|
final var displaysToShow = externalDisplaysToShow(displayId);
|
||||||
|
|
||||||
if (!forceShowList && displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
|
if (displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
|
||||||
showTextWhenNoDisplaysToShow(screen, context);
|
showTextWhenNoDisplaysToShow(screen, context);
|
||||||
} else if (!forceShowList && displaysToShow.size() == 1
|
} else if (displaysToShow.size() == 1
|
||||||
&& ((displayId == INVALID_DISPLAY && !mPreviouslyShownListOfDisplays)
|
&& ((displayId == INVALID_DISPLAY && !mPreviouslyShownListOfDisplays)
|
||||||
|| displaysToShow.get(0).getDisplayId() == displayId)) {
|
|| displaysToShow.get(0).getDisplayId() == displayId)) {
|
||||||
showDisplaySettings(displaysToShow.get(0), screen, context);
|
showDisplaySettings(displaysToShow.get(0), screen, context);
|
||||||
|
if (displayId == INVALID_DISPLAY && isTopologyPaneEnabled(mInjector)) {
|
||||||
|
// Only show the topology pane if the user did not arrive via the displays list.
|
||||||
|
maybeAddV2Components(context, screen);
|
||||||
|
}
|
||||||
} else if (displayId == INVALID_DISPLAY) {
|
} else if (displayId == INVALID_DISPLAY) {
|
||||||
// If ever shown a list of displays - keep showing it for consistency after
|
// If ever shown a list of displays - keep showing it for consistency after
|
||||||
// disconnecting one of the displays, and only one display is left.
|
// disconnecting one of the displays, and only one display is left.
|
||||||
@@ -446,21 +472,30 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
screen.addPreference(updateResolutionPreference(context, display));
|
screen.addPreference(updateResolutionPreference(context, display));
|
||||||
screen.addPreference(updateRotationPreference(context, display, displayRotation));
|
screen.addPreference(updateRotationPreference(context, display, displayRotation));
|
||||||
if (isResolutionSettingEnabled(mInjector)) {
|
if (isResolutionSettingEnabled(mInjector)) {
|
||||||
|
// Do not show the footer about changing resolution affecting apps. This is not in the
|
||||||
|
// UX design for v2, and there is no good place to put it, since (a) if it is on the
|
||||||
|
// bottom of the screen, the external resolution setting must be below the built-in
|
||||||
|
// display options for the per-display fragment, which is too hidden for the per-display
|
||||||
|
// fragment, or (b) the footer is above the Built-in display settings, rather than the
|
||||||
|
// bottom of the screen, which contradicts the visual style and purpose of the
|
||||||
|
// FooterPreference class, or (c) we must hide the built-in display settings, which is
|
||||||
|
// inconsistent with the topology pane, which shows that display.
|
||||||
|
// TODO(b/352648432): probably remove footer once the pane and rest of v2 UI is in
|
||||||
|
// place.
|
||||||
|
if (!isTopologyPaneEnabled(mInjector)) {
|
||||||
screen.addPreference(updateFooterPreference(context,
|
screen.addPreference(updateFooterPreference(context,
|
||||||
EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE));
|
EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (isDisplaySizeSettingEnabled(mInjector)) {
|
if (isDisplaySizeSettingEnabled(mInjector)) {
|
||||||
screen.addPreference(updateSizePreference(context));
|
screen.addPreference(updateSizePreference(context));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showDisplaysList(@NonNull List<Display> displaysToShow,
|
private void maybeAddV2Components(Context context, PrefRefresh screen) {
|
||||||
@NonNull PrefRefresh screen, @NonNull Context context) {
|
|
||||||
if (isTopologyPaneEnabled(mInjector)) {
|
if (isTopologyPaneEnabled(mInjector)) {
|
||||||
screen.addPreference(getDisplayTopologyPreference(context));
|
screen.addPreference(getDisplayTopologyPreference(context));
|
||||||
if (!displaysToShow.isEmpty()) {
|
|
||||||
screen.addPreference(getMirrorPreference(context));
|
screen.addPreference(getMirrorPreference(context));
|
||||||
}
|
|
||||||
|
|
||||||
// If topology is shown, we also show a preference for the built-in display for
|
// If topology is shown, we also show a preference for the built-in display for
|
||||||
// consistency with the topology.
|
// consistency with the topology.
|
||||||
@@ -468,7 +503,11 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
screen.addPreference(builtinCategory);
|
screen.addPreference(builtinCategory);
|
||||||
builtinCategory.addPreference(getBuiltinDisplaySizeAndTextPreference(context));
|
builtinCategory.addPreference(getBuiltinDisplaySizeAndTextPreference(context));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showDisplaysList(@NonNull List<Display> displaysToShow,
|
||||||
|
@NonNull PrefRefresh screen, @NonNull Context context) {
|
||||||
|
maybeAddV2Components(context, screen);
|
||||||
var displayGroupPref = getDisplaysListPreference(context);
|
var displayGroupPref = getDisplaysListPreference(context);
|
||||||
if (!displaysToShow.isEmpty()) {
|
if (!displaysToShow.isEmpty()) {
|
||||||
screen.addPreference(displayGroupPref);
|
screen.addPreference(displayGroupPref);
|
||||||
@@ -501,8 +540,9 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
groupCleanable.addPreference(category);
|
groupCleanable.addPreference(category);
|
||||||
|
|
||||||
var prefItem = new DisplayPreference(context, display);
|
var prefItem = new DisplayPreference(context, display);
|
||||||
prefItem.setTitle(context.getString(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE)
|
prefItem.setTitle(
|
||||||
+ " | " + context.getString(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE));
|
context.getString(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.titleResource) + " | "
|
||||||
|
+ context.getString(PrefBasics.EXTERNAL_DISPLAY_ROTATION.titleResource));
|
||||||
prefItem.setKey(itemKey);
|
prefItem.setKey(itemKey);
|
||||||
|
|
||||||
category.addPreference(prefItem);
|
category.addPreference(prefItem);
|
||||||
@@ -577,6 +617,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
private Preference updateFooterPreference(@NonNull final Context context, final int title) {
|
private Preference updateFooterPreference(@NonNull final Context context, final int title) {
|
||||||
var pref = getFooterPreference(context);
|
var pref = getFooterPreference(context);
|
||||||
pref.setTitle(title);
|
pref.setTitle(title);
|
||||||
|
PrefBasics.FOOTER.apply(pref);
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -625,10 +666,8 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
|||||||
|
|
||||||
private Preference updateSizePreference(@NonNull final Context context) {
|
private Preference updateSizePreference(@NonNull final Context context) {
|
||||||
var pref = (Preference) getSizePreference(context);
|
var pref = (Preference) getSizePreference(context);
|
||||||
pref.setKey(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
PrefBasics.EXTERNAL_DISPLAY_SIZE.apply(pref);
|
||||||
pref.setSummary(EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE);
|
pref.setSummary(EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE);
|
||||||
pref.setPersistent(false);
|
|
||||||
pref.setTitle(EXTERNAL_DISPLAY_SIZE_TITLE_RESOURCE);
|
|
||||||
pref.setOnPreferenceClickListener(
|
pref.setOnPreferenceClickListener(
|
||||||
(Preference p) -> {
|
(Preference p) -> {
|
||||||
writePreferenceClickMetric(p);
|
writePreferenceClickMetric(p);
|
||||||
|
@@ -23,8 +23,6 @@ import androidx.preference.SwitchPreferenceCompat
|
|||||||
|
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
|
|
||||||
const val MIRROR_PREFERENCE_KEY = "mirror_builtin_display"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A switch preference which is backed by the MIRROR_BUILT_IN_DISPLAY global setting.
|
* A switch preference which is backed by the MIRROR_BUILT_IN_DISPLAY global setting.
|
||||||
*/
|
*/
|
||||||
@@ -32,7 +30,6 @@ class MirrorPreference(context: Context): SwitchPreferenceCompat(context) {
|
|||||||
init {
|
init {
|
||||||
setTitle(R.string.external_display_mirroring_title)
|
setTitle(R.string.external_display_mirroring_title)
|
||||||
|
|
||||||
key = MIRROR_PREFERENCE_KEY
|
|
||||||
isPersistent = false
|
isPersistent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,19 +17,10 @@ package com.android.settings.connecteddevice.display;
|
|||||||
|
|
||||||
import static android.view.Display.INVALID_DISPLAY;
|
import static android.view.Display.INVALID_DISPLAY;
|
||||||
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DISPLAYS_LIST_PREFERENCE_KEY;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE;
|
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE;
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE;
|
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE;
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_KEY;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
|
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE;
|
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE;
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SIZE_TITLE_RESOURCE;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_PREFERENCE_KEY;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_TITLE_RESOURCE;
|
|
||||||
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.PREVIOUSLY_SHOWN_LIST_KEY;
|
import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.PREVIOUSLY_SHOWN_LIST_KEY;
|
||||||
import static com.android.settings.flags.Flags.FLAG_DISPLAY_SIZE_CONNECTED_DISPLAY_SETTING;
|
import static com.android.settings.flags.Flags.FLAG_DISPLAY_SIZE_CONNECTED_DISPLAY_SETTING;
|
||||||
import static com.android.settings.flags.Flags.FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST;
|
import static com.android.settings.flags.Flags.FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST;
|
||||||
@@ -61,6 +52,7 @@ import androidx.test.annotation.UiThreadTest;
|
|||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DisplayPreference;
|
import com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DisplayPreference;
|
||||||
|
import com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.PrefBasics;
|
||||||
import com.android.settingslib.widget.FooterPreference;
|
import com.android.settingslib.widget.FooterPreference;
|
||||||
import com.android.settingslib.widget.MainSwitchPreference;
|
import com.android.settingslib.widget.MainSwitchPreference;
|
||||||
|
|
||||||
@@ -97,23 +89,22 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
fragment.onSaveInstanceStateCallback(outState);
|
fragment.onSaveInstanceStateCallback(outState);
|
||||||
assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isFalse();
|
assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isFalse();
|
||||||
assertThat(mHandler.getPendingMessages().size()).isEqualTo(1);
|
assertThat(mHandler.getPendingMessages().size()).isEqualTo(1);
|
||||||
PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
PreferenceCategory pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
verify(mMockedInjector, never()).getAllDisplays();
|
verify(mMockedInjector, never()).getAllDisplays();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
assertThat(mHandler.getPendingMessages().size()).isEqualTo(0);
|
assertThat(mHandler.getPendingMessages().size()).isEqualTo(0);
|
||||||
verify(mMockedInjector).getAllDisplays();
|
verify(mMockedInjector).getAllDisplays();
|
||||||
pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
assertThat(pref.getPreferenceCount()).isEqualTo(2);
|
assertThat(pref.getPreferenceCount()).isEqualTo(2);
|
||||||
fragment.onSaveInstanceStateCallback(outState);
|
fragment.onSaveInstanceStateCallback(outState);
|
||||||
assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isTrue();
|
assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isTrue();
|
||||||
|
|
||||||
pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAY_TOPOLOGY.key);
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
|
|
||||||
pref = mPreferenceScreen.findPreference(
|
pref = mPreferenceScreen.findPreference(PrefBasics.BUILTIN_DISPLAY_LIST.key);
|
||||||
ExternalDisplayPreferenceFragment.BUILTIN_DISPLAY_LIST_PREFERENCE_KEY);
|
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,56 +117,51 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
|
doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
|
|
||||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
var pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAY_TOPOLOGY.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
pref = mPreferenceScreen.findPreference(MirroringKt.MIRROR_PREFERENCE_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.MIRROR.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
|
|
||||||
PreferenceCategory listPref =
|
pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
|
||||||
assertThat(listPref).isNotNull();
|
|
||||||
assertThat(listPref.getPreferenceCount()).isEqualTo(1);
|
|
||||||
|
|
||||||
listPref = mPreferenceScreen.findPreference(
|
|
||||||
ExternalDisplayPreferenceFragment.BUILTIN_DISPLAY_LIST_PREFERENCE_KEY);
|
|
||||||
assertThat(listPref).isNotNull();
|
|
||||||
assertThat(listPref.getPreferenceCount()).isEqualTo(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@UiThreadTest
|
|
||||||
public void testShowDisplayListWithPane_NoExternalDisplays() {
|
|
||||||
mFlags.setFlag(FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST, true);
|
|
||||||
|
|
||||||
initFragment();
|
|
||||||
doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
|
|
||||||
mHandler.flush();
|
|
||||||
|
|
||||||
var pref = mPreferenceScreen.findPreference(DisplayTopologyKt.TOPOLOGY_PREFERENCE_KEY);
|
|
||||||
assertThat(pref).isNotNull();
|
|
||||||
pref = mPreferenceScreen.findPreference(MirroringKt.MIRROR_PREFERENCE_KEY);
|
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
|
|
||||||
PreferenceCategory listPref =
|
PreferenceCategory listPref =
|
||||||
mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
mPreferenceScreen.findPreference(PrefBasics.BUILTIN_DISPLAY_LIST.key);
|
||||||
assertThat(listPref).isNull();
|
|
||||||
|
|
||||||
listPref = mPreferenceScreen.findPreference(
|
|
||||||
ExternalDisplayPreferenceFragment.BUILTIN_DISPLAY_LIST_PREFERENCE_KEY);
|
|
||||||
assertThat(listPref).isNotNull();
|
|
||||||
assertThat(listPref.getPreferenceCount()).isEqualTo(1);
|
|
||||||
var builtinPref = listPref.getPreference(0);
|
var builtinPref = listPref.getPreference(0);
|
||||||
assertThat(builtinPref.getOnPreferenceClickListener().onPreferenceClick(builtinPref))
|
assertThat(builtinPref.getOnPreferenceClickListener().onPreferenceClick(builtinPref))
|
||||||
.isTrue();
|
.isTrue();
|
||||||
assertThat(mLaunchedBuiltinSettings).isTrue();
|
assertThat(mLaunchedBuiltinSettings).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@UiThreadTest
|
||||||
|
public void testDontShowDisplayListOrPane_NoExternalDisplays() {
|
||||||
|
mFlags.setFlag(FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST, true);
|
||||||
|
|
||||||
|
initFragment();
|
||||||
|
doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
|
||||||
|
mHandler.flush();
|
||||||
|
|
||||||
|
// When no external display is attached, interactive preferences are omitted.
|
||||||
|
var pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAY_TOPOLOGY.key);
|
||||||
|
assertThat(pref).isNull();
|
||||||
|
pref = mPreferenceScreen.findPreference(PrefBasics.MIRROR.key);
|
||||||
|
assertThat(pref).isNull();
|
||||||
|
|
||||||
|
PreferenceCategory listPref =
|
||||||
|
mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
|
assertThat(listPref).isNull();
|
||||||
|
|
||||||
|
listPref = mPreferenceScreen.findPreference(PrefBasics.BUILTIN_DISPLAY_LIST.key);
|
||||||
|
assertThat(listPref).isNull();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void testLaunchDisplaySettingFromList() {
|
public void testLaunchDisplaySettingFromList() {
|
||||||
initFragment();
|
initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
PreferenceCategory pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
var display1Category = (PreferenceCategory) pref.getPreference(0);
|
var display1Category = (PreferenceCategory) pref.getPreference(0);
|
||||||
var display1Pref = (DisplayPreference) display1Category.getPreference(0);
|
var display1Pref = (DisplayPreference) display1Category.getPreference(0);
|
||||||
@@ -204,7 +190,7 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
// Only one display available
|
// Only one display available
|
||||||
doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
|
doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
PreferenceCategory pref = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
assertThat(pref.getPreferenceCount()).isEqualTo(1);
|
assertThat(pref.getPreferenceCount()).isEqualTo(1);
|
||||||
}
|
}
|
||||||
@@ -219,15 +205,15 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
// Init
|
// Init
|
||||||
initFragment();
|
initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
PreferenceCategory list = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
PreferenceCategory list = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(list).isNull();
|
assertThat(list).isNull();
|
||||||
var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
var pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_ROTATION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
||||||
assertThat(footerPref).isNotNull();
|
assertThat(footerPref).isNotNull();
|
||||||
var sizePref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
var sizePref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_SIZE.key);
|
||||||
assertThat(sizePref).isNull();
|
assertThat(sizePref).isNull();
|
||||||
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
||||||
}
|
}
|
||||||
@@ -241,15 +227,15 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
// Init
|
// Init
|
||||||
initFragment();
|
initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
PreferenceCategory list = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
|
PreferenceCategory list = mPreferenceScreen.findPreference(PrefBasics.DISPLAYS_LIST.key);
|
||||||
assertThat(list).isNull();
|
assertThat(list).isNull();
|
||||||
var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
var pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_ROTATION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
||||||
assertThat(footerPref).isNotNull();
|
assertThat(footerPref).isNotNull();
|
||||||
var sizePref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
var sizePref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_SIZE.key);
|
||||||
assertThat(sizePref).isNotNull();
|
assertThat(sizePref).isNotNull();
|
||||||
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
||||||
}
|
}
|
||||||
@@ -263,13 +249,13 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
verify(mMockedInjector, never()).getDisplay(anyInt());
|
verify(mMockedInjector, never()).getDisplay(anyInt());
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
verify(mMockedInjector).getDisplay(mDisplayIdArg);
|
verify(mMockedInjector).getDisplay(mDisplayIdArg);
|
||||||
var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
var pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_ROTATION.key);
|
||||||
assertThat(pref).isNotNull();
|
assertThat(pref).isNotNull();
|
||||||
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
||||||
assertThat(footerPref).isNotNull();
|
assertThat(footerPref).isNotNull();
|
||||||
var sizePref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
var sizePref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_SIZE.key);
|
||||||
assertThat(sizePref).isNotNull();
|
assertThat(sizePref).isNotNull();
|
||||||
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
|
||||||
}
|
}
|
||||||
@@ -283,20 +269,20 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
verify(mMockedInjector).getDisplay(mDisplayIdArg);
|
verify(mMockedInjector).getDisplay(mDisplayIdArg);
|
||||||
var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
|
var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
|
||||||
EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
|
PrefBasics.EXTERNAL_DISPLAY_USE.key);
|
||||||
assertThat(mainPref).isNotNull();
|
assertThat(mainPref).isNotNull();
|
||||||
assertThat("" + mainPref.getTitle()).isEqualTo(
|
assertThat("" + mainPref.getTitle()).isEqualTo(
|
||||||
getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
|
getText(PrefBasics.EXTERNAL_DISPLAY_USE.titleResource));
|
||||||
assertThat(mainPref.isChecked()).isFalse();
|
assertThat(mainPref.isChecked()).isFalse();
|
||||||
assertThat(mainPref.isEnabled()).isTrue();
|
assertThat(mainPref.isEnabled()).isTrue();
|
||||||
assertThat(mainPref.getOnPreferenceChangeListener()).isNotNull();
|
assertThat(mainPref.getOnPreferenceChangeListener()).isNotNull();
|
||||||
var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
var pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.key);
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
|
pref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_ROTATION.key);
|
||||||
assertThat(pref).isNull();
|
assertThat(pref).isNull();
|
||||||
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
|
||||||
assertThat(footerPref).isNull();
|
assertThat(footerPref).isNull();
|
||||||
var sizePref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
var sizePref = mPreferenceScreen.findPreference(PrefBasics.EXTERNAL_DISPLAY_SIZE.key);
|
||||||
assertThat(sizePref).isNull();
|
assertThat(sizePref).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -307,10 +293,10 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
initFragment();
|
initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
|
var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
|
||||||
EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
|
PrefBasics.EXTERNAL_DISPLAY_USE.key);
|
||||||
assertThat(mainPref).isNotNull();
|
assertThat(mainPref).isNotNull();
|
||||||
assertThat("" + mainPref.getTitle()).isEqualTo(
|
assertThat("" + mainPref.getTitle()).isEqualTo(
|
||||||
getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
|
getText(PrefBasics.EXTERNAL_DISPLAY_USE.titleResource));
|
||||||
assertThat(mainPref.isChecked()).isFalse();
|
assertThat(mainPref.isChecked()).isFalse();
|
||||||
assertThat(mainPref.isEnabled()).isFalse();
|
assertThat(mainPref.isEnabled()).isFalse();
|
||||||
assertThat(mainPref.getOnPreferenceChangeListener()).isNull();
|
assertThat(mainPref.getOnPreferenceChangeListener()).isNull();
|
||||||
@@ -327,9 +313,9 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
var fragment = initFragment();
|
var fragment = initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
var pref = fragment.getRotationPreference(mContext);
|
var pref = fragment.getRotationPreference(mContext);
|
||||||
assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_ROTATION_KEY);
|
assertThat(pref.getKey()).isEqualTo(PrefBasics.EXTERNAL_DISPLAY_ROTATION.key);
|
||||||
assertThat("" + pref.getTitle()).isEqualTo(
|
assertThat("" + pref.getTitle()).isEqualTo(
|
||||||
getText(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE));
|
getText(PrefBasics.EXTERNAL_DISPLAY_ROTATION.titleResource));
|
||||||
assertThat(pref.getEntries().length).isEqualTo(4);
|
assertThat(pref.getEntries().length).isEqualTo(4);
|
||||||
assertThat(pref.getEntryValues().length).isEqualTo(4);
|
assertThat(pref.getEntryValues().length).isEqualTo(4);
|
||||||
assertThat(pref.getEntryValues()[0].toString()).isEqualTo("0");
|
assertThat(pref.getEntryValues()[0].toString()).isEqualTo("0");
|
||||||
@@ -359,9 +345,9 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
var fragment = initFragment();
|
var fragment = initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
var pref = fragment.getResolutionPreference(mContext);
|
var pref = fragment.getResolutionPreference(mContext);
|
||||||
assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
|
assertThat(pref.getKey()).isEqualTo(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.key);
|
||||||
assertThat("" + pref.getTitle()).isEqualTo(
|
assertThat("" + pref.getTitle()).isEqualTo(
|
||||||
getText(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE));
|
getText(PrefBasics.EXTERNAL_DISPLAY_RESOLUTION.titleResource));
|
||||||
assertThat("" + pref.getSummary()).isEqualTo("1920 x 1080");
|
assertThat("" + pref.getSummary()).isEqualTo("1920 x 1080");
|
||||||
assertThat(pref.isEnabled()).isTrue();
|
assertThat(pref.isEnabled()).isTrue();
|
||||||
assertThat(pref.getOnPreferenceClickListener()).isNotNull();
|
assertThat(pref.getOnPreferenceClickListener()).isNotNull();
|
||||||
@@ -378,8 +364,9 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
var fragment = initFragment();
|
var fragment = initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
var pref = fragment.getSizePreference(mContext);
|
var pref = fragment.getSizePreference(mContext);
|
||||||
assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_SIZE_PREFERENCE_KEY);
|
assertThat(pref.getKey()).isEqualTo(PrefBasics.EXTERNAL_DISPLAY_SIZE.key);
|
||||||
assertThat("" + pref.getTitle()).isEqualTo(getText(EXTERNAL_DISPLAY_SIZE_TITLE_RESOURCE));
|
assertThat("" + pref.getTitle())
|
||||||
|
.isEqualTo(getText(PrefBasics.EXTERNAL_DISPLAY_SIZE.titleResource));
|
||||||
assertThat("" + pref.getSummary())
|
assertThat("" + pref.getSummary())
|
||||||
.isEqualTo(getText(EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE));
|
.isEqualTo(getText(EXTERNAL_DISPLAY_SIZE_SUMMARY_RESOURCE));
|
||||||
assertThat(pref.isEnabled()).isTrue();
|
assertThat(pref.isEnabled()).isTrue();
|
||||||
@@ -398,8 +385,9 @@ public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBa
|
|||||||
var fragment = initFragment();
|
var fragment = initFragment();
|
||||||
mHandler.flush();
|
mHandler.flush();
|
||||||
var pref = fragment.getUseDisplayPreference(mContext);
|
var pref = fragment.getUseDisplayPreference(mContext);
|
||||||
assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
|
assertThat(pref.getKey()).isEqualTo(PrefBasics.EXTERNAL_DISPLAY_USE.key);
|
||||||
assertThat("" + pref.getTitle()).isEqualTo(getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
|
assertThat("" + pref.getTitle())
|
||||||
|
.isEqualTo(getText(PrefBasics.EXTERNAL_DISPLAY_USE.titleResource));
|
||||||
assertThat(pref.isEnabled()).isTrue();
|
assertThat(pref.isEnabled()).isTrue();
|
||||||
assertThat(pref.isChecked()).isTrue();
|
assertThat(pref.isChecked()).isTrue();
|
||||||
assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
|
assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
|
||||||
|
Reference in New Issue
Block a user