Desktop Experience needs the device to be eligible

The Desktop Experience is only available (and therefore the freeform on
secondary display disabled) if the device is eligible for Desktop Mode.
Correcting the test to make it correct.

Fix: 393547201
Test: atest DesktopModeSecondaryDisplayPreferenceControllerTest
Flag: EXEMPT (bug fix)
Change-Id: I36a031487d8a6f6d681a2cb46a1fa50e47d870cc
This commit is contained in:
Pierre Barbier de Reuille
2025-01-31 23:39:33 +00:00
parent 8a53aecafe
commit a85577054b

View File

@@ -26,10 +26,12 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -41,6 +43,7 @@ import androidx.fragment.app.FragmentTransaction;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.internal.R;
import com.android.window.flags.Flags;
import org.junit.Before;
@@ -78,18 +81,22 @@ public class DesktopModeSecondaryDisplayPreferenceControllerTest {
private FragmentTransaction mTransaction;
private Context mContext;
private Resources mResources;
private DesktopModeSecondaryDisplayPreferenceController mController;
@Before
public void setup() {
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
doReturn(mTransaction).when(mFragmentManager).beginTransaction();
doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
doReturn(mActivity).when(mFragment).getActivity();
mController = new DesktopModeSecondaryDisplayPreferenceController(mContext, mFragment);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
mController.displayPreference(mScreen);
when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(false);
}
@DisableFlags(Flags.FLAG_SHOW_DESKTOP_EXPERIENCE_DEV_OPTION)
@@ -101,6 +108,8 @@ public class DesktopModeSecondaryDisplayPreferenceControllerTest {
@EnableFlags(Flags.FLAG_SHOW_DESKTOP_EXPERIENCE_DEV_OPTION)
@Test
public void isAvailable_whenDesktopExperienceDevOptionIsEnabled_shouldBeFalse() {
when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(true);
assertThat(mController.isAvailable()).isFalse();
}
@@ -174,4 +183,5 @@ public class DesktopModeSecondaryDisplayPreferenceControllerTest {
assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
verify(mPreference).setEnabled(false);
}
}