Merge "Add maximize button to caption" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f0cec4ca1c
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2023 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:width="48dp"
|
||||
android:height="48dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportHeight="960"
|
||||
android:viewportWidth="960">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M180,840Q156,840 138,822Q120,804 120,780L120,180Q120,156 138,138Q156,120 180,120L780,120Q804,120 822,138Q840,156 840,180L840,780Q840,804 822,822Q804,840 780,840L180,840ZM180,780L780,780Q780,780 780,780Q780,780 780,780L780,277L180,277L180,780Q180,780 180,780Q180,780 180,780Z" />
|
||||
</vector>
|
||||
@@ -77,6 +77,19 @@
|
||||
android:layout_height="40dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/maximize_window"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:padding="9dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:contentDescription="@string/maximize_button_text"
|
||||
android:src="@drawable/decor_desktop_mode_maximize_button_dark"
|
||||
android:scaleType="fitCenter"
|
||||
android:gravity="end"
|
||||
android:background="@null"
|
||||
android:tint="@color/desktop_mode_caption_maximize_button_dark"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/close_window"
|
||||
android:layout_width="40dp"
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
<color name="desktop_mode_caption_expand_button_dark">#48473A</color>
|
||||
<color name="desktop_mode_caption_close_button_light">#EFF1F2</color>
|
||||
<color name="desktop_mode_caption_close_button_dark">#1C1C17</color>
|
||||
<color name="desktop_mode_caption_maximize_button_light">#EFF1F2</color>
|
||||
<color name="desktop_mode_caption_maximize_button_dark">#1C1C17</color>
|
||||
<color name="desktop_mode_caption_app_name_light">#EFF1F2</color>
|
||||
<color name="desktop_mode_caption_app_name_dark">#1C1C17</color>
|
||||
<color name="desktop_mode_caption_menu_text_color">#191C1D</color>
|
||||
|
||||
@@ -374,6 +374,11 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel {
|
||||
mDesktopTasksController.ifPresent(c -> c.moveToNextDisplay(mTaskId));
|
||||
decoration.closeHandleMenu();
|
||||
}
|
||||
} else if (id == R.id.maximize_window) {
|
||||
final RunningTaskInfo taskInfo = decoration.mTaskInfo;
|
||||
mDesktopTasksController.ifPresent(c -> c.toggleDesktopTaskSize(
|
||||
taskInfo, decoration));
|
||||
decoration.closeHandleMenu();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder(
|
||||
private val openMenuButton: View = rootView.findViewById(R.id.open_menu_button)
|
||||
private val closeWindowButton: ImageButton = rootView.findViewById(R.id.close_window)
|
||||
private val expandMenuButton: ImageButton = rootView.findViewById(R.id.expand_menu_button)
|
||||
private val maximizeWindowButton: ImageButton = rootView.findViewById(R.id.maximize_window)
|
||||
private val appNameTextView: TextView = rootView.findViewById(R.id.application_name)
|
||||
private val appIconImageView: ImageView = rootView.findViewById(R.id.application_icon)
|
||||
|
||||
@@ -37,6 +38,7 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder(
|
||||
openMenuButton.setOnClickListener(onCaptionButtonClickListener)
|
||||
openMenuButton.setOnTouchListener(onCaptionTouchListener)
|
||||
closeWindowButton.setOnClickListener(onCaptionButtonClickListener)
|
||||
maximizeWindowButton.setOnClickListener(onCaptionButtonClickListener)
|
||||
closeWindowButton.setOnTouchListener(onCaptionTouchListener)
|
||||
appNameTextView.text = appName
|
||||
appIconImageView.setImageDrawable(appIcon)
|
||||
@@ -49,6 +51,8 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder(
|
||||
|
||||
closeWindowButton.imageTintList = ColorStateList.valueOf(
|
||||
getCaptionCloseButtonColor(taskInfo))
|
||||
maximizeWindowButton.imageTintList = ColorStateList.valueOf(
|
||||
getCaptionMaximizeButtonColor(taskInfo))
|
||||
expandMenuButton.imageTintList = ColorStateList.valueOf(
|
||||
getCaptionExpandButtonColor(taskInfo))
|
||||
appNameTextView.setTextColor(getCaptionAppNameTextColor(taskInfo))
|
||||
@@ -70,6 +74,14 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder(
|
||||
}
|
||||
}
|
||||
|
||||
private fun getCaptionMaximizeButtonColor(taskInfo: RunningTaskInfo): Int {
|
||||
return if (shouldUseLightCaptionColors(taskInfo)) {
|
||||
context.getColor(R.color.desktop_mode_caption_maximize_button_light)
|
||||
} else {
|
||||
context.getColor(R.color.desktop_mode_caption_maximize_button_dark)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getCaptionExpandButtonColor(taskInfo: RunningTaskInfo): Int {
|
||||
return if (shouldUseLightCaptionColors(taskInfo)) {
|
||||
context.getColor(R.color.desktop_mode_caption_expand_button_light)
|
||||
|
||||
Reference in New Issue
Block a user