Loading quickstep/res/drawable/ic_floating_task_button.xml +13 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,11 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> <group android:pivotY="12" android:pivotX="12" android:scaleX=".75" android:scaleY=".75"> <path android:pathData="M17.6258,4.96L19.0358,6.37L7.4058,18.01L5.9958,16.6L17.6258,4.96ZM16.1358,3.62L4.1258,15.63L3.0158,19.83C2.9058,20.45 3.3858,21 3.9958,21C4.0558,21 4.1058,21 4.1658,20.99L8.3658,19.88L20.3758,7.86C20.7758,7.46 20.9958,6.93 20.9958,6.37C20.9958,5.81 20.7758,5.28 20.3758,4.88L19.1058,3.61C18.7158,3.22 18.1858,3 17.6258,3C17.0658,3 16.5358,3.22 16.1358,3.62Z" android:fillColor="#636C6F"/> Loading @@ -26,4 +31,5 @@ android:pathData="M20.1936,15.3369C20.3748,16.3837 19.9151,17.5414 18.8846,18.7597C19.1546,18.872 19.4576,18.9452 19.7724,18.9867C20.0839,19.0278 20.3683,19.0325 20.5749,19.0266C20.6772,19.0236 20.7578,19.0181 20.8101,19.0138C20.8362,19.0116 20.855,19.0097 20.8657,19.0085L20.8754,19.0074L20.875,19.0075C21.4217,18.9385 21.9214,19.325 21.9918,19.8718C22.0624,20.4195 21.6756,20.9208 21.1279,20.9914L21,19.9996C21.1279,20.9914 21.1265,20.9916 21.1265,20.9916L21.1249,20.9918L21.1211,20.9923L21.1107,20.9935L21.0795,20.997C21.0542,20.9998 21.0199,21.0032 20.9775,21.0067C20.8929,21.0138 20.7753,21.0216 20.6323,21.0257C20.3481,21.0339 19.9533,21.0279 19.5109,20.9695C18.873,20.8854 18.0393,20.6793 17.3106,20.1662C16.9605,20.3559 16.5876,20.4952 16.2299,20.6003C15.5742,20.7927 14.8754,20.8968 14.2534,20.9534C13.6801,21.0055 13.4553,21.0037 13.1015,21.0008C13.0689,21.0005 13.0352,21.0002 13,21H12.8594C12.8214,21.0002 12.785,21.0006 12.7504,21.0009C12.6524,21.0019 12.5683,21.0027 12.5,21H12.0562C12.0277,21.0003 12.0054,21.0006 11.9926,21.001L11.9751,21H9L11,19H11.9795C11.9929,18.9997 12.0064,18.9997 12.0199,19H12.4117C12.4534,18.9996 12.4864,18.9995 12.5,19H12.9675C12.977,18.9999 12.9878,18.9999 13,19C13.0446,19.0003 13.0859,19.0007 13.1249,19.0011C13.4259,19.0038 13.591,19.0054 14.0723,18.9616C14.6201,18.9118 15.1795,18.8242 15.6665,18.6813C15.753,18.6559 15.8346,18.6295 15.9114,18.6022C15.0315,17.2981 14.7125,16.1044 15.015,15.0829C15.4095,13.7511 16.6784,13.2418 17.7026,13.2864C18.7262,13.3309 19.954,13.9529 20.1936,15.3369ZM16.9327,15.6508C16.873,15.8523 16.8651,16.3878 17.4697,17.334C18.2007,16.4284 18.2585,15.8839 18.2229,15.6781C18.1939,15.5108 18.0297,15.3025 17.6157,15.2845C17.2025,15.2665 16.9885,15.4626 16.9327,15.6508Z" android:fillColor="#636C6F" android:fillType="evenOdd"/> </group> </vector> quickstep/res/layout/taskbar_all_apps_button.xml 0 → 100644 +23 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 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. --> <com.android.launcher3.views.IconButtonView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="@dimen/taskbar_icon_touch_size" android:layout_height="@dimen/taskbar_icon_touch_size" android:contentDescription="@string/all_apps_button_label" android:backgroundTint="@color/all_apps_button_bg_color" android:icon="@drawable/ic_all_apps_button" /> quickstep/res/layout/taskbar_floating_task_button.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 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. --> <com.android.launcher3.views.IconButtonView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="@dimen/taskbar_icon_touch_size" android:layout_height="@dimen/taskbar_icon_touch_size" android:icon="@drawable/ic_floating_task_button" /> quickstep/src/com/android/launcher3/taskbar/LaunchFloatingTaskButton.javadeleted 100644 → 0 +0 −51 Original line number Diff line number Diff line /* * Copyright (C) 2022 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.launcher3.taskbar; import android.content.Context; import android.graphics.Bitmap; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import com.android.launcher3.BubbleTextView; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.icons.FastBitmapDrawable; /** * Button in Taskbar that opens something in a floating task. */ public class LaunchFloatingTaskButton extends BubbleTextView { public LaunchFloatingTaskButton(Context context) { this(context, null); } public LaunchFloatingTaskButton(Context context, AttributeSet attrs) { this(context, attrs, 0); } public LaunchFloatingTaskButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); Context theme = new ContextThemeWrapper(context, R.style.AllAppsButtonTheme); Bitmap bitmap = LauncherAppState.getInstance(context).getIconCache().getIconFactory() .createScaledBitmapWithShadow( theme.getDrawable(R.drawable.ic_floating_task_button)); setIcon(new FastBitmapDrawable(bitmap)); } } quickstep/src/com/android/launcher3/taskbar/TaskbarView.java +6 −10 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import androidx.annotation.LayoutRes; Loading @@ -47,7 +46,6 @@ import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.util.LauncherBindableItemsContainer; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.AllAppsButton; import com.android.launcher3.views.DoubleShadowBubbleTextView; import java.util.function.Predicate; Loading Loading @@ -81,12 +79,12 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar private @Nullable FolderIcon mLeaveBehindFolderIcon; // Only non-null when device supports having an All Apps button. private @Nullable AllAppsButton mAllAppsButton; private @Nullable View mAllAppsButton; private View mQsb; // Only non-null when device supports having a floating task. private @Nullable BubbleTextView mFloatingTaskButton; private @Nullable View mFloatingTaskButton; private @Nullable Intent mFloatingTaskIntent; private static final boolean FLOATING_TASKS_ENABLED = SystemProperties.getBoolean("persist.wm.debug.floating_tasks", false); Loading Loading @@ -125,9 +123,8 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar mThemeIconsBackground = calculateThemeIconsBackground(); if (FeatureFlags.ENABLE_ALL_APPS_IN_TASKBAR.get()) { mAllAppsButton = new AllAppsButton(context); mAllAppsButton.setLayoutParams( new ViewGroup.LayoutParams(mIconTouchSize, mIconTouchSize)); mAllAppsButton = LayoutInflater.from(context) .inflate(R.layout.taskbar_all_apps_button, this, false); mAllAppsButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding); } Loading @@ -137,9 +134,8 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar if (FLOATING_TASKS_ENABLED) { mFloatingTaskIntent = FloatingTaskIntentResolver.getIntent(context); if (mFloatingTaskIntent != null) { mFloatingTaskButton = new LaunchFloatingTaskButton(context); mFloatingTaskButton.setLayoutParams( new ViewGroup.LayoutParams(mIconTouchSize, mIconTouchSize)); mFloatingTaskButton = LayoutInflater.from(context) .inflate(R.layout.taskbar_floating_task_button, this, false); mFloatingTaskButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding); } else { Loading Loading
quickstep/res/drawable/ic_floating_task_button.xml +13 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,11 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> <group android:pivotY="12" android:pivotX="12" android:scaleX=".75" android:scaleY=".75"> <path android:pathData="M17.6258,4.96L19.0358,6.37L7.4058,18.01L5.9958,16.6L17.6258,4.96ZM16.1358,3.62L4.1258,15.63L3.0158,19.83C2.9058,20.45 3.3858,21 3.9958,21C4.0558,21 4.1058,21 4.1658,20.99L8.3658,19.88L20.3758,7.86C20.7758,7.46 20.9958,6.93 20.9958,6.37C20.9958,5.81 20.7758,5.28 20.3758,4.88L19.1058,3.61C18.7158,3.22 18.1858,3 17.6258,3C17.0658,3 16.5358,3.22 16.1358,3.62Z" android:fillColor="#636C6F"/> Loading @@ -26,4 +31,5 @@ android:pathData="M20.1936,15.3369C20.3748,16.3837 19.9151,17.5414 18.8846,18.7597C19.1546,18.872 19.4576,18.9452 19.7724,18.9867C20.0839,19.0278 20.3683,19.0325 20.5749,19.0266C20.6772,19.0236 20.7578,19.0181 20.8101,19.0138C20.8362,19.0116 20.855,19.0097 20.8657,19.0085L20.8754,19.0074L20.875,19.0075C21.4217,18.9385 21.9214,19.325 21.9918,19.8718C22.0624,20.4195 21.6756,20.9208 21.1279,20.9914L21,19.9996C21.1279,20.9914 21.1265,20.9916 21.1265,20.9916L21.1249,20.9918L21.1211,20.9923L21.1107,20.9935L21.0795,20.997C21.0542,20.9998 21.0199,21.0032 20.9775,21.0067C20.8929,21.0138 20.7753,21.0216 20.6323,21.0257C20.3481,21.0339 19.9533,21.0279 19.5109,20.9695C18.873,20.8854 18.0393,20.6793 17.3106,20.1662C16.9605,20.3559 16.5876,20.4952 16.2299,20.6003C15.5742,20.7927 14.8754,20.8968 14.2534,20.9534C13.6801,21.0055 13.4553,21.0037 13.1015,21.0008C13.0689,21.0005 13.0352,21.0002 13,21H12.8594C12.8214,21.0002 12.785,21.0006 12.7504,21.0009C12.6524,21.0019 12.5683,21.0027 12.5,21H12.0562C12.0277,21.0003 12.0054,21.0006 11.9926,21.001L11.9751,21H9L11,19H11.9795C11.9929,18.9997 12.0064,18.9997 12.0199,19H12.4117C12.4534,18.9996 12.4864,18.9995 12.5,19H12.9675C12.977,18.9999 12.9878,18.9999 13,19C13.0446,19.0003 13.0859,19.0007 13.1249,19.0011C13.4259,19.0038 13.591,19.0054 14.0723,18.9616C14.6201,18.9118 15.1795,18.8242 15.6665,18.6813C15.753,18.6559 15.8346,18.6295 15.9114,18.6022C15.0315,17.2981 14.7125,16.1044 15.015,15.0829C15.4095,13.7511 16.6784,13.2418 17.7026,13.2864C18.7262,13.3309 19.954,13.9529 20.1936,15.3369ZM16.9327,15.6508C16.873,15.8523 16.8651,16.3878 17.4697,17.334C18.2007,16.4284 18.2585,15.8839 18.2229,15.6781C18.1939,15.5108 18.0297,15.3025 17.6157,15.2845C17.2025,15.2665 16.9885,15.4626 16.9327,15.6508Z" android:fillColor="#636C6F" android:fillType="evenOdd"/> </group> </vector>
quickstep/res/layout/taskbar_all_apps_button.xml 0 → 100644 +23 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 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. --> <com.android.launcher3.views.IconButtonView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="@dimen/taskbar_icon_touch_size" android:layout_height="@dimen/taskbar_icon_touch_size" android:contentDescription="@string/all_apps_button_label" android:backgroundTint="@color/all_apps_button_bg_color" android:icon="@drawable/ic_all_apps_button" />
quickstep/res/layout/taskbar_floating_task_button.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 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. --> <com.android.launcher3.views.IconButtonView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="@dimen/taskbar_icon_touch_size" android:layout_height="@dimen/taskbar_icon_touch_size" android:icon="@drawable/ic_floating_task_button" />
quickstep/src/com/android/launcher3/taskbar/LaunchFloatingTaskButton.javadeleted 100644 → 0 +0 −51 Original line number Diff line number Diff line /* * Copyright (C) 2022 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.launcher3.taskbar; import android.content.Context; import android.graphics.Bitmap; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import com.android.launcher3.BubbleTextView; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.icons.FastBitmapDrawable; /** * Button in Taskbar that opens something in a floating task. */ public class LaunchFloatingTaskButton extends BubbleTextView { public LaunchFloatingTaskButton(Context context) { this(context, null); } public LaunchFloatingTaskButton(Context context, AttributeSet attrs) { this(context, attrs, 0); } public LaunchFloatingTaskButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); Context theme = new ContextThemeWrapper(context, R.style.AllAppsButtonTheme); Bitmap bitmap = LauncherAppState.getInstance(context).getIconCache().getIconFactory() .createScaledBitmapWithShadow( theme.getDrawable(R.drawable.ic_floating_task_button)); setIcon(new FastBitmapDrawable(bitmap)); } }
quickstep/src/com/android/launcher3/taskbar/TaskbarView.java +6 −10 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import androidx.annotation.LayoutRes; Loading @@ -47,7 +46,6 @@ import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.util.LauncherBindableItemsContainer; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.AllAppsButton; import com.android.launcher3.views.DoubleShadowBubbleTextView; import java.util.function.Predicate; Loading Loading @@ -81,12 +79,12 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar private @Nullable FolderIcon mLeaveBehindFolderIcon; // Only non-null when device supports having an All Apps button. private @Nullable AllAppsButton mAllAppsButton; private @Nullable View mAllAppsButton; private View mQsb; // Only non-null when device supports having a floating task. private @Nullable BubbleTextView mFloatingTaskButton; private @Nullable View mFloatingTaskButton; private @Nullable Intent mFloatingTaskIntent; private static final boolean FLOATING_TASKS_ENABLED = SystemProperties.getBoolean("persist.wm.debug.floating_tasks", false); Loading Loading @@ -125,9 +123,8 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar mThemeIconsBackground = calculateThemeIconsBackground(); if (FeatureFlags.ENABLE_ALL_APPS_IN_TASKBAR.get()) { mAllAppsButton = new AllAppsButton(context); mAllAppsButton.setLayoutParams( new ViewGroup.LayoutParams(mIconTouchSize, mIconTouchSize)); mAllAppsButton = LayoutInflater.from(context) .inflate(R.layout.taskbar_all_apps_button, this, false); mAllAppsButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding); } Loading @@ -137,9 +134,8 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar if (FLOATING_TASKS_ENABLED) { mFloatingTaskIntent = FloatingTaskIntentResolver.getIntent(context); if (mFloatingTaskIntent != null) { mFloatingTaskButton = new LaunchFloatingTaskButton(context); mFloatingTaskButton.setLayoutParams( new ViewGroup.LayoutParams(mIconTouchSize, mIconTouchSize)); mFloatingTaskButton = LayoutInflater.from(context) .inflate(R.layout.taskbar_floating_task_button, this, false); mFloatingTaskButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding); } else { Loading