summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk18
-rw-r--r--WallpaperPicker/res/values-af/strings.xml2
-rw-r--r--WallpaperPicker/res/values-am/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ar/strings.xml2
-rw-r--r--WallpaperPicker/res/values-bg/strings.xml2
-rw-r--r--WallpaperPicker/res/values-bn-rBD/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ca/strings.xml2
-rw-r--r--WallpaperPicker/res/values-cs/strings.xml2
-rw-r--r--WallpaperPicker/res/values-da/strings.xml2
-rw-r--r--WallpaperPicker/res/values-de/strings.xml2
-rw-r--r--WallpaperPicker/res/values-el/strings.xml2
-rw-r--r--WallpaperPicker/res/values-en-rAU/strings.xml2
-rw-r--r--WallpaperPicker/res/values-en-rGB/strings.xml2
-rw-r--r--WallpaperPicker/res/values-en-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-es-rUS/strings.xml2
-rw-r--r--WallpaperPicker/res/values-es/strings.xml2
-rw-r--r--WallpaperPicker/res/values-et-rEE/strings.xml2
-rw-r--r--WallpaperPicker/res/values-eu-rES/strings.xml2
-rw-r--r--WallpaperPicker/res/values-fa/strings.xml2
-rw-r--r--WallpaperPicker/res/values-fi/strings.xml2
-rw-r--r--WallpaperPicker/res/values-fr-rCA/strings.xml2
-rw-r--r--WallpaperPicker/res/values-fr/strings.xml2
-rw-r--r--WallpaperPicker/res/values-gl-rES/strings.xml2
-rw-r--r--WallpaperPicker/res/values-hi/strings.xml2
-rw-r--r--WallpaperPicker/res/values-hr/strings.xml2
-rw-r--r--WallpaperPicker/res/values-hu/strings.xml2
-rw-r--r--WallpaperPicker/res/values-hy-rAM/strings.xml2
-rw-r--r--WallpaperPicker/res/values-in/strings.xml2
-rw-r--r--WallpaperPicker/res/values-is-rIS/strings.xml2
-rw-r--r--WallpaperPicker/res/values-it/strings.xml2
-rw-r--r--WallpaperPicker/res/values-iw/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ja/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ka-rGE/strings.xml2
-rw-r--r--WallpaperPicker/res/values-kk-rKZ/strings.xml2
-rw-r--r--WallpaperPicker/res/values-km-rKH/strings.xml2
-rw-r--r--WallpaperPicker/res/values-kn-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ko/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ky-rKG/strings.xml2
-rw-r--r--WallpaperPicker/res/values-lo-rLA/strings.xml2
-rw-r--r--WallpaperPicker/res/values-lt/strings.xml2
-rw-r--r--WallpaperPicker/res/values-lv/strings.xml2
-rw-r--r--WallpaperPicker/res/values-mk-rMK/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ml-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-mn-rMN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-mr-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ms-rMY/strings.xml2
-rw-r--r--WallpaperPicker/res/values-my-rMM/strings.xml2
-rw-r--r--WallpaperPicker/res/values-nb/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ne-rNP/strings.xml2
-rw-r--r--WallpaperPicker/res/values-nl/strings.xml2
-rw-r--r--WallpaperPicker/res/values-pl/strings.xml2
-rw-r--r--WallpaperPicker/res/values-pt-rPT/strings.xml2
-rw-r--r--WallpaperPicker/res/values-pt/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ro/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ru/strings.xml2
-rw-r--r--WallpaperPicker/res/values-si-rLK/strings.xml2
-rw-r--r--WallpaperPicker/res/values-sk/strings.xml2
-rw-r--r--WallpaperPicker/res/values-sl/strings.xml2
-rw-r--r--WallpaperPicker/res/values-sr/strings.xml2
-rw-r--r--WallpaperPicker/res/values-sv/strings.xml2
-rw-r--r--WallpaperPicker/res/values-sw/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ta-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-te-rIN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-th/strings.xml2
-rw-r--r--WallpaperPicker/res/values-tl/strings.xml2
-rw-r--r--WallpaperPicker/res/values-tr/strings.xml2
-rw-r--r--WallpaperPicker/res/values-uk/strings.xml2
-rw-r--r--WallpaperPicker/res/values-ur-rPK/strings.xml2
-rw-r--r--WallpaperPicker/res/values-uz-rUZ/strings.xml4
-rw-r--r--WallpaperPicker/res/values-vi/strings.xml2
-rw-r--r--WallpaperPicker/res/values-zh-rCN/strings.xml2
-rw-r--r--WallpaperPicker/res/values-zh-rHK/strings.xml2
-rw-r--r--WallpaperPicker/res/values-zh-rTW/strings.xml2
-rw-r--r--WallpaperPicker/res/values-zu/strings.xml2
-rw-r--r--res/drawable/widgets_row_divider.xml2
-rw-r--r--res/layout/all_apps_container.xml12
-rw-r--r--res/layout/all_apps_prediction_bar_icon.xml5
-rw-r--r--res/layout/widgets_list_row_view.xml2
-rw-r--r--res/values-el/strings.xml2
-rw-r--r--res/values-uz-rUZ/strings.xml2
-rw-r--r--res/values/colors.xml3
-rw-r--r--res/values/dimens.xml6
-rw-r--r--src/com/android/launcher3/AutoInstallsLayout.java3
-rw-r--r--src/com/android/launcher3/Folder.java29
-rw-r--r--src/com/android/launcher3/IconCache.java94
-rw-r--r--src/com/android/launcher3/Launcher.java3
-rw-r--r--src/com/android/launcher3/LauncherAppWidgetHost.java18
-rw-r--r--src/com/android/launcher3/Utilities.java8
-rw-r--r--src/com/android/launcher3/Workspace.java5
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java251
-rw-r--r--src/com/android/launcher3/allapps/AllAppsGridAdapter.java91
-rw-r--r--src/com/android/launcher3/allapps/AllAppsRecyclerView.java49
-rw-r--r--src/com/android/launcher3/allapps/AllAppsRecyclerViewContainerView.java37
-rw-r--r--src/com/android/launcher3/allapps/AllAppsSearchBarController.java1
-rw-r--r--src/com/android/launcher3/allapps/AlphabeticalAppsList.java70
-rw-r--r--src/com/android/launcher3/allapps/DefaultAppSearchController.java3
-rw-r--r--src/com/android/launcher3/util/UiThreadCircularReveal.java6
97 files changed, 305 insertions, 563 deletions
diff --git a/Android.mk b/Android.mk
index d7bfdd464..2e574783d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -23,31 +23,21 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
-
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
$(call all-java-files-under, WallpaperPicker/src) \
- $(call all-renderscript-files-under, src) \
$(call all-proto-files-under, protos)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/WallpaperPicker/res $(LOCAL_PATH)/res
-
-LOCAL_AAPT_FLAGS := --auto-add-overlay
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v7-recyclerview
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
+LOCAL_AAPT_FLAGS := --auto-add-overlay
-LOCAL_SDK_VERSION := 21
-LOCAL_STATIC_JAVA_LIBRARIES := \
- android-support-v4 \
- android-support-v7-recyclerview
-
+LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := Launcher3
-#LOCAL_CERTIFICATE := shared
-
LOCAL_OVERRIDES_PACKAGES := Launcher2
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
include $(BUILD_PACKAGE)
#
diff --git a/WallpaperPicker/res/values-af/strings.xml b/WallpaperPicker/res/values-af/strings.xml
index c17d26be0..eb816402a 100644
--- a/WallpaperPicker/res/values-af/strings.xml
+++ b/WallpaperPicker/res/values-af/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Muurpapier %1$d van %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Het <xliff:g id="LABEL">%1$s</xliff:g> gekies"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Vee uit"</string>
- <string name="pick_image" msgid="6704438906027442697">"Kies prent"</string>
+ <string name="pick_image" msgid="3189640419551368385">"My foto\'s"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Muurpapiere"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Snoei muurpapier"</string>
</resources>
diff --git a/WallpaperPicker/res/values-am/strings.xml b/WallpaperPicker/res/values-am/strings.xml
index 59c3bf733..7e793856e 100644
--- a/WallpaperPicker/res/values-am/strings.xml
+++ b/WallpaperPicker/res/values-am/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"ልጣፍ %1$d የ%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> ተመርጧል"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ሰርዝ"</string>
- <string name="pick_image" msgid="6704438906027442697">"ምስል ይምረጡ"</string>
+ <string name="pick_image" msgid="3189640419551368385">"የእኔ ፎቶዎች"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"የግድግዳ ወረቀቶች"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ልጣፍ ይከርክሙ"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ar/strings.xml b/WallpaperPicker/res/values-ar/strings.xml
index 2075cc875..84fa104db 100644
--- a/WallpaperPicker/res/values-ar/strings.xml
+++ b/WallpaperPicker/res/values-ar/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"‏الخلفية %1$d من %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"تم تحديد <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"حذف"</string>
- <string name="pick_image" msgid="6704438906027442697">"اختيار صورة"</string>
+ <string name="pick_image" msgid="3189640419551368385">"صوري"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"الخلفيات"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"اقتصاص الخلفية"</string>
</resources>
diff --git a/WallpaperPicker/res/values-bg/strings.xml b/WallpaperPicker/res/values-bg/strings.xml
index ce4fc651b..60ae3022f 100644
--- a/WallpaperPicker/res/values-bg/strings.xml
+++ b/WallpaperPicker/res/values-bg/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Тапет %1$d от %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Избрахте <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Изтриване"</string>
- <string name="pick_image" msgid="6704438906027442697">"Избиране на изображение"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Моите снимки"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Тапети"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Подрязване на тапета"</string>
</resources>
diff --git a/WallpaperPicker/res/values-bn-rBD/strings.xml b/WallpaperPicker/res/values-bn-rBD/strings.xml
index a4fccb208..74d7e57bd 100644
--- a/WallpaperPicker/res/values-bn-rBD/strings.xml
+++ b/WallpaperPicker/res/values-bn-rBD/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$dটির মধ্যে %1$dটি ওয়ালপেপার"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> নির্বাচন করা হয়েছে"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"মুছুন"</string>
- <string name="pick_image" msgid="6704438906027442697">"চিত্র বাছুন"</string>
+ <string name="pick_image" msgid="3189640419551368385">"আমার ফটো"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"ওয়ালপেপারগুলি"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ওয়ালপেপার কাটছাঁট করুন"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ca/strings.xml b/WallpaperPicker/res/values-ca/strings.xml
index 89de81c30..cbec76250 100644
--- a/WallpaperPicker/res/values-ca/strings.xml
+++ b/WallpaperPicker/res/values-ca/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fons de pantalla %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"S\'ha seleccionat <xliff:g id="LABEL">%1$s</xliff:g>."</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Suprimeix"</string>
- <string name="pick_image" msgid="6704438906027442697">"Tria una imatge"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Les meves fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fons de pantalla"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Retallar fons de pantalla"</string>
</resources>
diff --git a/WallpaperPicker/res/values-cs/strings.xml b/WallpaperPicker/res/values-cs/strings.xml
index a07b9eda2..da0758e0a 100644
--- a/WallpaperPicker/res/values-cs/strings.xml
+++ b/WallpaperPicker/res/values-cs/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Tapeta %1$d z %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Vybrána položka <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Smazat"</string>
- <string name="pick_image" msgid="6704438906027442697">"Vybrat obrázek"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Moje fotografie"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Oříznutí tapety"</string>
</resources>
diff --git a/WallpaperPicker/res/values-da/strings.xml b/WallpaperPicker/res/values-da/strings.xml
index 5b233e1d0..12c0fe87e 100644
--- a/WallpaperPicker/res/values-da/strings.xml
+++ b/WallpaperPicker/res/values-da/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Baggrund %1$d af %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> blev valgt"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Slet"</string>
- <string name="pick_image" msgid="6704438906027442697">"Vælg et billede"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mine billeder"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Baggrunde"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Beskær baggrunden"</string>
</resources>
diff --git a/WallpaperPicker/res/values-de/strings.xml b/WallpaperPicker/res/values-de/strings.xml
index 11c1cac6a..3171b3f3a 100644
--- a/WallpaperPicker/res/values-de/strings.xml
+++ b/WallpaperPicker/res/values-de/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Hintergrund %1$d von %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> ausgewählt"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Löschen"</string>
- <string name="pick_image" msgid="6704438906027442697">"Bild auswählen"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Meine Fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Hintergründe"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Hintergrund zuschneiden"</string>
</resources>
diff --git a/WallpaperPicker/res/values-el/strings.xml b/WallpaperPicker/res/values-el/strings.xml
index 8e1e78fb9..2988beced 100644
--- a/WallpaperPicker/res/values-el/strings.xml
+++ b/WallpaperPicker/res/values-el/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Ταπετσαρία %1$d από %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Επιλέχθηκε το <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Διαγραφή"</string>
- <string name="pick_image" msgid="6704438906027442697">"Επιλογή εικόνας"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Οι φωτογραφίες μου"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Ταπετσαρίες"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Περικοπή ταπετσαρίας"</string>
</resources>
diff --git a/WallpaperPicker/res/values-en-rAU/strings.xml b/WallpaperPicker/res/values-en-rAU/strings.xml
index c057c0cb3..30450ee81 100644
--- a/WallpaperPicker/res/values-en-rAU/strings.xml
+++ b/WallpaperPicker/res/values-en-rAU/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Wallpaper %1$d of %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Selected <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Delete"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pick image"</string>
+ <string name="pick_image" msgid="3189640419551368385">"My photos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string>
</resources>
diff --git a/WallpaperPicker/res/values-en-rGB/strings.xml b/WallpaperPicker/res/values-en-rGB/strings.xml
index c057c0cb3..30450ee81 100644
--- a/WallpaperPicker/res/values-en-rGB/strings.xml
+++ b/WallpaperPicker/res/values-en-rGB/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Wallpaper %1$d of %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Selected <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Delete"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pick image"</string>
+ <string name="pick_image" msgid="3189640419551368385">"My photos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string>
</resources>
diff --git a/WallpaperPicker/res/values-en-rIN/strings.xml b/WallpaperPicker/res/values-en-rIN/strings.xml
index c057c0cb3..30450ee81 100644
--- a/WallpaperPicker/res/values-en-rIN/strings.xml
+++ b/WallpaperPicker/res/values-en-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Wallpaper %1$d of %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Selected <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Delete"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pick image"</string>
+ <string name="pick_image" msgid="3189640419551368385">"My photos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string>
</resources>
diff --git a/WallpaperPicker/res/values-es-rUS/strings.xml b/WallpaperPicker/res/values-es-rUS/strings.xml
index 768385b9e..c18ecb233 100644
--- a/WallpaperPicker/res/values-es-rUS/strings.xml
+++ b/WallpaperPicker/res/values-es-rUS/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fondo de pantalla %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> seleccionado"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Eliminar"</string>
- <string name="pick_image" msgid="6704438906027442697">"Elegir imagen"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mis fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fondos de pantalla"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Recortar fondo de pantalla"</string>
</resources>
diff --git a/WallpaperPicker/res/values-es/strings.xml b/WallpaperPicker/res/values-es/strings.xml
index 702b6d413..b7221af2a 100644
--- a/WallpaperPicker/res/values-es/strings.xml
+++ b/WallpaperPicker/res/values-es/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fondo de pantalla %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> seleccionado"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Eliminar"</string>
- <string name="pick_image" msgid="6704438906027442697">"Seleccionar imagen"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mis fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fondos de pantalla"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Recortar fondo de pantalla"</string>
</resources>
diff --git a/WallpaperPicker/res/values-et-rEE/strings.xml b/WallpaperPicker/res/values-et-rEE/strings.xml
index c09e223d9..571a0ffbd 100644
--- a/WallpaperPicker/res/values-et-rEE/strings.xml
+++ b/WallpaperPicker/res/values-et-rEE/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d/%2$d taustapildist"</string>
<string name="announce_selection" msgid="123723511662250539">"Valitud on <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Kustuta"</string>
- <string name="pick_image" msgid="6704438906027442697">"Vali kujutis"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Minu fotod"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Taustapildid"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Taustapildi kärpimine"</string>
</resources>
diff --git a/WallpaperPicker/res/values-eu-rES/strings.xml b/WallpaperPicker/res/values-eu-rES/strings.xml
index 327550d52..45bf7a106 100644
--- a/WallpaperPicker/res/values-eu-rES/strings.xml
+++ b/WallpaperPicker/res/values-eu-rES/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d/%2$d horma-papera"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> hautatu da"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Ezabatu"</string>
- <string name="pick_image" msgid="6704438906027442697">"Hautatu irudia"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Nire argazkiak"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Horma-paperak"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Ebaki horma-papera"</string>
</resources>
diff --git a/WallpaperPicker/res/values-fa/strings.xml b/WallpaperPicker/res/values-fa/strings.xml
index ef4bc4fa6..20289d087 100644
--- a/WallpaperPicker/res/values-fa/strings.xml
+++ b/WallpaperPicker/res/values-fa/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"‏کاغذدیواری %1$d از %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> انتخاب شد"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"حذف"</string>
- <string name="pick_image" msgid="6704438906027442697">"انتخاب تصویر"</string>
+ <string name="pick_image" msgid="3189640419551368385">"عکس‌های من"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"کاغذدیواری‌ها"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"برش کاغذدیواری"</string>
</resources>
diff --git a/WallpaperPicker/res/values-fi/strings.xml b/WallpaperPicker/res/values-fi/strings.xml
index 0fa4b7bcf..c82d3e0ed 100644
--- a/WallpaperPicker/res/values-fi/strings.xml
+++ b/WallpaperPicker/res/values-fi/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Taustakuva %1$d/%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Valittu: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Poista"</string>
- <string name="pick_image" msgid="6704438906027442697">"Valitse kuva"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Omat valokuvat"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Taustakuvat"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Rajaa taustakuva"</string>
</resources>
diff --git a/WallpaperPicker/res/values-fr-rCA/strings.xml b/WallpaperPicker/res/values-fr-rCA/strings.xml
index e95670678..92568966e 100644
--- a/WallpaperPicker/res/values-fr-rCA/strings.xml
+++ b/WallpaperPicker/res/values-fr-rCA/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fond d\'écran %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Sélection : <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Supprimer"</string>
- <string name="pick_image" msgid="6704438906027442697">"Choisir une image"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mes photos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fonds d\'écran"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Rogner le fond d\'écran"</string>
</resources>
diff --git a/WallpaperPicker/res/values-fr/strings.xml b/WallpaperPicker/res/values-fr/strings.xml
index 37846e0f5..479a7e430 100644
--- a/WallpaperPicker/res/values-fr/strings.xml
+++ b/WallpaperPicker/res/values-fr/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fond d\'écran %1$d sur %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> sélectionné"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Supprimer"</string>
- <string name="pick_image" msgid="6704438906027442697">"Sélectionner une image"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mes photos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fonds d\'écran"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Recadrer le fond d\'écran"</string>
</resources>
diff --git a/WallpaperPicker/res/values-gl-rES/strings.xml b/WallpaperPicker/res/values-gl-rES/strings.xml
index 9f1fd5014..0396b2f62 100644
--- a/WallpaperPicker/res/values-gl-rES/strings.xml
+++ b/WallpaperPicker/res/values-gl-rES/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fondo de pantalla %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Seleccionaches <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Eliminar"</string>
- <string name="pick_image" msgid="6704438906027442697">"Escoller imaxe"</string>
+ <string name="pick_image" msgid="3189640419551368385">"As miñas fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fondos de pantalla"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Recortar fondo de pantalla"</string>
</resources>
diff --git a/WallpaperPicker/res/values-hi/strings.xml b/WallpaperPicker/res/values-hi/strings.xml
index fcb252eb5..60834e103 100644
--- a/WallpaperPicker/res/values-hi/strings.xml
+++ b/WallpaperPicker/res/values-hi/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"वॉलपेपर %2$d में से %1$d"</string>
<string name="announce_selection" msgid="123723511662250539">"चयनित <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"हटाएं"</string>
- <string name="pick_image" msgid="6704438906027442697">"चित्र चुनें"</string>
+ <string name="pick_image" msgid="3189640419551368385">"मेरी फ़ोटो"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"वॉलपेपर"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"वॉलपेपर काटें"</string>
</resources>
diff --git a/WallpaperPicker/res/values-hr/strings.xml b/WallpaperPicker/res/values-hr/strings.xml
index 5e8322f9b..3c4d36262 100644
--- a/WallpaperPicker/res/values-hr/strings.xml
+++ b/WallpaperPicker/res/values-hr/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d. pozadinska slika od %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Odabrana je <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Izbriši"</string>
- <string name="pick_image" msgid="6704438906027442697">"Odaberi sliku"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Moje fotografije"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Pozadinske slike"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Obrezivanje pozadinske slike"</string>
</resources>
diff --git a/WallpaperPicker/res/values-hu/strings.xml b/WallpaperPicker/res/values-hu/strings.xml
index 703aa12eb..d8b08fdfd 100644
--- a/WallpaperPicker/res/values-hu/strings.xml
+++ b/WallpaperPicker/res/values-hu/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d/%2$d. háttérkép"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> kiválasztva"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Törlés"</string>
- <string name="pick_image" msgid="6704438906027442697">"Kép kiválasztása"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Saját fotók"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Háttérképek"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Háttérkép körbevágása"</string>
</resources>
diff --git a/WallpaperPicker/res/values-hy-rAM/strings.xml b/WallpaperPicker/res/values-hy-rAM/strings.xml
index f3891dd35..027b841a7 100644
--- a/WallpaperPicker/res/values-hy-rAM/strings.xml
+++ b/WallpaperPicker/res/values-hy-rAM/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d պաստառ՝ %2$d-ից"</string>
<string name="announce_selection" msgid="123723511662250539">"Ընտրված է <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Ջնջել"</string>
- <string name="pick_image" msgid="6704438906027442697">"Ընտրել պատկեր"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Իմ լուսանկարները"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Պաստառներ"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Եզրատել պաստառը"</string>
</resources>
diff --git a/WallpaperPicker/res/values-in/strings.xml b/WallpaperPicker/res/values-in/strings.xml
index f216cf343..91554522f 100644
--- a/WallpaperPicker/res/values-in/strings.xml
+++ b/WallpaperPicker/res/values-in/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Wallpaper %1$d dari %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> terpilih"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Hapus"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pilih gambar"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Foto saya"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Wallpaper"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Pangkas wallpaper"</string>
</resources>
diff --git a/WallpaperPicker/res/values-is-rIS/strings.xml b/WallpaperPicker/res/values-is-rIS/strings.xml
index 6d5d680cf..69e6cd498 100644
--- a/WallpaperPicker/res/values-is-rIS/strings.xml
+++ b/WallpaperPicker/res/values-is-rIS/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Veggfóður %1$d af %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> valið"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Eyða"</string>
- <string name="pick_image" msgid="6704438906027442697">"Velja mynd"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Myndirnar mínar"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Veggfóður"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Skera veggfóður"</string>
</resources>
diff --git a/WallpaperPicker/res/values-it/strings.xml b/WallpaperPicker/res/values-it/strings.xml
index c29946f85..f4d38d14e 100644
--- a/WallpaperPicker/res/values-it/strings.xml
+++ b/WallpaperPicker/res/values-it/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Sfondo %1$d di %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Elemento selezionato: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Elimina"</string>
- <string name="pick_image" msgid="6704438906027442697">"Scegli l\'immagine"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Le mie foto"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Sfondi"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Ritaglia sfondo"</string>
</resources>
diff --git a/WallpaperPicker/res/values-iw/strings.xml b/WallpaperPicker/res/values-iw/strings.xml
index ddc96e92c..e29f2372f 100644
--- a/WallpaperPicker/res/values-iw/strings.xml
+++ b/WallpaperPicker/res/values-iw/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"‏טפט %1$d מתוך %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"בחרת <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"מחק"</string>
- <string name="pick_image" msgid="6704438906027442697">"בחר תמונה"</string>
+ <string name="pick_image" msgid="3189640419551368385">"התמונות שלי"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"טפטים"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"חתוך את הטפט"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ja/strings.xml b/WallpaperPicker/res/values-ja/strings.xml
index 80b094453..e86026bf9 100644
--- a/WallpaperPicker/res/values-ja/strings.xml
+++ b/WallpaperPicker/res/values-ja/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"壁紙: %1$d/%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"選択: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"削除"</string>
- <string name="pick_image" msgid="6704438906027442697">"画像を選択"</string>
+ <string name="pick_image" msgid="3189640419551368385">"マイフォト"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"壁紙"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"壁紙のトリミング"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ka-rGE/strings.xml b/WallpaperPicker/res/values-ka-rGE/strings.xml
index 2f59712d8..1ae10214a 100644
--- a/WallpaperPicker/res/values-ka-rGE/strings.xml
+++ b/WallpaperPicker/res/values-ka-rGE/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"ფონი %1$d %2$d-დან"</string>
<string name="announce_selection" msgid="123723511662250539">"არჩეული <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"წაშლა"</string>
- <string name="pick_image" msgid="6704438906027442697">"სურათის ამორჩევა"</string>
+ <string name="pick_image" msgid="3189640419551368385">"ჩემი ფოტოები"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"ფონები"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ფონის ჩამოჭრა"</string>
</resources>
diff --git a/WallpaperPicker/res/values-kk-rKZ/strings.xml b/WallpaperPicker/res/values-kk-rKZ/strings.xml
index dcf372cf5..a10e27318 100644
--- a/WallpaperPicker/res/values-kk-rKZ/strings.xml
+++ b/WallpaperPicker/res/values-kk-rKZ/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d артқы фон, барлығы %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> таңдалған"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Жою"</string>
- <string name="pick_image" msgid="6704438906027442697">"Суретті таңдау"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Менің фотосуреттерім"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Артқы фондар"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Артқы фонды кесу"</string>
</resources>
diff --git a/WallpaperPicker/res/values-km-rKH/strings.xml b/WallpaperPicker/res/values-km-rKH/strings.xml
index 41722355f..2a605e86a 100644
--- a/WallpaperPicker/res/values-km-rKH/strings.xml
+++ b/WallpaperPicker/res/values-km-rKH/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"ផ្ទាំង​រូបភាព %1$d នៃ %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"បាន​ជ្រើស <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"លុប"</string>
- <string name="pick_image" msgid="6704438906027442697">"ជ្រើស​យក​រូបភាព"</string>
+ <string name="pick_image" msgid="3189640419551368385">"រូបថតរបស់ខ្ញុំ"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"ផ្ទាំង​រូបភាព"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ច្រឹប​ផ្ទាំង​រូបភាព"</string>
</resources>
diff --git a/WallpaperPicker/res/values-kn-rIN/strings.xml b/WallpaperPicker/res/values-kn-rIN/strings.xml
index 89203bf1c..b69bda529 100644
--- a/WallpaperPicker/res/values-kn-rIN/strings.xml
+++ b/WallpaperPicker/res/values-kn-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d ರಲ್ಲಿ %1$d ವಾಲ್‌ಪೇಪರ್‌"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ಅಳಿಸು"</string>
- <string name="pick_image" msgid="6704438906027442697">"ಚಿತ್ರವನ್ನು ಆರಿಸಿ"</string>
+ <string name="pick_image" msgid="3189640419551368385">"ನನ್ನ ಫೋಟೋಗಳು"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"ವಾಲ್‌ಪೇಪರ್‌ಗಳು"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ವಾಲ್‌ಪೇಪರ್‌ ಕತ್ತರಿಸಿ"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ko/strings.xml b/WallpaperPicker/res/values-ko/strings.xml
index a5a85b773..30e7cfa23 100644
--- a/WallpaperPicker/res/values-ko/strings.xml
+++ b/WallpaperPicker/res/values-ko/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"배경화면 %1$d/%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> 선택함"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"삭제"</string>
- <string name="pick_image" msgid="6704438906027442697">"이미지 선택"</string>
+ <string name="pick_image" msgid="3189640419551368385">"내 사진"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"배경화면"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"배경화면 잘라내기"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ky-rKG/strings.xml b/WallpaperPicker/res/values-ky-rKG/strings.xml
index 696b3ee17..f1ebf095d 100644
--- a/WallpaperPicker/res/values-ky-rKG/strings.xml
+++ b/WallpaperPicker/res/values-ky-rKG/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d ичинен %1$d тушкагаз"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> тандалды"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Жок кылуу"</string>
- <string name="pick_image" msgid="6704438906027442697">"Сүрөт тандоо"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Менин сүрөттөрүм"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Тушкагаздар"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Тушкагазды тегиздөө"</string>
</resources>
diff --git a/WallpaperPicker/res/values-lo-rLA/strings.xml b/WallpaperPicker/res/values-lo-rLA/strings.xml
index e46859111..e32cafb7d 100644
--- a/WallpaperPicker/res/values-lo-rLA/strings.xml
+++ b/WallpaperPicker/res/values-lo-rLA/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"ພາບພື້ນຫຼັງ %1$d ໃນ %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"ເລືອກ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ລຶບ"</string>
- <string name="pick_image" msgid="6704438906027442697">"ເລືອກ​ຮູບ​ພາບ"</string>
+ <string name="pick_image" msgid="3189640419551368385">"ຮູບຂອງຂ້ອຍ"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"ພາບພື້ນຫຼັງ"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ຕັດພາບພື້ນຫຼັງ"</string>
</resources>
diff --git a/WallpaperPicker/res/values-lt/strings.xml b/WallpaperPicker/res/values-lt/strings.xml
index 86035b883..c442e3a5a 100644
--- a/WallpaperPicker/res/values-lt/strings.xml
+++ b/WallpaperPicker/res/values-lt/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d ekrano fonas iš %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Pasirinkta: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Ištrinti"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pasirinkti vaizdą"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mano nuotraukos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Ekrano fonai"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Apkirpti ekrano foną"</string>
</resources>
diff --git a/WallpaperPicker/res/values-lv/strings.xml b/WallpaperPicker/res/values-lv/strings.xml
index 02e5cfb22..d05a17547 100644
--- a/WallpaperPicker/res/values-lv/strings.xml
+++ b/WallpaperPicker/res/values-lv/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d. fona tapete no %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Atlasīta: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Dzēst"</string>
- <string name="pick_image" msgid="6704438906027442697">"Izvēlēties attēlu"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mani fotoattēli"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Fona tapetes"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Apgriezt fona tapeti"</string>
</resources>
diff --git a/WallpaperPicker/res/values-mk-rMK/strings.xml b/WallpaperPicker/res/values-mk-rMK/strings.xml
index b1919ccd4..f9e0963ed 100644
--- a/WallpaperPicker/res/values-mk-rMK/strings.xml
+++ b/WallpaperPicker/res/values-mk-rMK/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Тапет %1$d од %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Избран <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Избриши"</string>
- <string name="pick_image" msgid="6704438906027442697">"Избери слика"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Моите фотографии"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Тапети"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Исечи тапет"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ml-rIN/strings.xml b/WallpaperPicker/res/values-ml-rIN/strings.xml
index 0b6a4c108..6be771c0e 100644
--- a/WallpaperPicker/res/values-ml-rIN/strings.xml
+++ b/WallpaperPicker/res/values-ml-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d / %2$d വാൾപേപ്പർ"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> തിരഞ്ഞെടുത്തു"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ഇല്ലാതാക്കുക"</string>
- <string name="pick_image" msgid="6704438906027442697">"ചിത്രം തിരഞ്ഞെടുക്കുക"</string>
+ <string name="pick_image" msgid="3189640419551368385">"എന്റെ ഫോട്ടോകൾ"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"വാൾപേപ്പറുകൾ"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"വാൾപേപ്പറിന്റെ വലുപ്പം മാറ്റൽ"</string>
</resources>
diff --git a/WallpaperPicker/res/values-mn-rMN/strings.xml b/WallpaperPicker/res/values-mn-rMN/strings.xml
index 71ff9e0f7..b88da5a96 100644
--- a/WallpaperPicker/res/values-mn-rMN/strings.xml
+++ b/WallpaperPicker/res/values-mn-rMN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d ханын цаасны %1$d нь"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> сонгогдсон"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Устгах"</string>
- <string name="pick_image" msgid="6704438906027442697">"Зураг сонгох"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Миний зураг"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Ханын зураг"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Ханын зургийг тайрах"</string>
</resources>
diff --git a/WallpaperPicker/res/values-mr-rIN/strings.xml b/WallpaperPicker/res/values-mr-rIN/strings.xml
index 33cfaa148..128b21c1c 100644
--- a/WallpaperPicker/res/values-mr-rIN/strings.xml
+++ b/WallpaperPicker/res/values-mr-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d पैकी %1$d वॉलपेपर"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> निवडले"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"हटवा"</string>
- <string name="pick_image" msgid="6704438906027442697">"प्रतिमा निवडा"</string>
+ <string name="pick_image" msgid="3189640419551368385">"माझे फोटो"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"वॉलपेपर"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"वॉलपेपर कापा"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ms-rMY/strings.xml b/WallpaperPicker/res/values-ms-rMY/strings.xml
index 950f4d0e1..9d824e4fa 100644
--- a/WallpaperPicker/res/values-ms-rMY/strings.xml
+++ b/WallpaperPicker/res/values-ms-rMY/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Kertas dinding %1$d daripada %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Memilih <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Padam"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pilih imej"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Foto saya"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Kertas dinding"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Pangkas kertas dinding"</string>
</resources>
diff --git a/WallpaperPicker/res/values-my-rMM/strings.xml b/WallpaperPicker/res/values-my-rMM/strings.xml
index 4d5ac47df..233611431 100644
--- a/WallpaperPicker/res/values-my-rMM/strings.xml
+++ b/WallpaperPicker/res/values-my-rMM/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"နောက်ခံ %1$d မှ %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"ရွေးချယ်ထားသော <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ဖျက်ပါ"</string>
- <string name="pick_image" msgid="6704438906027442697">"ပုံ ရွေးပါ"</string>
+ <string name="pick_image" msgid="3189640419551368385">"ကျွန်ုပ်၏ ဓာတ်ပုံများ"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"နောက်ခံများ"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"နောက်ခံအား ဖြတ်ခြင်း"</string>
</resources>
diff --git a/WallpaperPicker/res/values-nb/strings.xml b/WallpaperPicker/res/values-nb/strings.xml
index 3589e4bc8..9ae0b989a 100644
--- a/WallpaperPicker/res/values-nb/strings.xml
+++ b/WallpaperPicker/res/values-nb/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Bakgrunn %1$d av %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Valgt <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Slett"</string>
- <string name="pick_image" msgid="6704438906027442697">"Velg bilde"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mine bilder"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Bakgrunner"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Beskjær bakgrunnen"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ne-rNP/strings.xml b/WallpaperPicker/res/values-ne-rNP/strings.xml
index 221fa9438..5bca8d809 100644
--- a/WallpaperPicker/res/values-ne-rNP/strings.xml
+++ b/WallpaperPicker/res/values-ne-rNP/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d को %1$d वालपेपर"</string>
<string name="announce_selection" msgid="123723511662250539">"चयन गरिएको <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"मेट्नुहोस्"</string>
- <string name="pick_image" msgid="6704438906027442697">"तस्बिर छान्नुहोस्"</string>
+ <string name="pick_image" msgid="3189640419551368385">"मेरा तस्बिरहरू"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"वालपेपरहरु"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"वालपेपर काँटछाट गर्नुहोस्"</string>
</resources>
diff --git a/WallpaperPicker/res/values-nl/strings.xml b/WallpaperPicker/res/values-nl/strings.xml
index 7dd4f22b0..a86f0f651 100644
--- a/WallpaperPicker/res/values-nl/strings.xml
+++ b/WallpaperPicker/res/values-nl/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Achtergrond %1$d van %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> is geselecteerd"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Verwijderen"</string>
- <string name="pick_image" msgid="6704438906027442697">"Afbeelding kiezen"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mijn foto\'s"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Achtergronden"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Achtergrond bijsnijden"</string>
</resources>
diff --git a/WallpaperPicker/res/values-pl/strings.xml b/WallpaperPicker/res/values-pl/strings.xml
index bcdbb3dc7..cd52082d6 100644
--- a/WallpaperPicker/res/values-pl/strings.xml
+++ b/WallpaperPicker/res/values-pl/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Tapeta %1$d z %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Wybrano <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Usuń"</string>
- <string name="pick_image" msgid="6704438906027442697">"Wybierz obraz"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Moje zdjęcia"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Przytnij tapetę"</string>
</resources>
diff --git a/WallpaperPicker/res/values-pt-rPT/strings.xml b/WallpaperPicker/res/values-pt-rPT/strings.xml
index 83492327f..82aa4694a 100644
--- a/WallpaperPicker/res/values-pt-rPT/strings.xml
+++ b/WallpaperPicker/res/values-pt-rPT/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Imagem de fundo %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> selecionada"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Eliminar"</string>
- <string name="pick_image" msgid="6704438906027442697">"Escolher imagem"</string>
+ <string name="pick_image" msgid="3189640419551368385">"As minhas fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Imagens de fundo"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Recortar imagem de fundo"</string>
</resources>
diff --git a/WallpaperPicker/res/values-pt/strings.xml b/WallpaperPicker/res/values-pt/strings.xml
index 2332fcbd1..74ff3106c 100644
--- a/WallpaperPicker/res/values-pt/strings.xml
+++ b/WallpaperPicker/res/values-pt/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Plano de fundo %1$d de %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> selecionado"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Excluir"</string>
- <string name="pick_image" msgid="6704438906027442697">"Escolher imagem"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Minhas fotos"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Planos de fundo"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Cortar plano de fundo"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ro/strings.xml b/WallpaperPicker/res/values-ro/strings.xml
index 8ee1a5a39..6281b80fc 100644
--- a/WallpaperPicker/res/values-ro/strings.xml
+++ b/WallpaperPicker/res/values-ro/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Imaginea de fundal %1$d din %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"S-a selectat <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Ștergeți"</string>
- <string name="pick_image" msgid="6704438906027442697">"Alegeți imaginea"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Fotografiile mele"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Imagini de fundal"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Decupați imaginea de fundal"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ru/strings.xml b/WallpaperPicker/res/values-ru/strings.xml
index ff43ce8f6..959205a33 100644
--- a/WallpaperPicker/res/values-ru/strings.xml
+++ b/WallpaperPicker/res/values-ru/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Обои %1$d из %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Выбран элемент \"<xliff:g id="LABEL">%1$s</xliff:g>\""</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Удалить"</string>
- <string name="pick_image" msgid="6704438906027442697">"Выбрать обои"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Мои фото"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Обои"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Кадрировать обои"</string>
</resources>
diff --git a/WallpaperPicker/res/values-si-rLK/strings.xml b/WallpaperPicker/res/values-si-rLK/strings.xml
index d175724fd..37ce1fc52 100644
--- a/WallpaperPicker/res/values-si-rLK/strings.xml
+++ b/WallpaperPicker/res/values-si-rLK/strings.xml
@@ -32,7 +32,7 @@
<skip />
<string name="announce_selection" msgid="123723511662250539">"තෝරාගත්තේ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"මකන්න"</string>
- <string name="pick_image" msgid="6704438906027442697">"පින්තූරයක් තෝරන්න"</string>
+ <string name="pick_image" msgid="3189640419551368385">"මගේ ඡායාරූප"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"වෝල්පේපර"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"වෝල්පේපරය කප්පාදු කිරීම"</string>
</resources>
diff --git a/WallpaperPicker/res/values-sk/strings.xml b/WallpaperPicker/res/values-sk/strings.xml
index 33477a124..9d38de437 100644
--- a/WallpaperPicker/res/values-sk/strings.xml
+++ b/WallpaperPicker/res/values-sk/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Tapeta %1$d z %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Vybratá položka <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Odstrániť"</string>
- <string name="pick_image" msgid="6704438906027442697">"Vybrať obrázok"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Moje fotky"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Orezanie tapety"</string>
</resources>
diff --git a/WallpaperPicker/res/values-sl/strings.xml b/WallpaperPicker/res/values-sl/strings.xml
index 06a508a8c..e776cc7d5 100644
--- a/WallpaperPicker/res/values-sl/strings.xml
+++ b/WallpaperPicker/res/values-sl/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%1$d. ozadje od %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Izbrano: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Izbriši"</string>
- <string name="pick_image" msgid="6704438906027442697">"Izberi sliko"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Moje fotografije"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Ozadja"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Obrezovanje ozadja"</string>
</resources>
diff --git a/WallpaperPicker/res/values-sr/strings.xml b/WallpaperPicker/res/values-sr/strings.xml
index fdfaaf60f..c37bc060f 100644
--- a/WallpaperPicker/res/values-sr/strings.xml
+++ b/WallpaperPicker/res/values-sr/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Позадина %1$d од %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Изабрана је <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Избриши"</string>
- <string name="pick_image" msgid="6704438906027442697">"Изабери слику"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Моје фотографије"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Позадине"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Опсеци позадину"</string>
</resources>
diff --git a/WallpaperPicker/res/values-sv/strings.xml b/WallpaperPicker/res/values-sv/strings.xml
index 57db3a64d..044508b4d 100644
--- a/WallpaperPicker/res/values-sv/strings.xml
+++ b/WallpaperPicker/res/values-sv/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Bakgrund %1$d av %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> har valts"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Ta bort"</string>
- <string name="pick_image" msgid="6704438906027442697">"Välj bild"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mina foton"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Bakgrunder"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Beskär bakgrund"</string>
</resources>
diff --git a/WallpaperPicker/res/values-sw/strings.xml b/WallpaperPicker/res/values-sw/strings.xml
index edea3de5b..367912aab 100644
--- a/WallpaperPicker/res/values-sw/strings.xml
+++ b/WallpaperPicker/res/values-sw/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Mandhari %1$d ya %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> iliyochaguliwa"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Futa"</string>
- <string name="pick_image" msgid="6704438906027442697">"Chagua picha"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Picha zangu"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Mandhari"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Punguza mandhari"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ta-rIN/strings.xml b/WallpaperPicker/res/values-ta-rIN/strings.xml
index 2b984271a..7284da8ae 100644
--- a/WallpaperPicker/res/values-ta-rIN/strings.xml
+++ b/WallpaperPicker/res/values-ta-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"வால்பேப்பர் %1$d / %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> தேர்ந்தெடுக்கப்பட்டது"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"நீக்கு"</string>
- <string name="pick_image" msgid="6704438906027442697">"படத்தைத் தேர்வுசெய்க"</string>
+ <string name="pick_image" msgid="3189640419551368385">"எனது படங்கள்"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"வால்பேப்பர்கள்"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"வால்பேப்பரைச் செதுக்கு"</string>
</resources>
diff --git a/WallpaperPicker/res/values-te-rIN/strings.xml b/WallpaperPicker/res/values-te-rIN/strings.xml
index c26f84e28..4c5ad2f08 100644
--- a/WallpaperPicker/res/values-te-rIN/strings.xml
+++ b/WallpaperPicker/res/values-te-rIN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$dలో %1$dవ వాల్‌పేపర్"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> ఎంచుకోబడింది"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"తొలగించు"</string>
- <string name="pick_image" msgid="6704438906027442697">"చిత్రాన్ని ఎంచుకోండి"</string>
+ <string name="pick_image" msgid="3189640419551368385">"నా ఫోటోలు"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"వాల్‌పేపర్‌లు"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"వాల్‌పేపర్‌ను కత్తిరించండి"</string>
</resources>
diff --git a/WallpaperPicker/res/values-th/strings.xml b/WallpaperPicker/res/values-th/strings.xml
index 6b4c23536..b3d7a8bc7 100644
--- a/WallpaperPicker/res/values-th/strings.xml
+++ b/WallpaperPicker/res/values-th/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"วอลเปเปอร์ %1$d จาก %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"เลือก <xliff:g id="LABEL">%1$s</xliff:g> แล้ว"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"ลบ"</string>
- <string name="pick_image" msgid="6704438906027442697">"เลือกรูปภาพ"</string>
+ <string name="pick_image" msgid="3189640419551368385">"รูปภาพของฉัน"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"วอลเปเปอร์"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"ครอบตัดวอลเปเปอร์"</string>
</resources>
diff --git a/WallpaperPicker/res/values-tl/strings.xml b/WallpaperPicker/res/values-tl/strings.xml
index c9fe338d4..db8f4d542 100644
--- a/WallpaperPicker/res/values-tl/strings.xml
+++ b/WallpaperPicker/res/values-tl/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Wallpaper %1$d ng %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Napili ang <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Tanggalin"</string>
- <string name="pick_image" msgid="6704438906027442697">"Pumili ng larawan"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Aking mga larawan"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Mga Wallpaper"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"I-crop ang wallpaper"</string>
</resources>
diff --git a/WallpaperPicker/res/values-tr/strings.xml b/WallpaperPicker/res/values-tr/strings.xml
index 3d03c6be8..d1e57edbb 100644
--- a/WallpaperPicker/res/values-tr/strings.xml
+++ b/WallpaperPicker/res/values-tr/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"%2$d duvar kağıdı arasından duvar kağıdı %1$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> seçildi"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Sil"</string>
- <string name="pick_image" msgid="6704438906027442697">"Resim seç"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Fotoğraflarım"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Duvar kağıtları"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Duvar kağıdını kırp"</string>
</resources>
diff --git a/WallpaperPicker/res/values-uk/strings.xml b/WallpaperPicker/res/values-uk/strings.xml
index 076c88238..756e7cf09 100644
--- a/WallpaperPicker/res/values-uk/strings.xml
+++ b/WallpaperPicker/res/values-uk/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Фоновий малюнок %1$d з %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"Вибрано <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Видалити"</string>
- <string name="pick_image" msgid="6704438906027442697">"Вибрати зображення"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Мої фото"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Фонові малюнки"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Обрізати фоновий малюнок"</string>
</resources>
diff --git a/WallpaperPicker/res/values-ur-rPK/strings.xml b/WallpaperPicker/res/values-ur-rPK/strings.xml
index 7b12d4239..86d8163d9 100644
--- a/WallpaperPicker/res/values-ur-rPK/strings.xml
+++ b/WallpaperPicker/res/values-ur-rPK/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"‏وال پیپر ‎%1$d از ‎%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> کو منتخب کیا گیا"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"حذف کریں"</string>
- <string name="pick_image" msgid="6704438906027442697">"تصویر منتخب کریں"</string>
+ <string name="pick_image" msgid="3189640419551368385">"میری تصاویر"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"وال پیپرز"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"وال پیپر کو تراشیں"</string>
</resources>
diff --git a/WallpaperPicker/res/values-uz-rUZ/strings.xml b/WallpaperPicker/res/values-uz-rUZ/strings.xml
index 751f457e7..97d3938ae 100644
--- a/WallpaperPicker/res/values-uz-rUZ/strings.xml
+++ b/WallpaperPicker/res/values-uz-rUZ/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Fon rasmi %2$ddan %1$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> tanlandi"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"O‘chirish"</string>
- <string name="pick_image" msgid="6704438906027442697">"Rasm tanlang"</string>
- <string name="pick_wallpaper" msgid="4628969645948454559">"Orqa fon rasmlari"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Mening rasmlarim"</string>
+ <string name="pick_wallpaper" msgid="4628969645948454559">"Fon rasmlari"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Fon rasmini kesish"</string>
</resources>
diff --git a/WallpaperPicker/res/values-vi/strings.xml b/WallpaperPicker/res/values-vi/strings.xml
index d1efbe989..ae00d585c 100644
--- a/WallpaperPicker/res/values-vi/strings.xml
+++ b/WallpaperPicker/res/values-vi/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Hình nền %1$d / %2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> được chọn"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Xóa"</string>
- <string name="pick_image" msgid="6704438906027442697">"Chọn hình ảnh"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Ảnh của tôi"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Hình nền"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Cắt hình nền"</string>
</resources>
diff --git a/WallpaperPicker/res/values-zh-rCN/strings.xml b/WallpaperPicker/res/values-zh-rCN/strings.xml
index 1def9ed41..8bd5342eb 100644
--- a/WallpaperPicker/res/values-zh-rCN/strings.xml
+++ b/WallpaperPicker/res/values-zh-rCN/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"第%1$d张壁纸,共%2$d张"</string>
<string name="announce_selection" msgid="123723511662250539">"已选择<xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"删除"</string>
- <string name="pick_image" msgid="6704438906027442697">"选择图片"</string>
+ <string name="pick_image" msgid="3189640419551368385">"我的照片"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"壁纸"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"剪裁壁纸"</string>
</resources>
diff --git a/WallpaperPicker/res/values-zh-rHK/strings.xml b/WallpaperPicker/res/values-zh-rHK/strings.xml
index 66ba0af18..e51d60afa 100644
--- a/WallpaperPicker/res/values-zh-rHK/strings.xml
+++ b/WallpaperPicker/res/values-zh-rHK/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"第 %1$d 張桌布,共 %2$d 張"</string>
<string name="announce_selection" msgid="123723511662250539">"已選取<xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"刪除"</string>
- <string name="pick_image" msgid="6704438906027442697">"選擇圖片"</string>
+ <string name="pick_image" msgid="3189640419551368385">"我的相片"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"桌布"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"裁剪桌布"</string>
</resources>
diff --git a/WallpaperPicker/res/values-zh-rTW/strings.xml b/WallpaperPicker/res/values-zh-rTW/strings.xml
index 418497608..c12350af0 100644
--- a/WallpaperPicker/res/values-zh-rTW/strings.xml
+++ b/WallpaperPicker/res/values-zh-rTW/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"第 %1$d 張桌布,共 %2$d 張"</string>
<string name="announce_selection" msgid="123723511662250539">"已選取<xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"刪除"</string>
- <string name="pick_image" msgid="6704438906027442697">"選擇圖片"</string>
+ <string name="pick_image" msgid="3189640419551368385">"我的相片"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"桌布"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"裁剪桌布"</string>
</resources>
diff --git a/WallpaperPicker/res/values-zu/strings.xml b/WallpaperPicker/res/values-zu/strings.xml
index c7d3f33d1..537b2f3ca 100644
--- a/WallpaperPicker/res/values-zu/strings.xml
+++ b/WallpaperPicker/res/values-zu/strings.xml
@@ -30,7 +30,7 @@
<string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Isithombe sangemuva esingu-%1$d kwezingu-%2$d"</string>
<string name="announce_selection" msgid="123723511662250539">"I-<xliff:g id="LABEL">%1$s</xliff:g> ekhethiwe"</string>
<string name="wallpaper_delete" msgid="1459353972739215344">"Susa"</string>
- <string name="pick_image" msgid="6704438906027442697">"Khetha isithombe"</string>
+ <string name="pick_image" msgid="3189640419551368385">"Izithombe zami"</string>
<string name="pick_wallpaper" msgid="4628969645948454559">"Izithombe zangemuva"</string>
<string name="crop_wallpaper" msgid="4882870800623585836">"Nqampuna isithombe sangemuva"</string>
</resources>
diff --git a/res/drawable/widgets_row_divider.xml b/res/drawable/widgets_row_divider.xml
index 074d60167..bb5b6b55b 100644
--- a/res/drawable/widgets_row_divider.xml
+++ b/res/drawable/widgets_row_divider.xml
@@ -15,5 +15,5 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<size android:width="@dimen/widget_row_divider" />
- <solid android:color="@color/widget_text_panel" />
+ <solid android:color="@color/quantum_panel_bg_color_dark" />
</shape>
diff --git a/res/layout/all_apps_container.xml b/res/layout/all_apps_container.xml
index 0221a568b..626edafab 100644
--- a/res/layout/all_apps_container.xml
+++ b/res/layout/all_apps_container.xml
@@ -35,16 +35,4 @@
android:focusable="true"
android:descendantFocusability="afterDescendants" />
- <LinearLayout
- android:id="@+id/prediction_bar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/all_apps_prediction_bar_top_padding"
- android:paddingBottom="@dimen/all_apps_prediction_bar_bottom_padding"
- android:orientation="horizontal"
- android:focusable="true"
- android:descendantFocusability="afterDescendants"
- android:visibility="invisible" >
- </LinearLayout>
-
</com.android.launcher3.allapps.AllAppsRecyclerViewContainerView> \ No newline at end of file
diff --git a/res/layout/all_apps_prediction_bar_icon.xml b/res/layout/all_apps_prediction_bar_icon.xml
index 5f63f6bdb..341d8ef4f 100644
--- a/res/layout/all_apps_prediction_bar_icon.xml
+++ b/res/layout/all_apps_prediction_bar_icon.xml
@@ -18,10 +18,11 @@
xmlns:launcher="http://schemas.android.com/apk/res-auto"
style="@style/Icon.AllApps"
android:id="@+id/icon"
- android:layout_width="0dp"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:layout_weight="1"
+ android:paddingTop="@dimen/all_apps_prediction_icon_top_padding"
+ android:paddingBottom="@dimen/all_apps_prediction_icon_bottom_padding"
android:focusable="true"
android:background="@drawable/focusable_view_bg"
launcher:iconDisplay="all_apps" />
diff --git a/res/layout/widgets_list_row_view.xml b/res/layout/widgets_list_row_view.xml
index 67b4acb4b..ced564801 100644
--- a/res/layout/widgets_list_row_view.xml
+++ b/res/layout/widgets_list_row_view.xml
@@ -30,7 +30,7 @@
android:id="@+id/section"
android:layout_width="match_parent"
android:layout_height="@dimen/widget_section_height"
- android:background="@color/widget_text_panel"
+ android:background="@color/quantum_panel_bg_color_dark"
android:drawablePadding="@dimen/widget_section_horizontal_padding"
android:ellipsize="end"
android:focusable="true"
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 32c6081d9..a60458a97 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -35,7 +35,7 @@
<string name="out_of_space" msgid="4691004494942118364">"Δεν υπάρχει χώρος σε αυτήν την αρχική οθόνη."</string>
<string name="hotseat_out_of_space" msgid="7448809638125333693">"Δεν υπάρχει επιπλέον χώρος στην περιοχή Αγαπημένα"</string>
<string name="all_apps_button_label" msgid="9110807029020582876">"Εφαρμογές"</string>
- <string name="all_apps_home_button_label" msgid="252062713717058851">"Αρχική σελίδα"</string>
+ <string name="all_apps_home_button_label" msgid="252062713717058851">"Αρχική οθόνη"</string>
<string name="delete_target_label" msgid="1822697352535677073">"Κατάργηση"</string>
<string name="delete_target_uninstall_label" msgid="5100785476250872595">"Κατάργηση εγκατάστασης"</string>
<string name="info_target_label" msgid="8053346143994679532">"Πληροφορίες εφαρμογής"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index cd04d9c9c..c3bffeb3c 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -66,7 +66,7 @@
<string name="folder_renamed" msgid="1794088362165669656">"Jild nomi <xliff:g id="NAME">%1$s</xliff:g>ga o‘zgartirildi"</string>
<string name="folder_name_format" msgid="6629239338071103179">"Jild: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="widget_button_text" msgid="2880537293434387943">"Vidjetlar"</string>
- <string name="wallpaper_button_text" msgid="8404103075899945851">"Orqa fon rasmlari"</string>
+ <string name="wallpaper_button_text" msgid="8404103075899945851">"Fon rasmlari"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Sozlamalar"</string>
<string name="allow_rotation_title" msgid="2118706734511831751">"Aylanishga ruxsat berish"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Noma’lum"</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 5afc5b98d..51e4d40a5 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -34,10 +34,9 @@
<color name="quantum_panel_text_color">#FF666666</color>
<color name="quantum_panel_bg_color">#FFF5F5F5</color>
- <color name="quantum_panel_bg_color_dark">#FF243036</color>
+ <color name="quantum_panel_bg_color_dark">#FF374248</color>
<color name="outline_color">#FFFFFFFF</color>
- <color name="widget_text_panel">#FF374248</color>
<!-- Containers -->
<color name="container_fastscroll_thumb_inactive_color">#42000000</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 122b831b4..589d69666 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -70,9 +70,9 @@
<dimen name="all_apps_search_bar_prediction_bar_padding">8dp</dimen>
<dimen name="all_apps_icon_top_bottom_padding">8dp</dimen>
<dimen name="all_apps_icon_width_gap">24dp</dimen>
- <!-- The top padding should account for the general all_apps_list_top_bottom_padding -->
- <dimen name="all_apps_prediction_bar_top_padding">0dp</dimen>
- <dimen name="all_apps_prediction_bar_bottom_padding">16dp</dimen>
+ <!-- The top padding should account for the existing all_apps_list_top_bottom_padding -->
+ <dimen name="all_apps_prediction_icon_top_padding">8dp</dimen>
+ <dimen name="all_apps_prediction_icon_bottom_padding">18dp</dimen>
<dimen name="all_apps_list_top_bottom_padding">8dp</dimen>
<!-- Widget tray -->
diff --git a/src/com/android/launcher3/AutoInstallsLayout.java b/src/com/android/launcher3/AutoInstallsLayout.java
index 20c9314c9..99a98ddac 100644
--- a/src/com/android/launcher3/AutoInstallsLayout.java
+++ b/src/com/android/launcher3/AutoInstallsLayout.java
@@ -580,6 +580,7 @@ public class AutoInstallsLayout {
int type;
int folderDepth = parser.getDepth();
+ int rank = 0;
while ((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > folderDepth) {
if (type != XmlPullParser.START_TAG) {
@@ -587,12 +588,14 @@ public class AutoInstallsLayout {
}
mValues.clear();
mValues.put(Favorites.CONTAINER, folderId);
+ mValues.put(Favorites.RANK, rank);
TagParser tagParser = mFolderElements.get(parser.getName());
if (tagParser != null) {
final long id = tagParser.parseAndAdd(parser);
if (id >= 0) {
folderItems.add(id);
+ rank++;
}
} else {
throw new RuntimeException("Invalid folder item " + parser.getName());
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java
index 85f58a1b1..f2c5d93f5 100644
--- a/src/com/android/launcher3/Folder.java
+++ b/src/com/android/launcher3/Folder.java
@@ -58,9 +58,11 @@ import com.android.launcher3.UninstallDropTarget.UninstallSource;
import com.android.launcher3.Workspace.ItemOperator;
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate.AccessibilityDragSource;
import com.android.launcher3.util.Thunk;
+import com.android.launcher3.util.UiThreadCircularReveal;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
/**
* Represents a set of icons chosen by the user or generated by the system.
@@ -362,7 +364,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
void bind(FolderInfo info) {
mInfo = info;
ArrayList<ShortcutInfo> children = info.contents;
- Collections.sort(children, Utilities.RANK_COMPARATOR);
+ Collections.sort(children, ITEM_POS_COMPARATOR);
ArrayList<ShortcutInfo> overflow = mContent.bindItems(children);
@@ -467,6 +469,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
prepareReveal();
centerAboutIcon();
+ AnimatorSet anim = LauncherAnimUtils.createAnimatorSet();
int width = getPaddingLeft() + getPaddingRight() + mContent.getDesiredWidth();
int height = getFolderHeight();
@@ -477,7 +480,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
PropertyValuesHolder tx = PropertyValuesHolder.ofFloat("translationX", transX, 0);
PropertyValuesHolder ty = PropertyValuesHolder.ofFloat("translationY", transY, 0);
- Animator drift = LauncherAnimUtils.ofPropertyValuesHolder(this, tx, ty);
+ Animator drift = ObjectAnimator.ofPropertyValuesHolder(this, tx, ty);
drift.setDuration(mMaterialExpandDuration);
drift.setStartDelay(mMaterialExpandStagger);
drift.setInterpolator(new LogDecelerateInterpolator(100, 0));
@@ -486,20 +489,19 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
int ry = (int) Math.max(Math.max(height - getPivotY(), 0), getPivotY());
float radius = (float) Math.hypot(rx, ry);
- AnimatorSet anim = LauncherAnimUtils.createAnimatorSet();
- Animator reveal = LauncherAnimUtils.createCircularReveal(this, (int) getPivotX(),
+ Animator reveal = UiThreadCircularReveal.createCircularReveal(this, (int) getPivotX(),
(int) getPivotY(), 0, radius);
reveal.setDuration(mMaterialExpandDuration);
reveal.setInterpolator(new LogDecelerateInterpolator(100, 0));
mContentWrapper.setAlpha(0f);
- Animator iconsAlpha = LauncherAnimUtils.ofFloat(mContentWrapper, "alpha", 0f, 1f);
+ Animator iconsAlpha = ObjectAnimator.ofFloat(mContentWrapper, "alpha", 0f, 1f);
iconsAlpha.setDuration(mMaterialExpandDuration);
iconsAlpha.setStartDelay(mMaterialExpandStagger);
iconsAlpha.setInterpolator(new AccelerateInterpolator(1.5f));
mFooter.setAlpha(0f);
- Animator textAlpha = LauncherAnimUtils.ofFloat(mFooter, "alpha", 0f, 1f);
+ Animator textAlpha = ObjectAnimator.ofFloat(mFooter, "alpha", 0f, 1f);
textAlpha.setDuration(mMaterialExpandDuration);
textAlpha.setStartDelay(mMaterialExpandStagger);
textAlpha.setInterpolator(new AccelerateInterpolator(1.5f));
@@ -1395,4 +1397,19 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
onDragOver(mDragObject, 1);
}
}
+
+ // Compares item position based on rank and position giving priority to the rank.
+ private static final Comparator<ItemInfo> ITEM_POS_COMPARATOR = new Comparator<ItemInfo>() {
+
+ @Override
+ public int compare(ItemInfo lhs, ItemInfo rhs) {
+ if (lhs.rank != rhs.rank) {
+ return lhs.rank - rhs.rank;
+ } else if (lhs.cellY != rhs.cellY) {
+ return lhs.cellY - rhs.cellY;
+ } else {
+ return lhs.cellX - rhs.cellX;
+ }
+ }
+ };
}
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index 14ad33799..b9ac2a47a 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -32,6 +32,9 @@ import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.SystemClock;
@@ -68,7 +71,7 @@ public class IconCache {
private static final boolean DEBUG = false;
- private static final int LOW_RES_SCALE_FACTOR = 8;
+ private static final int LOW_RES_SCALE_FACTOR = 5;
@Thunk static final Object ICON_UPDATE_TOKEN = new Object();
@@ -93,6 +96,20 @@ public class IconCache {
@Thunk final Handler mWorkerHandler;
+ // The background color used for activity icons. Since these icons are displayed in all-apps
+ // and folders, this would be same as the light quantum panel background. This color
+ // is used to convert icons to RGB_565.
+ private final int mActivityBgColor;
+ // The background color used for package icons. These are displayed in widget tray, which
+ // has a dark quantum panel background.
+ private final int mPackageBgColor;
+ private final BitmapFactory.Options mLowResOptions;
+
+ private String mSystemState;
+ private Bitmap mLowResBitmap;
+ private Canvas mLowResCanvas;
+ private Paint mLowResPaint;
+
public IconCache(Context context, InvariantDeviceProfile inv) {
mContext = context;
mPackageManager = context.getPackageManager();
@@ -102,6 +119,14 @@ public class IconCache {
mIconDb = new IconDB(context);
mWorkerHandler = new Handler(LauncherModel.getWorkerLooper());
+
+ mActivityBgColor = context.getResources().getColor(R.color.quantum_panel_bg_color);
+ mPackageBgColor = context.getResources().getColor(R.color.quantum_panel_bg_color_dark);
+ mLowResOptions = new BitmapFactory.Options();
+ // Always prefer RGB_565 config for low res. If the bitmap has transparency, it will
+ // automatically be loaded as ALPHA_8888.
+ mLowResOptions.inPreferredConfig = Bitmap.Config.RGB_565;
+ updateSystemStateString();
}
private Drawable getFullResDefaultActivityIcon() {
@@ -221,7 +246,7 @@ public class IconCache {
// Remove all active icon update tasks.
mWorkerHandler.removeCallbacksAndMessages(ICON_UPDATE_TOKEN);
- mIconDb.updateSystemStateString();
+ updateSystemStateString();
for (UserHandleCompat user : mUserManager.getUserProfiles()) {
// Query for the set of apps
final List<LauncherActivityInfoCompat> apps = mLauncherApps.getActivityList(null, user);
@@ -294,7 +319,7 @@ public class IconCache {
int version = c.getInt(indexVersion);
LauncherActivityInfoCompat app = componentMap.remove(component);
if (version == info.versionCode && updateTime == info.lastUpdateTime &&
- TextUtils.equals(mIconDb.mSystemState, c.getString(systemStateIndex))) {
+ TextUtils.equals(mSystemState, c.getString(systemStateIndex))) {
continue;
}
if (app == null) {
@@ -361,7 +386,7 @@ public class IconCache {
entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, app.getUser());
mCache.put(new ComponentKey(app.getComponentName(), app.getUser()), entry);
- return mIconDb.newContentValues(entry.icon, entry.title.toString());
+ return newContentValues(entry.icon, entry.title.toString(), mActivityBgColor);
}
/**
@@ -596,7 +621,7 @@ public class IconCache {
// Add the icon in the DB here, since these do not get written during
// package updates.
ContentValues values =
- mIconDb.newContentValues(entry.icon, entry.title.toString());
+ newContentValues(entry.icon, entry.title.toString(), mPackageBgColor);
addIconToDB(values, cn, info, mUserManager.getSerialNumberForUser(user));
} catch (NameNotFoundException e) {
@@ -635,7 +660,7 @@ public class IconCache {
// pass
}
- ContentValues values = mIconDb.newContentValues(icon, label);
+ ContentValues values = newContentValues(icon, label, Color.TRANSPARENT);
values.put(IconDB.COLUMN_COMPONENT, componentName.flattenToString());
values.put(IconDB.COLUMN_USER, userSerial);
mIconDb.getWritableDatabase().insertWithOnConflict(IconDB.TABLE_NAME, null, values,
@@ -653,7 +678,7 @@ public class IconCache {
null, null, null);
try {
if (c.moveToNext()) {
- entry.icon = loadIconNoResize(c, 0);
+ entry.icon = loadIconNoResize(c, 0, lowRes ? mLowResOptions : null);
entry.isLowResIcon = lowRes;
entry.title = c.getString(1);
if (entry.title == null) {
@@ -744,8 +769,12 @@ public class IconCache {
}
}
+ private void updateSystemStateString() {
+ mSystemState = Locale.getDefault().toString();
+ }
+
private static final class IconDB extends SQLiteOpenHelper {
- private final static int DB_VERSION = 5;
+ private final static int DB_VERSION = 6;
private final static String TABLE_NAME = "icons";
private final static String COLUMN_ROWID = "rowid";
@@ -758,15 +787,8 @@ public class IconCache {
private final static String COLUMN_LABEL = "label";
private final static String COLUMN_SYSTEM_STATE = "system_state";
- public String mSystemState;
-
public IconDB(Context context) {
super(context, LauncherFiles.APP_ICONS_DB, null, DB_VERSION);
- updateSystemStateString();
- }
-
- public void updateSystemStateString() {
- mSystemState = Locale.getDefault().toString();
}
@Override
@@ -802,24 +824,42 @@ public class IconCache {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
+ }
+
+ private ContentValues newContentValues(Bitmap icon, String label, int lowResBackgroundColor) {
+ ContentValues values = new ContentValues();
+ values.put(IconDB.COLUMN_ICON, Utilities.flattenBitmap(icon));
+
+ values.put(IconDB.COLUMN_LABEL, label);
+ values.put(IconDB.COLUMN_SYSTEM_STATE, mSystemState);
- public ContentValues newContentValues(Bitmap icon, String label) {
- ContentValues values = new ContentValues();
- values.put(COLUMN_ICON, Utilities.flattenBitmap(icon));
- values.put(COLUMN_ICON_LOW_RES, Utilities.flattenBitmap(
- Bitmap.createScaledBitmap(icon,
- icon.getWidth() / LOW_RES_SCALE_FACTOR,
- icon.getHeight() / LOW_RES_SCALE_FACTOR, true)));
- values.put(COLUMN_LABEL, label);
- values.put(COLUMN_SYSTEM_STATE, mSystemState);
- return values;
+ if (lowResBackgroundColor == Color.TRANSPARENT) {
+ values.put(IconDB.COLUMN_ICON_LOW_RES, Utilities.flattenBitmap(
+ Bitmap.createScaledBitmap(icon,
+ icon.getWidth() / LOW_RES_SCALE_FACTOR,
+ icon.getHeight() / LOW_RES_SCALE_FACTOR, true)));
+ } else {
+ synchronized (this) {
+ if (mLowResBitmap == null) {
+ mLowResBitmap = Bitmap.createBitmap(icon.getWidth() / LOW_RES_SCALE_FACTOR,
+ icon.getHeight() / LOW_RES_SCALE_FACTOR, Bitmap.Config.RGB_565);
+ mLowResCanvas = new Canvas(mLowResBitmap);
+ mLowResPaint = new Paint(Paint.FILTER_BITMAP_FLAG | Paint.ANTI_ALIAS_FLAG);
+ }
+ mLowResCanvas.drawColor(lowResBackgroundColor);
+ mLowResCanvas.drawBitmap(icon, new Rect(0, 0, icon.getWidth(), icon.getHeight()),
+ new Rect(0, 0, mLowResBitmap.getWidth(), mLowResBitmap.getHeight()),
+ mLowResPaint);
+ values.put(IconDB.COLUMN_ICON_LOW_RES, Utilities.flattenBitmap(mLowResBitmap));
+ }
}
+ return values;
}
- private static Bitmap loadIconNoResize(Cursor c, int iconIndex) {
+ private static Bitmap loadIconNoResize(Cursor c, int iconIndex, BitmapFactory.Options options) {
byte[] data = c.getBlob(iconIndex);
try {
- return BitmapFactory.decodeByteArray(data, 0, data.length);
+ return BitmapFactory.decodeByteArray(data, 0, data.length, options);
} catch (Exception e) {
return null;
}
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 4e83a67f3..55b8f0373 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -872,7 +872,7 @@ public class Launcher extends Activity
}
/** @Override for MNC */
- protected void onRequestPermissionsResult(int requestCode, String[] permissions,
+ public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
if (mLauncherCallbacks != null) {
mLauncherCallbacks.onRequestPermissionsResult(requestCode, permissions,
@@ -3507,6 +3507,7 @@ public class Launcher extends Activity
.commit();
}
+ mAppWidgetHost.setQsbWidgetId(widgetId);
if (widgetId != -1) {
mQsb = mAppWidgetHost.createView(this, widgetId, searchProvider);
mQsb.updateAppWidgetOptions(opts);
diff --git a/src/com/android/launcher3/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java
index c274f2ecd..de7c61000 100644
--- a/src/com/android/launcher3/LauncherAppWidgetHost.java
+++ b/src/com/android/launcher3/LauncherAppWidgetHost.java
@@ -22,6 +22,7 @@ import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
import android.os.TransactionTooLargeException;
import android.view.LayoutInflater;
+import android.view.View;
import java.util.ArrayList;
@@ -35,16 +36,31 @@ public class LauncherAppWidgetHost extends AppWidgetHost {
private final ArrayList<Runnable> mProviderChangeListeners = new ArrayList<Runnable>();
- Launcher mLauncher;
+ private int mQsbWidgetId = -1;
+ private Launcher mLauncher;
public LauncherAppWidgetHost(Launcher launcher, int hostId) {
super(launcher, hostId);
mLauncher = launcher;
}
+ public void setQsbWidgetId(int widgetId) {
+ mQsbWidgetId = widgetId;
+ }
+
@Override
protected AppWidgetHostView onCreateView(Context context, int appWidgetId,
AppWidgetProviderInfo appWidget) {
+ if (appWidgetId == mQsbWidgetId) {
+ return new LauncherAppWidgetHostView(context) {
+
+ @Override
+ protected View getErrorView() {
+ // For the QSB, show an empty view instead of an error view.
+ return new View(getContext());
+ }
+ };
+ }
return new LauncherAppWidgetHostView(context);
}
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index d0c24cd83..8fd298df7 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -59,7 +59,6 @@ import android.widget.Toast;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Comparator;
import java.util.Locale;
import java.util.Set;
import java.util.regex.Matcher;
@@ -578,13 +577,6 @@ public final class Utilities {
}
}
- public static final Comparator<ItemInfo> RANK_COMPARATOR = new Comparator<ItemInfo>() {
- @Override
- public int compare(ItemInfo lhs, ItemInfo rhs) {
- return lhs.rank - rhs.rank;
- }
- };
-
/**
* Find the first vacant cell, if there is one.
*
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index fb0a54d3c..451f1245e 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1976,7 +1976,7 @@ public class Workspace extends PagedView
public Animator setStateWithAnimation(State toState, int toPage, boolean animated,
boolean hasOverlaySearchBar, HashMap<View, Integer> layerViews) {
// Create the animation to the new state
- Animator workspaceAnim = mStateTransitionAnimation.getAnimationToState(getState(),
+ Animator workspaceAnim = mStateTransitionAnimation.getAnimationToState(mState,
toState, toPage, animated, hasOverlaySearchBar, layerViews);
// Update the current state
@@ -1996,6 +1996,9 @@ public class Workspace extends PagedView
for (int i = numCustomPages(); i < total; i++) {
updateAccessibilityFlags((CellLayout) getPageAt(i), i);
}
+ setImportantForAccessibility((mState == State.NORMAL || mState == State.OVERVIEW)
+ ? IMPORTANT_FOR_ACCESSIBILITY_AUTO
+ : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
} else {
int accessible = mState == State.NORMAL ?
IMPORTANT_FOR_ACCESSIBILITY_AUTO :
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index 0651fb02e..47bbf1513 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -75,7 +75,11 @@ final class FullMergeAlgorithm implements AlphabeticalAppsList.MergeAlgorithm {
public boolean continueMerging(AlphabeticalAppsList.SectionInfo section,
AlphabeticalAppsList.SectionInfo withSection,
int sectionAppCount, int numAppsPerRow, int mergeCount) {
- // Merge EVERYTHING
+ // Don't merge the predicted apps
+ if (section.firstAppItem.viewType != AllAppsGridAdapter.ICON_VIEW_TYPE) {
+ return false;
+ }
+ // Otherwise, merge every other section
return true;
}
}
@@ -103,6 +107,11 @@ final class SimpleSectionMergeAlgorithm implements AlphabeticalAppsList.MergeAlg
public boolean continueMerging(AlphabeticalAppsList.SectionInfo section,
AlphabeticalAppsList.SectionInfo withSection,
int sectionAppCount, int numAppsPerRow, int mergeCount) {
+ // Don't merge the predicted apps
+ if (section.firstAppItem.viewType != AllAppsGridAdapter.ICON_VIEW_TYPE) {
+ return false;
+ }
+
// Continue merging if the number of hanging apps on the final row is less than some
// fixed number (ragged), the merged rows has yet to exceed some minimum row count,
// and while the number of merged sections is less than some fixed number of merges
@@ -127,17 +136,14 @@ final class SimpleSectionMergeAlgorithm implements AlphabeticalAppsList.MergeAlg
* The all apps view container.
*/
public class AllAppsContainerView extends BaseContainerView implements DragSource,
- LauncherTransitionable, AlphabeticalAppsList.AdapterChangedCallback,
- AllAppsGridAdapter.PredictionBarSpacerCallbacks, View.OnTouchListener,
- View.OnLongClickListener, ViewTreeObserver.OnPreDrawListener,
- AllAppsSearchBarController.Callbacks, Stats.LaunchSourceProvider {
+ LauncherTransitionable, View.OnTouchListener, View.OnLongClickListener,
+ AllAppsSearchBarController.Callbacks {
private static final int MIN_ROWS_IN_MERGED_SECTION_PHONE = 3;
private static final int MAX_NUM_MERGES_PHONE = 2;
@Thunk Launcher mLauncher;
@Thunk AlphabeticalAppsList mApps;
- private LayoutInflater mLayoutInflater;
private AllAppsGridAdapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
private RecyclerView.ItemDecoration mItemDecoration;
@@ -146,7 +152,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
@Thunk View mContainerView;
@Thunk View mRevealView;
@Thunk AllAppsRecyclerView mAppsRecyclerView;
- @Thunk ViewGroup mPredictionBarView;
@Thunk AllAppsSearchBarController mSearchBarController;
private ViewGroup mSearchBarContainerView;
private View mSearchBarView;
@@ -159,18 +164,9 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
private final Point mBoundsCheckLastTouchDownPos = new Point(-1, -1);
// This coordinate is relative to its parent
private final Point mIconLastTouchPos = new Point();
- // This coordinate is used to proxy click and long-click events to the prediction bar icons
- private final Point mPredictionIconTouchDownPos = new Point();
- // Normal container insets
- private int mPredictionBarHeight;
- private int mLastRecyclerViewScrollPos = -1;
- @Thunk boolean mFocusPredictionBarOnFirstBind;
private SpannableStringBuilder mSearchQueryBuilder = null;
- private CheckLongPressHelper mPredictionIconCheckForLongPress;
- private View mPredictionIconUnderTouch;
-
public AllAppsContainerView(Context context) {
this(context, null);
}
@@ -184,19 +180,10 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
Resources res = context.getResources();
mLauncher = (Launcher) context;
- mLayoutInflater = LayoutInflater.from(context);
- DeviceProfile grid = mLauncher.getDeviceProfile();
- mPredictionBarHeight = (int) (grid.allAppsIconSizePx + grid.iconDrawablePaddingOriginalPx +
- Utilities.calculateTextHeight(grid.allAppsIconTextSizePx) +
- 2 * res.getDimensionPixelSize(R.dimen.all_apps_icon_top_bottom_padding) +
- res.getDimensionPixelSize(R.dimen.all_apps_prediction_bar_top_padding) +
- res.getDimensionPixelSize(R.dimen.all_apps_prediction_bar_bottom_padding));
mSectionNamesMargin = res.getDimensionPixelSize(R.dimen.all_apps_grid_view_start_margin);
mApps = new AlphabeticalAppsList(context);
- mApps.setAdapterChangedCallback(this);
- mAdapter = new AllAppsGridAdapter(context, mApps, this, this, mLauncher, this);
+ mAdapter = new AllAppsGridAdapter(context, mApps, this, mLauncher, this);
mAdapter.setEmptySearchText(res.getString(R.string.all_apps_loading_message));
- mAdapter.setPredictionRowHeight(mPredictionBarHeight);
mApps.setAdapter(mAdapter);
mLayoutManager = mAdapter.getLayoutManager();
mItemDecoration = mAdapter.getItemDecoration();
@@ -310,17 +297,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
- if (!mApps.getPredictedApps().isEmpty()) {
- // If the prediction bar is going to be bound, then defer focusing until
- // it is first bound
- if (mPredictionBarView.getChildCount() == 0) {
- mFocusPredictionBarOnFirstBind = true;
- } else {
- mPredictionBarView.requestFocus();
- }
- } else {
- mAppsRecyclerView.requestFocus();
- }
+ mAppsRecyclerView.requestFocus();
}
}
};
@@ -333,7 +310,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
// Load the all apps recycler view
mAppsRecyclerView = (AllAppsRecyclerView) findViewById(R.id.apps_list_view);
mAppsRecyclerView.setApps(mApps);
- mAppsRecyclerView.setPredictionBarHeight(mPredictionBarHeight);
mAppsRecyclerView.setLayoutManager(mLayoutManager);
mAppsRecyclerView.setAdapter(mAdapter);
mAppsRecyclerView.setHasFixedSize(true);
@@ -341,11 +317,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
mAppsRecyclerView.addItemDecoration(mItemDecoration);
}
- // Fix the prediction bar height
- mPredictionBarView = (ViewGroup) findViewById(R.id.prediction_bar);
- FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) mPredictionBarView.getLayoutParams();
- lp.height = mPredictionBarHeight;
-
updateBackgroundAndPaddings();
}
@@ -355,49 +326,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
}
@Override
- public void onBindPredictionBar() {
- updatePredictionBarVisibility();
-
- List<AppInfo> predictedApps = mApps.getPredictedApps();
-
- // Remove extra prediction icons
- while (mPredictionBarView.getChildCount() > mNumPredictedAppsPerRow) {
- mPredictionBarView.removeViewAt(mPredictionBarView.getChildCount() - 1);
- }
-
- int childCount = mPredictionBarView.getChildCount();
- for (int i = 0; i < mNumPredictedAppsPerRow; i++) {
- BubbleTextView icon;
- if (i < childCount) {
- // If a child at that index exists, then get that child
- icon = (BubbleTextView) mPredictionBarView.getChildAt(i);
- } else {
- // Otherwise, inflate a new icon
- icon = (BubbleTextView) mLayoutInflater.inflate(
- R.layout.all_apps_prediction_bar_icon, mPredictionBarView, false);
- icon.setFocusable(true);
- icon.setLongPressTimeout(ViewConfiguration.get(getContext()).getLongPressTimeout());
- mPredictionBarView.addView(icon);
- }
-
- // Either apply the app info to the child, or hide the view
- if (i < predictedApps.size()) {
- if (icon.getVisibility() != View.VISIBLE) {
- icon.setVisibility(View.VISIBLE);
- }
- icon.applyFromApplicationInfo(predictedApps.get(i));
- } else {
- icon.setVisibility(View.INVISIBLE);
- }
- }
-
- if (mFocusPredictionBarOnFirstBind) {
- mFocusPredictionBarOnFirstBind = false;
- mPredictionBarView.requestFocus();
- }
- }
-
- @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Update the number of items in the grid before we measure the view
int availableWidth = !mContentBounds.isEmpty() ? mContentBounds.width() :
@@ -476,22 +404,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
lp.rightMargin = (getMeasuredWidth() - searchBarBounds.right) - backgroundPadding.right;
mSearchBarContainerView.requestLayout();
}
-
- // Update the prediction bar insets as well
- mPredictionBarView = (ViewGroup) findViewById(R.id.prediction_bar);
- FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) mPredictionBarView.getLayoutParams();
- lp.leftMargin = padding.left + mAppsRecyclerView.getMaxScrollbarWidth();
- lp.rightMargin = padding.right + mAppsRecyclerView.getMaxScrollbarWidth();
- mPredictionBarView.requestLayout();
- }
-
- @Override
- public boolean onPreDraw() {
- if (mNumAppsPerRow > 0) {
- // Update the position of the prediction bar to match the scroll of the all apps list
- synchronizeToRecyclerViewScrollPosition(mAppsRecyclerView.getScrollPosition());
- }
- return true;
}
@Override
@@ -621,17 +533,8 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
}
@Override
- public void onAdapterItemsChanged() {
- updatePredictionBarVisibility();
- }
-
- @Override
public void onLauncherTransitionPrepare(Launcher l, boolean animated, boolean toWorkspace) {
- // Register for a pre-draw listener to synchronize the recycler view scroll to other views
- // in this container
- if (!toWorkspace) {
- getViewTreeObserver().addOnPreDrawListener(this);
- }
+ // Do nothing
}
@Override
@@ -647,38 +550,12 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
@Override
public void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace) {
if (toWorkspace) {
- getViewTreeObserver().removeOnPreDrawListener(this);
- mLastRecyclerViewScrollPos = -1;
-
// Reset the search bar after transitioning home
mSearchBarController.reset();
}
}
/**
- * Updates the container when the recycler view is scrolled.
- */
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private void synchronizeToRecyclerViewScrollPosition(int scrollY) {
- if (mLastRecyclerViewScrollPos != scrollY) {
- mLastRecyclerViewScrollPos = scrollY;
-
- // Scroll the prediction bar with the contents of the recycler view
- mPredictionBarView.setTranslationY(-scrollY + mAppsRecyclerView.getPaddingTop());
- }
- }
-
- @Override
- public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
- // If we were waiting for long-click, cancel the request once a child has started handling
- // the scrolling
- if (mPredictionIconCheckForLongPress != null) {
- mPredictionIconCheckForLongPress.cancelLongPress();
- }
- super.requestDisallowInterceptTouchEvent(disallowIntercept);
- }
-
- /**
* Handles the touch events to dismiss all apps when clicking outside the bounds of the
* recycler view.
*/
@@ -689,19 +566,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
- // We workaround the fact that the recycler view needs the touches for the scroll
- // and we want to intercept it for clicks in the prediction bar by handling clicks
- // and long clicks in the prediction bar ourselves.
- if (mPredictionBarView != null && mPredictionBarView.getVisibility() == View.VISIBLE) {
- mPredictionIconTouchDownPos.set(x, y);
- mPredictionIconUnderTouch = findPredictedAppAtCoordinate(x, y);
- if (mPredictionIconUnderTouch != null) {
- mPredictionIconCheckForLongPress =
- new CheckLongPressHelper(mPredictionIconUnderTouch, this);
- mPredictionIconCheckForLongPress.postCheckForLongPress();
- }
- }
-
if (!mContentBounds.isEmpty()) {
// Outset the fixed bounds and check if the touch is outside all apps
Rect tmpRect = new Rect(mContentBounds);
@@ -719,19 +583,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
}
}
break;
- case MotionEvent.ACTION_MOVE:
- if (mPredictionIconUnderTouch != null) {
- float dist = (float) Math.hypot(x - mPredictionIconTouchDownPos.x,
- y - mPredictionIconTouchDownPos.y);
- if (dist > ViewConfiguration.get(getContext()).getScaledTouchSlop()) {
- if (mPredictionIconCheckForLongPress != null) {
- mPredictionIconCheckForLongPress.cancelLongPress();
- }
- mPredictionIconCheckForLongPress = null;
- mPredictionIconUnderTouch = null;
- }
- }
- break;
case MotionEvent.ACTION_UP:
if (mBoundsCheckLastTouchDownPos.x > -1) {
ViewConfiguration viewConfig = ViewConfiguration.get(getContext());
@@ -745,26 +596,9 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
return true;
}
}
-
- // Trigger the click on the prediction bar icon if that's where we touched
- if (mPredictionIconUnderTouch != null &&
- !mPredictionIconCheckForLongPress.hasPerformedLongPress()) {
- mLauncher.onClick(mPredictionIconUnderTouch);
- }
-
// Fall through
case MotionEvent.ACTION_CANCEL:
mBoundsCheckLastTouchDownPos.set(-1, -1);
- mPredictionIconTouchDownPos.set(-1, -1);
-
- // On touch up/cancel, cancel the long press on the prediction bar icon if it has
- // not yet been performed
- if (mPredictionIconCheckForLongPress != null) {
- mPredictionIconCheckForLongPress.cancelLongPress();
- mPredictionIconCheckForLongPress = null;
- }
- mPredictionIconUnderTouch = null;
-
break;
}
return false;
@@ -792,59 +626,4 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
mSearchQueryBuilder.clearSpans();
Selection.setSelection(mSearchQueryBuilder, 0);
}
-
- @Override
- public void fillInLaunchSourceData(Bundle sourceData) {
- // Since the other cases are caught by the AllAppsRecyclerView LaunchSourceProvider, we just
- // handle the prediction bar icons here
- sourceData.putString(Stats.SOURCE_EXTRA_CONTAINER, Stats.CONTAINER_ALL_APPS);
- sourceData.putString(Stats.SOURCE_EXTRA_SUB_CONTAINER,
- Stats.SUB_CONTAINER_ALL_APPS_PREDICTION);
- }
-
- /**
- * Returns the predicted app in the prediction bar given a set of local coordinates.
- */
- private View findPredictedAppAtCoordinate(int x, int y) {
- Rect hitRect = new Rect();
-
- // Ensure that are touching in the recycler view
- int[] coord = {x, y};
- Utilities.mapCoordInSelfToDescendent(mAppsRecyclerView, this, coord);
- mAppsRecyclerView.getHitRect(hitRect);
- if (!hitRect.contains(coord[0], coord[1])) {
- return null;
- }
-
- // Check against the children of the prediction bar
- coord[0] = x;
- coord[1] = y;
- Utilities.mapCoordInSelfToDescendent(mPredictionBarView, this, coord);
- for (int i = 0; i < mPredictionBarView.getChildCount(); i++) {
- View child = mPredictionBarView.getChildAt(i);
- if (child.getVisibility() != View.VISIBLE) {
- continue;
- }
- child.getHitRect(hitRect);
- if (hitRect.contains(coord[0], coord[1])) {
- return child;
- }
- }
- return null;
- }
-
- /**
- * Updates the visibility of the prediction bar.
- * @return whether the prediction bar is visible
- */
- private boolean updatePredictionBarVisibility() {
- boolean showPredictionBar = !mApps.getPredictedApps().isEmpty() &&
- (!mApps.hasFilter() || mSearchBarController.shouldShowPredictionBar());
- if (showPredictionBar) {
- mPredictionBarView.setVisibility(View.VISIBLE);
- } else if (!showPredictionBar) {
- mPredictionBarView.setVisibility(View.INVISIBLE);
- }
- return showPredictionBar;
- }
}
diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
index 19e2757f9..057883cab 100644
--- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
+++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
@@ -31,7 +31,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import com.android.launcher3.AppInfo;
import com.android.launcher3.BubbleTextView;
-import com.android.launcher3.Launcher;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.util.Thunk;
@@ -52,17 +51,10 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
public static final int SECTION_BREAK_VIEW_TYPE = 0;
// A normal icon
public static final int ICON_VIEW_TYPE = 1;
+ // A prediction icon
+ public static final int PREDICTION_ICON_VIEW_TYPE = 2;
// The message shown when there are no filtered results
- public static final int EMPTY_SEARCH_VIEW_TYPE = 2;
- // The spacer used for the prediction bar
- public static final int PREDICTION_BAR_SPACER_TYPE = 3;
-
- /**
- * Callback for when the prediction bar spacer is bound.
- */
- public interface PredictionBarSpacerCallbacks {
- void onBindPredictionBar();
- }
+ public static final int EMPTY_SEARCH_VIEW_TYPE = 3;
/**
* ViewHolder for each icon.
@@ -93,11 +85,13 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
return mAppsPerRow;
}
- if (mApps.getAdapterItems().get(position).viewType != AllAppsGridAdapter.ICON_VIEW_TYPE) {
- // Both the section breaks and predictive bar span the full width
- return mAppsPerRow;
- } else {
- return 1;
+ switch (mApps.getAdapterItems().get(position).viewType) {
+ case AllAppsGridAdapter.ICON_VIEW_TYPE:
+ case AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE:
+ return 1;
+ default:
+ // Section breaks span the full width
+ return mAppsPerRow;
}
}
}
@@ -141,7 +135,7 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
if (shouldDrawItemDivider(holder, items) && !hasDrawnPredictedAppsDivider) {
// Draw the divider under the predicted apps
- int top = child.getTop() + child.getHeight() - mPredictionBarBottomPadding / 2;
+ int top = child.getTop() + child.getHeight() + mPredictionBarDividerOffset;
c.drawLine(mBackgroundPadding.left, top,
parent.getWidth() - mBackgroundPadding.right, top,
mPredictedAppsDividerPaint);
@@ -264,7 +258,7 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
private boolean shouldDrawItemDivider(ViewHolder holder,
List<AlphabeticalAppsList.AdapterItem> items) {
int pos = holder.getPosition();
- return items.get(pos).viewType == AllAppsGridAdapter.PREDICTION_BAR_SPACER_TYPE;
+ return items.get(pos).viewType == AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE;
}
/**
@@ -285,19 +279,16 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
}
}
- private Handler mHandler;
private LayoutInflater mLayoutInflater;
@Thunk AlphabeticalAppsList mApps;
private GridLayoutManager mGridLayoutMgr;
private GridSpanSizer mGridSizer;
private GridItemDecoration mItemDecoration;
- @Thunk PredictionBarSpacerCallbacks mPredictionBarCb;
private View.OnTouchListener mTouchListener;
private View.OnClickListener mIconClickListener;
private View.OnLongClickListener mIconLongClickListener;
@Thunk final Rect mBackgroundPadding = new Rect();
- @Thunk int mPredictionBarHeight;
- @Thunk int mPredictionBarBottomPadding;
+ @Thunk int mPredictionBarDividerOffset;
@Thunk int mAppsPerRow;
@Thunk boolean mIsRtl;
private String mEmptySearchText;
@@ -309,12 +300,10 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
@Thunk Paint mPredictedAppsDividerPaint;
public AllAppsGridAdapter(Context context, AlphabeticalAppsList apps,
- PredictionBarSpacerCallbacks pbCb, View.OnTouchListener touchListener,
- View.OnClickListener iconClickListener, View.OnLongClickListener iconLongClickListener) {
+ View.OnTouchListener touchListener, View.OnClickListener iconClickListener,
+ View.OnLongClickListener iconLongClickListener) {
Resources res = context.getResources();
- mHandler = new Handler();
mApps = apps;
- mPredictionBarCb = pbCb;
mGridSizer = new GridSpanSizer();
mGridLayoutMgr = new GridLayoutManager(context, 1, GridLayoutManager.VERTICAL, false);
mGridLayoutMgr.setSpanSizeLookup(mGridSizer);
@@ -336,8 +325,9 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
mPredictedAppsDividerPaint.setStrokeWidth(Utilities.pxFromDp(1f, res.getDisplayMetrics()));
mPredictedAppsDividerPaint.setColor(0x1E000000);
mPredictedAppsDividerPaint.setAntiAlias(true);
- mPredictionBarBottomPadding =
- res.getDimensionPixelSize(R.dimen.all_apps_prediction_bar_bottom_padding);
+ mPredictionBarDividerOffset =
+ (-res.getDimensionPixelSize(R.dimen.all_apps_prediction_icon_bottom_padding) +
+ res.getDimensionPixelSize(R.dimen.all_apps_icon_top_bottom_padding)) / 2;
}
/**
@@ -349,13 +339,6 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
}
/**
- * Sets the prediction row height.
- */
- public void setPredictionRowHeight(int height) {
- mPredictionBarHeight = height;
- }
-
- /**
* Sets whether we are in RTL mode.
*/
public void setRtl(boolean rtl) {
@@ -400,14 +383,7 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
false));
case SECTION_BREAK_VIEW_TYPE:
return new ViewHolder(new View(parent.getContext()));
- case PREDICTION_BAR_SPACER_TYPE:
- // Create a view of a specific height to match the floating prediction bar
- View v = new View(parent.getContext());
- ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT, mPredictionBarHeight);
- v.setLayoutParams(lp);
- return new ViewHolder(v);
- case ICON_VIEW_TYPE:
+ case ICON_VIEW_TYPE: {
BubbleTextView icon = (BubbleTextView) mLayoutInflater.inflate(
R.layout.all_apps_icon, parent, false);
icon.setOnTouchListener(mTouchListener);
@@ -417,6 +393,18 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
.getLongPressTimeout());
icon.setFocusable(true);
return new ViewHolder(icon);
+ }
+ case PREDICTION_ICON_VIEW_TYPE: {
+ BubbleTextView icon = (BubbleTextView) mLayoutInflater.inflate(
+ R.layout.all_apps_prediction_bar_icon, parent, false);
+ icon.setOnTouchListener(mTouchListener);
+ icon.setOnClickListener(mIconClickListener);
+ icon.setOnLongClickListener(mIconLongClickListener);
+ icon.setLongPressTimeout(ViewConfiguration.get(parent.getContext())
+ .getLongPressTimeout());
+ icon.setFocusable(true);
+ return new ViewHolder(icon);
+ }
default:
throw new RuntimeException("Unexpected view type");
}
@@ -425,21 +413,18 @@ class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.ViewHol
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
- case ICON_VIEW_TYPE:
+ case ICON_VIEW_TYPE: {
AppInfo info = mApps.getAdapterItems().get(position).appInfo;
BubbleTextView icon = (BubbleTextView) holder.mContent;
icon.applyFromApplicationInfo(info);
break;
- case PREDICTION_BAR_SPACER_TYPE:
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- if (mPredictionBarCb != null) {
- mPredictionBarCb.onBindPredictionBar();
- }
- }
- });
+ }
+ case PREDICTION_ICON_VIEW_TYPE: {
+ AppInfo info = mApps.getAdapterItems().get(position).appInfo;
+ BubbleTextView icon = (BubbleTextView) holder.mContent;
+ icon.applyFromApplicationInfo(info);
break;
+ }
case EMPTY_SEARCH_VIEW_TYPE:
TextView emptyViewText = (TextView) holder.mContent.findViewById(R.id.empty_text);
emptyViewText.setText(mEmptySearchText);
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index 988ecdda3..730c8d15a 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -27,6 +27,7 @@ import com.android.launcher3.BaseRecyclerView;
import com.android.launcher3.BaseRecyclerViewFastScrollBar;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Stats;
+import com.android.launcher3.Utilities;
import com.android.launcher3.util.Thunk;
import java.util.List;
@@ -45,7 +46,6 @@ public class AllAppsRecyclerView extends BaseRecyclerView
private AlphabeticalAppsList mApps;
private int mNumAppsPerRow;
- private int mPredictionBarHeight;
@Thunk BaseRecyclerViewFastScrollBar.FastScrollFocusableView mLastFastScrollFocusedView;
@Thunk int mPrevFastScrollFocusedPosition;
@@ -89,20 +89,13 @@ public class AllAppsRecyclerView extends BaseRecyclerView
RecyclerView.RecycledViewPool pool = getRecycledViewPool();
int approxRows = (int) Math.ceil(grid.availableHeightPx / grid.allAppsIconSizePx);
- pool.setMaxRecycledViews(AllAppsGridAdapter.PREDICTION_BAR_SPACER_TYPE, 1);
pool.setMaxRecycledViews(AllAppsGridAdapter.EMPTY_SEARCH_VIEW_TYPE, 1);
pool.setMaxRecycledViews(AllAppsGridAdapter.ICON_VIEW_TYPE, approxRows * mNumAppsPerRow);
+ pool.setMaxRecycledViews(AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE, mNumAppsPerRow);
pool.setMaxRecycledViews(AllAppsGridAdapter.SECTION_BREAK_VIEW_TYPE, approxRows);
}
/**
- * Sets the prediction bar height.
- */
- public void setPredictionBarHeight(int height) {
- mPredictionBarHeight = height;
- }
-
- /**
* Scrolls this recycler view to the top.
*/
public void scrollToTop() {
@@ -110,21 +103,6 @@ public class AllAppsRecyclerView extends BaseRecyclerView
}
/**
- * Returns the current scroll position.
- */
- public int getScrollPosition() {
- List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
- getCurScrollState(mScrollPosState, items);
- if (mScrollPosState.rowIndex != -1) {
- int predictionBarHeight = mApps.getPredictedApps().isEmpty() ? 0 : mPredictionBarHeight;
- return getPaddingTop() + predictionBarHeight +
- (mScrollPosState.rowIndex * mScrollPosState.rowHeight) -
- mScrollPosState.rowTopOffset;
- }
- return 0;
- }
-
- /**
* We need to override the draw to ensure that we don't draw the overscroll effect beyond the
* background bounds.
*/
@@ -189,9 +167,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView
// Map the touch position back to the scroll of the recycler view
getCurScrollState(mScrollPosState, mApps.getAdapterItems());
- int predictionBarHeight = mApps.getPredictedApps().isEmpty() ? 0 : mPredictionBarHeight;
- int availableScrollHeight = getAvailableScrollHeight(rowCount, mScrollPosState.rowHeight,
- predictionBarHeight);
+ int availableScrollHeight = getAvailableScrollHeight(rowCount, mScrollPosState.rowHeight, 0);
LinearLayoutManager layoutManager = (LinearLayoutManager) getLayoutManager();
if (mFastScrollMode == FAST_SCROLL_MODE_FREE_SCROLL) {
layoutManager.scrollToPositionWithOffset(0, (int) -(availableScrollHeight * touchFraction));
@@ -255,8 +231,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView
return;
}
- int predictionBarHeight = mApps.getPredictedApps().isEmpty() ? 0 : mPredictionBarHeight;
- synchronizeScrollBarThumbOffsetToViewScroll(mScrollPosState, rowCount, predictionBarHeight);
+ synchronizeScrollBarThumbOffsetToViewScroll(mScrollPosState, rowCount, 0);
}
/**
@@ -293,8 +268,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView
// Calculate the full animation from the current scroll position to the final scroll
// position, and then run the animation for the duration.
- int predictionBarHeight = mApps.getPredictedApps().isEmpty() ? 0 : mPredictionBarHeight;
- int curScrollY = getPaddingTop() + predictionBarHeight +
+ int curScrollY = getPaddingTop() +
(scrollPosState.rowIndex * scrollPosState.rowHeight) - scrollPosState.rowTopOffset;
int newScrollY = getScrollAtPosition(position, scrollPosState.rowHeight);
int numFrames = mFastScrollFrames.length;
@@ -307,8 +281,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView
}
/**
- * Returns the current scroll state of the apps rows, not including the prediction
- * bar.
+ * Returns the current scroll state of the apps rows.
*/
private void getCurScrollState(ScrollPositionState stateOut,
List<AlphabeticalAppsList.AdapterItem> items) {
@@ -327,7 +300,8 @@ public class AllAppsRecyclerView extends BaseRecyclerView
int position = getChildPosition(child);
if (position != NO_POSITION) {
AlphabeticalAppsList.AdapterItem item = items.get(position);
- if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE) {
+ if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE ||
+ item.viewType == AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE) {
stateOut.rowIndex = item.rowIndex;
stateOut.rowTopOffset = getLayoutManager().getDecoratedTop(child);
stateOut.rowHeight = child.getHeight();
@@ -342,9 +316,10 @@ public class AllAppsRecyclerView extends BaseRecyclerView
*/
private int getScrollAtPosition(int position, int rowHeight) {
AlphabeticalAppsList.AdapterItem item = mApps.getAdapterItems().get(position);
- if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE) {
- int predictionBarHeight = mApps.getPredictedApps().isEmpty() ? 0 : mPredictionBarHeight;
- return getPaddingTop() + predictionBarHeight + item.rowIndex * rowHeight;
+ if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE ||
+ item.viewType == AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE) {
+ int offset = item.rowIndex > 0 ? getPaddingTop() : 0;
+ return offset + item.rowIndex * rowHeight;
} else {
return 0;
}
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerViewContainerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerViewContainerView.java
index 1c51ab763..14e2a1863 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerViewContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerViewContainerView.java
@@ -37,7 +37,6 @@ public class AllAppsRecyclerViewContainerView extends FrameLayout
implements BubbleTextShadowHandler {
private final ClickShadowView mTouchFeedbackView;
- private View mPredictionBarView;
public AllAppsRecyclerViewContainerView(Context context) {
this(context, null);
@@ -61,13 +60,6 @@ public class AllAppsRecyclerViewContainerView extends FrameLayout
}
@Override
- protected void onFinishInflate() {
- super.onFinishInflate();
-
- mPredictionBarView = findViewById(R.id.prediction_bar);
- }
-
- @Override
public void setPressedIcon(BubbleTextView icon, Bitmap background) {
if (icon == null || background == null) {
mTouchFeedbackView.setBitmap(null);
@@ -77,33 +69,4 @@ public class AllAppsRecyclerViewContainerView extends FrameLayout
mTouchFeedbackView.animateShadow();
}
}
-
- /**
- * This allows us to have custom drawing order, while keeping touch handling in correct z-order.
- */
- @Override
- protected void dispatchDraw(Canvas canvas) {
- final long drawingTime = getDrawingTime();
-
- // Draw the click feedback first (since it is always on the bottom)
- if (mTouchFeedbackView != null && mTouchFeedbackView.getVisibility() == View.VISIBLE) {
- drawChild(canvas, mTouchFeedbackView, drawingTime);
- }
-
- // Then draw the prediction bar, since it needs to be "under" the recycler view to get the
- // right edge effect to be drawn over it
- if (mPredictionBarView != null && mPredictionBarView.getVisibility() == View.VISIBLE) {
- drawChild(canvas, mPredictionBarView, drawingTime);
- }
-
- // Draw the remaining views
- int childCount = getChildCount();
- for (int i = 0; i < childCount; i++) {
- View v = getChildAt(i);
- if (v != mTouchFeedbackView && v != mPredictionBarView &&
- v.getVisibility() == View.VISIBLE) {
- drawChild(canvas, v, drawingTime);
- }
- }
- }
}
diff --git a/src/com/android/launcher3/allapps/AllAppsSearchBarController.java b/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
index 341539cdd..2b363c0cb 100644
--- a/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
+++ b/src/com/android/launcher3/allapps/AllAppsSearchBarController.java
@@ -72,6 +72,7 @@ public abstract class AllAppsSearchBarController {
* Returns whether the prediction bar should currently be visible depending on the state of
* the search bar.
*/
+ @Deprecated
public abstract boolean shouldShowPredictionBar();
/**
diff --git a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
index ea99872ed..47241ce5d 100644
--- a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
+++ b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
@@ -110,10 +110,10 @@ public class AlphabeticalAppsList {
return item;
}
- public static AdapterItem asPredictionBarSpacer(int pos) {
- AdapterItem item = new AdapterItem();
- item.viewType = AllAppsGridAdapter.PREDICTION_BAR_SPACER_TYPE;
- item.position = pos;
+ public static AdapterItem asPredictedApp(int pos, SectionInfo section, String sectionName,
+ int sectionAppIndex, AppInfo appInfo, int appIndex) {
+ AdapterItem item = asApp(pos, section, sectionName, sectionAppIndex, appInfo, appIndex);
+ item.viewType = AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE;
return item;
}
@@ -132,13 +132,6 @@ public class AlphabeticalAppsList {
}
/**
- * Callback to notify when the set of adapter items have changed.
- */
- public interface AdapterChangedCallback {
- void onAdapterItemsChanged();
- }
-
- /**
* Common interface for different merging strategies.
*/
public interface MergeAlgorithm {
@@ -171,7 +164,6 @@ public class AlphabeticalAppsList {
private AlphabeticIndexCompat mIndexer;
private AppNameComparator mAppNameComparator;
private MergeAlgorithm mMergeAlgorithm;
- private AdapterChangedCallback mAdapterChangedCallback;
private int mNumAppsPerRow;
private int mNumPredictedAppsPerRow;
private int mNumAppRowsInAdapter;
@@ -183,13 +175,6 @@ public class AlphabeticalAppsList {
}
/**
- * Sets the apps updated callback.
- */
- public void setAdapterChangedCallback(AdapterChangedCallback cb) {
- mAdapterChangedCallback = cb;
- }
-
- /**
* Sets the number of apps per row.
*/
public void setNumAppsPerRow(int numAppsPerRow, int numPredictedAppsPerRow,
@@ -285,13 +270,6 @@ public class AlphabeticalAppsList {
}
/**
- * Returns the current set of predicted apps.
- */
- public List<AppInfo> getPredictedApps() {
- return mPredictedApps;
- }
-
- /**
* Sets the current set of apps.
*/
public void setApps(List<AppInfo> apps) {
@@ -426,13 +404,25 @@ public class AlphabeticalAppsList {
}
if (!mPredictedApps.isEmpty()) {
- // Create a new spacer for the prediction bar
- AdapterItem sectionItem = AdapterItem.asPredictionBarSpacer(position++);
- mAdapterItems.add(sectionItem);
- // Add a fastscroller section for the prediction bar
+ // Add a section for the predictions
+ lastSectionInfo = new SectionInfo();
lastFastScrollerSectionInfo = new FastScrollSectionInfo("");
- lastFastScrollerSectionInfo.fastScrollToItem = sectionItem;
+ AdapterItem sectionItem = AdapterItem.asSectionBreak(position++, lastSectionInfo);
+ mSections.add(lastSectionInfo);
mFastScrollerSections.add(lastFastScrollerSectionInfo);
+ mAdapterItems.add(sectionItem);
+
+ // Add the predicted app items
+ for (AppInfo info : mPredictedApps) {
+ AdapterItem appItem = AdapterItem.asPredictedApp(position++, lastSectionInfo,
+ "", lastSectionInfo.numApps++, info, appIndex++);
+ if (lastSectionInfo.firstAppItem == null) {
+ lastSectionInfo.firstAppItem = appItem;
+ lastFastScrollerSectionInfo.fastScrollToItem = appItem;
+ }
+ mAdapterItems.add(appItem);
+ mFilteredApps.add(info);
+ }
}
}
@@ -480,7 +470,8 @@ public class AlphabeticalAppsList {
item.rowIndex = 0;
if (item.viewType == AllAppsGridAdapter.SECTION_BREAK_VIEW_TYPE) {
numAppsInSection = 0;
- } else if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE) {
+ } else if (item.viewType == AllAppsGridAdapter.ICON_VIEW_TYPE ||
+ item.viewType == AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE) {
if (numAppsInSection % mNumAppsPerRow == 0) {
numAppsInRow = 0;
rowIndex++;
@@ -493,19 +484,18 @@ public class AlphabeticalAppsList {
}
mNumAppRowsInAdapter = rowIndex + 1;
- // Pre-calculate all the fast scroller fractions based on the number of rows, if we have
- // predicted apps, then we should account for that as a row in the touchFraction
- float rowFraction = 1f / (mNumAppRowsInAdapter + (mPredictedApps.isEmpty() ? 0 : 1));
- float initialOffset = mPredictedApps.isEmpty() ? 0 : rowFraction;
+ // Pre-calculate all the fast scroller fractions based on the number of rows
+ float rowFraction = 1f / mNumAppRowsInAdapter;
for (FastScrollSectionInfo info : mFastScrollerSections) {
AdapterItem item = info.fastScrollToItem;
- if (item.viewType != AllAppsGridAdapter.ICON_VIEW_TYPE) {
+ if (item.viewType != AllAppsGridAdapter.ICON_VIEW_TYPE &&
+ item.viewType != AllAppsGridAdapter.PREDICTION_ICON_VIEW_TYPE) {
info.touchFraction = 0f;
continue;
}
float subRowFraction = item.rowAppIndex * (rowFraction / mNumAppsPerRow);
- info.touchFraction = initialOffset + item.rowIndex * rowFraction + subRowFraction;
+ info.touchFraction = item.rowIndex * rowFraction + subRowFraction;
}
}
@@ -513,10 +503,6 @@ public class AlphabeticalAppsList {
if (mAdapter != null) {
mAdapter.notifyDataSetChanged();
}
-
- if (mAdapterChangedCallback != null) {
- mAdapterChangedCallback.onAdapterItemsChanged();
- }
}
private List<AppInfo> getFiltersAppInfos() {
diff --git a/src/com/android/launcher3/allapps/DefaultAppSearchController.java b/src/com/android/launcher3/allapps/DefaultAppSearchController.java
index 20924af94..83b920589 100644
--- a/src/com/android/launcher3/allapps/DefaultAppSearchController.java
+++ b/src/com/android/launcher3/allapps/DefaultAppSearchController.java
@@ -125,8 +125,7 @@ final class DefaultAppSearchController extends AllAppsSearchBarController
@Override
public boolean shouldShowPredictionBar() {
- // Keep showing the prediction bar if the input query is empty
- return mSearchBarEditView.getEditableText().toString().isEmpty();
+ return false;
}
@Override
diff --git a/src/com/android/launcher3/util/UiThreadCircularReveal.java b/src/com/android/launcher3/util/UiThreadCircularReveal.java
index c7324fb1b..c8e1df289 100644
--- a/src/com/android/launcher3/util/UiThreadCircularReveal.java
+++ b/src/com/android/launcher3/util/UiThreadCircularReveal.java
@@ -15,11 +15,15 @@ import com.android.launcher3.Utilities;
public class UiThreadCircularReveal {
public static ValueAnimator createCircularReveal(View v, int x, int y, float r0, float r1) {
+ return createCircularReveal(v, x, y, r0, r1, ViewOutlineProvider.BACKGROUND);
+ }
+
+ public static ValueAnimator createCircularReveal(View v, int x, int y, float r0, float r1,
+ final ViewOutlineProvider originalProvider) {
ValueAnimator va = ValueAnimator.ofFloat(0f, 1f);
final View revealView = v;
final RevealOutlineProvider outlineProvider = new RevealOutlineProvider(x, y, r0, r1);
- final ViewOutlineProvider originalProvider = revealView.getOutlineProvider();
final float elevation = v.getElevation();
va.addListener(new AnimatorListenerAdapter() {