Loading services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java +16 −5 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static android.view.Gravity.BOTTOM; import static android.view.Gravity.LEFT; import static android.view.Gravity.LEFT; import static android.view.Gravity.RIGHT; import static android.view.Gravity.RIGHT; import static android.view.Gravity.TOP; import static android.view.Gravity.TOP; import static android.view.InsetsState.ITYPE_NAVIGATION_BAR; import static android.view.InsetsState.ITYPE_STATUS_BAR; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; Loading Loading @@ -60,7 +62,6 @@ import android.view.WindowInsets; import android.view.WindowManager; import android.view.WindowManager; import android.widget.TextView; import android.widget.TextView; import androidx.test.filters.FlakyTest; import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest; import org.junit.After; import org.junit.After; Loading @@ -78,8 +79,6 @@ import java.util.function.BooleanSupplier; */ */ // TODO: Add test for FLAG_FULLSCREEN which hides the status bar and also other flags. // TODO: Add test for FLAG_FULLSCREEN which hides the status bar and also other flags. // TODO: Test non-Activity windows. // TODO: Test non-Activity windows. @FlakyTest(detail = "TODO (b/145242835): Re-enable once type mapping is implemented for " + "PRIVATE_FLAG_IS_SCREEN_DECOR") @SmallTest @SmallTest @Presubmit @Presubmit public class ScreenDecorWindowTests { public class ScreenDecorWindowTests { Loading Loading @@ -187,13 +186,24 @@ public class ScreenDecorWindowTests { assertTopInsetEquals(mTestActivity, initialInsets.getSystemWindowInsetTop()); assertTopInsetEquals(mTestActivity, initialInsets.getSystemWindowInsetTop()); } } @Test public void testProvidesInsetsTypes() { int[] providesInsetsTypes = new int[]{ITYPE_STATUS_BAR}; final View win = createWindow("StatusBarSubPanel", TOP, MATCH_PARENT, mDecorThickness, RED, FLAG_LAYOUT_IN_SCREEN, 0, providesInsetsTypes); assertInsetGreaterOrEqual(mTestActivity, TOP, mDecorThickness); } private View createDecorWindow(int gravity, int width, int height) { private View createDecorWindow(int gravity, int width, int height) { int[] providesInsetsTypes = new int[]{gravity == TOP ? ITYPE_STATUS_BAR : ITYPE_NAVIGATION_BAR}; return createWindow("decorWindow", gravity, width, height, RED, return createWindow("decorWindow", gravity, width, height, RED, FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR); FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR, providesInsetsTypes); } } private View createWindow(String name, int gravity, int width, int height, int color, int flags, private View createWindow(String name, int gravity, int width, int height, int color, int flags, int privateFlags) { int privateFlags, int[] providesInsetsTypes) { final View[] viewHolder = new View[1]; final View[] viewHolder = new View[1]; final int finalFlag = flags final int finalFlag = flags Loading @@ -205,6 +215,7 @@ public class ScreenDecorWindowTests { width, height, TYPE_APPLICATION_OVERLAY, finalFlag, PixelFormat.OPAQUE); width, height, TYPE_APPLICATION_OVERLAY, finalFlag, PixelFormat.OPAQUE); lp.gravity = gravity; lp.gravity = gravity; lp.privateFlags |= privateFlags; lp.privateFlags |= privateFlags; lp.providesInsetsTypes = providesInsetsTypes; final TextView view = new TextView(mContext); final TextView view = new TextView(mContext); view.setText("ScreenDecorWindowTests - " + name); view.setText("ScreenDecorWindowTests - " + name); Loading Loading
services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java +16 −5 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static android.view.Gravity.BOTTOM; import static android.view.Gravity.LEFT; import static android.view.Gravity.LEFT; import static android.view.Gravity.RIGHT; import static android.view.Gravity.RIGHT; import static android.view.Gravity.TOP; import static android.view.Gravity.TOP; import static android.view.InsetsState.ITYPE_NAVIGATION_BAR; import static android.view.InsetsState.ITYPE_STATUS_BAR; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; Loading Loading @@ -60,7 +62,6 @@ import android.view.WindowInsets; import android.view.WindowManager; import android.view.WindowManager; import android.widget.TextView; import android.widget.TextView; import androidx.test.filters.FlakyTest; import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest; import org.junit.After; import org.junit.After; Loading @@ -78,8 +79,6 @@ import java.util.function.BooleanSupplier; */ */ // TODO: Add test for FLAG_FULLSCREEN which hides the status bar and also other flags. // TODO: Add test for FLAG_FULLSCREEN which hides the status bar and also other flags. // TODO: Test non-Activity windows. // TODO: Test non-Activity windows. @FlakyTest(detail = "TODO (b/145242835): Re-enable once type mapping is implemented for " + "PRIVATE_FLAG_IS_SCREEN_DECOR") @SmallTest @SmallTest @Presubmit @Presubmit public class ScreenDecorWindowTests { public class ScreenDecorWindowTests { Loading Loading @@ -187,13 +186,24 @@ public class ScreenDecorWindowTests { assertTopInsetEquals(mTestActivity, initialInsets.getSystemWindowInsetTop()); assertTopInsetEquals(mTestActivity, initialInsets.getSystemWindowInsetTop()); } } @Test public void testProvidesInsetsTypes() { int[] providesInsetsTypes = new int[]{ITYPE_STATUS_BAR}; final View win = createWindow("StatusBarSubPanel", TOP, MATCH_PARENT, mDecorThickness, RED, FLAG_LAYOUT_IN_SCREEN, 0, providesInsetsTypes); assertInsetGreaterOrEqual(mTestActivity, TOP, mDecorThickness); } private View createDecorWindow(int gravity, int width, int height) { private View createDecorWindow(int gravity, int width, int height) { int[] providesInsetsTypes = new int[]{gravity == TOP ? ITYPE_STATUS_BAR : ITYPE_NAVIGATION_BAR}; return createWindow("decorWindow", gravity, width, height, RED, return createWindow("decorWindow", gravity, width, height, RED, FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR); FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR, providesInsetsTypes); } } private View createWindow(String name, int gravity, int width, int height, int color, int flags, private View createWindow(String name, int gravity, int width, int height, int color, int flags, int privateFlags) { int privateFlags, int[] providesInsetsTypes) { final View[] viewHolder = new View[1]; final View[] viewHolder = new View[1]; final int finalFlag = flags final int finalFlag = flags Loading @@ -205,6 +215,7 @@ public class ScreenDecorWindowTests { width, height, TYPE_APPLICATION_OVERLAY, finalFlag, PixelFormat.OPAQUE); width, height, TYPE_APPLICATION_OVERLAY, finalFlag, PixelFormat.OPAQUE); lp.gravity = gravity; lp.gravity = gravity; lp.privateFlags |= privateFlags; lp.privateFlags |= privateFlags; lp.providesInsetsTypes = providesInsetsTypes; final TextView view = new TextView(mContext); final TextView view = new TextView(mContext); view.setText("ScreenDecorWindowTests - " + name); view.setText("ScreenDecorWindowTests - " + name); Loading