Merge "Optimizing :enter - :exit pairs." into ub-launcher3-master
diff --git a/SecondaryDisplayLauncher/res/values-af/strings.xml b/SecondaryDisplayLauncher/res/values-af/strings.xml
index 63d83a2..b544be7a 100644
--- a/SecondaryDisplayLauncher/res/values-af/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-af/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Kon nie die aktiwiteit begin nie"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Voeg programkortpad by"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Stel muurpapier"</string>
diff --git a/SecondaryDisplayLauncher/res/values-am/strings.xml b/SecondaryDisplayLauncher/res/values-am/strings.xml
index 3d99783..71854ad 100644
--- a/SecondaryDisplayLauncher/res/values-am/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-am/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"እንቅስቃሴውን ማስጀመር አልተቻለም"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"የመተግበሪያ አቋራጭ ያክሉ"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ልጣፍ አዘጋጅ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ar/strings.xml b/SecondaryDisplayLauncher/res/values-ar/strings.xml
index 1c0ee17..ba81c11 100644
--- a/SecondaryDisplayLauncher/res/values-ar/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ar/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"تعذَّر تشغيل النشاط."</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"إضافة اختصار التطبيق"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"تعيين الخلفية"</string>
diff --git a/SecondaryDisplayLauncher/res/values-as/strings.xml b/SecondaryDisplayLauncher/res/values-as/strings.xml
index 5e4f690..d199a26 100644
--- a/SecondaryDisplayLauncher/res/values-as/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-as/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"কাৰ্যকলাপটো লঞ্চ কৰিব পৰা নগ’ল"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"এপৰ শ্বর্টকাট যোগ কৰক"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ৱালপেপাৰ ছেট কৰক"</string>
diff --git a/SecondaryDisplayLauncher/res/values-az/strings.xml b/SecondaryDisplayLauncher/res/values-az/strings.xml
index 5cc7313..cee70a0 100644
--- a/SecondaryDisplayLauncher/res/values-az/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-az/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Əlavə Displey Başladıcısı"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Fəaliyyəti başlatmaq mümkün olmadı"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Tətbiq qısayolu əlavə edin"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Divar kağızı ayarlayın"</string>
diff --git a/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml b/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml
index 873b1ea..a8859d9 100644
--- a/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-b+sr+Latn/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Pokretanje aktivnosti nije uspelo"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Dodaj prečicu za aplikaciju"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Podesite pozadinu"</string>
diff --git a/SecondaryDisplayLauncher/res/values-be/strings.xml b/SecondaryDisplayLauncher/res/values-be/strings.xml
index bb59e46..3df3760 100644
--- a/SecondaryDisplayLauncher/res/values-be/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-be/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Не ўдалося запусціць дзеянне"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Дадаць ярлык праграмы"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Устанавіць шпалеры"</string>
diff --git a/SecondaryDisplayLauncher/res/values-bg/strings.xml b/SecondaryDisplayLauncher/res/values-bg/strings.xml
index 9c2abbb..4474815 100644
--- a/SecondaryDisplayLauncher/res/values-bg/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-bg/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Активността не можа да бъде стартирана"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Добавяне на пряк път към приложението"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Задаване на тапет"</string>
diff --git a/SecondaryDisplayLauncher/res/values-bn/strings.xml b/SecondaryDisplayLauncher/res/values-bn/strings.xml
index 5500754..7322691 100644
--- a/SecondaryDisplayLauncher/res/values-bn/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-bn/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"অ্যাক্টিভিটি চালু করা যায়নি"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"অ্যাপ শর্টকাট যোগ করুন"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ওয়ালপেপার সেট করুন"</string>
diff --git a/SecondaryDisplayLauncher/res/values-bs/strings.xml b/SecondaryDisplayLauncher/res/values-bs/strings.xml
index 7d2f011..1e59d33 100644
--- a/SecondaryDisplayLauncher/res/values-bs/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-bs/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Pokretač za sekundarni ekran"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Pokretanje aktivnosti nije uspjelo"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Dodaj prečicu aplikacije"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Postavi pozadinsku sliku"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ca/strings.xml b/SecondaryDisplayLauncher/res/values-ca/strings.xml
index f17c30c..c0274d1 100644
--- a/SecondaryDisplayLauncher/res/values-ca/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ca/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"No s\'ha pogut iniciar l\'activitat"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Afegeix una drecera d\'aplicació"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Estableix el fons de pantalla"</string>
diff --git a/SecondaryDisplayLauncher/res/values-cs/strings.xml b/SecondaryDisplayLauncher/res/values-cs/strings.xml
index 1864aac..92ed5fa 100644
--- a/SecondaryDisplayLauncher/res/values-cs/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-cs/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Aktivitu nelze zahájit"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Přidat zkratku aplikace"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Nastavení tapety"</string>
diff --git a/SecondaryDisplayLauncher/res/values-da/strings.xml b/SecondaryDisplayLauncher/res/values-da/strings.xml
index 0ad86e1..16bdb33 100644
--- a/SecondaryDisplayLauncher/res/values-da/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-da/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Aktiviteten kunne ikke startes"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Tilføj appgenvej"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Angiv baggrund"</string>
diff --git a/SecondaryDisplayLauncher/res/values-de/strings.xml b/SecondaryDisplayLauncher/res/values-de/strings.xml
index fe1b103..3617a5b 100644
--- a/SecondaryDisplayLauncher/res/values-de/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-de/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Aktivität konnte nicht gestartet werden"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"App-Verknüpfung hinzufügen"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Hintergrund festlegen"</string>
diff --git a/SecondaryDisplayLauncher/res/values-el/strings.xml b/SecondaryDisplayLauncher/res/values-el/strings.xml
index 1a62114..8d19d09 100644
--- a/SecondaryDisplayLauncher/res/values-el/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-el/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Δεν ήταν δυνατή η εκκίνηση της δραστηριότητας"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Προσθήκη συντόμευσης εφαρμογής"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Ορισμός ταπετσαρίας"</string>
diff --git a/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml b/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml
index ab55a6a..8d8c419 100644
--- a/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-en-rAU/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Couldn\'t launch the activity"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Add app shortcut"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Set wallpaper"</string>
diff --git a/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml b/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml
index ab55a6a..8d8c419 100644
--- a/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-en-rGB/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Couldn\'t launch the activity"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Add app shortcut"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Set wallpaper"</string>
diff --git a/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml b/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml
index ab55a6a..8d8c419 100644
--- a/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-en-rIN/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Couldn\'t launch the activity"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Add app shortcut"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Set wallpaper"</string>
diff --git a/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml b/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml
index 64b686c..ff6772b 100644
--- a/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-es-rUS/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"No se pudo iniciar la actividad"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Agregar acceso directo a app"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Establecer fondo de pantalla"</string>
diff --git a/SecondaryDisplayLauncher/res/values-es/strings.xml b/SecondaryDisplayLauncher/res/values-es/strings.xml
index fa5e4b4..0654dcb 100644
--- a/SecondaryDisplayLauncher/res/values-es/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-es/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"No se ha podido iniciar la acción"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Añadir acceso directo a la aplicación"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Establecer fondo de pantalla"</string>
diff --git a/SecondaryDisplayLauncher/res/values-et/strings.xml b/SecondaryDisplayLauncher/res/values-et/strings.xml
index 8fde9dd..3410fd4 100644
--- a/SecondaryDisplayLauncher/res/values-et/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-et/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Tegevust ei saanud käivitada"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Lisa rakenduse otsetee"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Määra taustapilt"</string>
diff --git a/SecondaryDisplayLauncher/res/values-eu/strings.xml b/SecondaryDisplayLauncher/res/values-eu/strings.xml
index 5048127..d7abe33 100644
--- a/SecondaryDisplayLauncher/res/values-eu/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-eu/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Ezin izan da abiarazi jarduera"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Gehitu aplikaziorako lasterbidea"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Ezarri horma-papera"</string>
diff --git a/SecondaryDisplayLauncher/res/values-fa/strings.xml b/SecondaryDisplayLauncher/res/values-fa/strings.xml
index 2dc3780..4d3ec4d 100644
--- a/SecondaryDisplayLauncher/res/values-fa/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-fa/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"راهانداز نمایشگر ثانویه"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"فعالیت راهاندازی نشد"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"افزودن میانبر برنامه"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"تنظیم کاغذدیواری"</string>
diff --git a/SecondaryDisplayLauncher/res/values-fi/strings.xml b/SecondaryDisplayLauncher/res/values-fi/strings.xml
index 5d6d48f..e56f67a 100644
--- a/SecondaryDisplayLauncher/res/values-fi/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-fi/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Käynnistäminen epäonnistui"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Lisää sovelluksen pikakuvake"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Aseta taustakuva"</string>
diff --git a/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml b/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml
index 9d88e1f..f5c9ba5 100644
--- a/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-fr-rCA/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Impossible de lancer l\'activité"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Ajouter un raccourci vers l\'application"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Définir le fond d\'écran"</string>
diff --git a/SecondaryDisplayLauncher/res/values-fr/strings.xml b/SecondaryDisplayLauncher/res/values-fr/strings.xml
index 10254bf..daa186b 100644
--- a/SecondaryDisplayLauncher/res/values-fr/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-fr/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Impossible de lancer l\'activité"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Ajouter un raccourci vers l\'application"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Configurer le fond d\'écran"</string>
diff --git a/SecondaryDisplayLauncher/res/values-gl/strings.xml b/SecondaryDisplayLauncher/res/values-gl/strings.xml
index eb86e39..0bcf969 100644
--- a/SecondaryDisplayLauncher/res/values-gl/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-gl/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Launcher da pantalla secundaria"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Non se puido iniciar a actividade"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Engadir atallo da aplicación"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Definir fondo de pantalla"</string>
diff --git a/SecondaryDisplayLauncher/res/values-gu/strings.xml b/SecondaryDisplayLauncher/res/values-gu/strings.xml
index f13422e..82b4444 100644
--- a/SecondaryDisplayLauncher/res/values-gu/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-gu/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"પ્રવૃત્તિ લૉન્ચ કરી શકાઈ નથી"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ઍપ શૉર્ટકટ ઉમેરો"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"વૉલપેપર સેટ કરો"</string>
diff --git a/SecondaryDisplayLauncher/res/values-hi/strings.xml b/SecondaryDisplayLauncher/res/values-hi/strings.xml
index 8b7728d..8adb519 100644
--- a/SecondaryDisplayLauncher/res/values-hi/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-hi/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"गतिविधि लॉन्च नहीं हो सकी"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ऐप्लिकेशन शॉर्टकट जोड़ें"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"वॉलपेपर सेट करें"</string>
diff --git a/SecondaryDisplayLauncher/res/values-hr/strings.xml b/SecondaryDisplayLauncher/res/values-hr/strings.xml
index d622928..87ac874 100644
--- a/SecondaryDisplayLauncher/res/values-hr/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-hr/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Pokretač za sekundarni zaslon"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Pokretanje aktivnosti nije uspjelo"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Dodajte aplikacijski prečac"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Postavljanje pozadine"</string>
diff --git a/SecondaryDisplayLauncher/res/values-hu/strings.xml b/SecondaryDisplayLauncher/res/values-hu/strings.xml
index 868a3bb..a8870fc 100644
--- a/SecondaryDisplayLauncher/res/values-hu/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-hu/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Nem sikerült elindítani a tevékenységet"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Alkalmazás parancsikonjának hozzáadása"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Háttérkép beállítása"</string>
diff --git a/SecondaryDisplayLauncher/res/values-hy/strings.xml b/SecondaryDisplayLauncher/res/values-hy/strings.xml
index 1fdd1c4..a64233f 100644
--- a/SecondaryDisplayLauncher/res/values-hy/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-hy/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Չհաջողվեց գործարկել գործողությունը"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Ավելացնել հավելվածի դյուրանցումը"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Դարձնել պաստառ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-in/strings.xml b/SecondaryDisplayLauncher/res/values-in/strings.xml
index 4260e5f..f51d238 100644
--- a/SecondaryDisplayLauncher/res/values-in/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-in/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Tidak dapat meluncurkan aktivitas"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Tambahkan pintasan app"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Setel wallpaper"</string>
diff --git a/SecondaryDisplayLauncher/res/values-is/strings.xml b/SecondaryDisplayLauncher/res/values-is/strings.xml
index 3435c60..e8b3e97 100644
--- a/SecondaryDisplayLauncher/res/values-is/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-is/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Ekki tókst að ræsa aðgerðina"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Bæta við flýtileið forrita"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Velja veggfóður"</string>
diff --git a/SecondaryDisplayLauncher/res/values-it/strings.xml b/SecondaryDisplayLauncher/res/values-it/strings.xml
index 4cf2f44..4941515 100644
--- a/SecondaryDisplayLauncher/res/values-it/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-it/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Impossibile avviare l\'attività"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Aggiungi scorciatoia app"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Imposta sfondo"</string>
diff --git a/SecondaryDisplayLauncher/res/values-iw/strings.xml b/SecondaryDisplayLauncher/res/values-iw/strings.xml
index f904c38..06b0c42 100644
--- a/SecondaryDisplayLauncher/res/values-iw/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-iw/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"לא ניתן היה להפעיל את הפעילות"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"הוספת קיצור דרך של אפליקציה"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"הגדרת טפט"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ja/strings.xml b/SecondaryDisplayLauncher/res/values-ja/strings.xml
index 3e85178..3ed7b2b 100644
--- a/SecondaryDisplayLauncher/res/values-ja/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ja/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"アクティビティを開始できませんでした"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"アプリのショートカットを追加"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"壁紙を設定"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ka/strings.xml b/SecondaryDisplayLauncher/res/values-ka/strings.xml
index 1f388e3..ac85f70 100644
--- a/SecondaryDisplayLauncher/res/values-ka/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ka/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"აქტივობის გაშვება ვერ მოხერხდა"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"აპის მალსახმობის დამატება"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ფონის დაყენება"</string>
diff --git a/SecondaryDisplayLauncher/res/values-kk/strings.xml b/SecondaryDisplayLauncher/res/values-kk/strings.xml
index a679b09..f9ac455 100644
--- a/SecondaryDisplayLauncher/res/values-kk/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-kk/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Әрекет іске қосылмады"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Қолданба таңбашасын енгізу"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Тұсқағаз орнату"</string>
diff --git a/SecondaryDisplayLauncher/res/values-km/strings.xml b/SecondaryDisplayLauncher/res/values-km/strings.xml
index 2f1c75f..afc050f 100644
--- a/SecondaryDisplayLauncher/res/values-km/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-km/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"មិនអាចចាប់ផ្តើមសកម្មភាពទេ"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"បញ្ចូលផ្លូវកាត់កម្មវិធី"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"កំណត់ផ្ទាំងរូបភាព"</string>
diff --git a/SecondaryDisplayLauncher/res/values-kn/strings.xml b/SecondaryDisplayLauncher/res/values-kn/strings.xml
index aa0ccc1..09c327f 100644
--- a/SecondaryDisplayLauncher/res/values-kn/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-kn/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ಚಟುವಟಿಕೆಯನ್ನು ಲಾಂಚ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ಆ್ಯಪ್ ಶಾರ್ಟ್ಕಟ್ ಸೇರಿಸಿ"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ವಾಲ್ಪೇಪರ್ ಹೊಂದಿಸಿ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ko/strings.xml b/SecondaryDisplayLauncher/res/values-ko/strings.xml
index 5b4b0c7..6a02ac0 100644
--- a/SecondaryDisplayLauncher/res/values-ko/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ko/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"활동을 실행할 수 없음"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"앱 바로가기 추가"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"배경화면 설정"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ky/strings.xml b/SecondaryDisplayLauncher/res/values-ky/strings.xml
index b62d486..56185fa 100644
--- a/SecondaryDisplayLauncher/res/values-ky/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ky/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Кошумча экранды жүргүзгүч"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Аракет аткарылган жок"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Колдонмого кыска жол кошуу"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Тушкагаз орнотуу"</string>
diff --git a/SecondaryDisplayLauncher/res/values-lo/strings.xml b/SecondaryDisplayLauncher/res/values-lo/strings.xml
index 5115547..36a6275 100644
--- a/SecondaryDisplayLauncher/res/values-lo/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-lo/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ບໍ່ສາມາດເປີດໃຊ້ການເຄື່ອນໄຫວໄດ້"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ເພີ່ມທາງລັດແອັບ"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ຕັ້ງເປັນຮູບພື້ນຫຼັງ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-lt/strings.xml b/SecondaryDisplayLauncher/res/values-lt/strings.xml
index 6ec68f9..8113eb6 100644
--- a/SecondaryDisplayLauncher/res/values-lt/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-lt/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Nepavyko paleisti veiklos"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Pridėti programos šaukinį"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Nustatyti ekrano foną"</string>
diff --git a/SecondaryDisplayLauncher/res/values-lv/strings.xml b/SecondaryDisplayLauncher/res/values-lv/strings.xml
index d708f13..e267933 100644
--- a/SecondaryDisplayLauncher/res/values-lv/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-lv/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Nevarēja palaist darbību"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Pievienot lietotnes saīsni"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Iestatīt fona tapeti"</string>
diff --git a/SecondaryDisplayLauncher/res/values-mk/strings.xml b/SecondaryDisplayLauncher/res/values-mk/strings.xml
index 5421ea8..e2cca03 100644
--- a/SecondaryDisplayLauncher/res/values-mk/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-mk/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Стартер на секундарен екран"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Не можеше да се стартува активноста"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Додајте кратенка за апликација"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Поставете го тапетот"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ml/strings.xml b/SecondaryDisplayLauncher/res/values-ml/strings.xml
index 308592b..864245b 100644
--- a/SecondaryDisplayLauncher/res/values-ml/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ml/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ആക്റ്റിവിറ്റി പ്രകാശിപ്പിക്കാനായില്ല"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ആപ്പ് കുറുക്കുവഴികൾ ചേർക്കുക"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"വാൾപേപ്പർ സജ്ജീകരിക്കുക"</string>
diff --git a/SecondaryDisplayLauncher/res/values-mn/strings.xml b/SecondaryDisplayLauncher/res/values-mn/strings.xml
index f0ae3fd..85fb020 100644
--- a/SecondaryDisplayLauncher/res/values-mn/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-mn/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Үйл ажиллагааг эхлүүж чадсангүй"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Аппын товчлол нэмэх"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Ханын зураг тохируулах"</string>
diff --git a/SecondaryDisplayLauncher/res/values-mr/strings.xml b/SecondaryDisplayLauncher/res/values-mr/strings.xml
index d54cc89..6e92a2f 100644
--- a/SecondaryDisplayLauncher/res/values-mr/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-mr/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"अॅक्टिव्हिटी लाँच करता आली नाही"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"अॅप शॉर्टकट जोडा"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"वॉलपेपर सेट करा"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ms/strings.xml b/SecondaryDisplayLauncher/res/values-ms/strings.xml
index 16dfee0..fd78053 100644
--- a/SecondaryDisplayLauncher/res/values-ms/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ms/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Tidak dapat melancarkan aktiviti"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Tambah pintasan apl"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Tetapkan kertas dinding"</string>
diff --git a/SecondaryDisplayLauncher/res/values-my/strings.xml b/SecondaryDisplayLauncher/res/values-my/strings.xml
index a252c52..1521402 100644
--- a/SecondaryDisplayLauncher/res/values-my/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-my/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"အရန် ဖော်ပြမှု စတင်ခြင်းစနစ်"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"လုပ်ဆောင်ချက်ကို စတင်၍မရပါ"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"အက်ပ်ဖြတ်လမ်းလင့်ခ်ထည့်ရန်"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"နောက်ခံ သတ်မှတ်ရန်"</string>
diff --git a/SecondaryDisplayLauncher/res/values-nb/strings.xml b/SecondaryDisplayLauncher/res/values-nb/strings.xml
index b46835a..945c87b 100644
--- a/SecondaryDisplayLauncher/res/values-nb/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-nb/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Kunne ikke starte aktiviteten"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Legg til en appsnarvei"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Angi bakgrunn"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ne/strings.xml b/SecondaryDisplayLauncher/res/values-ne/strings.xml
index d40d806..9a5b0a0 100644
--- a/SecondaryDisplayLauncher/res/values-ne/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ne/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"उक्त क्रियाकलाप सुरु गर्न सकिएन"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"अनुप्रयोगको सर्टकट थप्नुहोस्"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"वालपेपर सेट गर्नुहोस्"</string>
diff --git a/SecondaryDisplayLauncher/res/values-nl/strings.xml b/SecondaryDisplayLauncher/res/values-nl/strings.xml
index ad10233..8767708 100644
--- a/SecondaryDisplayLauncher/res/values-nl/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-nl/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Kan de activiteit niet starten"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"App-snelkoppeling toevoegen"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Achtergrond instellen"</string>
diff --git a/SecondaryDisplayLauncher/res/values-or/strings.xml b/SecondaryDisplayLauncher/res/values-or/strings.xml
index 6f04f99..9bc5725 100644
--- a/SecondaryDisplayLauncher/res/values-or/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-or/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ଗତିବିଧିକୁ ଲଞ୍ଚ କରାଯାଇପାରିଲା ନାହିଁ"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ଆପ୍ ସର୍ଟକଟ୍ ଯୋଗ କରନ୍ତୁ"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ୱାଲ୍ପେପର୍କୁ ସେଟ୍ କରନ୍ତୁ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-pa/strings.xml b/SecondaryDisplayLauncher/res/values-pa/strings.xml
index 8657ef5..c5dd582 100644
--- a/SecondaryDisplayLauncher/res/values-pa/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-pa/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ਸਰਗਰਮੀ ਨੂੰ ਲਾਂਚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ਐਪ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ਵਾਲਪੇਪਰ ਸੈੱਟ ਕਰੋ"</string>
diff --git a/SecondaryDisplayLauncher/res/values-pl/strings.xml b/SecondaryDisplayLauncher/res/values-pl/strings.xml
index 1eec235..e8efaed 100644
--- a/SecondaryDisplayLauncher/res/values-pl/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-pl/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Nie udało się uruchomić aktywności"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Dodaj skrót do aplikacji"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Ustaw tapetę"</string>
diff --git a/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml b/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml
index 7fadf3c..67c7557 100644
--- a/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-pt-rPT/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Não foi possível iniciar a atividade."</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Adicionar atalho de aplicação"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Definir imagem de fundo"</string>
diff --git a/SecondaryDisplayLauncher/res/values-pt/strings.xml b/SecondaryDisplayLauncher/res/values-pt/strings.xml
index e8f6a55..201fc07 100644
--- a/SecondaryDisplayLauncher/res/values-pt/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-pt/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Não foi possível abrir a atividade"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Adicionar atalho de apps"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Definir plano de fundo"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ro/strings.xml b/SecondaryDisplayLauncher/res/values-ro/strings.xml
index d485b2b..e2e21c5 100644
--- a/SecondaryDisplayLauncher/res/values-ro/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ro/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Nu s-a putut lansa activitatea"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Adăugați comanda rapidă pentru aplicație"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Setați imaginea de fundal"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ru/strings.xml b/SecondaryDisplayLauncher/res/values-ru/strings.xml
index 5c4df1d..64ba00e 100644
--- a/SecondaryDisplayLauncher/res/values-ru/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ru/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Не удалось запустить объект activity"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Добавить ярлык приложения"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Установить обои"</string>
diff --git a/SecondaryDisplayLauncher/res/values-si/strings.xml b/SecondaryDisplayLauncher/res/values-si/strings.xml
index f665f9e..ac492eb 100644
--- a/SecondaryDisplayLauncher/res/values-si/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-si/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"ක්රියාකාරකම දියත් කිරීමට නොහැකි විය"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"යෙදුම් කෙටිමඟ එක් කරන්න"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"බිතුපත සකසන්න"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sk/strings.xml b/SecondaryDisplayLauncher/res/values-sk/strings.xml
index 5e8d67a..5e6fa7a 100644
--- a/SecondaryDisplayLauncher/res/values-sk/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sk/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Aktivitu sa nepodarilo spustiť"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Pridať odkaz do aplikácie"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Nastaviť tapetu"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sl/strings.xml b/SecondaryDisplayLauncher/res/values-sl/strings.xml
index 864a9bb..f54dec9 100644
--- a/SecondaryDisplayLauncher/res/values-sl/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sl/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Zaganjalnik sekundarnega zaslona"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Dejavnosti ni bilo mogoče zagnati"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Dodaj bližnjico do aplikacije"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Nastavi ozadje"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sq/strings.xml b/SecondaryDisplayLauncher/res/values-sq/strings.xml
index 486f82a..e626dd1 100644
--- a/SecondaryDisplayLauncher/res/values-sq/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sq/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Nisësi i ekranit dytësor"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Aktiviteti nuk mund të hapej"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Shto shkurtoren e aplikacionit"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Cakto imazhin e sfondit"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sr/strings.xml b/SecondaryDisplayLauncher/res/values-sr/strings.xml
index e85b741..94214f1 100644
--- a/SecondaryDisplayLauncher/res/values-sr/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sr/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Покретање активности није успело"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Додај пречицу за апликацију"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Подесите позадину"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sv/strings.xml b/SecondaryDisplayLauncher/res/values-sv/strings.xml
index ec858db..53e17ef 100644
--- a/SecondaryDisplayLauncher/res/values-sv/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sv/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Det gick inte att starta aktiviteten"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Lägg till appgenväg"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Ange bakgrund"</string>
diff --git a/SecondaryDisplayLauncher/res/values-sw/strings.xml b/SecondaryDisplayLauncher/res/values-sw/strings.xml
index 27e404d..490561a 100644
--- a/SecondaryDisplayLauncher/res/values-sw/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-sw/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Mwonekano Mbadala wa Kifungua Programu"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Imeshindwa kuanzisha shughuli"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Ongeza njia ya mkato ya programu"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Weka mandhari"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ta/strings.xml b/SecondaryDisplayLauncher/res/values-ta/strings.xml
index e2cfb4b..2f1262f 100644
--- a/SecondaryDisplayLauncher/res/values-ta/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ta/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"நடவடிக்கையைத் துவக்க இயலவில்லை"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ஆப்ஸ் குறுக்குவழியைச் சேர்"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"வால்பேப்பரை அமை"</string>
diff --git a/SecondaryDisplayLauncher/res/values-te/strings.xml b/SecondaryDisplayLauncher/res/values-te/strings.xml
index f204e2a..3dd3c9b 100644
--- a/SecondaryDisplayLauncher/res/values-te/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-te/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"కార్యకలాపాన్ని ప్రారంభించడం సాధ్యం కాలేదు"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"యాప్ షార్ట్కట్ని జోడించు"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"వాల్పేపర్ను సెట్ చేయండి"</string>
diff --git a/SecondaryDisplayLauncher/res/values-th/strings.xml b/SecondaryDisplayLauncher/res/values-th/strings.xml
index ab4ca1b..6368950 100644
--- a/SecondaryDisplayLauncher/res/values-th/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-th/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"เปิดกิจกรรมไม่ได้"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"เพิ่มทางลัดของแอป"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"ตั้งวอลเปเปอร์"</string>
diff --git a/SecondaryDisplayLauncher/res/values-tl/strings.xml b/SecondaryDisplayLauncher/res/values-tl/strings.xml
index 2189cf9..192e5c4 100644
--- a/SecondaryDisplayLauncher/res/values-tl/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-tl/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Hindi mailunsad ang aktibidad"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Magdagdag ng shortcut ng app"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Magtakda ng wallpaper"</string>
diff --git a/SecondaryDisplayLauncher/res/values-tr/strings.xml b/SecondaryDisplayLauncher/res/values-tr/strings.xml
index 5a47662..e7ed998 100644
--- a/SecondaryDisplayLauncher/res/values-tr/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-tr/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"İşlem başlatılamadı"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Uygulama kısayolu ekle"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Duvar kağıdı ayarla"</string>
diff --git a/SecondaryDisplayLauncher/res/values-uk/strings.xml b/SecondaryDisplayLauncher/res/values-uk/strings.xml
index 6301b1d..e465995 100644
--- a/SecondaryDisplayLauncher/res/values-uk/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-uk/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"Панель запуску додаткового екрана"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Не вдалося запустити активність"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Розмістити ярлик додатка"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Вибрати фоновий малюнок"</string>
diff --git a/SecondaryDisplayLauncher/res/values-ur/strings.xml b/SecondaryDisplayLauncher/res/values-ur/strings.xml
index 35ae0dc..e4c8641 100644
--- a/SecondaryDisplayLauncher/res/values-ur/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-ur/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"سرگرمی کو شروع نہیں کیا جا سکا"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"ایپ شارٹ کٹ شامل کریں"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"وال پیپر سیٹ کریں"</string>
diff --git a/SecondaryDisplayLauncher/res/values-uz/strings.xml b/SecondaryDisplayLauncher/res/values-uz/strings.xml
index 5708a1a..585739d 100644
--- a/SecondaryDisplayLauncher/res/values-uz/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-uz/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Faollik ishga tushmadi"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Yorliq yaratish"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Fonga rasm oʻrnatish"</string>
diff --git a/SecondaryDisplayLauncher/res/values-vi/strings.xml b/SecondaryDisplayLauncher/res/values-vi/strings.xml
index 4cd3943..15a1a44 100644
--- a/SecondaryDisplayLauncher/res/values-vi/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-vi/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Không thể chạy hoạt động"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Thêm lối tắt ứng dụng"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Đặt hình nền"</string>
diff --git a/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml
index 2318f92..3358499 100644
--- a/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-zh-rCN/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"辅助显示屏启动器"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"无法启动该操作组件"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"添加应用快捷方式"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"设置壁纸"</string>
diff --git a/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml
index 3ac8ac2..bf76f29 100644
--- a/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-zh-rHK/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"次要顯示屏啟動器"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"無法啟動活動"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"新增應用程式捷徑"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"設定桌布"</string>
diff --git a/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml b/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml
index a0e4180..bf76f29 100644
--- a/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-zh-rTW/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"無法啟動活動"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"新增應用程式捷徑"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"設定桌布"</string>
diff --git a/SecondaryDisplayLauncher/res/values-zu/strings.xml b/SecondaryDisplayLauncher/res/values-zu/strings.xml
index 9dc423c..ad2f6b9 100644
--- a/SecondaryDisplayLauncher/res/values-zu/strings.xml
+++ b/SecondaryDisplayLauncher/res/values-zu/strings.xml
@@ -19,7 +19,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="8116646702313548897">"SecondaryDisplayLauncher"</string>
<string name="couldnt_launch" msgid="7873588052226763866">"Ayikwazanga ukuqalisa umsebenzi"</string>
<string name="add_app_shortcut" msgid="2756755330707509435">"Engeza isinqamuleli sohlelo lokusebenza"</string>
<string name="set_wallpaper" msgid="6475195450505435904">"Setha isithombe sangemuva"</string>
diff --git a/quickstep/res/drawable/bg_wellbeing_toast.xml b/quickstep/res/drawable/bg_wellbeing_toast.xml
new file mode 100644
index 0000000..22d6f8a
--- /dev/null
+++ b/quickstep/res/drawable/bg_wellbeing_toast.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
+ <solid android:color="#E61A73E8" />
+ <corners android:radius="@dimen/task_corner_radius" />
+</shape>
\ No newline at end of file
diff --git a/quickstep/res/layout/task.xml b/quickstep/res/layout/task.xml
index 43ae9b8..4cfefb8 100644
--- a/quickstep/res/layout/task.xml
+++ b/quickstep/res/layout/task.xml
@@ -38,18 +38,14 @@
<com.android.quickstep.views.DigitalWellBeingToast
android:id="@+id/digital_well_being_toast"
android:layout_width="match_parent"
- android:layout_height="100dp"
+ android:layout_height="48dp"
android:importantForAccessibility="noHideDescendants"
- android:background="#800000FF"
+ android:fontFamily="sans-serif"
+ android:textSize="14sp"
+ android:background="@drawable/bg_wellbeing_toast"
android:layout_gravity="bottom"
+ android:gravity="center"
+ android:textColor="@android:color/white"
android:visibility="gone"
- >
- <TextView
- android:id="@+id/remaining_time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:textColor="@android:color/white"
/>
- </com.android.quickstep.views.DigitalWellBeingToast>
</com.android.quickstep.views.TaskView>
\ No newline at end of file
diff --git a/quickstep/res/values/strings.xml b/quickstep/res/values/strings.xml
index 08132aa..7c47956 100644
--- a/quickstep/res/values/strings.xml
+++ b/quickstep/res/values/strings.xml
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-->
-<resources>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Application name -->
<string name="derived_app_name" translatable="false">Quickstep</string>
@@ -46,4 +46,24 @@
<!-- Accessibility title for the list of recent apps [CHAR_LIMIT=none] -->
<string name="accessibility_recent_apps">Recent apps</string>
+
+ <!-- Accessibility title for an app card in Recents for apps that have time limit set
+ [CHAR_LIMIT=none] -->
+ <string name="task_contents_description_with_remaining_time"><xliff:g id="task_description" example="GMail">%1$s</xliff:g>, <xliff:g id="remaining_time" example="7 minutes left today">%2$s</xliff:g></string>
+
+ <!-- Text to show total app usage per day if it is less than 1 minute ("<" is the
+ escaped form of '<'). [CHAR LIMIT=10] -->
+ <string name="shorter_duration_less_than_one_minute">< 1 minute</string>
+
+ <!-- Annotation shown on an app card in Recents, telling that the app was switched to a
+ grayscale because it ran over its time limit [CHAR LIMIT=25] -->
+ <string name="app_in_grayscale">App in grayscale</string>
+
+ <!-- Annotation shown on an app card in Recents, telling that the app has a usage limit set by
+ the user, and a given time is left for it today [CHAR LIMIT=20] -->
+ <string name="time_left_for_app"><xliff:g id="time" example="7 minutes">%1$s</xliff:g> left today</string>
+
+ <!-- Annotation shown on an app card in Recents, telling that the app is in a group that has a
+ usage limit set by the user, and a given time is left for the group today [CHAR LIMIT=20] -->
+ <string name="time_left_for_group"><xliff:g id="time" example="1 hour">%1$s</xliff:g> left for group</string>
</resources>
\ No newline at end of file
diff --git a/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java b/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
index fdb13b1..8d28f33 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/BackgroundAppState.java
@@ -41,7 +41,8 @@
if (launcher.getDeviceProfile().isVerticalBarLayout()) {
return super.getVerticalProgress(launcher);
}
- int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher.getDeviceProfile());
+ int transitionLength = LayoutUtils.getShelfTrackingDistance(launcher,
+ launcher.getDeviceProfile());
AllAppsTransitionController controller = launcher.getAllAppsController();
float scrollRange = Math.max(controller.getShiftRange(), 1);
float progressDelta = (transitionLength / scrollRange);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
index 8684c58..330dc87 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
@@ -213,7 +213,8 @@
mCurrentAnimation = AnimatorPlaybackController.wrap(mPendingAnimation.anim, maxAccuracy,
onCancelRunnable);
mLauncher.getStateManager().setCurrentUserControlledAnimation(mCurrentAnimation);
- totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher.getDeviceProfile());
+ totalShift = LayoutUtils.getShelfTrackingDistance(mLauncher,
+ mLauncher.getDeviceProfile());
} else {
mCurrentAnimation = mLauncher.getStateManager()
.createAnimationToNewWorkspace(mToState, builder, maxAccuracy, this::clearState,
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index 8293083..c3df9c7 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -21,6 +21,7 @@
import static com.android.launcher3.LauncherState.BACKGROUND_APP;
import static com.android.launcher3.LauncherState.FAST_OVERVIEW;
import static com.android.launcher3.LauncherState.OVERVIEW;
+import static com.android.launcher3.allapps.AllAppsTransitionController.ALL_APPS_PROGRESS_SPRING;
import static com.android.launcher3.anim.Interpolators.LINEAR;
import static com.android.launcher3.states.RotationHelper.REQUEST_LOCK;
import static com.android.quickstep.TouchConsumer.INTERACTION_NORMAL;
@@ -216,7 +217,7 @@
int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right;
return dp.hotseatBarSizePx + hotseatInset;
} else {
- return LayoutUtils.getShelfTrackingDistance(dp);
+ return LayoutUtils.getShelfTrackingDistance(context, dp);
}
}
@@ -295,7 +296,8 @@
AnimatorSet anim = new AnimatorSet();
if (!activity.getDeviceProfile().isVerticalBarLayout()) {
- Animator shiftAnim = new SpringObjectAnimator(activity.getAllAppsController(),
+ Animator shiftAnim = new SpringObjectAnimator<>(activity.getAllAppsController(),
+ ALL_APPS_PROGRESS_SPRING, "allAppsSpringFromACH",
activity.getAllAppsController().getShiftRange(),
fromState.getVerticalProgress(activity),
endState.getVerticalProgress(activity));
diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
index 93f1ee6..9712eb3 100644
--- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
+++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
@@ -383,9 +383,9 @@
// Deferred gesture, start the animation and gesture tracking once we pass the actual
// touch slop
startTouchTrackingForWindowAnimation(ev.getEventTime());
- mPassedInitialSlop = true;
- mStartDisplacement = getDisplacement(ev);
}
+ mPassedInitialSlop = true;
+ mStartDisplacement = getDisplacement(ev);
notifyGestureStarted();
}
diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
index cb214af..cc49d46 100644
--- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
@@ -16,16 +16,13 @@
package com.android.quickstep;
-import android.content.Context;
import android.graphics.Matrix;
import android.view.View;
-import androidx.annotation.AnyThread;
-
import com.android.launcher3.BaseActivity;
import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.R;
-import com.android.launcher3.util.Preconditions;
+import com.android.launcher3.util.MainThreadInitializedObject;
import com.android.launcher3.util.ResourceBasedOverride;
import com.android.quickstep.views.TaskView;
import com.android.systemui.shared.recents.model.Task;
@@ -34,11 +31,12 @@
import java.util.ArrayList;
import java.util.List;
+import androidx.annotation.AnyThread;
+
/**
* Factory class to create and add an overlays on the TaskView
*/
public class TaskOverlayFactory implements ResourceBasedOverride {
- private static TaskOverlayFactory sInstance;
/** Note that these will be shown in order from top to bottom, if available for the task. */
private static final TaskSystemShortcut[] MENU_OPTIONS = new TaskSystemShortcut[]{
@@ -49,14 +47,9 @@
new TaskSystemShortcut.Freeform()
};
- public static TaskOverlayFactory get(Context context) {
- Preconditions.assertUIThread();
- if (sInstance == null) {
- sInstance = Overrides.getObject(TaskOverlayFactory.class,
- context.getApplicationContext(), R.string.task_overlay_factory_class);
- }
- return sInstance;
- }
+ public static final MainThreadInitializedObject<TaskOverlayFactory> INSTANCE =
+ new MainThreadInitializedObject<>(c -> Overrides.getObject(TaskOverlayFactory.class,
+ c, R.string.task_overlay_factory_class));
@AnyThread
public boolean needAssist() {
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index 7a6b135..8b6867f 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -203,7 +203,7 @@
mEventQueue = new MotionEventQueue(mMainThreadChoreographer, TouchConsumer.NO_OP);
mOverviewInteractionState = OverviewInteractionState.INSTANCE.get(this);
mOverviewCallbacks = OverviewCallbacks.get(this);
- mTaskOverlayFactory = TaskOverlayFactory.get(this);
+ mTaskOverlayFactory = TaskOverlayFactory.INSTANCE.get(this);
mTouchInteractionLog = new TouchInteractionLog();
mInputConsumer = InputConsumerController.getRecentsAnimationInputConsumer();
mInputConsumer.registerInputConsumer();
diff --git a/quickstep/src/com/android/quickstep/util/LayoutUtils.java b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
index 6ca0dce..ed585c1 100644
--- a/quickstep/src/com/android/quickstep/util/LayoutUtils.java
+++ b/quickstep/src/com/android/quickstep/util/LayoutUtils.java
@@ -21,14 +21,15 @@
import android.content.res.Resources;
import android.graphics.Rect;
-import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.R;
-
-import java.lang.annotation.Retention;
-
import androidx.annotation.AnyThread;
import androidx.annotation.IntDef;
+import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.R;
+import com.android.launcher3.config.FeatureFlags;
+
+import java.lang.annotation.Retention;
+
public class LayoutUtils {
private static final int MULTI_WINDOW_STRATEGY_HALF_SCREEN = 1;
@@ -112,7 +113,14 @@
Math.round(x + outWidth), Math.round(y + outHeight));
}
- public static int getShelfTrackingDistance(DeviceProfile dp) {
+ public static int getShelfTrackingDistance(Context context, DeviceProfile dp) {
+ if (FeatureFlags.SWIPE_HOME.get()) {
+ // Track the bottom of the window rather than the top of the shelf.
+ int shelfHeight = dp.hotseatBarSizePx + dp.getInsets().bottom;
+ int spaceBetweenShelfAndRecents = (int) context.getResources().getDimension(
+ R.dimen.task_card_vert_space);
+ return shelfHeight + spaceBetweenShelfAndRecents;
+ }
// Start from a third of bottom inset to provide some shelf overlap.
return dp.hotseatBarSizePx + dp.getInsets().bottom / 3 - dp.edgeMarginPx * 2;
}
diff --git a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
index a92295e..cc10009 100644
--- a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
+++ b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
@@ -20,19 +20,29 @@
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
+import android.icu.text.MeasureFormat;
+import android.icu.text.MeasureFormat.FormatWidth;
+import android.icu.util.Measure;
+import android.icu.util.MeasureUnit;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
-import android.widget.LinearLayout;
import android.widget.TextView;
+import androidx.annotation.StringRes;
+
import com.android.launcher3.Launcher;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.userevent.nano.LauncherLogProto;
import com.android.systemui.shared.recents.model.Task;
-public final class DigitalWellBeingToast extends LinearLayout {
+import java.time.Duration;
+import java.util.Locale;
+
+public final class DigitalWellBeingToast extends TextView {
+
public interface InitializeCallback {
void call(float saturation, String contentDescription);
}
@@ -56,26 +66,87 @@
final long appRemainingTimeMs = -1;
final boolean isGroupLimit = true;
post(() -> {
- final TextView remainingTimeText = findViewById(R.id.remaining_time);
if (appUsageLimitTimeMs < 0) {
setVisibility(GONE);
} else {
setVisibility(VISIBLE);
- remainingTimeText.setText(getText(appRemainingTimeMs, isGroupLimit));
+ setText(getText(appRemainingTimeMs, isGroupLimit));
}
callback.call(
appUsageLimitTimeMs >= 0 && appRemainingTimeMs < 0 ? 0 : 1,
- getContentDescriptionForTask(task, appRemainingTimeMs, isGroupLimit));
+ getContentDescriptionForTask(
+ task, appUsageLimitTimeMs, appRemainingTimeMs, isGroupLimit));
});
});
}
- public static String getText(long remainingTime, boolean isGroupLimit) {
- return remainingTime < 0 ?
- "Grayed" :
- "Remaining time:" + (remainingTime + 59999) / 60000
- + " min " + (isGroupLimit ? "for group" : "for the app");
+ private String getReadableDuration(
+ Duration duration,
+ FormatWidth formatWidthHourAndMinute,
+ @StringRes int durationLessThanOneMinuteStringId,
+ boolean forceFormatWidth) {
+ int hours = Math.toIntExact(duration.toHours());
+ int minutes = Math.toIntExact(duration.minusHours(hours).toMinutes());
+
+ // Apply formatWidthHourAndMinute if both the hour part and the minute part are non-zero.
+ if (hours > 0 && minutes > 0) {
+ return MeasureFormat.getInstance(Locale.getDefault(), formatWidthHourAndMinute)
+ .formatMeasures(
+ new Measure(hours, MeasureUnit.HOUR),
+ new Measure(minutes, MeasureUnit.MINUTE));
+ }
+
+ // Apply formatWidthHourOrMinute if only the hour part is non-zero (unless forced).
+ if (hours > 0) {
+ return MeasureFormat.getInstance(
+ Locale.getDefault(),
+ forceFormatWidth ? formatWidthHourAndMinute : FormatWidth.WIDE)
+ .formatMeasures(new Measure(hours, MeasureUnit.HOUR));
+ }
+
+ // Apply formatWidthHourOrMinute if only the minute part is non-zero (unless forced).
+ if (minutes > 0) {
+ return MeasureFormat.getInstance(
+ Locale.getDefault()
+ , forceFormatWidth ? formatWidthHourAndMinute : FormatWidth.WIDE)
+ .formatMeasures(new Measure(minutes, MeasureUnit.MINUTE));
+ }
+
+ // Use a specific string for usage less than one minute but non-zero.
+ if (duration.compareTo(Duration.ZERO) > 0) {
+ return getResources().getString(durationLessThanOneMinuteStringId);
+ }
+
+ // Otherwise, return 0-minute string.
+ return MeasureFormat.getInstance(
+ Locale.getDefault(), forceFormatWidth ? formatWidthHourAndMinute : FormatWidth.WIDE)
+ .formatMeasures(new Measure(0, MeasureUnit.MINUTE));
+ }
+
+ private String getReadableDuration(
+ Duration duration,
+ FormatWidth formatWidthHourAndMinute,
+ @StringRes int durationLessThanOneMinuteStringId) {
+ return getReadableDuration(
+ duration,
+ formatWidthHourAndMinute,
+ durationLessThanOneMinuteStringId,
+ /* forceFormatWidth= */ false);
+ }
+
+ private String getShorterReadableDuration(Duration duration) {
+ return getReadableDuration(
+ duration, FormatWidth.NARROW, R.string.shorter_duration_less_than_one_minute);
+ }
+
+ private String getText(long remainingTime, boolean isGroupLimit) {
+ final Resources resources = getResources();
+ return (remainingTime < 0) ?
+ resources.getString(R.string.app_in_grayscale) :
+ resources.getString(
+ isGroupLimit ? R.string.time_left_for_group : R.string.time_left_for_app,
+ getShorterReadableDuration(Duration.ofMillis(remainingTime)));
}
public void openAppUsageSettings() {
@@ -98,8 +169,8 @@
}
private String getContentDescriptionForTask(
- Task task, long appRemainingTimeMs, boolean isGroupLimit) {
- return appRemainingTimeMs > 0 ?
+ Task task, long appUsageLimitTimeMs, long appRemainingTimeMs, boolean isGroupLimit) {
+ return appUsageLimitTimeMs > 0 ?
getResources().getString(
R.string.task_contents_description_with_remaining_time,
task.titleDescription,
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 4cfd8cb..5cbae65 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -81,6 +81,7 @@
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch;
import com.android.launcher3.util.PendingAnimation;
import com.android.launcher3.util.Themes;
+import com.android.launcher3.util.ViewPool;
import com.android.quickstep.OverviewCallbacks;
import com.android.quickstep.QuickScrubController;
import com.android.quickstep.RecentsAnimationWrapper;
@@ -156,6 +157,8 @@
private final InvariantDeviceProfile mIdp;
+ private final ViewPool<TaskView> mTaskViewPool;
+
/**
* TODO: Call reloadIdNeeded in onTaskStackChanged.
*/
@@ -304,6 +307,9 @@
.inflate(R.layout.overview_clear_all_button, this, false);
mClearAllButton.setOnClickListener(this::dismissAllTasks);
+ mTaskViewPool = new ViewPool<>(context, this, R.layout.task, 20 /* max size */,
+ 10 /* initial size */);
+
mIsRtl = !Utilities.isRtl(getResources());
setLayoutDirection(mIsRtl ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR);
mTaskTopMargin = getResources()
@@ -384,6 +390,7 @@
mHasVisibleTaskData.delete(task.key.id);
taskView.onTaskListVisibilityChanged(false /* visible */);
}
+ mTaskViewPool.recycle(taskView);
}
}
@@ -487,10 +494,6 @@
int oldChildCount = getChildCount();
- // Ensure there are as many views as there are tasks in the stack (adding and trimming as
- // necessary)
- final LayoutInflater inflater = LayoutInflater.from(getContext());
-
// Unload existing visible task data
unloadVisibleTaskData();
@@ -503,7 +506,7 @@
removeView(mClearAllButton);
}
for (int i = getChildCount(); i < requiredTaskCount; i++) {
- addView(inflater.inflate(R.layout.task, this, false));
+ addView(mTaskViewPool.getView());
}
while (getChildCount() > requiredTaskCount) {
removeView(getChildAt(getChildCount() - 1));
@@ -754,8 +757,7 @@
public void showTask(int runningTaskId) {
if (getChildCount() == 0) {
// Add an empty view for now until the task plan is loaded and applied
- final TaskView taskView = (TaskView) LayoutInflater.from(getContext())
- .inflate(R.layout.task, this, false);
+ final TaskView taskView = mTaskViewPool.getView();
addView(taskView);
addView(mClearAllButton);
diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
index e5bed54..8169d73 100644
--- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -107,7 +107,7 @@
public TaskThumbnailView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mCornerRadius = getResources().getDimension(R.dimen.task_corner_radius);
- mOverlay = TaskOverlayFactory.get(context).createOverlay(this);
+ mOverlay = TaskOverlayFactory.INSTANCE.get(context).createOverlay(this);
mPaint.setFilterBitmap(true);
mBackgroundPaint.setColor(Color.WHITE);
mClearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
@@ -116,8 +116,12 @@
mIsDarkTextTheme = Themes.getAttrBoolean(mActivity, R.attr.isWorkspaceDarkText);
}
- public void bind() {
+ public void bind(Task task) {
mOverlay.reset();
+ mTask = task;
+ int color = task == null ? Color.BLACK : task.colorBackground | 0xFF000000;
+ mPaint.setColor(color);
+ mBackgroundPaint.setColor(color);
}
/**
@@ -125,10 +129,6 @@
*/
public void setThumbnail(Task task, ThumbnailData thumbnailData) {
mTask = task;
- int color = task == null ? Color.BLACK : task.colorBackground | 0xFF000000;
- mPaint.setColor(color);
- mBackgroundPaint.setColor(color);
-
if (thumbnailData != null && thumbnailData.thumbnail != null) {
Bitmap bm = thumbnailData.thumbnail;
bm.prepareToDraw();
@@ -255,15 +255,14 @@
private void updateThumbnailPaintFilter() {
int mul = (int) ((1 - mDimAlpha * mDimAlphaMultiplier) * 255);
+ ColorFilter filter = getColorFilter(mul, mIsDarkTextTheme, mSaturation);
+ mBackgroundPaint.setColorFilter(filter);
mDimmingPaintAfterClearing.setAlpha(255 - mul);
if (mBitmapShader != null) {
- ColorFilter filter = getColorFilter(mul, mIsDarkTextTheme, mSaturation);
mPaint.setColorFilter(filter);
- mBackgroundPaint.setColorFilter(filter);
} else {
mPaint.setColorFilter(null);
mPaint.setColor(Color.argb(255, mul, mul, mul));
- mBackgroundPaint.setColorFilter(null);
}
invalidate();
}
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index 456a022..ad63c24 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -52,6 +52,7 @@
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Direction;
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch;
import com.android.launcher3.util.PendingAnimation;
+import com.android.launcher3.util.ViewPool.Reusable;
import com.android.quickstep.RecentsModel;
import com.android.quickstep.TaskIconCache;
import com.android.quickstep.TaskOverlayFactory;
@@ -70,7 +71,7 @@
/**
* A task in the Recents view.
*/
-public class TaskView extends FrameLayout implements PageCallbacks {
+public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
private static final String TAG = TaskView.class.getSimpleName();
@@ -214,7 +215,7 @@
*/
public void bind(Task task) {
mTask = task;
- mSnapshotView.bind();
+ mSnapshotView.bind(task);
}
public Task getTask() {
@@ -399,13 +400,17 @@
setIconAndDimTransitionProgress(iconScale, invert);
}
- public void resetVisualProperties() {
+ private void resetViewTransforms() {
setZoomScale(1);
setTranslationX(0f);
setTranslationY(0f);
setTranslationZ(0);
setAlpha(1f);
setIconScaleAndDim(1);
+ }
+
+ public void resetVisualProperties() {
+ resetViewTransforms();
if (!getRecentsView().getQuickScrubController().isQuickSwitch()) {
// Reset full screen progress unless we are doing back to back quick switch.
setFullscreenProgress(0);
@@ -413,6 +418,12 @@
}
@Override
+ public void onRecycle() {
+ resetViewTransforms();
+ setFullscreenProgress(0);
+ }
+
+ @Override
public void onPageScroll(ScrollState scrollState) {
float curveInterpolation =
CURVE_INTERPOLATOR.getInterpolation(scrollState.linearInterpolation);
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTests.java b/quickstep/tests/src/com/android/quickstep/TaplTests.java
index 6a1123e..347b7ac 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTests.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTests.java
@@ -104,7 +104,7 @@
clearLauncherData();
- mDevice.pressHome();
+ mLauncher.pressHome();
waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL);
waitForResumed("Launcher internal state is still Background");
}
@@ -424,7 +424,7 @@
executeOnLauncher(launcher -> assertTrue("Flinging backward didn't scroll widgets",
getWidgetsScroll(launcher) < flingForwardY));
- mDevice.pressHome();
+ mLauncher.pressHome();
waitForLauncherCondition("Widgets were not closed",
launcher -> getWidgetsView(launcher) == null);
}
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ab62107..573da2d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -40,11 +40,11 @@
<string name="all_apps_no_search_results" msgid="3200346862396363786">"Der blev ikke fundet nogen apps, som matcher \"<xliff:g id="QUERY">%1$s</xliff:g>\""</string>
<string name="all_apps_search_market_message" msgid="1366263386197059176">"Søg efter flere apps"</string>
<string name="label_application" msgid="8531721983832654978">"App"</string>
- <string name="notifications_header" msgid="1404149926117359025">"Underretninger"</string>
+ <string name="notifications_header" msgid="1404149926117359025">"Notifikationer"</string>
<string name="long_press_shortcut_to_add" msgid="4524750017792716791">"Hold en genvej nede for at samle den op."</string>
<string name="long_accessible_way_to_add_shortcut" msgid="3327314059613154633">"Tryk to gange, og hold en genvej nede for at samle den op eller bruge tilpassede handlinger."</string>
<string name="out_of_space" msgid="4691004494942118364">"Der er ikke mere plads på denne startskærm."</string>
- <string name="hotseat_out_of_space" msgid="7448809638125333693">"Der er ikke mere plads i bakken Foretrukne"</string>
+ <string name="hotseat_out_of_space" msgid="7448809638125333693">"Der er ikke mere plads i bakken Favoritter"</string>
<string name="all_apps_button_label" msgid="8130441508702294465">"Liste med apps"</string>
<string name="all_apps_button_personal_label" msgid="1315764287305224468">"Liste over personlige apps"</string>
<string name="all_apps_button_work_label" msgid="7270707118948892488">"Liste over apps til arbejdet"</string>
@@ -66,8 +66,8 @@
<string name="folder_hint_text" msgid="6617836969016293992">"Unavngiven mappe"</string>
<string name="disabled_app_label" msgid="6673129024321402780">"<xliff:g id="APP_NAME">%1$s</xliff:g> er deaktiveret"</string>
<plurals name="dotted_app_label" formatted="false" msgid="5194538107138265416">
- <item quantity="one"><xliff:g id="APP_NAME_2">%1$s</xliff:g>, har <xliff:g id="NOTIFICATION_COUNT_3">%2$d</xliff:g> underretning</item>
- <item quantity="other"><xliff:g id="APP_NAME_2">%1$s</xliff:g>, har <xliff:g id="NOTIFICATION_COUNT_3">%2$d</xliff:g> underretninger</item>
+ <item quantity="one"><xliff:g id="APP_NAME_2">%1$s</xliff:g>, har <xliff:g id="NOTIFICATION_COUNT_3">%2$d</xliff:g> notifikation</item>
+ <item quantity="other"><xliff:g id="APP_NAME_2">%1$s</xliff:g>, har <xliff:g id="NOTIFICATION_COUNT_3">%2$d</xliff:g> notifikationer</item>
</plurals>
<string name="default_scroll_format" msgid="7475544710230993317">"Side %1$d ud af %2$d"</string>
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startskærm %1$d ud af %2$d"</string>
@@ -84,13 +84,13 @@
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Deaktiveret af din administrator"</string>
<string name="allow_rotation_title" msgid="7728578836261442095">"Tillad rotation af startskærmen"</string>
<string name="allow_rotation_desc" msgid="8662546029078692509">"Når telefonen roteres"</string>
- <string name="notification_dots_title" msgid="9062440428204120317">"Underretningscirkler"</string>
+ <string name="notification_dots_title" msgid="9062440428204120317">"Notifikationscirkler"</string>
<string name="notification_dots_desc_on" msgid="1679848116452218908">"Til"</string>
<string name="notification_dots_desc_off" msgid="1760796511504341095">"Fra"</string>
- <string name="title_missing_notification_access" msgid="7503287056163941064">"Kræver adgang til underretninger"</string>
- <string name="msg_missing_notification_access" msgid="281113995110910548">"Hvis du vil se underretningscirkler, skal du aktivere appunderretninger for <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="title_missing_notification_access" msgid="7503287056163941064">"Kræver adgang til notifikationer"</string>
+ <string name="msg_missing_notification_access" msgid="281113995110910548">"Hvis du vil se notifikationscirkler, skal du aktivere appnotifikationer for <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="title_change_settings" msgid="1376365968844349552">"Skift indstillinger"</string>
- <string name="notification_dots_service_title" msgid="4284221181793592871">"Vis underretningscirkler"</string>
+ <string name="notification_dots_service_title" msgid="4284221181793592871">"Vis notifikationscirkler"</string>
<string name="auto_add_shortcuts_label" msgid="8222286205987725611">"Føj ikon til startskærmen"</string>
<string name="auto_add_shortcuts_description" msgid="7117251166066978730">"For nye apps"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Ukendt"</string>
@@ -126,16 +126,16 @@
<string name="action_decrease_height" msgid="282377193880900022">"Reducer højden"</string>
<string name="widget_resized" msgid="9130327887929620">"Størrelsen for widgetten er ændret til bredde <xliff:g id="NUMBER_0">%1$s</xliff:g> og højde <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string>
<string name="action_deep_shortcut" msgid="2864038805849372848">"Genveje"</string>
- <string name="shortcuts_menu_with_notifications_description" msgid="2676582286544232849">"Genveje og underretninger"</string>
+ <string name="shortcuts_menu_with_notifications_description" msgid="2676582286544232849">"Genveje og notifikationer"</string>
<string name="action_dismiss_notification" msgid="5909461085055959187">"Afvis"</string>
- <string name="notification_dismissed" msgid="6002233469409822874">"Underretningen blev afvist"</string>
+ <string name="notification_dismissed" msgid="6002233469409822874">"Notifikationen blev afvist"</string>
<string name="all_apps_personal_tab" msgid="4190252696685155002">"Personlige"</string>
<string name="all_apps_work_tab" msgid="4884822796154055118">"Arbejde"</string>
<string name="work_profile_toggle_label" msgid="3081029915775481146">"Arbejdsprofil"</string>
<string name="bottom_work_tab_user_education_title" msgid="5785851780786322825">"Find arbejdsapps her"</string>
<string name="bottom_work_tab_user_education_body" msgid="2818107472360579152">"Alle arbejdsapps har et badge og beskyttes af din organisation. Flyt apps til din startskærm, så du nemmere kan få adgang til dem."</string>
<string name="work_mode_on_label" msgid="4781128097185272916">"Administreret af din organisation"</string>
- <string name="work_mode_off_label" msgid="3194894777601421047">"Underretninger og apps er slået fra"</string>
+ <string name="work_mode_off_label" msgid="3194894777601421047">"Notifikationer og apps er slået fra"</string>
<string name="bottom_work_tab_user_education_close_button" msgid="4224492243977802135">"Luk"</string>
<string name="bottom_work_tab_user_education_closed" msgid="1098340939861869465">"Lukket"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Mislykket: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 9d0ad45..d26661d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -91,7 +91,7 @@
<string name="msg_missing_notification_access" msgid="281113995110910548">"Um dir Benachrichtigungspunkte anzeigen zu lassen, aktiviere die Benachrichtigungen für die App \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
<string name="title_change_settings" msgid="1376365968844349552">"Einstellungen ändern"</string>
<string name="notification_dots_service_title" msgid="4284221181793592871">"App-Benachrichtigungspunkte anzeigen"</string>
- <string name="auto_add_shortcuts_label" msgid="8222286205987725611">"Symbol zu Startbildschirm hinzufügen"</string>
+ <string name="auto_add_shortcuts_label" msgid="8222286205987725611">"Symbol zum Startbildschirm hinzufügen"</string>
<string name="auto_add_shortcuts_description" msgid="7117251166066978730">"Für neue Apps"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Unbekannt"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Entfernen"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index f93de69..253c4a2 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -39,7 +39,7 @@
<string name="all_apps_loading_message" msgid="5813968043155271636">"अॅप्स लोड करत आहे…"</string>
<string name="all_apps_no_search_results" msgid="3200346862396363786">"\"<xliff:g id="QUERY">%1$s</xliff:g>\" शी जुळणारे कोणतेही अॅप्स आढळले नाहीत"</string>
<string name="all_apps_search_market_message" msgid="1366263386197059176">"अधिक अॅप्स शोधा"</string>
- <string name="label_application" msgid="8531721983832654978">"अॅप"</string>
+ <string name="label_application" msgid="8531721983832654978">"ॲप"</string>
<string name="notifications_header" msgid="1404149926117359025">"सूचना"</string>
<string name="long_press_shortcut_to_add" msgid="4524750017792716791">"शॉर्टकट निवडण्यासाठी स्पर्श करा आणि धरून ठेवा."</string>
<string name="long_accessible_way_to_add_shortcut" msgid="3327314059613154633">"शॉर्टकट निवडण्यासाठी किंवा कस्टम क्रिया वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा."</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a1089c6..51350c0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -336,6 +336,4 @@
<!-- Failed action error message: e.g. Failed: Pause -->
<string name="remote_action_failed">Failed: <xliff:g id="what" example="Pause">%1$s</xliff:g></string>
-
- <string name="task_contents_description_with_remaining_time" translatable="false"><xliff:g id="task_description" example="GMail">%1$s</xliff:g>, <xliff:g id="remaining_time" example="7 minutes">%2$s</xliff:g></string>
</resources>
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index 45bdea8..dafd5bb 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -247,7 +247,6 @@
}
public void verifyConfigChangedInBackground(final Context context) {
-
String savedIconMaskPath = getDevicePrefs(context).getString(KEY_ICON_PATH_REF, "");
// Good place to check if grid size changed in themepicker when launcher was dead.
if (savedIconMaskPath.isEmpty()) {
@@ -260,6 +259,12 @@
}
}
+ public void setCurrentGrid(Context context, String gridName) {
+ Context appContext = context.getApplicationContext();
+ Utilities.getPrefs(appContext).edit().putString(KEY_IDP_GRID_NAME, gridName).apply();
+ new MainThreadExecutor().execute(() -> onConfigChanged(appContext));
+ }
+
private void onConfigChanged(Context context) {
// Config changes, what shall we do?
InvariantDeviceProfile oldProfile = new InvariantDeviceProfile(this);
@@ -300,7 +305,8 @@
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
- if ((type == XmlPullParser.START_TAG) && "grid-option".equals(parser.getName())) {
+ if ((type == XmlPullParser.START_TAG)
+ && GridOption.TAG_NAME.equals(parser.getName())) {
GridOption gridOption = new GridOption(context, Xml.asAttributeSet(parser));
final int displayDepth = parser.getDepth();
@@ -451,6 +457,8 @@
public static final class GridOption {
+ public static final String TAG_NAME = "grid-option";
+
public final String name;
public final int numRows;
public final int numColumns;
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index f09b6e8..ab83c6c 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1377,6 +1377,11 @@
}
private void setWorkspaceLoading(boolean value) {
+ if (com.android.launcher3.Utilities.IS_RUNNING_IN_TEST_HARNESS
+ && com.android.launcher3.Utilities.IS_DEBUG_DEVICE) {
+ android.util.Log.d("b/117332845", "setWorkspaceLoading " + value + " @ " +
+ android.util.Log.getStackTraceString(new Throwable()));
+ }
mWorkspaceLoading = value;
}
diff --git a/src/com/android/launcher3/ProgressInterface.java b/src/com/android/launcher3/ProgressInterface.java
new file mode 100644
index 0000000..663d8ba
--- /dev/null
+++ b/src/com/android/launcher3/ProgressInterface.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2019 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;
+
+/**
+ * Progress is defined as a value with range [0, 1], and is specific to each implementor.
+ * It is used when there is a transition from one state of the UI to another.
+ */
+public interface ProgressInterface {
+ void setProgress(float progress);
+ float getProgress();
+}
\ No newline at end of file
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index 962c25b..e8e93fe 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -23,17 +23,16 @@
import com.android.launcher3.LauncherState;
import com.android.launcher3.LauncherStateManager.AnimationConfig;
import com.android.launcher3.LauncherStateManager.StateHandler;
+import com.android.launcher3.ProgressInterface;
import com.android.launcher3.R;
import com.android.launcher3.anim.AnimationSuccessListener;
import com.android.launcher3.anim.AnimatorSetBuilder;
import com.android.launcher3.anim.SpringObjectAnimator;
import com.android.launcher3.anim.PropertySetter;
-import com.android.launcher3.anim.SpringObjectAnimator.SpringProperty;
import com.android.launcher3.util.Themes;
import com.android.launcher3.views.ScrimView;
import androidx.dynamicanimation.animation.FloatPropertyCompat;
-import androidx.dynamicanimation.animation.SpringAnimation;
/**
* Handles AllApps view transition.
@@ -45,7 +44,8 @@
* If release velocity < THRES1, snap according to either top or bottom depending on whether it's
* closer to top or closer to the page indicator.
*/
-public class AllAppsTransitionController implements StateHandler, OnDeviceProfileChangeListener {
+public class AllAppsTransitionController implements StateHandler, OnDeviceProfileChangeListener,
+ ProgressInterface {
public static final Property<AllAppsTransitionController, Float> ALL_APPS_PROGRESS =
new Property<AllAppsTransitionController, Float>(Float.class, "allAppsProgress") {
@@ -74,40 +74,6 @@
}
};
- /**
- * Property that either sets the progress directly or animates the progress via a spring.
- */
- public static class AllAppsSpringProperty extends
- SpringProperty<AllAppsTransitionController, Float> {
-
- SpringAnimation mSpring;
- boolean useSpring = false;
-
- public AllAppsSpringProperty(SpringAnimation spring) {
- super(Float.class, "allAppsSpringProperty");
- mSpring = spring;
- }
-
- @Override
- public Float get(AllAppsTransitionController controller) {
- return controller.getProgress();
- }
-
- @Override
- public void set(AllAppsTransitionController controller, Float progress) {
- if (useSpring) {
- mSpring.animateToFinalPosition(progress);
- } else {
- controller.setProgress(progress);
- }
- }
-
- @Override
- public void switchToSpring() {
- useSpring = true;
- }
- }
-
private AllAppsContainerView mAppsView;
private ScrimView mScrimView;
@@ -161,6 +127,7 @@
* @see #setState(LauncherState)
* @see #setStateWithAnimation(LauncherState, AnimatorSetBuilder, AnimationConfig)
*/
+ @Override
public void setProgress(float progress) {
mProgress = progress;
mScrimView.setProgress(progress);
@@ -185,6 +152,7 @@
}
}
+ @Override
public float getProgress() {
return mProgress;
}
@@ -223,8 +191,8 @@
Interpolator interpolator = config.userControlled ? LINEAR : toState == OVERVIEW
? builder.getInterpolator(ANIM_OVERVIEW_SCALE, FAST_OUT_SLOW_IN)
: FAST_OUT_SLOW_IN;
- Animator anim = new SpringObjectAnimator(this, 1f / mShiftRange, mProgress,
- targetProgress);
+ Animator anim = new SpringObjectAnimator<>(this, ALL_APPS_PROGRESS_SPRING,
+ "allAppsSpringFromAATC", 1f / mShiftRange, mProgress, targetProgress);
anim.setDuration(config.duration);
anim.setInterpolator(builder.getInterpolator(ANIM_VERTICAL_PROGRESS, interpolator));
anim.addListener(getProgressAnimatorListener());
diff --git a/src/com/android/launcher3/anim/SpringObjectAnimator.java b/src/com/android/launcher3/anim/SpringObjectAnimator.java
index b2b931d..4ece909 100644
--- a/src/com/android/launcher3/anim/SpringObjectAnimator.java
+++ b/src/com/android/launcher3/anim/SpringObjectAnimator.java
@@ -23,30 +23,32 @@
import android.util.Log;
import android.util.Property;
-import com.android.launcher3.allapps.AllAppsTransitionController;
-import com.android.launcher3.allapps.AllAppsTransitionController.AllAppsSpringProperty;
+import com.android.launcher3.ProgressInterface;
import java.util.ArrayList;
import androidx.dynamicanimation.animation.DynamicAnimation.OnAnimationEndListener;
+import androidx.dynamicanimation.animation.FloatPropertyCompat;
import androidx.dynamicanimation.animation.SpringAnimation;
import androidx.dynamicanimation.animation.SpringForce;
+import static com.android.launcher3.config.FeatureFlags.QUICKSTEP_SPRINGS;
+
/**
* This animator allows for an object's property to be be controlled by an {@link ObjectAnimator} or
* a {@link SpringAnimation}. It extends ValueAnimator so it can be used in an AnimatorSet.
*/
-public class SpringObjectAnimator extends ValueAnimator {
+public class SpringObjectAnimator<T extends ProgressInterface> extends ValueAnimator {
private static final String TAG = "SpringObjectAnimator";
private static boolean DEBUG = false;
- private AllAppsTransitionController mObject;
+ private T mObject;
private ObjectAnimator mObjectAnimator;
private float[] mValues;
private SpringAnimation mSpring;
- private AllAppsSpringProperty mProperty;
+ private SpringProperty<T> mProperty;
private ArrayList<AnimatorListener> mListeners;
private boolean mSpringEnded = false;
@@ -56,16 +58,16 @@
private static final float SPRING_DAMPING_RATIO = 0.9f;
private static final float SPRING_STIFFNESS = 600f;
- public SpringObjectAnimator(AllAppsTransitionController object, float minimumVisibleChange,
- float... values) {
+ public SpringObjectAnimator(T object, FloatPropertyCompat<T> floatProperty,
+ String name, float minimumVisibleChange, float... values) {
mObject = object;
- mSpring = new SpringAnimation(object, AllAppsTransitionController.ALL_APPS_PROGRESS_SPRING);
+ mSpring = new SpringAnimation(object, floatProperty);
mSpring.setMinimumVisibleChange(minimumVisibleChange);
mSpring.setSpring(new SpringForce(0)
.setDampingRatio(SPRING_DAMPING_RATIO)
.setStiffness(SPRING_STIFFNESS));
mSpring.setStartVelocity(0.01f);
- mProperty = new AllAppsSpringProperty(mSpring);
+ mProperty = new SpringProperty<T>(name, mSpring);
mObjectAnimator = ObjectAnimator.ofFloat(object, mProperty, values);
mValues = values;
mListeners = new ArrayList<>();
@@ -109,7 +111,8 @@
+ mSpringEnded + ", mEnded=" + mEnded);
}
- if (mAnimatorEnded && mSpringEnded && !mEnded) {
+ // If springs are disabled, ignore value of mSpringEnded
+ if (mAnimatorEnded && (mSpringEnded || !QUICKSTEP_SPRINGS.get()) && !mEnded) {
for (AnimatorListener l : mListeners) {
l.onAnimationEnd(this);
}
@@ -258,13 +261,32 @@
mObjectAnimator.setCurrentPlayTime(playTime);
}
- public static abstract class SpringProperty<T, V> extends Property<T, V> {
+ public static class SpringProperty<T extends ProgressInterface> extends Property<T, Float> {
- public SpringProperty(Class<V> type, String name) {
- super(type, name);
+ boolean useSpring = false;
+ final SpringAnimation mSpring;
+
+ public SpringProperty(String name, SpringAnimation spring) {
+ super(Float.class, name);
+ mSpring = spring;
}
- abstract public void switchToSpring();
- }
+ public void switchToSpring() {
+ useSpring = true;
+ }
+ @Override
+ public Float get(T object) {
+ return object.getProgress();
+ }
+
+ @Override
+ public void set(T object, Float progress) {
+ if (useSpring) {
+ mSpring.animateToFinalPosition(progress);
+ } else {
+ object.setProgress(progress);
+ }
+ }
+ }
}
diff --git a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
index 84e82e3..a7c0a47 100644
--- a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
+++ b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
@@ -12,6 +12,8 @@
import java.lang.reflect.Method;
import java.util.Locale;
+import androidx.annotation.NonNull;
+
public class AlphabeticIndexCompat {
private static final String TAG = "AlphabeticIndexCompat";
@@ -53,7 +55,7 @@
/**
* Computes the section name for an given string {@param s}.
*/
- public String computeSectionName(CharSequence cs) {
+ public String computeSectionName(@NonNull CharSequence cs) {
String s = Utilities.trim(cs);
String sectionName = mBaseIndex.getBucketLabel(mBaseIndex.getBucketIndex(s));
if (Utilities.trim(sectionName).isEmpty() && s.length() > 0) {
@@ -89,7 +91,7 @@
/**
* Returns the index of the bucket in which the given string should appear.
*/
- protected int getBucketIndex(String s) {
+ protected int getBucketIndex(@NonNull String s) {
if (s.isEmpty()) {
return UNKNOWN_BUCKET_INDEX;
}
diff --git a/src/com/android/launcher3/config/BaseFlags.java b/src/com/android/launcher3/config/BaseFlags.java
index 1b1b152..fa93081 100644
--- a/src/com/android/launcher3/config/BaseFlags.java
+++ b/src/com/android/launcher3/config/BaseFlags.java
@@ -95,8 +95,9 @@
public static final TogglableFlag APPLY_CONFIG_AT_RUNTIME = new TogglableFlag(
"APPLY_CONFIG_AT_RUNTIME", true, "Apply display changes dynamically");
- public static final TogglableFlag ENABLE_TASK_STABILIZER = new TogglableFlag(
- "ENABLE_TASK_STABILIZER", false, "Stable task list across fast task switches");
+ public static final ToggleableGlobalSettingsFlag ENABLE_TASK_STABILIZER
+ = new ToggleableGlobalSettingsFlag("ENABLE_TASK_STABILIZER", false,
+ "Stable task list across fast task switches");
public static final TogglableFlag QUICKSTEP_SPRINGS = new TogglableFlag("QUICKSTEP_SPRINGS",
false, "Enable springs for quickstep animations");
@@ -104,6 +105,10 @@
public static final TogglableFlag ENABLE_QUICKSTEP_LIVE_TILE = new TogglableFlag(
"ENABLE_QUICKSTEP_LIVE_TILE", false, "Enable live tile in Quickstep overview");
+ public static final ToggleableGlobalSettingsFlag SWIPE_HOME
+ = new ToggleableGlobalSettingsFlag("SWIPE_HOME", false,
+ "[WIP] Swiping up on the nav bar goes home. Swipe and hold goes to recent apps.");
+
public static void initialize(Context context) {
// Avoid the disk read for user builds
if (Utilities.IS_DEBUG_DEVICE) {
diff --git a/src/com/android/launcher3/graphics/DragPreviewProvider.java b/src/com/android/launcher3/graphics/DragPreviewProvider.java
index 75d3425..7eb4015 100644
--- a/src/com/android/launcher3/graphics/DragPreviewProvider.java
+++ b/src/com/android/launcher3/graphics/DragPreviewProvider.java
@@ -36,6 +36,7 @@
import com.android.launcher3.icons.BitmapRenderer;
import com.android.launcher3.util.UiThreadHelper;
import com.android.launcher3.widget.LauncherAppWidgetHostView;
+import com.android.launcher3.widget.PendingAppWidgetHostView;
import java.nio.ByteBuffer;
@@ -131,9 +132,15 @@
width = (int) (mView.getWidth() * scale);
height = (int) (mView.getHeight() * scale);
- // Use software renderer for widgets as we know that they already work
- return BitmapRenderer.createSoftwareBitmap(width + blurSizeOutline,
- height + blurSizeOutline, (c) -> drawDragView(c, scale));
+ if (mView instanceof PendingAppWidgetHostView) {
+ // Use hardware renderer as the icon for the pending app widget may be a hw bitmap
+ return BitmapRenderer.createHardwareBitmap(width + blurSizeOutline,
+ height + blurSizeOutline, (c) -> drawDragView(c, scale));
+ } else {
+ // Use software renderer for widgets as we know that they already work
+ return BitmapRenderer.createSoftwareBitmap(width + blurSizeOutline,
+ height + blurSizeOutline, (c) -> drawDragView(c, scale));
+ }
}
return BitmapRenderer.createHardwareBitmap(width + blurSizeOutline,
diff --git a/src/com/android/launcher3/graphics/GridOptionsProvider.java b/src/com/android/launcher3/graphics/GridOptionsProvider.java
index 9b907ba..efd39ee 100644
--- a/src/com/android/launcher3/graphics/GridOptionsProvider.java
+++ b/src/com/android/launcher3/graphics/GridOptionsProvider.java
@@ -25,6 +25,8 @@
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
@@ -40,6 +42,9 @@
* is_default: true if this grid is currently active
*
* /preview: Opens a file stream for the grid preview
+ *
+ * /default_grid: Call update to set the current grid, with values
+ * name: name of the grid to apply
*/
public class GridOptionsProvider extends ContentProvider {
@@ -51,6 +56,9 @@
private static final String KEY_PREVIEW_COUNT = "preview_count";
private static final String KEY_IS_DEFAULT = "is_default";
+ private static final String KEY_LIST_OPTIONS = "/list_options";
+ private static final String KEY_DEFAULT_GRID = "/default_grid";
+
private static final String KEY_PREVIEW = "preview";
private static final String MIME_TYPE_PNG = "image/png";
@@ -75,33 +83,41 @@
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
- // TODO: Validate the query uri
+ if (!KEY_LIST_OPTIONS.equals(uri.getPath())) {
+ return null;
+ }
MatrixCursor cursor = new MatrixCursor(new String[] {
KEY_NAME, KEY_ROWS, KEY_COLS, KEY_PREVIEW_COUNT, KEY_IS_DEFAULT});
InvariantDeviceProfile idp = InvariantDeviceProfile.INSTANCE.get(getContext());
+ for (GridOption gridOption : parseAllGridOptions()) {
+ cursor.newRow()
+ .add(KEY_NAME, gridOption.name)
+ .add(KEY_ROWS, gridOption.numRows)
+ .add(KEY_COLS, gridOption.numColumns)
+ .add(KEY_PREVIEW_COUNT, 1)
+ .add(KEY_IS_DEFAULT, idp.numColumns == gridOption.numColumns
+ && idp.numRows == gridOption.numRows);
+ }
+ return cursor;
+ }
+
+ private List<GridOption> parseAllGridOptions() {
+ List<GridOption> result = new ArrayList<>();
try (XmlResourceParser parser = getContext().getResources().getXml(R.xml.device_profiles)) {
final int depth = parser.getDepth();
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
- if ((type == XmlPullParser.START_TAG) && "grid-option".equals(parser.getName())) {
- GridOption gridOption = new GridOption(
- getContext(), Xml.asAttributeSet(parser));
-
- cursor.newRow()
- .add(KEY_NAME, gridOption.name)
- .add(KEY_ROWS, gridOption.numRows)
- .add(KEY_COLS, gridOption.numColumns)
- .add(KEY_PREVIEW_COUNT, 1)
- .add(KEY_IS_DEFAULT, idp.numColumns == gridOption.numColumns
- && idp.numRows == gridOption.numRows);
+ if ((type == XmlPullParser.START_TAG)
+ && GridOption.TAG_NAME.equals(parser.getName())) {
+ result.add(new GridOption(getContext(), Xml.asAttributeSet(parser)));
}
}
} catch (IOException | XmlPullParserException e) {
Log.e(TAG, "Error parsing device profile", e);
+ return Collections.emptyList();
}
-
- return cursor;
+ return result;
}
@Override
@@ -125,7 +141,25 @@
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
- return 0;
+ if (!KEY_DEFAULT_GRID.equals(uri.getPath())) {
+ return 0;
+ }
+
+ String gridName = values.getAsString(KEY_NAME);
+ // Verify that this is a valid grid option
+ GridOption match = null;
+ for (GridOption option : parseAllGridOptions()) {
+ if (option.name.equals(gridName)) {
+ match = option;
+ break;
+ }
+ }
+ if (match == null) {
+ return 0;
+ }
+
+ InvariantDeviceProfile.INSTANCE.get(getContext()).setCurrentGrid(getContext(), gridName);
+ return 1;
}
@Override
diff --git a/src/com/android/launcher3/util/ViewPool.java b/src/com/android/launcher3/util/ViewPool.java
new file mode 100644
index 0000000..8af048d
--- /dev/null
+++ b/src/com/android/launcher3/util/ViewPool.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2019 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.util;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.launcher3.util.ViewPool.Reusable;
+
+import androidx.annotation.AnyThread;
+import androidx.annotation.Nullable;
+import androidx.annotation.UiThread;
+
+/**
+ * Utility class to maintain a pool of reusable views.
+ * During initialization, views are inflated on the background thread.
+ */
+public class ViewPool<T extends View & Reusable> {
+
+ private final Object[] mPool;
+
+ private final LayoutInflater mInflater;
+ private final ViewGroup mParent;
+ private final int mLayoutId;
+
+ private int mCurrentSize = 0;
+
+ public ViewPool(Context context, @Nullable ViewGroup parent,
+ int layoutId, int maxSize, int initialSize) {
+ mLayoutId = layoutId;
+ mParent = parent;
+ mInflater = LayoutInflater.from(context);
+ mPool = new Object[maxSize];
+
+ if (initialSize > 0) {
+ initPool(initialSize);
+ }
+ }
+
+ @UiThread
+ private void initPool(int initialSize) {
+ Preconditions.assertUIThread();
+ Handler handler = new Handler();
+
+ // Inflate views on a non looper thread. This allows us to catch errors like calling
+ // "new Handler()" in constructor easily.
+ new Thread(() -> {
+ for (int i = 0; i < initialSize; i++) {
+ T view = inflateNewView();
+ handler.post(() -> addToPool(view));
+ }
+ }).start();
+ }
+
+ @UiThread
+ public void recycle(T view) {
+ Preconditions.assertUIThread();
+ view.onRecycle();
+ addToPool(view);
+ }
+
+ @UiThread
+ private void addToPool(T view) {
+ Preconditions.assertUIThread();
+ if (mCurrentSize >= mPool.length) {
+ // pool is full
+ return;
+ }
+
+ mPool[mCurrentSize] = view;
+ mCurrentSize++;
+ }
+
+ @UiThread
+ public T getView() {
+ Preconditions.assertUIThread();
+ if (mCurrentSize > 0) {
+ mCurrentSize--;
+ return (T) mPool[mCurrentSize];
+ }
+ return inflateNewView();
+ }
+
+ @AnyThread
+ private T inflateNewView() {
+ return (T) mInflater.inflate(mLayoutId, mParent, false);
+ }
+
+ /**
+ * Interface to indicate that a view is reusable
+ */
+ public interface Reusable {
+
+ /**
+ * Called when a view is recycled / added back to the pool
+ */
+ void onRecycle();
+ }
+}
diff --git a/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java b/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
index 9a17ec6..7a7f828 100644
--- a/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
+++ b/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
@@ -69,7 +69,8 @@
WidgetItemComparator widgetComparator = new WidgetItemComparator();
for (Map.Entry<PackageItemInfo, ArrayList<WidgetItem>> entry : mWidgetsList.entrySet()) {
WidgetListRowEntry row = new WidgetListRowEntry(entry.getKey(), entry.getValue());
- row.titleSectionName = indexer.computeSectionName(row.pkgItem.title);
+ row.titleSectionName = (row.pkgItem.title == null) ? "" :
+ indexer.computeSectionName(row.pkgItem.title);
Collections.sort(row.widgets, widgetComparator);
result.add(row);
}
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
index 8c03e4b..1b34598 100644
--- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
+++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
@@ -123,7 +123,7 @@
public void evaluate() throws Throwable {
try {
// Create launcher activity if necessary and bring it to the front.
- mDevice.pressHome();
+ mLauncher.pressHome();
waitForLauncherCondition("Launcher activity wasn't created",
launcher -> launcher != null);
diff --git a/tests/src/com/android/launcher3/ui/AllAppsIconToHomeTest.java b/tests/src/com/android/launcher3/ui/AllAppsIconToHomeTest.java
index 9354862..fdf87be 100644
--- a/tests/src/com/android/launcher3/ui/AllAppsIconToHomeTest.java
+++ b/tests/src/com/android/launcher3/ui/AllAppsIconToHomeTest.java
@@ -21,14 +21,12 @@
LauncherActivityInfo settingsApp = getSettingsApp();
clearHomescreen();
- mDevice.pressHome();
- mDevice.waitForIdle();
final String appName = settingsApp.getLabel().toString();
// 1. Open all apps and wait for load complete.
// 2. Drag icon to homescreen.
// 3. Verify that the icon works on homescreen.
- mLauncher.getWorkspace().
+ mLauncher.pressHome().
switchToAllApps().
getAppIcon(appName).
dragToWorkspace().
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIcon.java b/tests/tapl/com/android/launcher3/tapl/AppIcon.java
index 7582d53..3ffd30c 100644
--- a/tests/tapl/com/android/launcher3/tapl/AppIcon.java
+++ b/tests/tapl/com/android/launcher3/tapl/AppIcon.java
@@ -32,7 +32,7 @@
}
static BySelector getAppIconSelector(String appName, LauncherInstrumentation launcher) {
- return By.clazz(TextView.class).text(appName).pkg(launcher.mLauncherPackageName);
+ return By.clazz(TextView.class).text(appName).pkg(launcher.getLauncherPackageName());
}
/**
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java b/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
index 2a03f9a..7f28151 100644
--- a/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
+++ b/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
@@ -20,6 +20,8 @@
import androidx.test.uiautomator.UiObject2;
+import java.util.List;
+
/**
* Context menu of an app icon.
*/
@@ -37,10 +39,9 @@
* Returns a menu item with a given number. Fails if it doesn't exist.
*/
public AppIconMenuItem getMenuItem(int itemNumber) {
- assertTrue(mDeepShortcutsContainer.getChildCount() > itemNumber);
-
- final UiObject2 shortcut = mLauncher.waitForObjectInContainer(
- mDeepShortcutsContainer.getChildren().get(itemNumber), "bubble_text");
- return new AppIconMenuItem(mLauncher, shortcut);
+ final List<UiObject2> menuItems = mLauncher.getObjectsInContainer(mDeepShortcutsContainer,
+ "bubble_text");
+ assertTrue(menuItems.size() > itemNumber);
+ return new AppIconMenuItem(mLauncher, menuItems.get(itemNumber));
}
}
diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java
index 27e0954..08d2889 100644
--- a/tests/tapl/com/android/launcher3/tapl/Background.java
+++ b/tests/tapl/com/android/launcher3/tapl/Background.java
@@ -64,7 +64,7 @@
mLauncher.swipe(
navBar.getVisibleBounds().centerX(), navBar.getVisibleBounds().centerY(),
- navBar.getVisibleBounds().centerX(), height - 300);
+ navBar.getVisibleBounds().centerX(), height - 400);
} else {
mLauncher.getSystemUiObject("recent_apps").click();
}
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 7070555..49bd73a 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -41,6 +41,7 @@
import org.junit.Assert;
import java.lang.ref.WeakReference;
+import java.util.List;
import java.util.concurrent.TimeoutException;
/**
@@ -89,7 +90,6 @@
private static WeakReference<VisibleContainer> sActiveContainer = new WeakReference<>(null);
private final UiDevice mDevice;
- final String mLauncherPackageName;
private final boolean mSwipeUpEnabled;
private Boolean mSwipeUpEnabledOverride = null;
private final Instrumentation mInstrumentation;
@@ -101,7 +101,6 @@
public LauncherInstrumentation(Instrumentation instrumentation) {
mInstrumentation = instrumentation;
mDevice = UiDevice.getInstance(instrumentation);
- mLauncherPackageName = mDevice.getLauncherPackageName();
final boolean swipeUpEnabledDefault =
!SwipeUpSetting.isSwipeUpSettingAvailable() ||
SwipeUpSetting.isSwipeUpEnabledDefaultValue();
@@ -369,6 +368,11 @@
}
@NonNull
+ List<UiObject2> getObjectsInContainer(UiObject2 container, String resName) {
+ return container.findObjects(getLauncherObjectSelector(resName));
+ }
+
+ @NonNull
UiObject2 waitForObjectInContainer(UiObject2 container, String resName) {
final UiObject2 object = container.wait(
Until.findObject(getLauncherObjectSelector(resName)),
@@ -382,13 +386,16 @@
UiObject2 waitForLauncherObject(String resName) {
final BySelector selector = getLauncherObjectSelector(resName);
final UiObject2 object = mDevice.wait(Until.findObject(selector), WAIT_TIME_MS);
- assertNotNull("Can't find a launcher object; selector: " + selector + ", current launcher: "
- + mDevice.getLauncherPackageName(), object);
+ assertNotNull("Can't find a launcher object; selector: " + selector, object);
return object;
}
BySelector getLauncherObjectSelector(String resName) {
- return By.res(mLauncherPackageName, resName);
+ return By.res(getLauncherPackageName(), resName);
+ }
+
+ String getLauncherPackageName() {
+ return mDevice.getLauncherPackageName();
}
@NonNull