summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorge Gil <jorgegil@google.com> 2024-06-04 16:48:24 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-06-04 16:48:24 +0000
commit3ea9a7881f577a1d70d8da4c9afab8c811e950c4 (patch)
tree3d4336deefe57dd7cbbe4fe398fc0b76f6ef4e17
parent5b82d27ee03fd449a25256fb005126b85c151cf5 (diff)
parent6241d12c68a75af4f6baab1f3c01bf4689edddaf (diff)
Merge changes I37c01d7a,I041adfd5 into main
* changes: Rename window decor view holders Add missing copyright notice to windowdecor files
-rw-r--r--libs/WindowManager/Shell/res/layout/desktop_mode_app_handle.xml (renamed from libs/WindowManager/Shell/res/layout/desktop_mode_focused_window_decor.xml)0
-rw-r--r--libs/WindowManager/Shell/res/layout/desktop_mode_app_header.xml (renamed from libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml)0
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java38
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java3
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHandleViewHolder.kt (renamed from libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt)23
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt (renamed from libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt)19
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/WindowDecorationViewHolder.kt (renamed from libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeWindowDecorationViewHolder.kt)17
7 files changed, 72 insertions, 28 deletions
diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_focused_window_decor.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_app_handle.xml
index c0ff1922edc8..c0ff1922edc8 100644
--- a/libs/WindowManager/Shell/res/layout/desktop_mode_focused_window_decor.xml
+++ b/libs/WindowManager/Shell/res/layout/desktop_mode_app_handle.xml
diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_app_header.xml
index 84e144972f38..84e144972f38 100644
--- a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml
+++ b/libs/WindowManager/Shell/res/layout/desktop_mode_app_header.xml
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 eced07831ff7..644fd4ba5a54 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
@@ -69,9 +69,9 @@ import com.android.wm.shell.common.DisplayLayout;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.shared.DesktopModeStatus;
import com.android.wm.shell.windowdecor.extension.TaskInfoKt;
-import com.android.wm.shell.windowdecor.viewholder.DesktopModeAppControlsWindowDecorationViewHolder;
-import com.android.wm.shell.windowdecor.viewholder.DesktopModeFocusedWindowDecorationViewHolder;
-import com.android.wm.shell.windowdecor.viewholder.DesktopModeWindowDecorationViewHolder;
+import com.android.wm.shell.windowdecor.viewholder.AppHandleViewHolder;
+import com.android.wm.shell.windowdecor.viewholder.AppHeaderViewHolder;
+import com.android.wm.shell.windowdecor.viewholder.WindowDecorationViewHolder;
import kotlin.Unit;
@@ -90,7 +90,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
private final Choreographer mChoreographer;
private final SyncTransactionQueue mSyncQueue;
- private DesktopModeWindowDecorationViewHolder mWindowDecorViewHolder;
+ private WindowDecorationViewHolder mWindowDecorViewHolder;
private View.OnClickListener mOnCaptionButtonClickListener;
private View.OnTouchListener mOnCaptionTouchListener;
private View.OnLongClickListener mOnCaptionLongClickListener;
@@ -232,16 +232,16 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
}
if (oldRootView != mResult.mRootView) {
- if (mRelayoutParams.mLayoutResId == R.layout.desktop_mode_focused_window_decor) {
- mWindowDecorViewHolder = new DesktopModeFocusedWindowDecorationViewHolder(
+ if (mRelayoutParams.mLayoutResId == R.layout.desktop_mode_app_handle) {
+ mWindowDecorViewHolder = new AppHandleViewHolder(
mResult.mRootView,
mOnCaptionTouchListener,
mOnCaptionButtonClickListener
);
} else if (mRelayoutParams.mLayoutResId
- == R.layout.desktop_mode_app_controls_window_decor) {
+ == R.layout.desktop_mode_app_header) {
loadAppInfoIfNeeded();
- mWindowDecorViewHolder = new DesktopModeAppControlsWindowDecorationViewHolder(
+ mWindowDecorViewHolder = new AppHeaderViewHolder(
mResult.mRootView,
mOnCaptionTouchListener,
mOnCaptionButtonClickListener,
@@ -331,8 +331,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
boolean shouldSetTaskPositionAndCrop) {
final int captionLayoutId = getDesktopModeWindowDecorLayoutId(taskInfo.getWindowingMode());
final boolean isAppHeader =
- captionLayoutId == R.layout.desktop_mode_app_controls_window_decor;
- final boolean isAppHandle = captionLayoutId == R.layout.desktop_mode_focused_window_decor;
+ captionLayoutId == R.layout.desktop_mode_app_header;
+ final boolean isAppHandle = captionLayoutId == R.layout.desktop_mode_app_handle;
relayoutParams.reset();
relayoutParams.mRunningTaskInfo = taskInfo;
relayoutParams.mLayoutResId = captionLayoutId;
@@ -405,7 +405,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
* resource. Otherwise, return ID_NULL and caption width be set to task width.
*/
private static int getCaptionWidthId(int layoutResId) {
- if (layoutResId == R.layout.desktop_mode_focused_window_decor) {
+ if (layoutResId == R.layout.desktop_mode_app_handle) {
return R.dimen.desktop_mode_fullscreen_decor_caption_width;
}
return Resources.ID_NULL;
@@ -568,7 +568,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
@Override
@NonNull
Rect calculateValidDragArea() {
- final int appTextWidth = ((DesktopModeAppControlsWindowDecorationViewHolder)
+ final int appTextWidth = ((AppHeaderViewHolder)
mWindowDecorViewHolder).getAppNameTextWidth();
final int leftButtonsWidth = loadDimensionPixelSize(mContext.getResources(),
R.dimen.desktop_mode_app_details_width_minus_text) + appTextWidth;
@@ -747,7 +747,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
*/
boolean checkTouchEventInFocusedCaptionHandle(MotionEvent ev) {
if (isHandleMenuActive() || !(mWindowDecorViewHolder
- instanceof DesktopModeFocusedWindowDecorationViewHolder)) {
+ instanceof AppHandleViewHolder)) {
return false;
}
@@ -836,8 +836,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
private static int getDesktopModeWindowDecorLayoutId(@WindowingMode int windowingMode) {
return windowingMode == WINDOWING_MODE_FREEFORM
- ? R.layout.desktop_mode_app_controls_window_decor
- : R.layout.desktop_mode_focused_window_decor;
+ ? R.layout.desktop_mode_app_header
+ : R.layout.desktop_mode_app_handle;
}
private void updatePositionInParent() {
@@ -889,20 +889,20 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
}
void setAnimatingTaskResize(boolean animatingTaskResize) {
- if (mRelayoutParams.mLayoutResId == R.layout.desktop_mode_focused_window_decor) return;
- ((DesktopModeAppControlsWindowDecorationViewHolder) mWindowDecorViewHolder)
+ if (mRelayoutParams.mLayoutResId == R.layout.desktop_mode_app_handle) return;
+ ((AppHeaderViewHolder) mWindowDecorViewHolder)
.setAnimatingTaskResize(animatingTaskResize);
}
/** Called when there is a {@Link ACTION_HOVER_EXIT} on the maximize window button. */
void onMaximizeWindowHoverExit() {
- ((DesktopModeAppControlsWindowDecorationViewHolder) mWindowDecorViewHolder)
+ ((AppHeaderViewHolder) mWindowDecorViewHolder)
.onMaximizeWindowHoverExit();
}
/** Called when there is a {@Link ACTION_HOVER_ENTER} on the maximize window button. */
void onMaximizeWindowHoverEnter() {
- ((DesktopModeAppControlsWindowDecorationViewHolder) mWindowDecorViewHolder)
+ ((AppHeaderViewHolder) mWindowDecorViewHolder)
.onMaximizeWindowHoverEnter();
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java
index 65adcee1567c..c22b621f2111 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java
@@ -218,8 +218,7 @@ class HandleMenu {
final int menuX, menuY;
final int captionWidth = mTaskInfo.getConfiguration()
.windowConfiguration.getBounds().width();
- if (mLayoutResId
- == R.layout.desktop_mode_app_controls_window_decor) {
+ if (mLayoutResId == R.layout.desktop_mode_app_header) {
// Align the handle menu to the left of the caption.
menuX = mMarginMenuStart;
menuY = mMarginMenuTop;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHandleViewHolder.kt
index 96bc4a146ebd..8d822c252288 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHandleViewHolder.kt
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package com.android.wm.shell.windowdecor.viewholder
import android.animation.ObjectAnimator
@@ -12,14 +27,14 @@ import com.android.wm.shell.R
import com.android.wm.shell.animation.Interpolators
/**
- * A desktop mode window decoration used when the window is in full "focus" (i.e. fullscreen). It
- * hosts a simple handle bar from which to initiate a drag motion to enter desktop mode.
+ * A desktop mode window decoration used when the window is in full "focus" (i.e. fullscreen/split).
+ * It hosts a simple handle bar from which to initiate a drag motion to enter desktop mode.
*/
-internal class DesktopModeFocusedWindowDecorationViewHolder(
+internal class AppHandleViewHolder(
rootView: View,
onCaptionTouchListener: View.OnTouchListener,
onCaptionButtonClickListener: View.OnClickListener
-) : DesktopModeWindowDecorationViewHolder(rootView) {
+) : WindowDecorationViewHolder(rootView) {
companion object {
private const val CAPTION_HANDLE_ANIMATION_DURATION: Long = 100
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt
index 3c12da2d6620..3b714b173a1d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package com.android.wm.shell.windowdecor.viewholder
import android.annotation.ColorInt
@@ -38,7 +53,7 @@ import com.android.wm.shell.windowdecor.extension.isTransparentCaptionBarAppeara
* finer controls such as a close window button and an "app info" section to pull up additional
* controls.
*/
-internal class DesktopModeAppControlsWindowDecorationViewHolder(
+internal class AppHeaderViewHolder(
rootView: View,
onCaptionTouchListener: View.OnTouchListener,
onCaptionButtonClickListener: View.OnClickListener,
@@ -47,7 +62,7 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder(
appName: CharSequence,
appIconBitmap: Bitmap,
onMaximizeHoverAnimationFinishedListener: () -> Unit
-) : DesktopModeWindowDecorationViewHolder(rootView) {
+) : WindowDecorationViewHolder(rootView) {
/**
* The corner radius to apply to the app chip, maximize and close button's background drawable.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeWindowDecorationViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/WindowDecorationViewHolder.kt
index 81bc34c876b6..5ae8d252a908 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeWindowDecorationViewHolder.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/WindowDecorationViewHolder.kt
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package com.android.wm.shell.windowdecor.viewholder
import android.app.ActivityManager.RunningTaskInfo
@@ -8,7 +23,7 @@ import android.view.View
* Encapsulates the root [View] of a window decoration and its children to facilitate looking up
* children (via findViewById) and updating to the latest data from [RunningTaskInfo].
*/
-internal abstract class DesktopModeWindowDecorationViewHolder(rootView: View) {
+internal abstract class WindowDecorationViewHolder(rootView: View) {
val context: Context = rootView.context
/**