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

Commit 5d45314c authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Correct DesktopMode tests to be less dependent on flags." into main

parents 19215995 ed0b063a
Loading
Loading
Loading
Loading
+4 −15
Original line number Original line Diff line number Diff line
@@ -22,8 +22,6 @@ import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.annotations.Presubmit
import android.platform.test.annotations.Presubmit
import android.platform.test.flag.junit.SetFlagsRule
import android.platform.test.flag.junit.SetFlagsRule
import android.provider.Settings
import android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES
import android.window.DesktopModeFlags
import android.window.DesktopModeFlags
import androidx.test.filters.SmallTest
import androidx.test.filters.SmallTest
import com.android.internal.R
import com.android.internal.R
@@ -63,14 +61,12 @@ class DesktopModeStatusTest : ShellTestCase() {
        doReturn(context.contentResolver).whenever(mockContext).contentResolver
        doReturn(context.contentResolver).whenever(mockContext).contentResolver
        resetDesktopModeFlagsCache()
        resetDesktopModeFlagsCache()
        resetEnforceDeviceRestriction()
        resetEnforceDeviceRestriction()
        resetFlagOverride()
    }
    }


    @After
    @After
    fun tearDown() {
    fun tearDown() {
        resetDesktopModeFlagsCache()
        resetDesktopModeFlagsCache()
        resetEnforceDeviceRestriction()
        resetEnforceDeviceRestriction()
        resetFlagOverride()
    }
    }


    @DisableFlags(
    @DisableFlags(
@@ -246,18 +242,11 @@ class DesktopModeStatusTest : ShellTestCase() {
        cachedToggleOverride.set(null, null)
        cachedToggleOverride.set(null, null)
    }
    }


    private fun resetFlagOverride() {
        Settings.Global.putString(
            context.contentResolver,
            DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null
        )
    }

    private fun setFlagOverride(override: DesktopModeFlags.ToggleOverride) {
    private fun setFlagOverride(override: DesktopModeFlags.ToggleOverride) {
        Settings.Global.putInt(
        val cachedToggleOverride =
            context.contentResolver,
            DesktopModeFlags::class.java.getDeclaredField("sCachedToggleOverride")
            DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, override.setting
        cachedToggleOverride.isAccessible = true
        )
        cachedToggleOverride.set(null, override)
    }
    }


    private fun setDeviceEligibleForDesktopMode(eligible: Boolean) {
    private fun setDeviceEligibleForDesktopMode(eligible: Boolean) {
+7 −14
Original line number Original line Diff line number Diff line
@@ -16,8 +16,6 @@


package com.android.server.wm;
package com.android.server.wm;


import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doReturn;
@@ -30,7 +28,6 @@ import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.annotations.Presubmit;
import android.platform.test.annotations.Presubmit;
import android.platform.test.flag.junit.SetFlagsRule;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
import android.window.DesktopModeFlags;
import android.window.DesktopModeFlags;


import androidx.test.filters.SmallTest;
import androidx.test.filters.SmallTest;
@@ -74,14 +71,12 @@ public class DesktopModeHelperTest {
        doReturn(mContext.getContentResolver()).when(mMockContext).getContentResolver();
        doReturn(mContext.getContentResolver()).when(mMockContext).getContentResolver();
        resetDesktopModeFlagsCache();
        resetDesktopModeFlagsCache();
        resetEnforceDeviceRestriction();
        resetEnforceDeviceRestriction();
        resetFlagOverride();
    }
    }


    @After
    @After
    public void tearDown() throws Exception {
    public void tearDown() throws Exception {
        resetDesktopModeFlagsCache();
        resetDesktopModeFlagsCache();
        resetEnforceDeviceRestriction();
        resetEnforceDeviceRestriction();
        resetFlagOverride();
    }
    }


    @DisableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
    @DisableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
@@ -167,7 +162,8 @@ public class DesktopModeHelperTest {
    @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_MODE_THROUGH_DEV_OPTION)
    @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_MODE_THROUGH_DEV_OPTION)
    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
    @Test
    @Test
    public void canEnterDesktopMode_DWFlagEnabled_configDevOptionOn_flagOverrideOn_returnsTrue() {
    public void canEnterDesktopMode_DWFlagEnabled_configDevOptionOn_flagOverrideOn_returnsTrue()
            throws Exception {
        doReturn(true).when(mMockResources).getBoolean(
        doReturn(true).when(mMockResources).getBoolean(
                eq(R.bool.config_isDesktopModeDevOptionSupported)
                eq(R.bool.config_isDesktopModeDevOptionSupported)
        );
        );
@@ -246,13 +242,10 @@ public class DesktopModeHelperTest {
        cachedToggleOverride.set(/* obj= */ null, /* value= */ null);
        cachedToggleOverride.set(/* obj= */ null, /* value= */ null);
    }
    }


    private void resetFlagOverride() {
    private void setFlagOverride(DesktopModeFlags.ToggleOverride override) throws Exception {
        Settings.Global.putString(mContext.getContentResolver(),
        Field cachedToggleOverride = DesktopModeFlags.class.getDeclaredField(
                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
                "sCachedToggleOverride");
    }
        cachedToggleOverride.setAccessible(true);

        cachedToggleOverride.set(/* obj= */ null, /* value= */ override);
    private void setFlagOverride(DesktopModeFlags.ToggleOverride override) {
        Settings.Global.putInt(mContext.getContentResolver(),
                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, override.getSetting());
    }
    }
}
}
 No newline at end of file