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

Commit 177b4e45 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Disable unused display area features" into main

parents cc60d06f 35ed886a
Loading
Loading
Loading
Loading
+16 −7
Original line number Original line Diff line number Diff line
@@ -53,6 +53,12 @@ import java.util.List;
 * Policy that manages {@link DisplayArea}.
 * Policy that manages {@link DisplayArea}.
 */
 */
public abstract class DisplayAreaPolicy {
public abstract class DisplayAreaPolicy {
    /**
     * No corresponding use case yet (see b/154719717). The current implementation still uses
     * {@link WindowState#shouldMagnify}.
     */
    static final boolean USE_DISPLAY_AREA_FOR_FULLSCREEN_MAGNIFICATION = false;

    protected final WindowManagerService mWmService;
    protected final WindowManagerService mWmService;


    /**
    /**
@@ -161,14 +167,17 @@ public abstract class DisplayAreaPolicy {
                                        TYPE_STATUS_BAR, TYPE_NOTIFICATION_SHADE, TYPE_WALLPAPER)
                                        TYPE_STATUS_BAR, TYPE_NOTIFICATION_SHADE, TYPE_WALLPAPER)
                                .build());
                                .build());
            }
            }
            rootHierarchy
            if (USE_DISPLAY_AREA_FOR_FULLSCREEN_MAGNIFICATION) {
                    .addFeature(new Feature.Builder(wmService.mPolicy, "FullscreenMagnification",
                rootHierarchy.addFeature(
                        new Feature.Builder(wmService.mPolicy, "FullscreenMagnification",
                                FEATURE_FULLSCREEN_MAGNIFICATION)
                                FEATURE_FULLSCREEN_MAGNIFICATION)
                                .all()
                                .all()
                                .except(TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, TYPE_INPUT_METHOD,
                                .except(TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, TYPE_INPUT_METHOD,
                                        TYPE_INPUT_METHOD_DIALOG, TYPE_MAGNIFICATION_OVERLAY,
                                        TYPE_INPUT_METHOD_DIALOG, TYPE_MAGNIFICATION_OVERLAY,
                                        TYPE_NAVIGATION_BAR, TYPE_NAVIGATION_BAR_PANEL)
                                        TYPE_NAVIGATION_BAR, TYPE_NAVIGATION_BAR_PANEL)
                            .build())
                                .build());
            }
            rootHierarchy
                    .addFeature(new Feature.Builder(wmService.mPolicy, "ImePlaceholder",
                    .addFeature(new Feature.Builder(wmService.mPolicy, "ImePlaceholder",
                            FEATURE_IME_PLACEHOLDER)
                            FEATURE_IME_PLACEHOLDER)
                            .and(TYPE_INPUT_METHOD, TYPE_INPUT_METHOD_DIALOG)
                            .and(TYPE_INPUT_METHOD, TYPE_INPUT_METHOD_DIALOG)
+5 −17
Original line number Original line Diff line number Diff line
@@ -202,7 +202,7 @@ public class DisplayAreaPolicyBuilderTest {
    }
    }


    @Test
    @Test
    public void testBuilder_defaultPolicy_hasWindowedMagnificationFeature() {
    public void testBuilder_defaultPolicy_hasMagnificationFeature() {
        final DisplayAreaPolicy.Provider defaultProvider = DisplayAreaPolicy.Provider.fromResources(
        final DisplayAreaPolicy.Provider defaultProvider = DisplayAreaPolicy.Provider.fromResources(
                resourcesWithProvider(""));
                resourcesWithProvider(""));
        final DisplayAreaPolicyBuilder.Result defaultPolicy =
        final DisplayAreaPolicyBuilder.Result defaultPolicy =
@@ -210,28 +210,16 @@ public class DisplayAreaPolicyBuilderTest {
                        mRoot, mImeContainer);
                        mRoot, mImeContainer);
        final List<Feature> features = defaultPolicy.getFeatures();
        final List<Feature> features = defaultPolicy.getFeatures();
        boolean hasWindowedMagnificationFeature = false;
        boolean hasWindowedMagnificationFeature = false;
        for (Feature feature : features) {
            hasWindowedMagnificationFeature |= feature.getId() == FEATURE_WINDOWED_MAGNIFICATION;
        }

        assertThat(hasWindowedMagnificationFeature).isTrue();
    }

    @Test
    public void testBuilder_defaultPolicy_hasFullscreenMagnificationFeature() {
        final DisplayAreaPolicy.Provider defaultProvider = DisplayAreaPolicy.Provider.fromResources(
                resourcesWithProvider(""));
        final DisplayAreaPolicyBuilder.Result defaultPolicy =
                (DisplayAreaPolicyBuilder.Result) defaultProvider.instantiate(mWms, mDisplayContent,
                        mRoot, mImeContainer);
        final List<Feature> features = defaultPolicy.getFeatures();
        boolean hasFullscreenMagnificationFeature = false;
        boolean hasFullscreenMagnificationFeature = false;
        for (Feature feature : features) {
        for (Feature feature : features) {
            hasWindowedMagnificationFeature |= feature.getId() == FEATURE_WINDOWED_MAGNIFICATION;
            hasFullscreenMagnificationFeature |=
            hasFullscreenMagnificationFeature |=
                    feature.getId() == FEATURE_FULLSCREEN_MAGNIFICATION;
                    feature.getId() == FEATURE_FULLSCREEN_MAGNIFICATION;
        }
        }


        assertThat(hasFullscreenMagnificationFeature).isTrue();
        assertThat(hasWindowedMagnificationFeature).isTrue();
        assertThat(hasFullscreenMagnificationFeature).isEqualTo(
                DisplayAreaPolicy.USE_DISPLAY_AREA_FOR_FULLSCREEN_MAGNIFICATION);
    }
    }


    @Test
    @Test