Home | History | Annotate | Download | only in wm
      1 package com.android.server.wm;
      2 
      3 import org.junit.Test;
      4 import org.junit.runner.RunWith;
      5 
      6 import android.content.res.Configuration;
      7 import android.graphics.Rect;
      8 
      9 import android.platform.test.annotations.Presubmit;
     10 import android.support.test.filters.SmallTest;
     11 import android.support.test.runner.AndroidJUnit4;
     12 
     13 import static org.junit.Assert.assertTrue;
     14 
     15 /**
     16  * Tests for the {@link RootWindowContainer} class.
     17  *
     18  * Build/Install/Run:
     19  *  atest FrameworksServicesTests:com.android.server.wm.RootWindowContainerTests
     20  */
     21 @SmallTest
     22 @Presubmit
     23 @RunWith(AndroidJUnit4.class)
     24 public class RootWindowContainerTests extends WindowTestsBase {
     25     @Test
     26     public void testSetDisplayOverrideConfigurationIfNeeded() throws Exception {
     27         synchronized (sWm.mWindowMap) {
     28             // Add first stack we expect to be updated with configuration change.
     29             final TaskStack stack = createTaskStackOnDisplay(mDisplayContent);
     30             stack.getOverrideConfiguration().windowConfiguration.setBounds(new Rect(0, 0, 5, 5));
     31 
     32             // Add second task that will be set for deferred removal that should not be returned
     33             // with the configuration change.
     34             final TaskStack deferredDeletedStack = createTaskStackOnDisplay(mDisplayContent);
     35             deferredDeletedStack.getOverrideConfiguration().windowConfiguration.setBounds(
     36                     new Rect(0, 0, 5, 5));
     37             deferredDeletedStack.mDeferRemoval = true;
     38 
     39             final Configuration override = new Configuration(
     40                     mDisplayContent.getOverrideConfiguration());
     41             override.windowConfiguration.setBounds(new Rect(0, 0, 10, 10));
     42 
     43             // Set display override.
     44             final int[] results = sWm.mRoot.setDisplayOverrideConfigurationIfNeeded(override,
     45                     mDisplayContent.getDisplayId());
     46 
     47             // Ensure only first stack is returned.
     48             assertTrue(results.length == 1);
     49             assertTrue(results[0] == stack.mStackId);
     50         }
     51     }
     52 }
     53