diff options
| author | 2024-06-04 16:48:24 +0000 | |
|---|---|---|
| committer | 2024-06-04 16:48:24 +0000 | |
| commit | 3ea9a7881f577a1d70d8da4c9afab8c811e950c4 (patch) | |
| tree | 3d4336deefe57dd7cbbe4fe398fc0b76f6ef4e17 | |
| parent | 5b82d27ee03fd449a25256fb005126b85c151cf5 (diff) | |
| parent | 6241d12c68a75af4f6baab1f3c01bf4689edddaf (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.java | 38 | ||||
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java | 3 | ||||
| -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 /** |