From 3334730a619256af1c27e93b572fd3942b665808 Mon Sep 17 00:00:00 2001 From: Ikram Gabiyev Date: Mon, 20 Mar 2023 17:33:48 +0000 Subject: [PATCH 1/3] Create an animation for instance filtering Create an animation for multi instance filtering demo in recents view. Bug: 253520408 Bug: 276488398 Test: manually reproduce the steps in the bug Change-Id: I9f5b4a29f18101b8e33d4e43514dcd8a6c49a7a9 --- .../android/quickstep/views/RecentsView.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 9a25e9ca64..7989bb0b65 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -185,6 +185,7 @@ import com.android.quickstep.util.AnimUtils; import com.android.quickstep.util.DesktopTask; import com.android.quickstep.util.GroupTask; import com.android.quickstep.util.LayoutUtils; +import com.android.quickstep.util.RecentsAtomicAnimationFactory; import com.android.quickstep.util.RecentsOrientedState; import com.android.quickstep.util.SplitAnimationController.Companion.SplitAnimInitProps; import com.android.quickstep.util.SplitAnimationTimings; @@ -801,8 +802,29 @@ public abstract class RecentsView { + Animator animatorFade = mActivity.getStateManager().createStateElementAnimation( + RecentsAtomicAnimationFactory.INDEX_RECENTS_FADE_ANIM, 1f, 0f); + Animator animatorAppear = mActivity.getStateManager().createStateElementAnimation( + RecentsAtomicAnimationFactory.INDEX_RECENTS_FADE_ANIM, 0f, 1f); + animatorFade.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(@NonNull Animator animation) { + RecentsView.this.invalidateTaskList(); + updateClearAllFunction(); + reloadIfNeeded(); + if (mPendingAnimation != null) { + mPendingAnimation.addEndListener(success -> { + animatorAppear.start(); + }); + } else { + animatorAppear.start(); + } + } + }); + animatorFade.start(); + }); } // make sure filter is turned off by default mFilterState.setFilterBy(null); @@ -821,8 +843,6 @@ public abstract class RecentsView Date: Fri, 31 Mar 2023 18:16:12 -0700 Subject: [PATCH 2/3] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Id00dea37f59152b745d84b9d6883c72f8e7012b8 --- quickstep/res/values-de/strings.xml | 8 +++----- quickstep/res/values-hi/strings.xml | 6 ++---- quickstep/res/values-hy/strings.xml | 2 +- quickstep/res/values-ja/strings.xml | 2 +- quickstep/res/values-kk/strings.xml | 2 +- quickstep/res/values-kn/strings.xml | 2 +- quickstep/res/values-ky/strings.xml | 2 +- quickstep/res/values-my/strings.xml | 2 +- quickstep/res/values-uk/strings.xml | 2 +- quickstep/res/values-uz/strings.xml | 4 ++-- 10 files changed, 14 insertions(+), 18 deletions(-) diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index 72e7a4272f..3df50c9d30 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -53,8 +53,7 @@ "Zum Zurückgehen wischen" "Wenn du zum letzten Bildschirm zurückgehen möchtest, wische vom linken oder rechten Rand zur Mitte." "Wenn du zum letzten Bildschirm zurückgehen möchtest, wische mit zwei Fingern vom linken oder rechten Displayrand zur Mitte." - - + "Zurück" "Wische vom unteren Displayrand nach oben." "Achte darauf, nicht innezuhalten, bevor du loslässt." "Wische gerade nach oben." @@ -73,12 +72,11 @@ "Zwischen Apps wechseln" "Wische auf dem Display von unten nach oben, halte den Finger gedrückt und lass dann los, um zwischen Apps zu wechseln." "Wische zum App-Wechseln mit zwei Fingern vom unteren Displayrand nach oben, halte und lass dann los." - - + "Apps wechseln" "Fertig" "Fertig" "Einstellungen" - "Wiederholen" + "Noch einmal versuchen" "Sehr gut!" "Anleitung %1$d/%2$d" "Fertig!" diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml index a0f23cbdca..4badb4912a 100644 --- a/quickstep/res/values-hi/strings.xml +++ b/quickstep/res/values-hi/strings.xml @@ -53,8 +53,7 @@ "पिछली स्क्रीन पर वापस जाने के लिए स्वाइप करें" "पिछली स्क्रीन पर वापस जाने के लिए, स्क्रीन के बाएं या दाएं किनारे से बीचों-बीच तक स्वाइप करें." "पिछली स्क्रीन पर वापस जाने के लिए, स्क्रीन के बाएं या दाएं किनारे से स्क्रीन के बीच तक दो उंगलियों से स्वाइप करें." - - + "वापस जाएं" "देख लें कि आप स्क्रीन के निचले किनारे से ऊपर की ओर स्वाइप कर रहे हों." "देख लें कि आप स्क्रीन से अपनी उंगली उठाने से पहले, इसे कहीं न रोक रहे हों." "देख लें कि आपने ऊपर की ओर बिलकुल सीधे स्वाइप किया हो." @@ -73,8 +72,7 @@ "एक ऐप्लिकेशन से दूसरे पर जाने के लिए स्वाइप करें" "एक ऐप से दूसरे पर जाने के लिए, स्क्रीन पर नीचे से ऊपर की ओर स्वाइप करें, दबाकर रखें, और फिर छोड़ दें." "इन ऐप के बीच स्विच करने के लिए, दो उंगलियों से नीचे से ऊपर स्वाइप करें, होल्ड करें, और फिर छोड़ें." - - + "ऐप्लिकेशन के बीच स्विच करें" "आप पूरी तरह तैयार हैं" "हो गया" "सेटिंग" diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml index 2134d14831..5ac931d2a3 100644 --- a/quickstep/res/values-hy/strings.xml +++ b/quickstep/res/values-hy/strings.xml @@ -24,7 +24,7 @@ "Վերջին տարրեր չկան" "Հավելվածի օգտագործման կարգավորումներ" "Փակել բոլորը" - "Վերջին օգտագործած հավելվածները" + "Վերջին հավելվածներ" "Առաջադրանքը փակված է" "%1$s, %2$s" "< 1 ր" diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml index 678201321f..6f30fe6928 100644 --- a/quickstep/res/values-ja/strings.xml +++ b/quickstep/res/values-ja/strings.xml @@ -100,7 +100,7 @@ "タスクバーの説明を開きました" "タスクバーの説明を閉じました" "アプリを横にドラッグして 2 個のアプリを同時に使用できます" - "タスクバーを表示するには、ゆっくりと上にスワイプします" + "タスクバーを表示するには、上にゆっくりとスワイプします" "毎日の使用状況に基づいてアプリの候補が表示されます" "[設定] でジェスチャー ナビゲーションを ON にすると、タスクバーを自動的に非表示にできます" "タスクバーの各種機能" diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml index 66ffae5f65..a88d5e13e3 100644 --- a/quickstep/res/values-kk/strings.xml +++ b/quickstep/res/values-kk/strings.xml @@ -24,7 +24,7 @@ "Соңғы элементтер жоқ" "Қолданбаны пайдалану параметрлері" "Барлығын өшіру" - "Соңғы пайдаланылған қолданбалар" + "Соңғы қолданбалар" "Тапсырма жабылды." "%1$s, %2$s" "< 1 мин" diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml index de3b5118c8..fa6e5d2a67 100644 --- a/quickstep/res/values-kn/strings.xml +++ b/quickstep/res/values-kn/strings.xml @@ -109,7 +109,7 @@ "ಮುಚ್ಚಿರಿ" "ಮುಗಿದಿದೆ" "ಮುಖಪುಟ" - "ಪ್ರವೇಶಿಸುವಿಕೆ" + "ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ" "ಹಿಂದೆ" "IME ಪರಿವರ್ತಕ" "ಇತ್ತೀಚಿನವು" diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml index 79aba94c1f..34285b7fde 100644 --- a/quickstep/res/values-ky/strings.xml +++ b/quickstep/res/values-ky/strings.xml @@ -114,7 +114,7 @@ "IME которгучу" "Акыркылар" "Билдирмелер" - "Ыкчам жөндөөлөр" + "Ыкчам параметрлер" "Тапшырмалар тактасы" "Тапшырмалар панели көрсөтүлдү" "Тапшырмалар панели жашырылды" diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml index fe0aff2d7b..fe4e954e11 100644 --- a/quickstep/res/values-my/strings.xml +++ b/quickstep/res/values-my/strings.xml @@ -109,7 +109,7 @@ "ပိတ်ရန်" "ပြီးပြီ" "ပင်မစာမျက်နှာ" - "အများသုံးစွဲနိုင်မှု" + "အများသုံးနိုင်မှု" "နောက်သို့" "IME ပြောင်းစနစ်" "လတ်တလောများ" diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml index 4c69b2be89..d12513debd 100644 --- a/quickstep/res/values-uk/strings.xml +++ b/quickstep/res/values-uk/strings.xml @@ -109,7 +109,7 @@ "Закрити" "Готово" "Головний екран" - "Спеціальні можливості" + "Доступність" "Назад" "Перемикач IME" "Нещодавні" diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml index ae3c445bd4..0433177700 100644 --- a/quickstep/res/values-uz/strings.xml +++ b/quickstep/res/values-uz/strings.xml @@ -24,7 +24,7 @@ "Yaqinda ishlatilgan ilovalar yo‘q" "Ilovadan foydalanish sozlamalari" "Hammasini tozalash" - "Yaqinda ishlatilgan ilovalar" + "Oxirgi ilovalar" "Vazifalar yopildi" "%1$s, %2$s" "< 1 daqiqa" @@ -109,7 +109,7 @@ "Yopish" "Tayyor" "Bosh ekran" - "Maxsus imkoniyatlar" + "Qulayliklar" "Orqaga" "IME tugmasi" "Oxirgilar" From 8436e0b38213557919e0c63ec0ef13896755192d Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Fri, 31 Mar 2023 18:32:10 +0000 Subject: [PATCH 3/3] Fix gesture insets issue for IMEs - Setting the override frame for the gesture insets sources prevents the insets from being calculated correctly for the IME window - Update the set of provided insets based on the current nav mode so that we don't report gesture insets in button nav Bug: 265614886 Test: Dump IME window insets for button/gesture nav Change-Id: I22f9d09a66b50d6e2fb5002af19058657a06404d Merged-In: I22f9d09a66b50d6e2fb5002af19058657a06404d --- .../taskbar/TaskbarInsetsController.kt | 51 +++++++++++++------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt index f32e025f53..2711b78570 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt @@ -64,22 +64,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas fun init(controllers: TaskbarControllers) { this.controllers = controllers windowLayoutParams = context.windowLayoutParams - - setProvidesInsetsTypes( - windowLayoutParams, - intArrayOf( - ITYPE_EXTRA_NAVIGATION_BAR, - ITYPE_BOTTOM_TAPPABLE_ELEMENT, - ITYPE_BOTTOM_MANDATORY_GESTURES, - ITYPE_LEFT_GESTURES, - ITYPE_RIGHT_GESTURES, - ), - intArrayOf(SOURCE_FRAME, SOURCE_FRAME, SOURCE_FRAME, SOURCE_DISPLAY, SOURCE_DISPLAY) - ) - + windowLayoutParams.insetsRoundedCornerFrame = true onTaskbarWindowHeightOrInsetsChanged() - windowLayoutParams.insetsRoundedCornerFrame = true context.addOnDeviceProfileChangeListener(deviceProfileChangeListener) gestureNavSettingsObserver.registerForCallingUser() } @@ -90,6 +77,38 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas } fun onTaskbarWindowHeightOrInsetsChanged() { + if (context.isGestureNav) { + setProvidesInsetsTypes( + windowLayoutParams, + intArrayOf( + ITYPE_EXTRA_NAVIGATION_BAR, + ITYPE_BOTTOM_TAPPABLE_ELEMENT, + ITYPE_BOTTOM_MANDATORY_GESTURES, + ITYPE_LEFT_GESTURES, + ITYPE_RIGHT_GESTURES, + ), + intArrayOf( + SOURCE_FRAME, + SOURCE_FRAME, + SOURCE_FRAME, + SOURCE_DISPLAY, + SOURCE_DISPLAY + ) + ) + } else { + setProvidesInsetsTypes( + windowLayoutParams, + intArrayOf( + ITYPE_EXTRA_NAVIGATION_BAR, + ITYPE_BOTTOM_TAPPABLE_ELEMENT + ), + intArrayOf( + SOURCE_FRAME, + SOURCE_FRAME + ) + ) + } + val touchableHeight = controllers.taskbarStashController.touchableHeight touchableRegion.set( 0, @@ -145,7 +164,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas for (provider in windowLayoutParams.providedInsets) { if (context.isGestureNav && provider.type == ITYPE_BOTTOM_TAPPABLE_ELEMENT) { provider.insetsSizeOverrides = insetsSizeOverrideForGestureNavTappableElement - } else { + } else if (provider.type != ITYPE_LEFT_GESTURES + && provider.type != ITYPE_RIGHT_GESTURES) { + // We only override insets at the bottom of the screen provider.insetsSizeOverrides = insetsSizeOverride } }