OSDN Git Service

Introduce InsetsModeSession to InsetsAnimationControlImplTest
authorCharles Chen <charlesccchen@google.com>
Tue, 16 Apr 2019 09:39:23 +0000 (17:39 +0800)
committerCharles Chen <charlesccchen@google.com>
Tue, 16 Apr 2019 12:04:30 +0000 (20:04 +0800)
InsetsAnimationControlImplTest sets new insets mode to full mode when setUp(), which
leads some tests in ViewRootImplTest fail. Introduce InsetsModeSession
to fix it.

Change-Id: Id159db1395d1b105d9d4d3d13cdba778015e9989
Fix: 130609028
Test: atest ViewRootImplTest InsetsAnimationControlImplTest

core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java

index 88d7e65..bdd3038 100644 (file)
@@ -39,10 +39,13 @@ import android.platform.test.annotations.Presubmit;
 import android.util.SparseArray;
 import android.view.SurfaceControl.Transaction;
 import android.view.SyncRtSurfaceTransactionApplier.SurfaceParams;
+import android.view.test.InsetsModeSession;
 
 import androidx.test.runner.AndroidJUnit4;
 
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -70,15 +73,25 @@ public class InsetsAnimationControlImplTest {
     private SurfaceControl mTopLeash;
     private SurfaceControl mNavLeash;
     private InsetsState mInsetsState;
+    private static InsetsModeSession sInsetsModeSession;
 
     @Mock Transaction mMockTransaction;
     @Mock InsetsController mMockController;
     @Mock WindowInsetsAnimationControlListener mMockListener;
     @Mock SyncRtSurfaceTransactionApplier mMockTransactionApplier;
 
+    @BeforeClass
+    public static void setupOnce() {
+        sInsetsModeSession = new InsetsModeSession(NEW_INSETS_MODE_FULL);
+    }
+
+    @AfterClass
+    public static void tearDownOnce() throws Exception {
+        sInsetsModeSession.close();
+    }
+
     @Before
     public void setup() {
-        ViewRootImpl.sNewInsetsMode = NEW_INSETS_MODE_FULL;
         MockitoAnnotations.initMocks(this);
         mTopLeash = new SurfaceControl.Builder(mSession)
                 .setName("testSurface")