summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml12
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java16
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt18
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java4
4 files changed, 24 insertions, 26 deletions
diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
index c2aa146d6437..3ebe87dcf505 100644
--- a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
+++ b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
@@ -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"
@@ -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"
@@ -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"
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
index 2ebe67b22c18..fbd7b070b17c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
@@ -1095,8 +1095,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);
@@ -1111,11 +1111,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) {
@@ -1127,7 +1127,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
menuTop = (displayHeight - menuHeight);
}
- return new PointF(menuLeft, menuTop);
+ return new Point(menuLeft, menuTop);
}
boolean isHandleMenuActive() {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt
index ad3525af3f94..5d1a7a0cc3a2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeMenu.kt
@@ -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
@@ -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
@@ -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. */
@@ -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,
@@ -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 =
@@ -1047,7 +1047,7 @@ interface MaximizeMenuFactory {
displayController: DisplayController,
taskInfo: RunningTaskInfo,
decorWindowContext: Context,
- positionSupplier: (Int, Int) -> PointF,
+ positionSupplier: (Int, Int) -> Point,
transactionSupplier: Supplier<Transaction>
): MaximizeMenu
}
@@ -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(
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java
index 1371b38a579f..878324937f1a 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java
@@ -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;
@@ -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;