Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 531d9d6e authored by Matthew DeVore's avatar Matthew DeVore Committed by Android (Google) Code Review
Browse files

Merge "Do not show entry point when no CD attached" into main

parents cf90807c 012123b1
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -21,8 +21,8 @@ import static android.view.Display.INVALID_DISPLAY;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.forceShowDisplayList;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isTopologyPaneEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isUseDisplaySettingEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isUseDisplaySettingEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isResolutionSettingEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isResolutionSettingEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isRotationSettingEnabled;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isRotationSettingEnabled;
@@ -366,7 +366,7 @@ 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
        final boolean forceShowList = displayId == INVALID_DISPLAY
                && mInjector != null && forceShowDisplayList(mInjector.getFlags());
                && isTopologyPaneEnabled(mInjector);
        final var displaysToShow = externalDisplaysToShow(displayId);
        final var displaysToShow = externalDisplaysToShow(displayId);


        if (!forceShowList && displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
        if (!forceShowList && displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
@@ -430,7 +430,7 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen


    private void showDisplaysList(@NonNull List<Display> displaysToShow,
    private void showDisplaysList(@NonNull List<Display> displaysToShow,
                                  @NonNull PrefRefresh screen, @NonNull Context context) {
                                  @NonNull PrefRefresh screen, @NonNull Context context) {
        if (mInjector != null && mInjector.getFlags().displayTopologyPaneInDisplayList()) {
        if (isTopologyPaneEnabled(mInjector)) {
            screen.addPreference(getDisplayTopologyPreference(context));
            screen.addPreference(getDisplayTopologyPreference(context));
            if (!displaysToShow.isEmpty()) {
            if (!displaysToShow.isEmpty()) {
                screen.addPreference(getMirrorPreference(context));
                screen.addPreference(getMirrorPreference(context));
+4 −8
Original line number Original line Diff line number Diff line
@@ -323,14 +323,6 @@ public class ExternalDisplaySettingsConfiguration {
                || flags.displayTopologyPaneInDisplayList();
                || flags.displayTopologyPaneInDisplayList();
    }
    }


    /**
     * If true, indicates the display list activity should be shown even if there is only one
     * display.
     */
    public static boolean forceShowDisplayList(@NonNull FeatureFlags flags) {
        return flags.displayTopologyPaneInDisplayList();
    }

    static boolean isDisplayAllowed(@NonNull Display display,
    static boolean isDisplayAllowed(@NonNull Display display,
            @NonNull SystemServicesProvider props) {
            @NonNull SystemServicesProvider props) {
        return display.getType() == Display.TYPE_EXTERNAL
        return display.getType() == Display.TYPE_EXTERNAL
@@ -338,6 +330,10 @@ public class ExternalDisplaySettingsConfiguration {
                || isVirtualDisplayAllowed(display, props);
                || isVirtualDisplayAllowed(display, props);
    }
    }


    static boolean isTopologyPaneEnabled(@Nullable Injector injector) {
        return injector != null && injector.getFlags().displayTopologyPaneInDisplayList();
    }

    static boolean isVirtualDisplayAllowed(@NonNull Display display,
    static boolean isVirtualDisplayAllowed(@NonNull Display display,
            @NonNull SystemServicesProvider properties) {
            @NonNull SystemServicesProvider properties) {
        var sysProp = properties.getSystemProperty(VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
        var sysProp = properties.getSystemProperty(VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
+0 −5
Original line number Original line Diff line number Diff line
@@ -16,7 +16,6 @@


package com.android.settings.connecteddevice.display;
package com.android.settings.connecteddevice.display;


import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.forceShowDisplayList;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;


import android.content.Context;
import android.content.Context;
@@ -143,10 +142,6 @@ public class ExternalDisplayUpdater {
            }
            }
        }
        }


        if (forceShowDisplayList(mInjector.getFlags())) {
            return context.getString(R.string.external_display_off);
        }

        for (var display : mInjector.getAllDisplays()) {
        for (var display : mInjector.getAllDisplays()) {
            if (display != null && isDisplayAllowed(display, mInjector)) {
            if (display != null && isDisplayAllowed(display, mInjector)) {
                return context.getString(R.string.external_display_off);
                return context.getString(R.string.external_display_off);