Loading libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml +5 −7 Original line number Diff line number Diff line Loading @@ -38,11 +38,11 @@ android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:gravity="center_horizontal" android:layout_marginHorizontal="4dp"> <Button android:layout_width="94dp" android:layout_width="108dp" android:layout_height="60dp" android:id="@+id/maximize_menu_immersive_toggle_button" style="?android:attr/buttonBarButtonStyle" Loading Loading @@ -75,8 +75,7 @@ android:layout_weight="1" android:orientation="vertical" android:gravity="center_horizontal" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:layout_marginHorizontal="4dp"> <Button android:layout_width="108dp" Loading Loading @@ -112,8 +111,7 @@ android:layout_weight="1" android:orientation="vertical" android:gravity="center_horizontal" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:layout_marginHorizontal="4dp"> <LinearLayout android:id="@+id/maximize_menu_snap_menu_layout" android:layout_width="wrap_content" Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +8 −8 Original line number Diff line number Diff line Loading @@ -1096,8 +1096,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin return Resources.ID_NULL; } private PointF calculateMaximizeMenuPosition(int menuWidth, int menuHeight) { final PointF position = new PointF(); private Point calculateMaximizeMenuPosition(int menuWidth, int menuHeight) { final Point position = new Point(); final Resources resources = mContext.getResources(); final DisplayLayout displayLayout = mDisplayController.getDisplayLayout(mTaskInfo.displayId); Loading @@ -1112,11 +1112,11 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin final int[] maximizeButtonLocation = new int[2]; maximizeWindowButton.getLocationInWindow(maximizeButtonLocation); float menuLeft = (mPositionInParent.x + maximizeButtonLocation[0] - ((float) (menuWidth - maximizeWindowButton.getWidth()) / 2)); float menuTop = (mPositionInParent.y + captionHeight); final float menuRight = menuLeft + menuWidth; final float menuBottom = menuTop + menuHeight; int menuLeft = (mPositionInParent.x + maximizeButtonLocation[0] - (menuWidth - maximizeWindowButton.getWidth()) / 2); int menuTop = (mPositionInParent.y + captionHeight); final int menuRight = menuLeft + menuWidth; final int menuBottom = menuTop + menuHeight; // If the menu is out of screen bounds, shift it as needed if (menuLeft < 0) { Loading @@ -1128,7 +1128,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin menuTop = (displayHeight - menuHeight); } return new PointF(menuLeft, menuTop); return new Point(menuLeft, menuTop); } boolean isHandleMenuActive() { Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt +9 −9 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import android.content.res.ColorStateList import android.content.res.Resources import android.graphics.Paint import android.graphics.PixelFormat import android.graphics.PointF import android.graphics.Point import android.graphics.Rect import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable Loading Loading @@ -90,7 +90,7 @@ class MaximizeMenu( private val displayController: DisplayController, private val taskInfo: RunningTaskInfo, private val decorWindowContext: Context, private val positionSupplier: (Int, Int) -> PointF, private val positionSupplier: (Int, Int) -> Point, private val transactionSupplier: Supplier<Transaction> = Supplier { Transaction() } ) { private var maximizeMenu: AdditionalViewHostViewContainer? = null Loading @@ -100,14 +100,14 @@ class MaximizeMenu( private val cornerRadius = loadDimensionPixelSize( R.dimen.desktop_mode_maximize_menu_corner_radius ).toFloat() private lateinit var menuPosition: PointF private lateinit var menuPosition: Point private val menuPadding = loadDimensionPixelSize(R.dimen.desktop_mode_menu_padding) /** Position the menu relative to the caption's position. */ fun positionMenu(t: Transaction) { menuPosition = positionSupplier(maximizeMenuView?.measureWidth() ?: 0, maximizeMenuView?.measureHeight() ?: 0) t.setPosition(leash, menuPosition.x, menuPosition.y) t.setPosition(leash, menuPosition.x.toFloat(), menuPosition.y.toFloat()) } /** Creates and shows the maximize window. */ Loading Loading @@ -208,8 +208,8 @@ class MaximizeMenu( val menuHeight = menuView.measureHeight() menuPosition = positionSupplier(menuWidth, menuHeight) val lp = WindowManager.LayoutParams( menuWidth.toInt(), menuHeight.toInt(), menuWidth, menuHeight, WindowManager.LayoutParams.TYPE_APPLICATION, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, Loading @@ -222,7 +222,7 @@ class MaximizeMenu( // Bring menu to front when open t.setLayer(leash, TaskConstants.TASK_CHILD_LAYER_FLOATING_MENU) .setPosition(leash, menuPosition.x, menuPosition.y) .setPosition(leash, menuPosition.x.toFloat(), menuPosition.y.toFloat()) .setCornerRadius(leash, cornerRadius) .show(leash) maximizeMenu = Loading Loading @@ -1047,7 +1047,7 @@ interface MaximizeMenuFactory { displayController: DisplayController, taskInfo: RunningTaskInfo, decorWindowContext: Context, positionSupplier: (Int, Int) -> PointF, positionSupplier: (Int, Int) -> Point, transactionSupplier: Supplier<Transaction> ): MaximizeMenu } Loading @@ -1060,7 +1060,7 @@ object DefaultMaximizeMenuFactory : MaximizeMenuFactory { displayController: DisplayController, taskInfo: RunningTaskInfo, decorWindowContext: Context, positionSupplier: (Int, Int) -> PointF, positionSupplier: (Int, Int) -> Point, transactionSupplier: Supplier<Transaction> ): MaximizeMenu { return MaximizeMenu( Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.TypedArray; import android.graphics.PointF; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; import android.net.Uri; Loading Loading @@ -1805,7 +1805,7 @@ public class DesktopModeWindowDecorationTests extends ShellTestCase { @NonNull DisplayController displayController, @NonNull ActivityManager.RunningTaskInfo taskInfo, @NonNull Context decorWindowContext, @NonNull Function2<? super Integer,? super Integer,? extends PointF> @NonNull Function2<? super Integer,? super Integer,? extends Point> positionSupplier, @NonNull Supplier<SurfaceControl.Transaction> transactionSupplier) { return mMaximizeMenu; Loading Loading
libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml +5 −7 Original line number Diff line number Diff line Loading @@ -38,11 +38,11 @@ android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:gravity="center_horizontal" android:layout_marginHorizontal="4dp"> <Button android:layout_width="94dp" android:layout_width="108dp" android:layout_height="60dp" android:id="@+id/maximize_menu_immersive_toggle_button" style="?android:attr/buttonBarButtonStyle" Loading Loading @@ -75,8 +75,7 @@ android:layout_weight="1" android:orientation="vertical" android:gravity="center_horizontal" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:layout_marginHorizontal="4dp"> <Button android:layout_width="108dp" Loading Loading @@ -112,8 +111,7 @@ android:layout_weight="1" android:orientation="vertical" android:gravity="center_horizontal" android:layout_marginStart="4dp" android:layout_marginEnd="4dp"> android:layout_marginHorizontal="4dp"> <LinearLayout android:id="@+id/maximize_menu_snap_menu_layout" android:layout_width="wrap_content" Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +8 −8 Original line number Diff line number Diff line Loading @@ -1096,8 +1096,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin return Resources.ID_NULL; } private PointF calculateMaximizeMenuPosition(int menuWidth, int menuHeight) { final PointF position = new PointF(); private Point calculateMaximizeMenuPosition(int menuWidth, int menuHeight) { final Point position = new Point(); final Resources resources = mContext.getResources(); final DisplayLayout displayLayout = mDisplayController.getDisplayLayout(mTaskInfo.displayId); Loading @@ -1112,11 +1112,11 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin final int[] maximizeButtonLocation = new int[2]; maximizeWindowButton.getLocationInWindow(maximizeButtonLocation); float menuLeft = (mPositionInParent.x + maximizeButtonLocation[0] - ((float) (menuWidth - maximizeWindowButton.getWidth()) / 2)); float menuTop = (mPositionInParent.y + captionHeight); final float menuRight = menuLeft + menuWidth; final float menuBottom = menuTop + menuHeight; int menuLeft = (mPositionInParent.x + maximizeButtonLocation[0] - (menuWidth - maximizeWindowButton.getWidth()) / 2); int menuTop = (mPositionInParent.y + captionHeight); final int menuRight = menuLeft + menuWidth; final int menuBottom = menuTop + menuHeight; // If the menu is out of screen bounds, shift it as needed if (menuLeft < 0) { Loading @@ -1128,7 +1128,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin menuTop = (displayHeight - menuHeight); } return new PointF(menuLeft, menuTop); return new Point(menuLeft, menuTop); } boolean isHandleMenuActive() { Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt +9 −9 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ import android.content.res.ColorStateList import android.content.res.Resources import android.graphics.Paint import android.graphics.PixelFormat import android.graphics.PointF import android.graphics.Point import android.graphics.Rect import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable Loading Loading @@ -90,7 +90,7 @@ class MaximizeMenu( private val displayController: DisplayController, private val taskInfo: RunningTaskInfo, private val decorWindowContext: Context, private val positionSupplier: (Int, Int) -> PointF, private val positionSupplier: (Int, Int) -> Point, private val transactionSupplier: Supplier<Transaction> = Supplier { Transaction() } ) { private var maximizeMenu: AdditionalViewHostViewContainer? = null Loading @@ -100,14 +100,14 @@ class MaximizeMenu( private val cornerRadius = loadDimensionPixelSize( R.dimen.desktop_mode_maximize_menu_corner_radius ).toFloat() private lateinit var menuPosition: PointF private lateinit var menuPosition: Point private val menuPadding = loadDimensionPixelSize(R.dimen.desktop_mode_menu_padding) /** Position the menu relative to the caption's position. */ fun positionMenu(t: Transaction) { menuPosition = positionSupplier(maximizeMenuView?.measureWidth() ?: 0, maximizeMenuView?.measureHeight() ?: 0) t.setPosition(leash, menuPosition.x, menuPosition.y) t.setPosition(leash, menuPosition.x.toFloat(), menuPosition.y.toFloat()) } /** Creates and shows the maximize window. */ Loading Loading @@ -208,8 +208,8 @@ class MaximizeMenu( val menuHeight = menuView.measureHeight() menuPosition = positionSupplier(menuWidth, menuHeight) val lp = WindowManager.LayoutParams( menuWidth.toInt(), menuHeight.toInt(), menuWidth, menuHeight, WindowManager.LayoutParams.TYPE_APPLICATION, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, Loading @@ -222,7 +222,7 @@ class MaximizeMenu( // Bring menu to front when open t.setLayer(leash, TaskConstants.TASK_CHILD_LAYER_FLOATING_MENU) .setPosition(leash, menuPosition.x, menuPosition.y) .setPosition(leash, menuPosition.x.toFloat(), menuPosition.y.toFloat()) .setCornerRadius(leash, cornerRadius) .show(leash) maximizeMenu = Loading Loading @@ -1047,7 +1047,7 @@ interface MaximizeMenuFactory { displayController: DisplayController, taskInfo: RunningTaskInfo, decorWindowContext: Context, positionSupplier: (Int, Int) -> PointF, positionSupplier: (Int, Int) -> Point, transactionSupplier: Supplier<Transaction> ): MaximizeMenu } Loading @@ -1060,7 +1060,7 @@ object DefaultMaximizeMenuFactory : MaximizeMenuFactory { displayController: DisplayController, taskInfo: RunningTaskInfo, decorWindowContext: Context, positionSupplier: (Int, Int) -> PointF, positionSupplier: (Int, Int) -> Point, transactionSupplier: Supplier<Transaction> ): MaximizeMenu { return MaximizeMenu( Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.TypedArray; import android.graphics.PointF; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; import android.net.Uri; Loading Loading @@ -1805,7 +1805,7 @@ public class DesktopModeWindowDecorationTests extends ShellTestCase { @NonNull DisplayController displayController, @NonNull ActivityManager.RunningTaskInfo taskInfo, @NonNull Context decorWindowContext, @NonNull Function2<? super Integer,? super Integer,? extends PointF> @NonNull Function2<? super Integer,? super Integer,? extends Point> positionSupplier, @NonNull Supplier<SurfaceControl.Transaction> transactionSupplier) { return mMaximizeMenu; Loading