From a34340ef3afa46613b3969393ce2ecad7a1379da Mon Sep 17 00:00:00 2001 From: Yunfan Chen Date: Fri, 22 Apr 2022 16:15:14 +0900 Subject: [PATCH 1/7] Modify the way of providing insets per WM change The WM provides a new way to provide insets, modified the code to reflect that change. Bug: 161689946 Test: m Merged-In: I31bd26a5ce4c3e47f8961d4fe528f3a97ec063f8 Change-Id: I31bd26a5ce4c3e47f8961d4fe528f3a97ec063f8 --- .../taskbar/TaskbarInsetsController.kt | 60 +++++++------------ 1 file changed, 23 insertions(+), 37 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt index 6a6a693dc3..e4f82d25eb 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt @@ -18,6 +18,7 @@ package com.android.launcher3.taskbar import android.graphics.Insets import android.graphics.Region import android.view.InsetsState.ITYPE_BOTTOM_MANDATORY_GESTURES +import android.view.InsetsState import android.view.WindowManager import com.android.launcher3.AbstractFloatingView import com.android.launcher3.AbstractFloatingView.TYPE_TASKBAR_ALL_APPS @@ -61,9 +62,6 @@ class TaskbarInsetsController(val context: TaskbarActivityContext): LoggableTask ) ) - windowLayoutParams.providedInternalInsets = arrayOfNulls(ITYPE_SIZE) - windowLayoutParams.providedInternalImeInsets = arrayOfNulls(ITYPE_SIZE) - onTaskbarWindowHeightOrInsetsChanged() windowLayoutParams.insetsRoundedCornerFrame = true @@ -75,32 +73,23 @@ class TaskbarInsetsController(val context: TaskbarActivityContext): LoggableTask } fun onTaskbarWindowHeightOrInsetsChanged() { - var reducingSize = getReducingInsetsForTaskbarInsetsHeight( - controllers.taskbarStashController.contentHeightToReportToApps) + var contentHeight = controllers.taskbarStashController.contentHeightToReportToApps + contentRegion.set(0, windowLayoutParams.height - contentHeight, + context.deviceProfile.widthPx, windowLayoutParams.height) + var tappableHeight = controllers.taskbarStashController.tappableHeightToReportToApps + for (provider in windowLayoutParams.providedInsets) { + if (provider.type == ITYPE_EXTRA_NAVIGATION_BAR) { + provider.insetsSize = Insets.of(0, 0, 0, contentHeight) + } else if (provider.type == ITYPE_BOTTOM_TAPPABLE_ELEMENT + || provider.type == ITYPE_BOTTOM_MANDATORY_GESTURES) { + provider.insetsSize = Insets.of(0, 0, 0, tappableHeight) + } + } - contentRegion.set(0, reducingSize.top, - context.deviceProfile.widthPx, windowLayoutParams.height) - windowLayoutParams.providedInternalInsets[ITYPE_EXTRA_NAVIGATION_BAR] = reducingSize - windowLayoutParams.providedInternalInsets[ITYPE_BOTTOM_MANDATORY_GESTURES] = reducingSize - reducingSize = getReducingInsetsForTaskbarInsetsHeight( - controllers.taskbarStashController.tappableHeightToReportToApps) - windowLayoutParams.providedInternalInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT] = reducingSize - windowLayoutParams.providedInternalInsets[ITYPE_BOTTOM_MANDATORY_GESTURES] = reducingSize - - reducingSize = getReducingInsetsForTaskbarInsetsHeight(taskbarHeightForIme) - windowLayoutParams.providedInternalImeInsets[ITYPE_EXTRA_NAVIGATION_BAR] = reducingSize - windowLayoutParams.providedInternalImeInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT] = reducingSize - windowLayoutParams.providedInternalImeInsets[ITYPE_BOTTOM_MANDATORY_GESTURES] = reducingSize - } - - /** - * WindowLayoutParams.providedInternal*Insets expects Insets that subtract from the window frame - * height (i.e. WindowLayoutParams#height). So for Taskbar to report bottom insets to apps, it - * actually provides insets from the top of its window frame. - * @param height The number of pixels from the bottom of the screen that Taskbar insets. - */ - private fun getReducingInsetsForTaskbarInsetsHeight(height: Int): Insets { - return Insets.of(0, windowLayoutParams.height - height, 0, 0) + var imeInsetsSize = Insets.of(0, 0, 0, taskbarHeightForIme) + for (provider in windowLayoutParams.providedInsets) { + provider.imeInsetsSize = imeInsetsSize + } } /** @@ -151,13 +140,10 @@ class TaskbarInsetsController(val context: TaskbarActivityContext): LoggableTask override fun dumpLogs(prefix: String, pw: PrintWriter) { pw.println(prefix + "TaskbarInsetsController:") pw.println("$prefix\twindowHeight=${windowLayoutParams.height}") - pw.println("$prefix\tprovidedInternalInsets[ITYPE_EXTRA_NAVIGATION_BAR]=" + - "${windowLayoutParams.providedInternalInsets[ITYPE_EXTRA_NAVIGATION_BAR]}") - pw.println("$prefix\tprovidedInternalInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT]=" + - "${windowLayoutParams.providedInternalInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT]}") - pw.println("$prefix\tprovidedInternalImeInsets[ITYPE_EXTRA_NAVIGATION_BAR]=" + - "${windowLayoutParams.providedInternalImeInsets[ITYPE_EXTRA_NAVIGATION_BAR]}") - pw.println("$prefix\tprovidedInternalImeInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT]=" + - "${windowLayoutParams.providedInternalImeInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT]}") + for (provider in windowLayoutParams.providedInsets) { + pw.println("$prefix\tprovidedInsets: (type=" + InsetsState.typeToString(provider.type) + + " insetsSize=" + provider.insetsSize + + " imeInsetsSize=" + provider.imeInsetsSize + ")") + } } -} \ No newline at end of file +} From e5f265c76ea21cf59187cf9acf6e8d94e7b6bb34 Mon Sep 17 00:00:00 2001 From: hyunyoungs Date: Tue, 7 Jun 2022 22:12:33 -0700 Subject: [PATCH 2/7] Workspace should not receive touch events Bug: 234648831 Test: touch outside recycler view inside container, doesn't swipe left/right TL;DR;; As the definition of ActiveRecyclerView changed in latest refactor, scrollbar existence is no longer a condition to consume touch event if user is in isSearching state. Change-Id: Iec97fb036ad45796a77c59d35f329744398d4953 --- .../android/launcher3/allapps/BaseAllAppsContainerView.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/launcher3/allapps/BaseAllAppsContainerView.java b/src/com/android/launcher3/allapps/BaseAllAppsContainerView.java index 2c04fc7753..e90d4a6ba3 100644 --- a/src/com/android/launcher3/allapps/BaseAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/BaseAllAppsContainerView.java @@ -301,6 +301,10 @@ public abstract class BaseAllAppsContainerView Date: Thu, 9 Jun 2022 11:24:17 -0700 Subject: [PATCH 3/7] Forcefully move focused task to front when triggering the recents animation in 3-button nav Quickly tapping the recents button can start a recents animation while a quick switch is running. This causes the the wrong page index to be used as the focused task index. Test: manual on large screen Fixes: 227562351 Change-Id: If99f74477e52ed0c7f7c5fd7b3dc8b201627068b --- .../src/com/android/quickstep/OverviewCommandHelper.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index dffdc5a641..1e7e89e034 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java @@ -235,6 +235,10 @@ public class OverviewCommandHelper { } }; + RecentsView visibleRecentsView = activityInterface.getVisibleRecentsView(); + if (visibleRecentsView != null) { + visibleRecentsView.moveFocusedTaskToFront(); + } if (mTaskAnimationManager.isRecentsAnimationRunning()) { cmd.mActiveCallbacks = mTaskAnimationManager.continueRecentsAnimation(gestureState); cmd.mActiveCallbacks.addListener(interactionHandler); From 5631bd53dee67993f752abcc958aade7313b0fcf Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 11 Jun 2022 03:32:19 -0700 Subject: [PATCH 4/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I52a5996d0ae9d6305629b7cf6d2f3168e5729a17 --- quickstep/res/values-hi/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml index bc7590c3e9..c778f83ac1 100644 --- a/quickstep/res/values-hi/strings.xml +++ b/quickstep/res/values-hi/strings.xml @@ -85,7 +85,7 @@ "ऐप्लिकेशन या आपका संगठन इस कार्रवाई की अनुमति नहीं देता" "क्या आपको नेविगेशन ट्यूटोरियल छोड़ना है?" "इसे बाद में %1$s ऐप्लिकेशन पर देखा जा सकता है" - "अभी नहीं" + "रद्द करें" "छोड़ें" "स्क्रीन घुमाएं" "टास्कबार ट्यूटोरियल दिखाया गया" From 3ce47a6268ba5064163094892a01ff71670a8f73 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 11 Jun 2022 03:33:20 -0700 Subject: [PATCH 5/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I4b7c0928809a98f73df5abb89b17d8d0067fc27f --- res/values-fa/strings.xml | 4 ++-- res/values-ta/strings.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index a7b10208b1..a6888fd27e 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -156,12 +156,12 @@ "شخصی" "کاری" "نمایه کاری" - "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند" + "برنامه‌های کاری نشان‌دار هستند و سرپرست فناوری اطلاعات می‌تواند آن‌ها را ببیند" "متوجه‌ام" "برنامه‌های کاری موقتاً متوقف شده‌اند." "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری خاموش است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" - "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند." + "برنامه‌های کاری نشان‌دار هستند و سرپرست فناوری اطلاعات می‌تواند آن‌ها را ببیند." "متوجه‌ام" "خاموش کردن برنامه‌های کاری" "روشن کردن برنامه‌های کاری" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 2fa95f85f0..f8703961db 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -75,7 +75,7 @@ "நிறுவல் நீக்கு" "ஆப்ஸ் தகவல்" "நிறுவு" - "ஆப்ஸைப் பரிந்துரைக்க வேண்டாம்" + "ஆப்ஸ் பரிந்துரைக்காதே" "கணிக்கப்பட்ட ஆப்ஸைப் பின் செய்தல்" "குறுக்குவழிகளை நிறுவுதல்" "பயனரின் அனுமதி இல்லாமல் குறுக்குவழிகளைச் சேர்க்கப் ஆப்ஸை அனுமதிக்கிறது." From f268e2a97e0602f70418387b9674e0d378d4e2e7 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 11 Jun 2022 15:00:54 -0700 Subject: [PATCH 6/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ifaa1e19e0c07523260aeeb96586b080d998ac4f5 --- quickstep/res/values-hi/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml index 3a0adc9c2a..643b1d5af5 100644 --- a/quickstep/res/values-hi/strings.xml +++ b/quickstep/res/values-hi/strings.xml @@ -89,7 +89,7 @@ "ऐप्लिकेशन या आपका संगठन इस कार्रवाई की अनुमति नहीं देता" "क्या आपको नेविगेशन ट्यूटोरियल छोड़ना है?" "इसे बाद में %1$s ऐप्लिकेशन पर देखा जा सकता है" - "अभी नहीं" + "रद्द करें" "छोड़ें" "स्क्रीन घुमाएं" "टास्कबार ट्यूटोरियल दिखाया गया" From b5b08704551061ea3d682e516be71b262a666bd7 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 11 Jun 2022 15:06:05 -0700 Subject: [PATCH 7/7] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I7f6161ae95861d6249bf51f515c783513df7fb0f --- res/values-fa/strings.xml | 4 ++-- res/values-ta/strings.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 37ca89a3cf..d23eac21c0 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -161,12 +161,12 @@ "شخصی" "کاری" "نمایه کاری" - "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند" + "برنامه‌های کاری نشان‌دار هستند و سرپرست فناوری اطلاعات می‌تواند آن‌ها را ببیند" "متوجه‌ام" "برنامه‌های کاری موقتاً متوقف شده‌اند." "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری خاموش است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" - "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند." + "برنامه‌های کاری نشان‌دار هستند و سرپرست فناوری اطلاعات می‌تواند آن‌ها را ببیند." "متوجه‌ام" "توقف موقت برنامه‌های کاری" "روشن کردن برنامه‌های کاری" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index aea8195ebb..fa2b789676 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -75,7 +75,7 @@ "நிறுவல் நீக்கு" "ஆப்ஸ் தகவல்" "நிறுவு" - "ஆப்ஸைப் பரிந்துரைக்க வேண்டாம்" + "ஆப்ஸ் பரிந்துரைக்காதே" "கணிக்கப்பட்ட ஆப்ஸைப் பின் செய்தல்" "குறுக்குவழிகளை நிறுவுதல்" "பயனரின் அனுமதி இல்லாமல் குறுக்குவழிகளைச் சேர்க்கப் ஆப்ஸை அனுமதிக்கிறது."