Loading libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_button_dark.xmldeleted 100644 → 0 +0 −25 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ 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. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="#000000" android:pathData="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"/> </vector> libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_exit_button_dark.xml→libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_or_maximize_exit_button_dark.xml +2 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,6 @@ android:viewportHeight="960" android:tint="?attr/colorControlNormal"> <path android:fillColor="@android:color/white" android:pathData="M240,840L240,720L120,720L120,640L320,640L320,840L240,840ZM640,840L640,640L840,640L840,720L720,720L720,840L640,840ZM120,320L120,240L240,240L240,120L320,120L320,320L120,320ZM640,320L640,120L720,120L720,240L840,240L840,320L640,320Z"/> android:fillColor="@android:color/black" android:pathData="M520,560L600,560L600,560ZM320,720Q287,720 263.5,696.5Q240,673 240,640L240,160Q240,127 263.5,103.5Q287,80 320,80L800,80Q833,80 856.5,103.5Q880,127 880,160L880,640Q880,673 856.5,696.5Q833,720 800,720L320,720ZM320,640L800,640Q800,640 800,640Q800,640 800,640L800,160Q800,160 800,160Q800,160 800,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640ZM160,880Q127,880 103.5,856.5Q80,833 80,800L80,240L160,240L160,800Q160,800 160,800Q160,800 160,800L720,800L720,880L160,880ZM320,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640L320,640Q320,640 320,640Q320,640 320,640L320,160Q320,160 320,160Q320,160 320,160Z"/> </vector> libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +3 −2 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.desktopmode.CaptionState; import com.android.wm.shell.desktopmode.DesktopModeEventLogger; import com.android.wm.shell.desktopmode.DesktopModeUtils; import com.android.wm.shell.desktopmode.DesktopUserRepositories; import com.android.wm.shell.desktopmode.WindowDecorCaptionHandleRepository; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; Loading Loading @@ -522,7 +523,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin } else { mWindowDecorViewHolder.bindData(new AppHeaderViewHolder.HeaderData( mTaskInfo, TaskInfoKt.getRequestingImmersive(mTaskInfo), DesktopModeUtils.isTaskMaximized(mTaskInfo, mDisplayController), inFullImmersive, hasGlobalFocus, /* maximizeHoverEnabled= */ canOpenMaximizeMenu( Loading Loading @@ -1705,7 +1706,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin .isTaskInFullImmersiveState(mTaskInfo.taskId); asAppHeader(mWindowDecorViewHolder).bindData(new AppHeaderViewHolder.HeaderData( mTaskInfo, TaskInfoKt.getRequestingImmersive(mTaskInfo), DesktopModeUtils.isTaskMaximized(mTaskInfo, mDisplayController), inFullImmersive, isFocused(), /* maximizeHoverEnabled= */ canOpenMaximizeMenu(animatingTaskResizeOrReposition))); Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt +12 −27 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ class AppHeaderViewHolder( data class HeaderData( val taskInfo: RunningTaskInfo, val isRequestingImmersive: Boolean, val isTaskMaximized: Boolean, val inFullImmersiveState: Boolean, val hasGlobalFocus: Boolean, val enableMaximizeLongClick: Boolean, Loading Loading @@ -163,7 +163,7 @@ class AppHeaderViewHolder( override fun bindData(data: HeaderData) { bindData( data.taskInfo, data.isRequestingImmersive, data.isTaskMaximized, data.inFullImmersiveState, data.hasGlobalFocus, data.enableMaximizeLongClick Loading @@ -172,7 +172,7 @@ class AppHeaderViewHolder( private fun bindData( taskInfo: RunningTaskInfo, isRequestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean, hasGlobalFocus: Boolean, enableMaximizeLongClick: Boolean, Loading @@ -180,7 +180,7 @@ class AppHeaderViewHolder( if (DesktopModeFlags.ENABLE_THEMED_APP_HEADERS.isTrue()) { bindDataWithThemedHeaders( taskInfo, isRequestingImmersive, isTaskMaximized, inFullImmersiveState, hasGlobalFocus, enableMaximizeLongClick, Loading Loading @@ -225,7 +225,7 @@ class AppHeaderViewHolder( private fun bindDataWithThemedHeaders( taskInfo: RunningTaskInfo, requestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean, hasGlobalFocus: Boolean, enableMaximizeLongClick: Boolean, Loading Loading @@ -283,7 +283,7 @@ class AppHeaderViewHolder( drawableInsets = maximizeDrawableInsets ) ) setIcon(getMaximizeButtonIcon(requestingImmersive, inFullImmersiveState)) setIcon(getMaximizeButtonIcon(isTaskMaximized, inFullImmersiveState)) } // Close button. closeWindowButton.apply { Loading Loading @@ -358,34 +358,19 @@ class AppHeaderViewHolder( @DrawableRes private fun getMaximizeButtonIcon( requestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean ): Int = when { shouldShowEnterFullImmersiveIcon(requestingImmersive, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_button_dark } shouldShowExitFullImmersiveIcon(requestingImmersive, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_exit_button_dark shouldShowExitFullImmersiveOrMaximizeIcon(isTaskMaximized, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_or_maximize_exit_button_dark } else -> R.drawable.decor_desktop_mode_maximize_button_dark } private fun shouldShowEnterFullImmersiveIcon( requestingImmersive: Boolean, inFullImmersiveState: Boolean ): Boolean = Flags.enableFullyImmersiveInDesktop() && requestingImmersive && !inFullImmersiveState private fun shouldShowExitFullImmersiveIcon( requestingImmersive: Boolean, inFullImmersiveState: Boolean ): Boolean = isInFullImmersiveStateAndRequesting(requestingImmersive, inFullImmersiveState) private fun isInFullImmersiveStateAndRequesting( requestingImmersive: Boolean, private fun shouldShowExitFullImmersiveOrMaximizeIcon( isTaskMaximized: Boolean, inFullImmersiveState: Boolean ): Boolean = Flags.enableFullyImmersiveInDesktop() && requestingImmersive && inFullImmersiveState ): Boolean = (Flags.enableFullyImmersiveInDesktop() && inFullImmersiveState) || isTaskMaximized private fun getHeaderStyle(header: Header): HeaderStyle { return HeaderStyle( Loading Loading
libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_button_dark.xmldeleted 100644 → 0 +0 −25 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ~ 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. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="#000000" android:pathData="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"/> </vector>
libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_exit_button_dark.xml→libs/WindowManager/Shell/res/drawable/decor_desktop_mode_immersive_or_maximize_exit_button_dark.xml +2 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,6 @@ android:viewportHeight="960" android:tint="?attr/colorControlNormal"> <path android:fillColor="@android:color/white" android:pathData="M240,840L240,720L120,720L120,640L320,640L320,840L240,840ZM640,840L640,640L840,640L840,720L720,720L720,840L640,840ZM120,320L120,240L240,240L240,120L320,120L320,320L120,320ZM640,320L640,120L720,120L720,240L840,240L840,320L640,320Z"/> android:fillColor="@android:color/black" android:pathData="M520,560L600,560L600,560ZM320,720Q287,720 263.5,696.5Q240,673 240,640L240,160Q240,127 263.5,103.5Q287,80 320,80L800,80Q833,80 856.5,103.5Q880,127 880,160L880,640Q880,673 856.5,696.5Q833,720 800,720L320,720ZM320,640L800,640Q800,640 800,640Q800,640 800,640L800,160Q800,160 800,160Q800,160 800,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640ZM160,880Q127,880 103.5,856.5Q80,833 80,800L80,240L160,240L160,800Q160,800 160,800Q160,800 160,800L720,800L720,880L160,880ZM320,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640L320,640Q320,640 320,640Q320,640 320,640L320,160Q320,160 320,160Q320,160 320,160Z"/> </vector>
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +3 −2 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.desktopmode.CaptionState; import com.android.wm.shell.desktopmode.DesktopModeEventLogger; import com.android.wm.shell.desktopmode.DesktopModeUtils; import com.android.wm.shell.desktopmode.DesktopUserRepositories; import com.android.wm.shell.desktopmode.WindowDecorCaptionHandleRepository; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; Loading Loading @@ -522,7 +523,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin } else { mWindowDecorViewHolder.bindData(new AppHeaderViewHolder.HeaderData( mTaskInfo, TaskInfoKt.getRequestingImmersive(mTaskInfo), DesktopModeUtils.isTaskMaximized(mTaskInfo, mDisplayController), inFullImmersive, hasGlobalFocus, /* maximizeHoverEnabled= */ canOpenMaximizeMenu( Loading Loading @@ -1705,7 +1706,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin .isTaskInFullImmersiveState(mTaskInfo.taskId); asAppHeader(mWindowDecorViewHolder).bindData(new AppHeaderViewHolder.HeaderData( mTaskInfo, TaskInfoKt.getRequestingImmersive(mTaskInfo), DesktopModeUtils.isTaskMaximized(mTaskInfo, mDisplayController), inFullImmersive, isFocused(), /* maximizeHoverEnabled= */ canOpenMaximizeMenu(animatingTaskResizeOrReposition))); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt +12 −27 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ class AppHeaderViewHolder( data class HeaderData( val taskInfo: RunningTaskInfo, val isRequestingImmersive: Boolean, val isTaskMaximized: Boolean, val inFullImmersiveState: Boolean, val hasGlobalFocus: Boolean, val enableMaximizeLongClick: Boolean, Loading Loading @@ -163,7 +163,7 @@ class AppHeaderViewHolder( override fun bindData(data: HeaderData) { bindData( data.taskInfo, data.isRequestingImmersive, data.isTaskMaximized, data.inFullImmersiveState, data.hasGlobalFocus, data.enableMaximizeLongClick Loading @@ -172,7 +172,7 @@ class AppHeaderViewHolder( private fun bindData( taskInfo: RunningTaskInfo, isRequestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean, hasGlobalFocus: Boolean, enableMaximizeLongClick: Boolean, Loading @@ -180,7 +180,7 @@ class AppHeaderViewHolder( if (DesktopModeFlags.ENABLE_THEMED_APP_HEADERS.isTrue()) { bindDataWithThemedHeaders( taskInfo, isRequestingImmersive, isTaskMaximized, inFullImmersiveState, hasGlobalFocus, enableMaximizeLongClick, Loading Loading @@ -225,7 +225,7 @@ class AppHeaderViewHolder( private fun bindDataWithThemedHeaders( taskInfo: RunningTaskInfo, requestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean, hasGlobalFocus: Boolean, enableMaximizeLongClick: Boolean, Loading Loading @@ -283,7 +283,7 @@ class AppHeaderViewHolder( drawableInsets = maximizeDrawableInsets ) ) setIcon(getMaximizeButtonIcon(requestingImmersive, inFullImmersiveState)) setIcon(getMaximizeButtonIcon(isTaskMaximized, inFullImmersiveState)) } // Close button. closeWindowButton.apply { Loading Loading @@ -358,34 +358,19 @@ class AppHeaderViewHolder( @DrawableRes private fun getMaximizeButtonIcon( requestingImmersive: Boolean, isTaskMaximized: Boolean, inFullImmersiveState: Boolean ): Int = when { shouldShowEnterFullImmersiveIcon(requestingImmersive, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_button_dark } shouldShowExitFullImmersiveIcon(requestingImmersive, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_exit_button_dark shouldShowExitFullImmersiveOrMaximizeIcon(isTaskMaximized, inFullImmersiveState) -> { R.drawable.decor_desktop_mode_immersive_or_maximize_exit_button_dark } else -> R.drawable.decor_desktop_mode_maximize_button_dark } private fun shouldShowEnterFullImmersiveIcon( requestingImmersive: Boolean, inFullImmersiveState: Boolean ): Boolean = Flags.enableFullyImmersiveInDesktop() && requestingImmersive && !inFullImmersiveState private fun shouldShowExitFullImmersiveIcon( requestingImmersive: Boolean, inFullImmersiveState: Boolean ): Boolean = isInFullImmersiveStateAndRequesting(requestingImmersive, inFullImmersiveState) private fun isInFullImmersiveStateAndRequesting( requestingImmersive: Boolean, private fun shouldShowExitFullImmersiveOrMaximizeIcon( isTaskMaximized: Boolean, inFullImmersiveState: Boolean ): Boolean = Flags.enableFullyImmersiveInDesktop() && requestingImmersive && inFullImmersiveState ): Boolean = (Flags.enableFullyImmersiveInDesktop() && inFullImmersiveState) || isTaskMaximized private fun getHeaderStyle(header: Header): HeaderStyle { return HeaderStyle( Loading