From 8bd881979621c88cc47cce4faaaeb5f7d49beea4 Mon Sep 17 00:00:00 2001 From: Brandon Dayauon Date: Tue, 13 Jun 2023 16:07:01 -0700 Subject: [PATCH 1/8] Remove unused onboardingPrefs bug: 285890538 Flag: false- ENABLE_SHOW_IME_SNACKBAR_AGAIN test: manual Change-Id: Ib84133d47d9cbadeb65f3b28a9e4a1558bca8258 --- src/com/android/launcher3/util/OnboardingPrefs.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/com/android/launcher3/util/OnboardingPrefs.java b/src/com/android/launcher3/util/OnboardingPrefs.java index 348c8d8a4c..f8f4b5fc98 100644 --- a/src/com/android/launcher3/util/OnboardingPrefs.java +++ b/src/com/android/launcher3/util/OnboardingPrefs.java @@ -38,8 +38,6 @@ public class OnboardingPrefs { public static final String HOME_BOUNCE_COUNT = "launcher.home_bounce_count"; public static final String HOTSEAT_DISCOVERY_TIP_COUNT = "launcher.hotseat_discovery_tip_count"; public static final String HOTSEAT_LONGPRESS_TIP_SEEN = "launcher.hotseat_longpress_tip_seen"; - public static final String SEARCH_KEYBOARD_EDU_SEEN = "launcher.search_edu_seen"; - public static final String SEARCH_SNACKBAR_COUNT = "launcher.keyboard_snackbar_count"; public static final String ALL_APPS_VISITED_COUNT = "launcher.all_apps_visited_count"; public static final String TASKBAR_EDU_TOOLTIP_STEP = "launcher.taskbar_edu_tooltip_step"; // When adding a new key, add it here as well, to be able to reset it from Developer Options. @@ -47,7 +45,6 @@ public class OnboardingPrefs { "All Apps Bounce", new String[] { HOME_BOUNCE_SEEN, HOME_BOUNCE_COUNT }, "Hybrid Hotseat Education", new String[] { HOTSEAT_DISCOVERY_TIP_COUNT, HOTSEAT_LONGPRESS_TIP_SEEN }, - "Search Education", new String[] { SEARCH_KEYBOARD_EDU_SEEN, SEARCH_SNACKBAR_COUNT}, "Taskbar Education", new String[] { TASKBAR_EDU_TOOLTIP_STEP }, "All Apps Visited Count", new String[] {ALL_APPS_VISITED_COUNT} ); @@ -58,7 +55,6 @@ public class OnboardingPrefs { @StringDef(value = { HOME_BOUNCE_SEEN, HOTSEAT_LONGPRESS_TIP_SEEN, - SEARCH_KEYBOARD_EDU_SEEN, }) @Retention(RetentionPolicy.SOURCE) public @interface EventBoolKey {} @@ -69,7 +65,6 @@ public class OnboardingPrefs { @StringDef(value = { HOME_BOUNCE_COUNT, HOTSEAT_DISCOVERY_TIP_COUNT, - SEARCH_SNACKBAR_COUNT, ALL_APPS_VISITED_COUNT, TASKBAR_EDU_TOOLTIP_STEP, }) @@ -82,7 +77,6 @@ public class OnboardingPrefs { Map maxCounts = new ArrayMap<>(5); maxCounts.put(HOME_BOUNCE_COUNT, 3); maxCounts.put(HOTSEAT_DISCOVERY_TIP_COUNT, 5); - maxCounts.put(SEARCH_SNACKBAR_COUNT, 3); maxCounts.put(ALL_APPS_VISITED_COUNT, 20); maxCounts.put(TASKBAR_EDU_TOOLTIP_STEP, 2); MAX_COUNTS = Collections.unmodifiableMap(maxCounts); From efdbc1a0cfe1f56e072acb84e2c9aaf34e8a66cb Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Aug 2023 09:45:09 -0700 Subject: [PATCH 2/8] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I9ac6ce68a6a55b1326fcbe1dd90c43beb4df0deb --- quickstep/res/values-da/strings.xml | 2 +- quickstep/res/values-de/strings.xml | 4 ++-- quickstep/res/values-en-rAU/strings.xml | 2 +- quickstep/res/values-en-rGB/strings.xml | 2 +- quickstep/res/values-en-rIN/strings.xml | 2 +- quickstep/res/values-es-rUS/strings.xml | 2 +- quickstep/res/values-es/strings.xml | 4 ++-- quickstep/res/values-fa/strings.xml | 2 +- quickstep/res/values-nl/strings.xml | 2 +- quickstep/res/values-pt/strings.xml | 2 +- quickstep/res/values-zh-rCN/strings.xml | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/quickstep/res/values-da/strings.xml b/quickstep/res/values-da/strings.xml index 89af9c0690..7c786f31c4 100644 --- a/quickstep/res/values-da/strings.xml +++ b/quickstep/res/values-da/strings.xml @@ -72,7 +72,7 @@ "Prøv at holde fingeren nede på vinduet i længere tid, inden du løfter den" "Stryg lige opad, og hold derefter fingeren stille" "Du har lært, hvordan du bruger bevægelser. Du kan aktivere bevægelser i Indstillinger." - "Du har fuldført bevægelsen for Skift app" + "Du har fuldført bevægelsen for at skifte mellem apps" "Stryg for at skifte app" "Skift mellem apps ved at stryge opad fra bunden af skærmen, holde fingeren stille og løfte den." "Skift mellem apps ved at stryge opad fra bunden af skærmen med 2 fingre, holde dem nede og slippe." diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index e68046b411..5fd1232730 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -60,12 +60,12 @@ "Wische vom unteren Displayrand nach oben" "Achte darauf, nicht innezuhalten, bevor du loslässt" "Wische gerade nach oben" - "Du hast den Schritt für die „Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." + "Du hast den Schritt für die „Zum Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." "Du hast den Schritt für die „Startbildschirm“-Touch-Geste abgeschlossen" "Den Startbildschirm aufrufen" "Wenn du zum Startbildschirm gehen möchtest, wische einfach vom unteren Displayrand nach oben." "Wische mit zwei Fingern vom unteren Displayrand nach oben. So gelangst du immer zum Startbildschirm." - "Zum Startbildschirm" + "Zum StartU+00AD­bildschirm" "Wische vom unteren Displayrand nach oben" "Gut gemacht!" "Wische vom unteren Displayrand nach oben" diff --git a/quickstep/res/values-en-rAU/strings.xml b/quickstep/res/values-en-rAU/strings.xml index 9d6b73b4e6..c2b000e153 100644 --- a/quickstep/res/values-en-rAU/strings.xml +++ b/quickstep/res/values-en-rAU/strings.xml @@ -70,7 +70,7 @@ "Great work!" "Make sure you swipe up from the bottom edge of the screen" "Try holding the window for longer before releasing" - "Make sure that you swipe straight up, then pause." + "Make sure that you swipe straight up, then pause" "You\'ve learned how to use gestures. To turn off gestures, go to Settings." "You completed the switch apps gesture" "Swipe to switch apps" diff --git a/quickstep/res/values-en-rGB/strings.xml b/quickstep/res/values-en-rGB/strings.xml index 9d6b73b4e6..c2b000e153 100644 --- a/quickstep/res/values-en-rGB/strings.xml +++ b/quickstep/res/values-en-rGB/strings.xml @@ -70,7 +70,7 @@ "Great work!" "Make sure you swipe up from the bottom edge of the screen" "Try holding the window for longer before releasing" - "Make sure that you swipe straight up, then pause." + "Make sure that you swipe straight up, then pause" "You\'ve learned how to use gestures. To turn off gestures, go to Settings." "You completed the switch apps gesture" "Swipe to switch apps" diff --git a/quickstep/res/values-en-rIN/strings.xml b/quickstep/res/values-en-rIN/strings.xml index 9d6b73b4e6..c2b000e153 100644 --- a/quickstep/res/values-en-rIN/strings.xml +++ b/quickstep/res/values-en-rIN/strings.xml @@ -70,7 +70,7 @@ "Great work!" "Make sure you swipe up from the bottom edge of the screen" "Try holding the window for longer before releasing" - "Make sure that you swipe straight up, then pause." + "Make sure that you swipe straight up, then pause" "You\'ve learned how to use gestures. To turn off gestures, go to Settings." "You completed the switch apps gesture" "Swipe to switch apps" diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml index 6e236d46ec..5dc9271c7d 100644 --- a/quickstep/res/values-es-rUS/strings.xml +++ b/quickstep/res/values-es-rUS/strings.xml @@ -70,7 +70,7 @@ "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Intenta mantener presionada la ventana más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y detenerte" "Ya sabes cómo usar los gestos. Para desactivarlos, ve a Configuración." "Completaste el gesto para cambiar de app" "Desliza para cambiar de app" diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index aef1258eac..ca8cbeec24 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -65,12 +65,12 @@ "Desliza para ir a la pantalla de inicio" "Desliza hacia arriba desde la parte inferior de la pantalla. Este gesto siempre te lleva a la pantalla de inicio." "Desliza dos dedos hacia arriba desde la parte inferior de la pantalla. Si haces este gesto, siempre irás a la pantalla de inicio." - "Ir a Inicio" + "Ir a inicio" "Desliza hacia arriba desde la parte inferior de la pantalla" "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Prueba a mantener pulsada la ventana durante más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y luego detenerte" "Ya sabes cómo utilizar gestos. Para desactivarlos, ve a Ajustes." "Has completado el gesto para cambiar de aplicación" "Desliza el dedo para cambiar de aplicación" diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index 858c814483..b5545ef17b 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -72,7 +72,7 @@ "قبل‌از رها کردن پنجره، آن را برای مدت طولانی‌تری نگه دارید" "دقت کنید که مستقیماً تند به بالا بکشید و سپس توقف کنید" "با نحوه استفاده از اشاره‌ها آشنا شدید. برای خاموش کردن اشاره‌ها، به «تنظیمات» بروید." - "اشاره جابه‌جا شدن بین برنامه‌ها را تکمیل کردید" + "اشاره جابه‌جایی بین برنامه‌ها را تکمیل کردید" "برای جابه‌جا شدن بین برنامه‌ها، تند به‌بالا بکشید" "برای جابه‌جا شدن بین برنامه‌ها، از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." "برای جابه‌جایی بین برنامه‌ها، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml index 4e38c80273..ed63bade50 100644 --- a/quickstep/res/values-nl/strings.xml +++ b/quickstep/res/values-nl/strings.xml @@ -46,7 +46,7 @@ "Voorspelde app: %1$s" "Het apparaat draaien" "Draai het apparaat om de tutorial voor navigatie met gebaren af te ronden" - "Swipe helemaal vanaf de rechter- of linkerrand" + "Swipe vanaf de rechter- of linkerrand" "Swipe vanaf de rechter- of linkerrand naar het midden van het scherm en laat los" "Je weet nu hoe je vanaf rechts kunt swipen om terug te gaan. Ontdek nu hoe je tussen apps schakelt." "Je weet nu hoe je het gebaar Terug maakt" diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml index 75c2fc3646..1430885981 100644 --- a/quickstep/res/values-pt/strings.xml +++ b/quickstep/res/values-pt/strings.xml @@ -72,7 +72,7 @@ "Mantenha a janela pressionada por mais tempo antes de soltar" "Deslize para cima e pare" "Você aprendeu. Para desativar os gestos, acesse as Configurações." - "Você concluiu o gesto para trocar de app" + "Você concluiu o gesto para mudar de app" "Deslizar para trocar de app" "Para mudar de app, deslize de baixo para cima, mantenha a tela pressionada por um tempo e solte." "Para mudar de app, deslize de baixo para cima na tela com dois dedos, segure por um tempo e solte." diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml index 8a252a5a91..80d75251a4 100644 --- a/quickstep/res/values-zh-rCN/strings.xml +++ b/quickstep/res/values-zh-rCN/strings.xml @@ -72,7 +72,7 @@ "尝试按住窗口较长时间,然后再松开手指" "确保笔直向上滑动,然后停住" "您已了解如何使用手势了。如要关闭手势,请前往“设置”。" - "您完成了“切换应用”手势" + "您完成了应用切换手势" "滑动即可切换应用" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" From 186f8a6143be4eb194bac69b5557e9259bd9651a Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Aug 2023 09:45:44 -0700 Subject: [PATCH 3/8] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ic4049df2074bb4a4c074b12bf0a3e4bf02ec3897 --- quickstep/res/values-de/strings.xml | 4 ++-- quickstep/res/values-es-rUS/strings.xml | 2 +- quickstep/res/values-es/strings.xml | 4 ++-- quickstep/res/values-fa/strings.xml | 2 +- quickstep/res/values-nl/strings.xml | 2 +- quickstep/res/values-pt/strings.xml | 2 +- quickstep/res/values-zh-rCN/strings.xml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index e68046b411..5fd1232730 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -60,12 +60,12 @@ "Wische vom unteren Displayrand nach oben" "Achte darauf, nicht innezuhalten, bevor du loslässt" "Wische gerade nach oben" - "Du hast den Schritt für die „Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." + "Du hast den Schritt für die „Zum Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." "Du hast den Schritt für die „Startbildschirm“-Touch-Geste abgeschlossen" "Den Startbildschirm aufrufen" "Wenn du zum Startbildschirm gehen möchtest, wische einfach vom unteren Displayrand nach oben." "Wische mit zwei Fingern vom unteren Displayrand nach oben. So gelangst du immer zum Startbildschirm." - "Zum Startbildschirm" + "Zum StartU+00AD­bildschirm" "Wische vom unteren Displayrand nach oben" "Gut gemacht!" "Wische vom unteren Displayrand nach oben" diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml index 6e236d46ec..5dc9271c7d 100644 --- a/quickstep/res/values-es-rUS/strings.xml +++ b/quickstep/res/values-es-rUS/strings.xml @@ -70,7 +70,7 @@ "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Intenta mantener presionada la ventana más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y detenerte" "Ya sabes cómo usar los gestos. Para desactivarlos, ve a Configuración." "Completaste el gesto para cambiar de app" "Desliza para cambiar de app" diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index aef1258eac..ca8cbeec24 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -65,12 +65,12 @@ "Desliza para ir a la pantalla de inicio" "Desliza hacia arriba desde la parte inferior de la pantalla. Este gesto siempre te lleva a la pantalla de inicio." "Desliza dos dedos hacia arriba desde la parte inferior de la pantalla. Si haces este gesto, siempre irás a la pantalla de inicio." - "Ir a Inicio" + "Ir a inicio" "Desliza hacia arriba desde la parte inferior de la pantalla" "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Prueba a mantener pulsada la ventana durante más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y luego detenerte" "Ya sabes cómo utilizar gestos. Para desactivarlos, ve a Ajustes." "Has completado el gesto para cambiar de aplicación" "Desliza el dedo para cambiar de aplicación" diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index 858c814483..b5545ef17b 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -72,7 +72,7 @@ "قبل‌از رها کردن پنجره، آن را برای مدت طولانی‌تری نگه دارید" "دقت کنید که مستقیماً تند به بالا بکشید و سپس توقف کنید" "با نحوه استفاده از اشاره‌ها آشنا شدید. برای خاموش کردن اشاره‌ها، به «تنظیمات» بروید." - "اشاره جابه‌جا شدن بین برنامه‌ها را تکمیل کردید" + "اشاره جابه‌جایی بین برنامه‌ها را تکمیل کردید" "برای جابه‌جا شدن بین برنامه‌ها، تند به‌بالا بکشید" "برای جابه‌جا شدن بین برنامه‌ها، از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." "برای جابه‌جایی بین برنامه‌ها، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml index 4e38c80273..ed63bade50 100644 --- a/quickstep/res/values-nl/strings.xml +++ b/quickstep/res/values-nl/strings.xml @@ -46,7 +46,7 @@ "Voorspelde app: %1$s" "Het apparaat draaien" "Draai het apparaat om de tutorial voor navigatie met gebaren af te ronden" - "Swipe helemaal vanaf de rechter- of linkerrand" + "Swipe vanaf de rechter- of linkerrand" "Swipe vanaf de rechter- of linkerrand naar het midden van het scherm en laat los" "Je weet nu hoe je vanaf rechts kunt swipen om terug te gaan. Ontdek nu hoe je tussen apps schakelt." "Je weet nu hoe je het gebaar Terug maakt" diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml index 75c2fc3646..1430885981 100644 --- a/quickstep/res/values-pt/strings.xml +++ b/quickstep/res/values-pt/strings.xml @@ -72,7 +72,7 @@ "Mantenha a janela pressionada por mais tempo antes de soltar" "Deslize para cima e pare" "Você aprendeu. Para desativar os gestos, acesse as Configurações." - "Você concluiu o gesto para trocar de app" + "Você concluiu o gesto para mudar de app" "Deslizar para trocar de app" "Para mudar de app, deslize de baixo para cima, mantenha a tela pressionada por um tempo e solte." "Para mudar de app, deslize de baixo para cima na tela com dois dedos, segure por um tempo e solte." diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml index 8a252a5a91..80d75251a4 100644 --- a/quickstep/res/values-zh-rCN/strings.xml +++ b/quickstep/res/values-zh-rCN/strings.xml @@ -72,7 +72,7 @@ "尝试按住窗口较长时间,然后再松开手指" "确保笔直向上滑动,然后停住" "您已了解如何使用手势了。如要关闭手势,请前往“设置”。" - "您完成了“切换应用”手势" + "您完成了应用切换手势" "滑动即可切换应用" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" From dabcd0f3264e7862df8f99c8035112291d45b834 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Aug 2023 09:46:45 -0700 Subject: [PATCH 4/8] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Iad116b9472e2c75b0fc5424aec475891334a7df5 --- res/values-am/strings.xml | 4 ++-- res/values-da/strings.xml | 2 +- res/values-gu/strings.xml | 2 +- res/values-hi/strings.xml | 2 +- res/values-kn/strings.xml | 4 ++-- res/values-ne/strings.xml | 2 +- res/values-or/strings.xml | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 57fafc8dc7..dbe2acfc10 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -20,7 +20,7 @@ "Launcher3" - "ስራ" + "ሥራ" "መተግበሪያ አልተጫነም።" "መተግበሪያ አይገኝም" "የወረደው መተግበሪያ ደህንነቱ በተጠበቀ ሁኔታ ውስጥ ተሰናክሏል" @@ -48,7 +48,7 @@ "መግብሮች እና አቋራጮች አይገኙም" "ምንም መግብሮች ወይም አቋራጮች አልተገኙም" "የግል" - "ስራ" + "ሥራ" "ውይይቶች" "የማስታወሻ አያያዝ" "በጣቶችዎ ጫፎች ላይ ጠቃሚ መረጃ" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 2ccdded4c1..5867716cbb 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -47,7 +47,7 @@ "Ryd teksten i søgefeltet" "Der er ingen tilgængelige widgets eller genveje" "Der blev ikke fundet nogen widgets eller genveje" - "Personlige" + "Personlig" "Arbejde" "Samtaler" "Notetagning" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index c3cf295ae5..80aaba3be1 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -56,7 +56,7 @@ "વિજેટના સેટિંગ બદલવા માટે ટૅપ કરો" "સમજાઈ ગયું" "વિજેટના સેટિંગ બદલો" - "શોધ ઍપ્લિકેશનો" + "ઍપ શોધો" "ઍપ્લિકેશનો લોડ કરી રહ્યું છે…" "\"%1$s\"થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી" "ઍપ" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 533c9eebeb..8e7e835502 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -56,7 +56,7 @@ "विजेट की सेटिंग में बदलाव करने के लिए टैप करें" "ठीक है" "विजेट की सेटिंग में बदलाव करें" - "ऐप सर्च करें" + "ऐप्लिकेशन खोजें" "ऐप्लिकेशन लोड हो रहे हैं…" "\"%1$s\" से मिलता-जुलता कोई ऐप्लिकेशन नहीं मिला" "ऐप्लिकेशन" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 91dbf1e8f8..977650897b 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -56,7 +56,7 @@ "ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ" "ಅರ್ಥವಾಯಿತು" "ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ" - "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹುಡುಕಿ" + "ಆ್ಯಪ್‍ಗಳನ್ನು ಹುಡುಕಿ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." "\"%1$s\" ಹೊಂದಿಕೆಯ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ" "ಆ್ಯಪ್" @@ -110,7 +110,7 @@ "ಆನ್ ಆಗಿದೆ" "ಆಫ್ ಆಗಿದೆ" "ನೋಟಿಫಿಕೇಶನ್ ಆ್ಯಕ್ಸೆಸ್ ಅಗತ್ಯವಿದೆ" - "ಅಧಿಸೂಚನೆ ಚುಕ್ಕೆಗಳನ್ನು ತೋರಿಸಲು, %1$s ಗೆ ಅಪ್ಲಿಕೇಶನ್‌ ಅಧಿಸೂಚನೆಗಳನ್ನು ಆನ್‌ ಮಾಡಿ" + "ನೋಟಿಫಿಕೇಶನ್ ಚುಕ್ಕೆಗಳನ್ನು ತೋರಿಸಲು, %1$s ಗೆ ಆ್ಯಪ್ ನೋಟಿಫಿಕೇಶನ್‍ಗಳನ್ನು ಆನ್‌ ಮಾಡಿ" "ಸೆಟ್ಟಿಂಗ್‌‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ" "ನೋಟಿಫಿಕೇಶನ್ ಡಾಟ್‌ಗಳನ್ನು ತೋರಿಸಿ" "ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳು" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 58df374bfc..4219dcecc8 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -56,7 +56,7 @@ "विजेटका सेटिङ बदल्न ट्याप गर्नुहोस्" "बुझेँ" "विजेटका सेटिङ बदल्नुहोस्" - "खोजसम्बन्धी एपहरू" + "एपहरू खोज्नुहोस्" "एपहरू लोड गर्दै…" "\"%1$s\" सँग मिल्दो कुनै एप भेटिएन" "एप" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index c00b57ee31..8bfe424501 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -27,7 +27,7 @@ "ନିରାପଦ ମୋଡରେ ୱିଜେଟ୍‌ ଅକ୍ଷମ କରାଗଲା" "ଶର୍ଟକଟ୍‌ ଉପଲବ୍ଧ ନାହିଁ" "ହୋମ" - "ସ୍କ୍ରିନ‌କୁ ସ୍ପ୍ଲିଟ୍ କରନ୍ତୁ" + "ସ୍କ୍ରିନ‌କୁ ସ୍ପ୍ଲିଟ କରନ୍ତୁ" "%1$s ପାଇଁ ଆପ ସୂଚନା" "ଆପ ପେୟାର ସେଭ କରନ୍ତୁ" "ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।" @@ -56,7 +56,7 @@ "ୱିଜେଟ ସେଟିଂସ ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ କରନ୍ତୁ" "ବୁଝିଗଲି" "ୱିଜେଟ ସେଟିଂସ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" - "ଆପ୍‌ ଖୋଜନ୍ତୁ" + "ଆପ ସର୍ଚ୍ଚ କରନ୍ତୁ" "ଆପ୍‌ ଲୋଡ୍‌ ହେଉଛି..." "\"%1$s\" ସହିତ ମେଳ ହେଉଥିବା କୌଣସି ଆପ୍‌ ମିଳିଲା ନାହିଁ" "ଆପ୍" From b36143551ca3ff770ffb303b4e5c0ef602033b5c Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Tue, 15 Aug 2023 11:19:46 -0700 Subject: [PATCH 5/8] Suppressing more view capture anomalies Test: presubmit Flag: N/A Bug: 295904861, 295910059, 294891222, 295909454 Change-Id: I6abc34844d0dbfa53d402d4983a71655b256e091 --- .../util/viewcapture_analysis/AlphaJumpDetector.java | 1 + .../launcher3/util/viewcapture_analysis/FlashDetector.java | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java index 83d9f4aca9..49abad4bee 100644 --- a/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java +++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java @@ -104,6 +104,7 @@ final class AlphaJumpDetector extends AnomalyDetector { DRAG_LAYER + "Snackbar|TextView:id/label", DRAG_LAYER + "SplitInstructionsView|AppCompatTextView:id/split_instructions_text", DRAG_LAYER + "TaskMenuView|LinearLayout:id/menu_option_layout", + DRAG_LAYER + "TaskMenuViewWithArrow|LinearLayout:id/menu_option_layout", DRAG_LAYER + "TaskMenuView|TextView:id/task_name", DRAG_LAYER + "View", DRAG_LAYER + "WidgetsFullSheet|SpringRelativeLayout:id/container", diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java index 4210d06204..eef1bc8391 100644 --- a/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java +++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java @@ -57,9 +57,7 @@ final class FlashDetector extends AnomalyDetector { + "|ScrollView:id/widget_preview_scroll_view|WidgetCell:id/widget_cell" + "|WidgetCellPreview:id/widget_preview_container|ImageView:id/widget_badge", RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel|TaskView|IconView:id/icon", - DRAG_LAYER - + "SearchContainerView:id/apps_view|UniversalSearchInputView:id" - + "/search_container_all_apps|View:id/ripple", + DRAG_LAYER + "SearchContainerView:id/apps_view", DRAG_LAYER + "LauncherDragView" )); From 7aded94e9429d557c1bdb6e029e82e67f1e4557a Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Tue, 15 Aug 2023 15:44:39 -0700 Subject: [PATCH 6/8] Cleanup ENABLE_PIP_APP_ICON_OVERLAY Bug: 296125301 Test: manual, enter PiP from Google Maps Change-Id: I571fd5450ccf00232c450d82d32783beb99cfecf --- .../quickstep/util/SwipePipToHomeAnimator.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java b/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java index 1112f4dd9e..7cc2c468fa 100644 --- a/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java +++ b/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java @@ -26,7 +26,6 @@ import android.content.pm.ActivityInfo; import android.graphics.Matrix; import android.graphics.Rect; import android.graphics.RectF; -import android.os.SystemProperties; import android.util.Log; import android.view.Surface; import android.view.SurfaceControl; @@ -153,14 +152,9 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim { // Create a new overlay layer. We do not call detach on this instance, it's propagated // to other classes like PipTaskOrganizer / RecentsAnimationController to complete // the cleanup. - if (SystemProperties.getBoolean( - "persist.wm.debug.enable_pip_app_icon_overlay", true)) { - mPipContentOverlay = new PipContentOverlay.PipAppIconOverlay(view.getContext(), - mAppBounds, new IconProvider(context).getIcon(mActivityInfo), - appIconSizePx); - } else { - mPipContentOverlay = new PipContentOverlay.PipColorOverlay(view.getContext()); - } + mPipContentOverlay = new PipContentOverlay.PipAppIconOverlay(view.getContext(), + mAppBounds, new IconProvider(context).getIcon(mActivityInfo), + appIconSizePx); final SurfaceControl.Transaction tx = new SurfaceControl.Transaction(); mPipContentOverlay.attach(tx, mLeash); } else { From 04ba1ae0c45da9fbba8bc546a4262ebf9a232925 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Aug 2023 19:49:21 -0700 Subject: [PATCH 7/8] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Iacec47b52312748f25f5e416b821ece95cd308a1 --- quickstep/res/values-de/strings.xml | 4 ++-- quickstep/res/values-es-rUS/strings.xml | 2 +- quickstep/res/values-es/strings.xml | 4 ++-- quickstep/res/values-fa/strings.xml | 2 +- quickstep/res/values-nl/strings.xml | 2 +- quickstep/res/values-pt/strings.xml | 2 +- quickstep/res/values-zh-rCN/strings.xml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index b48e5d6b58..828b85f80b 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -60,12 +60,12 @@ "Wische vom unteren Displayrand nach oben" "Achte darauf, nicht innezuhalten, bevor du loslässt" "Wische gerade nach oben" - "Du hast den Schritt für die „Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." + "Du hast den Schritt für die „Zum Startbildschirm“-Geste abgeschlossen. Jetzt lernst du, wie du zurückgehst." "Du hast den Schritt für die „Startbildschirm“-Touch-Geste abgeschlossen" "Den Startbildschirm aufrufen" "Wenn du zum Startbildschirm gehen möchtest, wische einfach vom unteren Displayrand nach oben." "Wische mit zwei Fingern vom unteren Displayrand nach oben. So gelangst du immer zum Startbildschirm." - "Zum Startbildschirm" + "Zum StartU+00AD­bildschirm" "Wische vom unteren Displayrand nach oben" "Gut gemacht!" "Wische vom unteren Displayrand nach oben" diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml index b737129374..cf5d6e9a3d 100644 --- a/quickstep/res/values-es-rUS/strings.xml +++ b/quickstep/res/values-es-rUS/strings.xml @@ -70,7 +70,7 @@ "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Intenta mantener presionada la ventana más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y detenerte" "Ya sabes cómo usar los gestos. Para desactivarlos, ve a Configuración." "Completaste el gesto para cambiar de app" "Desliza para cambiar de app" diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index 7a681b1510..d40780c59f 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -65,12 +65,12 @@ "Desliza para ir a la pantalla de inicio" "Desliza hacia arriba desde la parte inferior de la pantalla. Este gesto siempre te lleva a la pantalla de inicio." "Desliza dos dedos hacia arriba desde la parte inferior de la pantalla. Si haces este gesto, siempre irás a la pantalla de inicio." - "Ir a Inicio" + "Ir a inicio" "Desliza hacia arriba desde la parte inferior de la pantalla" "¡Bien hecho!" "Asegúrate de deslizar hacia arriba desde el borde inferior de la pantalla" "Prueba a mantener pulsada la ventana durante más tiempo antes de soltarla" - "Asegúrate de deslizar directamente hacia arriba y, luego, detenerte" + "Asegúrate de deslizar directamente hacia arriba y luego detenerte" "Ya sabes cómo utilizar gestos. Para desactivarlos, ve a Ajustes." "Has completado el gesto para cambiar de aplicación" "Desliza el dedo para cambiar de aplicación" diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index 6de4e90cef..85b4862c19 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -72,7 +72,7 @@ "قبل‌از رها کردن پنجره، آن را برای مدت طولانی‌تری نگه دارید" "دقت کنید که مستقیماً تند به بالا بکشید و سپس توقف کنید" "با نحوه استفاده از اشاره‌ها آشنا شدید. برای خاموش کردن اشاره‌ها، به «تنظیمات» بروید." - "اشاره جابه‌جا شدن بین برنامه‌ها را تکمیل کردید" + "اشاره جابه‌جایی بین برنامه‌ها را تکمیل کردید" "برای جابه‌جا شدن بین برنامه‌ها، تند به‌بالا بکشید" "برای جابه‌جا شدن بین برنامه‌ها، از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." "برای جابه‌جایی بین برنامه‌ها، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید، نگه دارید، و سپس رها کنید." diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml index 91b5551c19..6a7efe5458 100644 --- a/quickstep/res/values-nl/strings.xml +++ b/quickstep/res/values-nl/strings.xml @@ -46,7 +46,7 @@ "Voorspelde app: %1$s" "Het apparaat draaien" "Draai het apparaat om de tutorial voor navigatie met gebaren af te ronden" - "Swipe helemaal vanaf de rechter- of linkerrand" + "Swipe vanaf de rechter- of linkerrand" "Swipe vanaf de rechter- of linkerrand naar het midden van het scherm en laat los" "Je weet nu hoe je vanaf rechts kunt swipen om terug te gaan. Ontdek nu hoe je tussen apps schakelt." "Je weet nu hoe je het gebaar Terug maakt" diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml index 81d69f96a5..c943da559c 100644 --- a/quickstep/res/values-pt/strings.xml +++ b/quickstep/res/values-pt/strings.xml @@ -72,7 +72,7 @@ "Mantenha a janela pressionada por mais tempo antes de soltar" "Deslize para cima e pare" "Você aprendeu. Para desativar os gestos, acesse as Configurações." - "Você concluiu o gesto para trocar de app" + "Você concluiu o gesto para mudar de app" "Deslizar para trocar de app" "Para mudar de app, deslize de baixo para cima, mantenha a tela pressionada por um tempo e solte." "Para mudar de app, deslize de baixo para cima na tela com dois dedos, segure por um tempo e solte." diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml index e436ec1111..3980b21129 100644 --- a/quickstep/res/values-zh-rCN/strings.xml +++ b/quickstep/res/values-zh-rCN/strings.xml @@ -72,7 +72,7 @@ "尝试按住窗口较长时间,然后再松开手指" "确保笔直向上滑动,然后停住" "您已了解如何使用手势了。如要关闭手势,请前往“设置”。" - "您完成了“切换应用”手势" + "您完成了应用切换手势" "滑动即可切换应用" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" "如需在应用之间切换,请从屏幕底部向上滑动,按住,然后松开。" From c9d11e8208636d1534672681a0601f5ff3c2e6f7 Mon Sep 17 00:00:00 2001 From: Charlie Anderson Date: Wed, 2 Aug 2023 11:41:55 -0400 Subject: [PATCH 8/8] add logging for Launcher backup and restore events Test: Manually verify logs Bug: 294386159 Change-Id: Ic3a77f4a09556e0d769837129e0bd094f1e91b6b --- .../launcher3/InvariantDeviceProfile.java | 6 +- .../launcher3/LauncherBackupAgent.java | 3 +- .../launcher3/SessionCommitReceiver.java | 15 ++++- .../android/launcher3/model/LoaderTask.java | 2 + .../launcher3/provider/RestoreDbTask.java | 63 +++++++++++++++++-- 5 files changed, 79 insertions(+), 10 deletions(-) diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index be14844fbc..e3de79e03a 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -50,6 +50,7 @@ import androidx.core.content.res.ResourcesCompat; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.icons.DotRenderer; +import com.android.launcher3.logging.FileLog; import com.android.launcher3.model.DeviceGridState; import com.android.launcher3.provider.RestoreDbTask; import com.android.launcher3.testing.shared.ResourceUtils; @@ -287,12 +288,13 @@ public class InvariantDeviceProfile { * Reinitialize the current grid after a restore, where some grids might now be disabled. */ public void reinitializeAfterRestore(Context context) { + FileLog.d(TAG, "Reinitializing grid after restore"); String currentGridName = getCurrentGridName(context); String currentDbFile = dbFile; String newGridName = initGrid(context, currentGridName); String newDbFile = dbFile; if (!newDbFile.equals(currentDbFile)) { - Log.d(TAG, "Restored grid is disabled : " + currentGridName + FileLog.d(TAG, "Restored grid is disabled : " + currentGridName + ", migrating to: " + newGridName + ", removing all other grid db files"); for (String gridDbFile : LauncherFiles.GRID_DB_FILES) { @@ -300,7 +302,7 @@ public class InvariantDeviceProfile { continue; } if (context.getDatabasePath(gridDbFile).delete()) { - Log.d(TAG, "Removed old grid db file: " + gridDbFile); + FileLog.d(TAG, "Removed old grid db file: " + gridDbFile); } } setCurrentGrid(context, newGridName); diff --git a/src/com/android/launcher3/LauncherBackupAgent.java b/src/com/android/launcher3/LauncherBackupAgent.java index 3d2700de40..2617b9337d 100644 --- a/src/com/android/launcher3/LauncherBackupAgent.java +++ b/src/com/android/launcher3/LauncherBackupAgent.java @@ -34,7 +34,7 @@ public class LauncherBackupAgent extends BackupAgent { // Remove old files which might contain obsolete attributes like idp_grid_name in shared // preference that will obstruct backup's attribute from writing to shared preferences. if (destination.delete()) { - FileLog.d("LauncherBackupAgent", "Removed obsolete file: " + destination); + FileLog.d(TAG, "onRestoreFile: Removed obsolete file " + destination); } super.onRestoreFile(data, size, destination, type, mode, mtime); } @@ -47,6 +47,7 @@ public class LauncherBackupAgent extends BackupAgent { @Override public void onRestoreFinished() { + FileLog.d(TAG, "onRestoreFinished: set pending for RestoreDbTask"); RestoreDbTask.setPending(this); } } diff --git a/src/com/android/launcher3/SessionCommitReceiver.java b/src/com/android/launcher3/SessionCommitReceiver.java index aaccb7dfc0..d460ba8668 100644 --- a/src/com/android/launcher3/SessionCommitReceiver.java +++ b/src/com/android/launcher3/SessionCommitReceiver.java @@ -32,6 +32,8 @@ import com.android.launcher3.model.ItemInstallQueue; import com.android.launcher3.pm.InstallSessionHelper; import com.android.launcher3.util.Executors; +import java.util.Locale; + /** * BroadcastReceiver to handle session commit intent. */ @@ -63,9 +65,20 @@ public class SessionCommitReceiver extends BroadcastReceiver { } InstallSessionHelper packageInstallerCompat = InstallSessionHelper.INSTANCE.get(context); + boolean alreadyAddedPromiseIcon = + packageInstallerCompat.promiseIconAddedForId(info.getSessionId()); if (TextUtils.isEmpty(info.getAppPackageName()) || info.getInstallReason() != PackageManager.INSTALL_REASON_USER - || packageInstallerCompat.promiseIconAddedForId(info.getSessionId())) { + || alreadyAddedPromiseIcon) { + FileLog.d(LOG, + String.format(Locale.ENGLISH, + "Removing PromiseIcon for package: %s, install reason: %d," + + " alreadyAddedPromiseIcon: %s", + info.getAppPackageName(), + info.getInstallReason(), + alreadyAddedPromiseIcon + ) + ); packageInstallerCompat.removePromiseIconId(info.getSessionId()); return; } diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java index 933468cab1..0e68db29e8 100644 --- a/src/com/android/launcher3/model/LoaderTask.java +++ b/src/com/android/launcher3/model/LoaderTask.java @@ -374,6 +374,8 @@ public class LoaderTask implements Runnable { final HashMap installingPkgs = mSessionHelper.getActiveSessions(); installingPkgs.forEach(mApp.getIconCache()::updateSessionCache); + FileLog.d(TAG, "loadWorkspace: Packages with active install sessions: " + + installingPkgs.values()); final PackageUserKey tempPackageKey = new PackageUserKey(null, null); mFirstScreenBroadcast = new FirstScreenBroadcast(installingPkgs); diff --git a/src/com/android/launcher3/provider/RestoreDbTask.java b/src/com/android/launcher3/provider/RestoreDbTask.java index c554def0de..4725dd16b2 100644 --- a/src/com/android/launcher3/provider/RestoreDbTask.java +++ b/src/com/android/launcher3/provider/RestoreDbTask.java @@ -82,11 +82,15 @@ public class RestoreDbTask { public static final String APPWIDGET_OLD_IDS = "appwidget_old_ids"; public static final String APPWIDGET_IDS = "appwidget_ids"; + private static final String[] DB_COLUMNS_TO_LOG = {"profileId", "title", "itemType", "screen", + "container", "cellX", "cellY", "spanX", "spanY", "intent"}; + /** * Tries to restore the backup DB if needed */ public static void restoreIfNeeded(Context context, ModelDbController dbController) { if (!isPending(context)) { + Log.d(TAG, "No restore task pending, exiting RestoreDbTask"); return; } if (!performRestore(context, dbController)) { @@ -106,6 +110,7 @@ public class RestoreDbTask { private static boolean performRestore(Context context, ModelDbController controller) { SQLiteDatabase db = controller.getDb(); + FileLog.d(TAG, "performRestore: starting restore from db"); try (SQLiteTransaction t = new SQLiteTransaction(db)) { RestoreDbTask task = new RestoreDbTask(); task.sanitizeDB(context, controller, db, new BackupManager(context)); @@ -133,10 +138,11 @@ public class RestoreDbTask { @VisibleForTesting protected int sanitizeDB(Context context, ModelDbController controller, SQLiteDatabase db, BackupManager backupManager) throws Exception { + FileLog.d(TAG, "Old Launcher Database before sanitizing:"); // Primary user ids long myProfileId = controller.getSerialNumberForUser(myUserHandle()); long oldProfileId = getDefaultProfileId(db); - Log.d(TAG, "sanitizeDB: myProfileId=" + myProfileId + " oldProfileId=" + oldProfileId); + FileLog.d(TAG, "sanitizeDB: myProfileId=" + myProfileId + " oldProfileId=" + oldProfileId); LongSparseArray oldManagedProfileIds = getManagedProfileIds(db, oldProfileId); LongSparseArray profileMapping = new LongSparseArray<>(oldManagedProfileIds.size() + 1); @@ -149,8 +155,11 @@ public class RestoreDbTask { if (user != null) { long newManagedProfileId = controller.getSerialNumberForUser(user); profileMapping.put(oldManagedProfileId, newManagedProfileId); - Log.d(TAG, "sanitizeDB: managed profile id=" + oldManagedProfileId + FileLog.d(TAG, "sanitizeDB: managed profile id=" + oldManagedProfileId + " should be mapped to new id=" + newManagedProfileId); + } else { + FileLog.e(TAG, "sanitizeDB: No User found for old profileId, Ancestral Serial " + + "Number: " + oldManagedProfileId); } } @@ -161,11 +170,13 @@ public class RestoreDbTask { for (int i = numProfiles - 1; i >= 1; --i) { profileIds[i] = Long.toString(profileMapping.keyAt(i)); } + final String[] args = new String[profileIds.length]; Arrays.fill(args, "?"); final String where = "profileId NOT IN (" + TextUtils.join(", ", Arrays.asList(args)) + ")"; - int itemsDeleted = db.delete(Favorites.TABLE_NAME, where, profileIds); - FileLog.d(TAG, itemsDeleted + " items from unrestored user(s) were deleted"); + logUnrestoredItems(db, where, profileIds); + int itemsDeletedCount = db.delete(Favorites.TABLE_NAME, where, profileIds); + FileLog.d(TAG, itemsDeletedCount + " total items from unrestored user(s) were deleted"); // Mark all items as restored. boolean keepAllIcons = Utilities.isPropertyEnabled(LogConfig.KEEP_ALL_ICONS); @@ -219,8 +230,48 @@ public class RestoreDbTask { // Override shortcuts maybeOverrideShortcuts(context, controller, db, myProfileId); + return itemsDeletedCount; + } - return itemsDeleted; + /** + * Queries and logs the items we will delete from unrestored profiles in the launcher db. + * This is to understand why items might be missing during the restore process for Launcher. + * @param database the Launcher db to query from. + * @param where the SELECT statement to query items that will be deleted. + * @param profileIds the profile ID's the user will be migrating to. + */ + private void logUnrestoredItems(SQLiteDatabase database, String where, String[] profileIds) { + try (Cursor itemsToDelete = database.query( + /* table */ Favorites.TABLE_NAME, + /* columns */ DB_COLUMNS_TO_LOG, + /* selection */ where, + /* selection args */ profileIds, + /* groupBy */ null, + /* having */ null, + /* orderBy */ null + )) { + if (itemsToDelete.moveToFirst()) { + String[] columnNames = itemsToDelete.getColumnNames(); + StringBuilder stringBuilder = new StringBuilder( + "items to be deleted from the Favorites Table during restore:\n" + ); + do { + for (String columnName : columnNames) { + stringBuilder.append(columnName) + .append("=") + .append(itemsToDelete.getString( + itemsToDelete.getColumnIndex(columnName))) + .append(" "); + } + stringBuilder.append("\n"); + } while (itemsToDelete.moveToNext()); + FileLog.d(TAG, stringBuilder.toString()); + } else { + FileLog.d(TAG, "logDeletedItems: No items found to delete"); + } + } catch (Exception e) { + FileLog.e(TAG, "logDeletedItems: Error reading from database", e); + } } /** @@ -321,7 +372,7 @@ public class RestoreDbTask { * Marks the DB state as pending restoration */ public static void setPending(Context context) { - FileLog.d(TAG, "Restore data received through full backup "); + FileLog.d(TAG, "Restore data received through full backup"); LauncherPrefs.get(context) .putSync(RESTORE_DEVICE.to(new DeviceGridState(context).getDeviceType())); }