diff --git a/Android.mk b/Android.mk index 3bd20a7cd1..dbce33f8b4 100644 --- a/Android.mk +++ b/Android.mk @@ -26,8 +26,12 @@ LOCAL_MODULE_TAGS := optional LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13 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_PROTOC_OPTIMIZE_TYPE := nano LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ @@ -57,6 +61,28 @@ LOCAL_PROTOC_OPTIMIZE_TYPE := nano LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ LOCAL_MODULE_TAGS := optional -LOCAL_MODULE := protoutil +LOCAL_MODULE := launcher_protoutil_lib +LOCAL_IS_HOST_MODULE := true +LOCAL_JAR_MANIFEST := util/etc/manifest.txt +LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-2.3.0-nano include $(BUILD_HOST_JAVA_LIBRARY) + +# +# Protocol Buffer Debug Utility Wrapper Script +# +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := launcher_protoutil + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): launcher_protoutil_lib +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/util/etc/launcher_protoutil | $(ACP) + @echo "Copy: $(PRIVATE_MODULE) ($@)" + $(copy-file-to-new-target) + $(hide) chmod 755 $@ + +INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 901b63838d..36fa4c190a 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -20,6 +20,7 @@ + + + + + + + + + + + + diff --git a/WallpaperPicker/README b/WallpaperPicker/README new file mode 100644 index 0000000000..d8efb07f61 --- /dev/null +++ b/WallpaperPicker/README @@ -0,0 +1,4 @@ +This project contains the wallpaper picker for Launcher3. It's in a separate +folder to organize the code separately from the rest of the launcher, and has +a manifest so that a separate Eclipse project can exist for the wallpaper +picker (necessary to have the Eclipse build work) \ No newline at end of file diff --git a/res/drawable-hdpi/ic_actionbar_accept.png b/WallpaperPicker/res/drawable-hdpi/ic_actionbar_accept.png similarity index 100% rename from res/drawable-hdpi/ic_actionbar_accept.png rename to WallpaperPicker/res/drawable-hdpi/ic_actionbar_accept.png diff --git a/res/drawable-hdpi/ic_images.png b/WallpaperPicker/res/drawable-hdpi/ic_images.png similarity index 100% rename from res/drawable-hdpi/ic_images.png rename to WallpaperPicker/res/drawable-hdpi/ic_images.png diff --git a/res/drawable-hdpi/tile_picker_focused.9.png b/WallpaperPicker/res/drawable-hdpi/tile_picker_focused.9.png similarity index 100% rename from res/drawable-hdpi/tile_picker_focused.9.png rename to WallpaperPicker/res/drawable-hdpi/tile_picker_focused.9.png diff --git a/res/drawable-hdpi/tile_picker_pressed.9.png b/WallpaperPicker/res/drawable-hdpi/tile_picker_pressed.9.png similarity index 100% rename from res/drawable-hdpi/tile_picker_pressed.9.png rename to WallpaperPicker/res/drawable-hdpi/tile_picker_pressed.9.png diff --git a/res/drawable-hdpi/tile_picker_selected.9.png b/WallpaperPicker/res/drawable-hdpi/tile_picker_selected.9.png similarity index 100% rename from res/drawable-hdpi/tile_picker_selected.9.png rename to WallpaperPicker/res/drawable-hdpi/tile_picker_selected.9.png diff --git a/res/drawable-hdpi/tile_shadow_bottom.9.png b/WallpaperPicker/res/drawable-hdpi/tile_shadow_bottom.9.png similarity index 100% rename from res/drawable-hdpi/tile_shadow_bottom.9.png rename to WallpaperPicker/res/drawable-hdpi/tile_shadow_bottom.9.png diff --git a/res/drawable-hdpi/tile_shadow_top.9.png b/WallpaperPicker/res/drawable-hdpi/tile_shadow_top.9.png similarity index 100% rename from res/drawable-hdpi/tile_shadow_top.9.png rename to WallpaperPicker/res/drawable-hdpi/tile_shadow_top.9.png diff --git a/res/drawable-mdpi/ic_actionbar_accept.png b/WallpaperPicker/res/drawable-mdpi/ic_actionbar_accept.png similarity index 100% rename from res/drawable-mdpi/ic_actionbar_accept.png rename to WallpaperPicker/res/drawable-mdpi/ic_actionbar_accept.png diff --git a/res/drawable-mdpi/ic_images.png b/WallpaperPicker/res/drawable-mdpi/ic_images.png similarity index 100% rename from res/drawable-mdpi/ic_images.png rename to WallpaperPicker/res/drawable-mdpi/ic_images.png diff --git a/res/drawable-mdpi/tile_picker_focused.9.png b/WallpaperPicker/res/drawable-mdpi/tile_picker_focused.9.png similarity index 100% rename from res/drawable-mdpi/tile_picker_focused.9.png rename to WallpaperPicker/res/drawable-mdpi/tile_picker_focused.9.png diff --git a/res/drawable-mdpi/tile_picker_pressed.9.png b/WallpaperPicker/res/drawable-mdpi/tile_picker_pressed.9.png similarity index 100% rename from res/drawable-mdpi/tile_picker_pressed.9.png rename to WallpaperPicker/res/drawable-mdpi/tile_picker_pressed.9.png diff --git a/res/drawable-mdpi/tile_picker_selected.9.png b/WallpaperPicker/res/drawable-mdpi/tile_picker_selected.9.png similarity index 100% rename from res/drawable-mdpi/tile_picker_selected.9.png rename to WallpaperPicker/res/drawable-mdpi/tile_picker_selected.9.png diff --git a/res/drawable-mdpi/tile_shadow_bottom.9.png b/WallpaperPicker/res/drawable-mdpi/tile_shadow_bottom.9.png similarity index 100% rename from res/drawable-mdpi/tile_shadow_bottom.9.png rename to WallpaperPicker/res/drawable-mdpi/tile_shadow_bottom.9.png diff --git a/res/drawable-mdpi/tile_shadow_top.9.png b/WallpaperPicker/res/drawable-mdpi/tile_shadow_top.9.png similarity index 100% rename from res/drawable-mdpi/tile_shadow_top.9.png rename to WallpaperPicker/res/drawable-mdpi/tile_shadow_top.9.png diff --git a/res/drawable-xhdpi/ic_actionbar_accept.png b/WallpaperPicker/res/drawable-xhdpi/ic_actionbar_accept.png similarity index 100% rename from res/drawable-xhdpi/ic_actionbar_accept.png rename to WallpaperPicker/res/drawable-xhdpi/ic_actionbar_accept.png diff --git a/res/drawable-xhdpi/ic_images.png b/WallpaperPicker/res/drawable-xhdpi/ic_images.png similarity index 100% rename from res/drawable-xhdpi/ic_images.png rename to WallpaperPicker/res/drawable-xhdpi/ic_images.png diff --git a/res/drawable-xhdpi/tile_picker_focused.9.png b/WallpaperPicker/res/drawable-xhdpi/tile_picker_focused.9.png similarity index 100% rename from res/drawable-xhdpi/tile_picker_focused.9.png rename to WallpaperPicker/res/drawable-xhdpi/tile_picker_focused.9.png diff --git a/res/drawable-xhdpi/tile_picker_pressed.9.png b/WallpaperPicker/res/drawable-xhdpi/tile_picker_pressed.9.png similarity index 100% rename from res/drawable-xhdpi/tile_picker_pressed.9.png rename to WallpaperPicker/res/drawable-xhdpi/tile_picker_pressed.9.png diff --git a/res/drawable-xhdpi/tile_picker_selected.9.png b/WallpaperPicker/res/drawable-xhdpi/tile_picker_selected.9.png similarity index 100% rename from res/drawable-xhdpi/tile_picker_selected.9.png rename to WallpaperPicker/res/drawable-xhdpi/tile_picker_selected.9.png diff --git a/res/drawable-xhdpi/tile_shadow_bottom.9.png b/WallpaperPicker/res/drawable-xhdpi/tile_shadow_bottom.9.png similarity index 100% rename from res/drawable-xhdpi/tile_shadow_bottom.9.png rename to WallpaperPicker/res/drawable-xhdpi/tile_shadow_bottom.9.png diff --git a/res/drawable-xhdpi/tile_shadow_top.9.png b/WallpaperPicker/res/drawable-xhdpi/tile_shadow_top.9.png similarity index 100% rename from res/drawable-xhdpi/tile_shadow_top.9.png rename to WallpaperPicker/res/drawable-xhdpi/tile_shadow_top.9.png diff --git a/res/drawable-xxhdpi/ic_images.png b/WallpaperPicker/res/drawable-xxhdpi/ic_images.png similarity index 100% rename from res/drawable-xxhdpi/ic_images.png rename to WallpaperPicker/res/drawable-xxhdpi/ic_images.png diff --git a/res/drawable-xxhdpi/tile_picker_focused.9.png b/WallpaperPicker/res/drawable-xxhdpi/tile_picker_focused.9.png similarity index 100% rename from res/drawable-xxhdpi/tile_picker_focused.9.png rename to WallpaperPicker/res/drawable-xxhdpi/tile_picker_focused.9.png diff --git a/res/drawable-xxhdpi/tile_picker_pressed.9.png b/WallpaperPicker/res/drawable-xxhdpi/tile_picker_pressed.9.png similarity index 100% rename from res/drawable-xxhdpi/tile_picker_pressed.9.png rename to WallpaperPicker/res/drawable-xxhdpi/tile_picker_pressed.9.png diff --git a/res/drawable-xxhdpi/tile_picker_selected.9.png b/WallpaperPicker/res/drawable-xxhdpi/tile_picker_selected.9.png similarity index 100% rename from res/drawable-xxhdpi/tile_picker_selected.9.png rename to WallpaperPicker/res/drawable-xxhdpi/tile_picker_selected.9.png diff --git a/res/drawable-xxhdpi/tile_shadow_bottom.9.png b/WallpaperPicker/res/drawable-xxhdpi/tile_shadow_bottom.9.png similarity index 100% rename from res/drawable-xxhdpi/tile_shadow_bottom.9.png rename to WallpaperPicker/res/drawable-xxhdpi/tile_shadow_bottom.9.png diff --git a/res/drawable-xxhdpi/tile_shadow_top.9.png b/WallpaperPicker/res/drawable-xxhdpi/tile_shadow_top.9.png similarity index 100% rename from res/drawable-xxhdpi/tile_shadow_top.9.png rename to WallpaperPicker/res/drawable-xxhdpi/tile_shadow_top.9.png diff --git a/res/drawable/wallpaper_tile_fg.xml b/WallpaperPicker/res/drawable/wallpaper_tile_fg.xml similarity index 100% rename from res/drawable/wallpaper_tile_fg.xml rename to WallpaperPicker/res/drawable/wallpaper_tile_fg.xml diff --git a/res/layout/actionbar_set_wallpaper.xml b/WallpaperPicker/res/layout/actionbar_set_wallpaper.xml similarity index 96% rename from res/layout/actionbar_set_wallpaper.xml rename to WallpaperPicker/res/layout/actionbar_set_wallpaper.xml index 1622742a52..2a0188ae2b 100644 --- a/res/layout/actionbar_set_wallpaper.xml +++ b/WallpaperPicker/res/layout/actionbar_set_wallpaper.xml @@ -20,6 +20,7 @@ + + + + "Stel muurpapier" + "Kon nie prent laai nie" + "Kon nie prent as muurpapier laai nie" + + "%1$d gekies" + "%1$d gekies" + "%1$d gekies" + + "Muurpapier %1$d van %2$d" + "Het %1$s gekies" + "Vee uit" + "Kies prent" + "Muurpapiere" + "Snoei muurpapier" + diff --git a/WallpaperPicker/res/values-am/strings.xml b/WallpaperPicker/res/values-am/strings.xml new file mode 100644 index 0000000000..3941616341 --- /dev/null +++ b/WallpaperPicker/res/values-am/strings.xml @@ -0,0 +1,36 @@ + + + + + "የግድግዳ ወረቀት አዘጋጅ" + "ምስሉን መጫን አልተቻለም" + "ምስሉን እንደ ግድግዳ ወረቀት መጫን አልተቻለም" + + "%1$d ተመርጧል" + "%1$d ተመርጧል" + "%1$d ተመርጧል" + + "የግድግዳ ወረቀት %1$d የ%2$d" + "%1$s ተመርጧል" + "ሰርዝ" + "ምስል ይምረጡ" + "የግድግዳ ወረቀቶች" + "የግድግዳ ወረቀት ይከርክሙ" + diff --git a/WallpaperPicker/res/values-ar/strings.xml b/WallpaperPicker/res/values-ar/strings.xml new file mode 100644 index 0000000000..2075cc875d --- /dev/null +++ b/WallpaperPicker/res/values-ar/strings.xml @@ -0,0 +1,36 @@ + + + + + "تعيين الخلفية" + "تعذر تحميل الصورة" + "تعذر تحميل الصورة كخلفية" + + "‏تم تحديد %1$d" + "‏تم تحديد %1$d" + "‏تم تحديد %1$d" + + "‏الخلفية %1$d من %2$d" + "تم تحديد %1$s" + "حذف" + "اختيار صورة" + "الخلفيات" + "اقتصاص الخلفية" + diff --git a/WallpaperPicker/res/values-bg/strings.xml b/WallpaperPicker/res/values-bg/strings.xml new file mode 100644 index 0000000000..ce4fc651b0 --- /dev/null +++ b/WallpaperPicker/res/values-bg/strings.xml @@ -0,0 +1,36 @@ + + + + + "Задаване на тапета" + "Изображението не можа да бъде заредено" + "Изображението не можа да бъде заредено като тапет" + + "Избрахте %1$d" + "Избрахте %1$d" + "Избрахте %1$d" + + "Тапет %1$d от %2$d" + "Избрахте %1$s" + "Изтриване" + "Избиране на изображение" + "Тапети" + "Подрязване на тапета" + diff --git a/WallpaperPicker/res/values-ca/strings.xml b/WallpaperPicker/res/values-ca/strings.xml new file mode 100644 index 0000000000..89de81c30f --- /dev/null +++ b/WallpaperPicker/res/values-ca/strings.xml @@ -0,0 +1,36 @@ + + + + + "Estableix el fons de pantalla" + "No s\'ha pogut carregar la imatge." + "No s\'ha pogut carregar la imatge com a fons de pantalla." + + "Seleccionats: %1$d" + "Seleccionats: %1$d" + "Seleccionats: %1$d" + + "Fons de pantalla %1$d de %2$d" + "S\'ha seleccionat %1$s." + "Suprimeix" + "Tria una imatge" + "Fons de pantalla" + "Retallar fons de pantalla" + diff --git a/WallpaperPicker/res/values-cs/strings.xml b/WallpaperPicker/res/values-cs/strings.xml new file mode 100644 index 0000000000..a07b9eda2a --- /dev/null +++ b/WallpaperPicker/res/values-cs/strings.xml @@ -0,0 +1,36 @@ + + + + + "Nastavit jako tapetu" + "Obrázek nelze načíst." + "Obrázek nelze načíst jako tapetu." + + "Vybráno: %1$d" + "Vybráno: %1$d" + "Vybráno: %1$d" + + "Tapeta %1$d z %2$d" + "Vybrána položka %1$s" + "Smazat" + "Vybrat obrázek" + "Tapety" + "Oříznutí tapety" + diff --git a/WallpaperPicker/res/values-da/strings.xml b/WallpaperPicker/res/values-da/strings.xml new file mode 100644 index 0000000000..5b233e1d0e --- /dev/null +++ b/WallpaperPicker/res/values-da/strings.xml @@ -0,0 +1,36 @@ + + + + + "Angiv baggrund" + "Billedet kunne ikke indlæses" + "Billedet kunne ikke indlæses som baggrund" + + "%1$d er valgt" + "%1$d er valgt" + "%1$d er valgt" + + "Baggrund %1$d af %2$d" + "%1$s blev valgt" + "Slet" + "Vælg et billede" + "Baggrunde" + "Beskær baggrunden" + diff --git a/WallpaperPicker/res/values-de/strings.xml b/WallpaperPicker/res/values-de/strings.xml new file mode 100644 index 0000000000..11c1cac6a3 --- /dev/null +++ b/WallpaperPicker/res/values-de/strings.xml @@ -0,0 +1,36 @@ + + + + + "Hintergrund auswählen" + "Bild konnte nicht geladen werden." + "Bild konnte nicht als Hintergrund geladen werden." + + "%1$d ausgewählt" + "%1$d ausgewählt" + "%1$d ausgewählt" + + "Hintergrund %1$d von %2$d" + "%1$s ausgewählt" + "Löschen" + "Bild auswählen" + "Hintergründe" + "Hintergrund zuschneiden" + diff --git a/WallpaperPicker/res/values-el/strings.xml b/WallpaperPicker/res/values-el/strings.xml new file mode 100644 index 0000000000..8e1e78fb94 --- /dev/null +++ b/WallpaperPicker/res/values-el/strings.xml @@ -0,0 +1,36 @@ + + + + + "Ορισμός ταπετσαρίας" + "Δεν ήταν δυνατή η φόρτωση της εικόνας" + "Δεν ήταν δυνατή η φόρτωση της εικόνας ως ταπετσαρία" + + "%1$d επιλεγμένα" + "%1$d επιλεγμένα" + "%1$d επιλεγμένα" + + "Ταπετσαρία %1$d από %2$d" + "Επιλέχθηκε το %1$s" + "Διαγραφή" + "Επιλογή εικόνας" + "Ταπετσαρίες" + "Περικοπή ταπετσαρίας" + diff --git a/WallpaperPicker/res/values-en-rGB/strings.xml b/WallpaperPicker/res/values-en-rGB/strings.xml new file mode 100644 index 0000000000..c057c0cb35 --- /dev/null +++ b/WallpaperPicker/res/values-en-rGB/strings.xml @@ -0,0 +1,36 @@ + + + + + "Set wallpaper" + "Couldn\'t load image" + "Couldn\'t load image as wallpaper" + + "%1$d selected" + "%1$d selected" + "%1$d selected" + + "Wallpaper %1$d of %2$d" + "Selected %1$s" + "Delete" + "Pick image" + "Wallpapers" + "Crop wallpaper" + diff --git a/WallpaperPicker/res/values-en-rIN/strings.xml b/WallpaperPicker/res/values-en-rIN/strings.xml new file mode 100644 index 0000000000..c057c0cb35 --- /dev/null +++ b/WallpaperPicker/res/values-en-rIN/strings.xml @@ -0,0 +1,36 @@ + + + + + "Set wallpaper" + "Couldn\'t load image" + "Couldn\'t load image as wallpaper" + + "%1$d selected" + "%1$d selected" + "%1$d selected" + + "Wallpaper %1$d of %2$d" + "Selected %1$s" + "Delete" + "Pick image" + "Wallpapers" + "Crop wallpaper" + diff --git a/WallpaperPicker/res/values-es-rUS/strings.xml b/WallpaperPicker/res/values-es-rUS/strings.xml new file mode 100644 index 0000000000..768385b9ee --- /dev/null +++ b/WallpaperPicker/res/values-es-rUS/strings.xml @@ -0,0 +1,36 @@ + + + + + "Establecer como fondo de pantalla" + "No se pudo cargar la imagen." + "No se pudo cargar la imagen como fondo de pantalla." + + "%1$d seleccionado" + "%1$d seleccionado" + "%1$d seleccionados" + + "Fondo de pantalla %1$d de %2$d" + "%1$s seleccionado" + "Eliminar" + "Elegir imagen" + "Fondos de pantalla" + "Recortar fondo de pantalla" + diff --git a/WallpaperPicker/res/values-es/strings.xml b/WallpaperPicker/res/values-es/strings.xml new file mode 100644 index 0000000000..702b6d413f --- /dev/null +++ b/WallpaperPicker/res/values-es/strings.xml @@ -0,0 +1,36 @@ + + + + + "Establecer fondo" + "No se ha podido cargar la imagen" + "No se ha podido cargar la imagen como fondo de pantalla" + + "Seleccionados: %1$d" + "Seleccionados: %1$d" + "Seleccionados: %1$d" + + "Fondo de pantalla %1$d de %2$d" + "%1$s seleccionado" + "Eliminar" + "Seleccionar imagen" + "Fondos de pantalla" + "Recortar fondo de pantalla" + diff --git a/WallpaperPicker/res/values-et-rEE/strings.xml b/WallpaperPicker/res/values-et-rEE/strings.xml new file mode 100644 index 0000000000..c09e223d9e --- /dev/null +++ b/WallpaperPicker/res/values-et-rEE/strings.xml @@ -0,0 +1,36 @@ + + + + + "Määra taustapilt" + "Kujutist ei õnnestunud laadida" + "Kujutist ei õnnestunud taustapildina laadida" + + "Valitud on %1$d" + "Valitud on %1$d" + "Valitud on %1$d" + + "%1$d/%2$d taustapildist" + "Valitud on %1$s" + "Kustuta" + "Vali kujutis" + "Taustapildid" + "Taustapildi kärpimine" + diff --git a/WallpaperPicker/res/values-fa/strings.xml b/WallpaperPicker/res/values-fa/strings.xml new file mode 100644 index 0000000000..eb330b515c --- /dev/null +++ b/WallpaperPicker/res/values-fa/strings.xml @@ -0,0 +1,36 @@ + + + + + "تنظیم کاغذدیواری" + "تصویر بارگیری نشد" + "تصویر به عنوان کاغذدیواری بارگیری نشد" + + "‏%1$d انتخاب شد" + "‏%1$d انتخاب شد" + "‏%1$d انتخاب شد" + + "‏کاغذدیواری %1$d از %2$d" + "%1$s انتخاب شده است" + "حذف" + "انتخاب تصویر" + "کاغذدیواری‌ها" + "برش کاغذدیواری" + diff --git a/WallpaperPicker/res/values-fi/strings.xml b/WallpaperPicker/res/values-fi/strings.xml new file mode 100644 index 0000000000..0fa4b7bcfc --- /dev/null +++ b/WallpaperPicker/res/values-fi/strings.xml @@ -0,0 +1,36 @@ + + + + + "Aseta taustakuva" + "Kuvan lataus epäonnistui" + "Kuvaa ei voitu ladata taustakuvaksi" + + "%1$d valittu" + "%1$d valittu" + "%1$d valittu" + + "Taustakuva %1$d/%2$d" + "Valittu: %1$s" + "Poista" + "Valitse kuva" + "Taustakuvat" + "Rajaa taustakuva" + diff --git a/WallpaperPicker/res/values-fr-rCA/strings.xml b/WallpaperPicker/res/values-fr-rCA/strings.xml new file mode 100644 index 0000000000..e95670678a --- /dev/null +++ b/WallpaperPicker/res/values-fr-rCA/strings.xml @@ -0,0 +1,36 @@ + + + + + "Définir le fond d\'écran" + "Impossible de charger l\'image" + "Impossible de charger l\'image comme fond d\'écran" + + "%1$d sélectionné" + "%1$d sélectionné" + "%1$d sélectionné(s)" + + "Fond d\'écran %1$d de %2$d" + "Sélection : %1$s" + "Supprimer" + "Choisir une image" + "Fonds d\'écran" + "Rogner le fond d\'écran" + diff --git a/WallpaperPicker/res/values-fr/strings.xml b/WallpaperPicker/res/values-fr/strings.xml new file mode 100644 index 0000000000..ea07db1e54 --- /dev/null +++ b/WallpaperPicker/res/values-fr/strings.xml @@ -0,0 +1,36 @@ + + + + + "Définir comme fond d\'écran" + "Impossible de charger l\'image." + "Impossible de charger l\'image comme fond d\'écran." + + "%1$d élément sélectionné" + "%1$d élément sélectionné" + "%1$d éléments sélectionnés" + + "Fond d\'écran %1$d sur %2$d" + "%1$s sélectionné" + "Supprimer" + "Sélectionner une image" + "Fonds d\'écran" + "Rogner le fond d\'écran" + diff --git a/WallpaperPicker/res/values-hi/strings.xml b/WallpaperPicker/res/values-hi/strings.xml new file mode 100644 index 0000000000..fcb252eb55 --- /dev/null +++ b/WallpaperPicker/res/values-hi/strings.xml @@ -0,0 +1,36 @@ + + + + + "वॉलपेपर सेट करें" + "चित्र लोड नहीं किया जा सका" + "चित्र को वॉलपेपर के रूप में लोड नहीं किया जा सका" + + "%1$d चयनित" + "%1$d चयनित" + "%1$d चयनित" + + "वॉलपेपर %2$d में से %1$d" + "चयनित %1$s" + "हटाएं" + "चित्र चुनें" + "वॉलपेपर" + "वॉलपेपर काटें" + diff --git a/WallpaperPicker/res/values-hr/strings.xml b/WallpaperPicker/res/values-hr/strings.xml new file mode 100644 index 0000000000..ff2eed2ccf --- /dev/null +++ b/WallpaperPicker/res/values-hr/strings.xml @@ -0,0 +1,36 @@ + + + + + "Postavi pozadinsku sliku" + "Nije moguće učitati sliku" + "Nije moguće učitati sliku kao pozadinsku sliku" + + "Odabrano je %1$d stavki" + "Odabrana je %1$d stavka" + "Odabrano stavki: %1$d" + + "%1$d. pozadinska slika od %2$d" + "Odabrana je %1$s" + "Izbriši" + "Odaberi sliku" + "Pozadinske slike" + "Obrezivanje pozadinske slike" + diff --git a/WallpaperPicker/res/values-hu/strings.xml b/WallpaperPicker/res/values-hu/strings.xml new file mode 100644 index 0000000000..703aa12eb2 --- /dev/null +++ b/WallpaperPicker/res/values-hu/strings.xml @@ -0,0 +1,36 @@ + + + + + "Háttérkép beállítása" + "A kép betöltése nem sikerült" + "A kép betöltése háttérképként nem sikerült" + + "%1$d kiválasztva" + "%1$d kiválasztva" + "%1$d kiválasztva" + + "%1$d/%2$d. háttérkép" + "%1$s kiválasztva" + "Törlés" + "Kép kiválasztása" + "Háttérképek" + "Háttérkép körbevágása" + diff --git a/WallpaperPicker/res/values-hy-rAM/strings.xml b/WallpaperPicker/res/values-hy-rAM/strings.xml new file mode 100644 index 0000000000..f3891dd35a --- /dev/null +++ b/WallpaperPicker/res/values-hy-rAM/strings.xml @@ -0,0 +1,36 @@ + + + + + "Սահմանել պաստառը" + "Չհաջողվեց բեռնել նկարը" + "Չհաջողվեց նկարը սահմանել որպես պաստառ" + + "%1$d ընտրված" + "%1$d ընտրված" + "%1$d ընտրված" + + "%1$d պաստառ՝ %2$d-ից" + "Ընտրված է %1$s" + "Ջնջել" + "Ընտրել պատկեր" + "Պաստառներ" + "Եզրատել պաստառը" + diff --git a/WallpaperPicker/res/values-in/strings.xml b/WallpaperPicker/res/values-in/strings.xml new file mode 100644 index 0000000000..f216cf3436 --- /dev/null +++ b/WallpaperPicker/res/values-in/strings.xml @@ -0,0 +1,36 @@ + + + + + "Setel wallpaper" + "Tidak dapat memuat gambar" + "Tidak dapat memuat gambar sebagai wallpaper" + + "%1$d dipilih" + "%1$d dipilih" + "%1$d dipilih" + + "Wallpaper %1$d dari %2$d" + "%1$s terpilih" + "Hapus" + "Pilih gambar" + "Wallpaper" + "Pangkas wallpaper" + diff --git a/WallpaperPicker/res/values-it/strings.xml b/WallpaperPicker/res/values-it/strings.xml new file mode 100644 index 0000000000..c29946f85a --- /dev/null +++ b/WallpaperPicker/res/values-it/strings.xml @@ -0,0 +1,36 @@ + + + + + "Imposta sfondo" + "Impossibile caricare l\'immagine" + "Impossibile caricare l\'immagine come sfondo" + + "%1$d selezionati" + "%1$d selezionato" + "%1$d selezionati" + + "Sfondo %1$d di %2$d" + "Elemento selezionato: %1$s" + "Elimina" + "Scegli l\'immagine" + "Sfondi" + "Ritaglia sfondo" + diff --git a/WallpaperPicker/res/values-iw/strings.xml b/WallpaperPicker/res/values-iw/strings.xml new file mode 100644 index 0000000000..ddc96e92c5 --- /dev/null +++ b/WallpaperPicker/res/values-iw/strings.xml @@ -0,0 +1,36 @@ + + + + + "הגדר טפט" + "לא ניתן היה לטעון את התמונה" + "לא ניתן היה לטעון את התמונה כטפט" + + "‏%1$d נבחרו" + "‏%1$d נבחרו" + "‏%1$d נבחרו" + + "‏טפט %1$d מתוך %2$d" + "בחרת %1$s" + "מחק" + "בחר תמונה" + "טפטים" + "חתוך את הטפט" + diff --git a/WallpaperPicker/res/values-ja/strings.xml b/WallpaperPicker/res/values-ja/strings.xml new file mode 100644 index 0000000000..80b0944531 --- /dev/null +++ b/WallpaperPicker/res/values-ja/strings.xml @@ -0,0 +1,36 @@ + + + + + "壁紙を設定" + "画像を読み込めませんでした" + "画像を壁紙として読み込めませんでした" + + "%1$d個選択済み" + "%1$d個選択済み" + "%1$d個選択済み" + + "壁紙: %1$d/%2$d" + "選択: %1$s" + "削除" + "画像を選択" + "壁紙" + "壁紙のトリミング" + diff --git a/WallpaperPicker/res/values-ka-rGE/strings.xml b/WallpaperPicker/res/values-ka-rGE/strings.xml new file mode 100644 index 0000000000..2f59712d8b --- /dev/null +++ b/WallpaperPicker/res/values-ka-rGE/strings.xml @@ -0,0 +1,36 @@ + + + + + "ფონის დაყენება" + "სურათი ვერ ჩაიტვირთა." + "სურათი ფონად ვერ ჩაიტვირთა." + + "არჩეულია %1$d" + "არჩეულია %1$d" + "არჩეულია %1$d" + + "ფონი %1$d %2$d-დან" + "არჩეული %1$s" + "წაშლა" + "სურათის ამორჩევა" + "ფონები" + "ფონის ჩამოჭრა" + diff --git a/WallpaperPicker/res/values-km-rKH/strings.xml b/WallpaperPicker/res/values-km-rKH/strings.xml new file mode 100644 index 0000000000..41722355f1 --- /dev/null +++ b/WallpaperPicker/res/values-km-rKH/strings.xml @@ -0,0 +1,36 @@ + + + + + "កំណត់​ផ្ទាំង​រូបភាព" + "មិន​អាច​ផ្ទុក​រូបភាព" + "មិន​អាច​ផ្ទុក​រូបភាព​ជា​ផ្ទាំង​រូបភាព" + + "បាន​ជ្រើស %1$d" + "បាន​ជ្រើស %1$d" + "បាន​ជ្រើស %1$d" + + "ផ្ទាំង​រូបភាព %1$d នៃ %2$d" + "បាន​ជ្រើស %1$s" + "លុប" + "ជ្រើស​យក​រូបភាព" + "ផ្ទាំង​រូបភាព" + "ច្រឹប​ផ្ទាំង​រូបភាព" + diff --git a/WallpaperPicker/res/values-ko/strings.xml b/WallpaperPicker/res/values-ko/strings.xml new file mode 100644 index 0000000000..a5a85b773d --- /dev/null +++ b/WallpaperPicker/res/values-ko/strings.xml @@ -0,0 +1,36 @@ + + + + + "배경화면 설정" + "이미지를 로드할 수 없습니다." + "이미지를 배경화면으로 로드할 수 없습니다." + + "%1$d개 선택됨" + "%1$d개 선택됨" + "%1$d개 선택됨" + + "배경화면 %1$d/%2$d" + "%1$s 선택함" + "삭제" + "이미지 선택" + "배경화면" + "배경화면 잘라내기" + diff --git a/WallpaperPicker/res/values-lo-rLA/strings.xml b/WallpaperPicker/res/values-lo-rLA/strings.xml new file mode 100644 index 0000000000..e468591113 --- /dev/null +++ b/WallpaperPicker/res/values-lo-rLA/strings.xml @@ -0,0 +1,36 @@ + + + + + "ຕັ້ງເປັນພາບພື້ນຫຼັງ" + "ບໍ່ສາມາດໂຫຼດຮູບໄດ້" + "ບໍ່ສາມາດໂຫຼດຮູບເປັນພາບພື້ນຫຼັງໄດ້" + + "ເລືອກ %1$d" + "ເລືອກ %1$d" + "ເລືອກ %1$d" + + "ພາບພື້ນຫຼັງ %1$d ໃນ %2$d" + "ເລືອກ %1$s" + "ລຶບ" + "ເລືອກ​ຮູບ​ພາບ" + "ພາບພື້ນຫຼັງ" + "ຕັດພາບພື້ນຫຼັງ" + diff --git a/WallpaperPicker/res/values-lt/strings.xml b/WallpaperPicker/res/values-lt/strings.xml new file mode 100644 index 0000000000..86035b8838 --- /dev/null +++ b/WallpaperPicker/res/values-lt/strings.xml @@ -0,0 +1,36 @@ + + + + + "Nustatyti ekrano foną" + "Nepavyko įkelti vaizdo" + "Nepavyko įkelti vaizdo kaip ekrano fono" + + "Pasirinkta: %1$d" + "Pasirinkta: %1$d" + "Pasirinkta: %1$d" + + "%1$d ekrano fonas iš %2$d" + "Pasirinkta: %1$s" + "Ištrinti" + "Pasirinkti vaizdą" + "Ekrano fonai" + "Apkirpti ekrano foną" + diff --git a/WallpaperPicker/res/values-lv/strings.xml b/WallpaperPicker/res/values-lv/strings.xml new file mode 100644 index 0000000000..02e5cfb22a --- /dev/null +++ b/WallpaperPicker/res/values-lv/strings.xml @@ -0,0 +1,36 @@ + + + + + "Iestatīt fona tapeti" + "Nevarēja ielādēt attēlu." + "Nevarēja ielādēt attēlu kā fona tapeti." + + "Atlasīts: %1$d" + "Atlasīta: %1$d" + "Atlasītas: %1$d" + + "%1$d. fona tapete no %2$d" + "Atlasīta: %1$s" + "Dzēst" + "Izvēlēties attēlu" + "Fona tapetes" + "Apgriezt fona tapeti" + diff --git a/WallpaperPicker/res/values-mn-rMN/strings.xml b/WallpaperPicker/res/values-mn-rMN/strings.xml new file mode 100644 index 0000000000..71ff9e0f72 --- /dev/null +++ b/WallpaperPicker/res/values-mn-rMN/strings.xml @@ -0,0 +1,36 @@ + + + + + "Ханын зургийг тохируулах" + "Зургийг ачаалж чадсангүй" + "Зургийг ханын зураг болгож ачаалж чадсангүй" + + "%1$d сонгогдсон" + "%1$d сонгогдсон" + "%1$d сонгогдсон" + + "%2$d ханын цаасны %1$d нь" + "%1$s сонгогдсон" + "Устгах" + "Зураг сонгох" + "Ханын зураг" + "Ханын зургийг тайрах" + diff --git a/WallpaperPicker/res/values-ms-rMY/strings.xml b/WallpaperPicker/res/values-ms-rMY/strings.xml new file mode 100644 index 0000000000..950f4d0e1d --- /dev/null +++ b/WallpaperPicker/res/values-ms-rMY/strings.xml @@ -0,0 +1,36 @@ + + + + + "Tetapkan kertas dinding" + "Tidak dapat memuatkan imej" + "Tidak dapat memuatkan imej sebagai kertas dinding" + + "%1$d dipilih" + "%1$d dipilih" + "%1$d dipilih" + + "Kertas dinding %1$d daripada %2$d" + "Memilih %1$s" + "Padam" + "Pilih imej" + "Kertas dinding" + "Pangkas kertas dinding" + diff --git a/WallpaperPicker/res/values-nb/strings.xml b/WallpaperPicker/res/values-nb/strings.xml new file mode 100644 index 0000000000..3589e4bc86 --- /dev/null +++ b/WallpaperPicker/res/values-nb/strings.xml @@ -0,0 +1,36 @@ + + + + + "Angi bakgrunn" + "Kunne ikke laste inn bildet" + "Kunne ikke laste inn bildet som bakgrunn" + + "%1$d valgt" + "%1$d valgt" + "%1$d valgt" + + "Bakgrunn %1$d av %2$d" + "Valgt %1$s" + "Slett" + "Velg bilde" + "Bakgrunner" + "Beskjær bakgrunnen" + diff --git a/WallpaperPicker/res/values-nl/strings.xml b/WallpaperPicker/res/values-nl/strings.xml new file mode 100644 index 0000000000..7dd4f22b07 --- /dev/null +++ b/WallpaperPicker/res/values-nl/strings.xml @@ -0,0 +1,36 @@ + + + + + "Achtergrond instellen" + "Kan afbeelding niet laden" + "Kan afbeelding niet laden als achtergrond" + + "%1$d geselecteerd" + "%1$d geselecteerd" + "%1$d geselecteerd" + + "Achtergrond %1$d van %2$d" + "%1$s is geselecteerd" + "Verwijderen" + "Afbeelding kiezen" + "Achtergronden" + "Achtergrond bijsnijden" + diff --git a/res/values-nodpi/wallpapers.xml b/WallpaperPicker/res/values-nodpi/wallpapers.xml similarity index 100% rename from res/values-nodpi/wallpapers.xml rename to WallpaperPicker/res/values-nodpi/wallpapers.xml diff --git a/WallpaperPicker/res/values-pl/strings.xml b/WallpaperPicker/res/values-pl/strings.xml new file mode 100644 index 0000000000..bcdbb3dc7b --- /dev/null +++ b/WallpaperPicker/res/values-pl/strings.xml @@ -0,0 +1,36 @@ + + + + + "Ustaw tapetę" + "Nie udało się załadować obrazu" + "Nie udało się załadować obrazu jako tapety" + + "Wybranych %1$d" + "Wybrana %1$d" + "Wybrane: %1$d" + + "Tapeta %1$d z %2$d" + "Wybrano %1$s" + "Usuń" + "Wybierz obraz" + "Tapety" + "Przytnij tapetę" + diff --git a/WallpaperPicker/res/values-pt-rPT/strings.xml b/WallpaperPicker/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..83492327f9 --- /dev/null +++ b/WallpaperPicker/res/values-pt-rPT/strings.xml @@ -0,0 +1,36 @@ + + + + + "Definir imagem fundo" + "Não foi possível carregar a imagem" + "Não foi possível carregar a imagem como imagem de fundo" + + "%1$d selecionadas" + "%1$d selecionada" + "%1$d selecionadas" + + "Imagem de fundo %1$d de %2$d" + "%1$s selecionada" + "Eliminar" + "Escolher imagem" + "Imagens de fundo" + "Recortar imagem de fundo" + diff --git a/WallpaperPicker/res/values-pt/strings.xml b/WallpaperPicker/res/values-pt/strings.xml new file mode 100644 index 0000000000..2332fcbd13 --- /dev/null +++ b/WallpaperPicker/res/values-pt/strings.xml @@ -0,0 +1,36 @@ + + + + + "Definir plano de fundo" + "Não foi possível carregar a imagem" + "Não foi possível carregar a imagem como plano de fundo" + + "%1$d selecionados" + "%1$d selecionado" + "%1$d selecionados" + + "Plano de fundo %1$d de %2$d" + "%1$s selecionado" + "Excluir" + "Escolher imagem" + "Planos de fundo" + "Cortar plano de fundo" + diff --git a/WallpaperPicker/res/values-ro/strings.xml b/WallpaperPicker/res/values-ro/strings.xml new file mode 100644 index 0000000000..8ee1a5a391 --- /dev/null +++ b/WallpaperPicker/res/values-ro/strings.xml @@ -0,0 +1,36 @@ + + + + + "Setați imaginea de fundal" + "Nu s-a putut încărca imaginea" + "Nu s-a putut încărca imaginea ca fundal" + + "%1$d selectate" + "%1$d selectată" + "%1$d selectate" + + "Imaginea de fundal %1$d din %2$d" + "S-a selectat %1$s" + "Ștergeți" + "Alegeți imaginea" + "Imagini de fundal" + "Decupați imaginea de fundal" + diff --git a/WallpaperPicker/res/values-ru/strings.xml b/WallpaperPicker/res/values-ru/strings.xml new file mode 100644 index 0000000000..ff43ce8f64 --- /dev/null +++ b/WallpaperPicker/res/values-ru/strings.xml @@ -0,0 +1,36 @@ + + + + + "Установить как обои" + "Не удалось загрузить изображение" + "Не удалось загрузить изображение" + + "Выбрано: %1$d" + "Выбрано: %1$d" + "Выбрано: %1$d" + + "Обои %1$d из %2$d" + "Выбран элемент \"%1$s\"" + "Удалить" + "Выбрать обои" + "Обои" + "Кадрировать обои" + diff --git a/WallpaperPicker/res/values-sk/strings.xml b/WallpaperPicker/res/values-sk/strings.xml new file mode 100644 index 0000000000..33477a124a --- /dev/null +++ b/WallpaperPicker/res/values-sk/strings.xml @@ -0,0 +1,36 @@ + + + + + "Nastaviť tapetu" + "Obrázok nie je možné načítať" + "Obrázok nie je možné načítať ako tapetu" + + "Počet vybratých položiek: %1$d" + "Počet vybratých položiek: %1$d" + "Počet vybratých položiek: %1$d" + + "Tapeta %1$d z %2$d" + "Vybratá položka %1$s" + "Odstrániť" + "Vybrať obrázok" + "Tapety" + "Orezanie tapety" + diff --git a/WallpaperPicker/res/values-sl/strings.xml b/WallpaperPicker/res/values-sl/strings.xml new file mode 100644 index 0000000000..06a508a8c5 --- /dev/null +++ b/WallpaperPicker/res/values-sl/strings.xml @@ -0,0 +1,36 @@ + + + + + "Nastavi ozadje" + "Slike ni bilo mogoče naložiti" + "Slike ni bilo mogoče naložiti kot ozadje" + + "Št. izbranih: %1$d" + "Št. izbranih: %1$d" + "Št. izbranih: %1$d" + + "%1$d. ozadje od %2$d" + "Izbrano: %1$s" + "Izbriši" + "Izberi sliko" + "Ozadja" + "Obrezovanje ozadja" + diff --git a/WallpaperPicker/res/values-sr/strings.xml b/WallpaperPicker/res/values-sr/strings.xml new file mode 100644 index 0000000000..fdfaaf60f0 --- /dev/null +++ b/WallpaperPicker/res/values-sr/strings.xml @@ -0,0 +1,36 @@ + + + + + "Подеси позадину" + "Није могуће учитати слику" + "Није могуће учитати слику као позадину" + + "Изабрано је %1$d" + "Изабрана је %1$d" + "Изабраних: %1$d" + + "Позадина %1$d од %2$d" + "Изабрана је %1$s" + "Избриши" + "Изабери слику" + "Позадине" + "Опсеци позадину" + diff --git a/WallpaperPicker/res/values-sv/strings.xml b/WallpaperPicker/res/values-sv/strings.xml new file mode 100644 index 0000000000..57db3a64d3 --- /dev/null +++ b/WallpaperPicker/res/values-sv/strings.xml @@ -0,0 +1,36 @@ + + + + + "Ange bakgrund" + "Det gick inte att läsa in bilden" + "Det gick inte att läsa in bilden som bakgrund" + + "%1$d har valts" + "%1$d har valts" + "%1$d har valts" + + "Bakgrund %1$d av %2$d" + "%1$s har valts" + "Ta bort" + "Välj bild" + "Bakgrunder" + "Beskär bakgrund" + diff --git a/WallpaperPicker/res/values-sw/strings.xml b/WallpaperPicker/res/values-sw/strings.xml new file mode 100644 index 0000000000..edea3de5b1 --- /dev/null +++ b/WallpaperPicker/res/values-sw/strings.xml @@ -0,0 +1,36 @@ + + + + + "Weka mandhari" + "Haikuweza kupakia picha" + "Haikuweza kupakia picha iwe mandhari" + + "%1$d zimechaguliwa" + "%1$d zimechaguliwa" + "%1$d zimechaguliwa" + + "Mandhari %1$d ya %2$d" + "%1$s iliyochaguliwa" + "Futa" + "Chagua picha" + "Mandhari" + "Punguza mandhari" + diff --git a/WallpaperPicker/res/values-sw600dp/config.xml b/WallpaperPicker/res/values-sw600dp/config.xml new file mode 100644 index 0000000000..62342dcc2f --- /dev/null +++ b/WallpaperPicker/res/values-sw600dp/config.xml @@ -0,0 +1,18 @@ + + + + true + diff --git a/WallpaperPicker/res/values-sw720dp/dimens.xml b/WallpaperPicker/res/values-sw720dp/dimens.xml new file mode 100644 index 0000000000..9ae155b3cc --- /dev/null +++ b/WallpaperPicker/res/values-sw720dp/dimens.xml @@ -0,0 +1,28 @@ + + + + + 72dp + + + 8dip + 8dip + + + 0dp + 0dp + diff --git a/WallpaperPicker/res/values-sw720dp/styles.xml b/WallpaperPicker/res/values-sw720dp/styles.xml new file mode 100644 index 0000000000..91078517db --- /dev/null +++ b/WallpaperPicker/res/values-sw720dp/styles.xml @@ -0,0 +1,26 @@ + + + + + + diff --git a/WallpaperPicker/res/values-th/strings.xml b/WallpaperPicker/res/values-th/strings.xml new file mode 100644 index 0000000000..6b4c235361 --- /dev/null +++ b/WallpaperPicker/res/values-th/strings.xml @@ -0,0 +1,36 @@ + + + + + "ตั้งวอลเปเปอร์" + "ไม่สามารถโหลดรูปภาพ" + "ไม่สามารถโหลดรูปภาพเป็นวอลเปเปอร์" + + "เลือกไว้ %1$d" + "เลือกไว้ %1$d" + "เลือกไว้ %1$d" + + "วอลเปเปอร์ %1$d จาก %2$d" + "เลือก %1$s แล้ว" + "ลบ" + "เลือกรูปภาพ" + "วอลเปเปอร์" + "ครอบตัดวอลเปเปอร์" + diff --git a/WallpaperPicker/res/values-tl/strings.xml b/WallpaperPicker/res/values-tl/strings.xml new file mode 100644 index 0000000000..c9fe338d42 --- /dev/null +++ b/WallpaperPicker/res/values-tl/strings.xml @@ -0,0 +1,36 @@ + + + + + "Itakda ang wallpaper" + "Hindi ma-load ang larawan" + "Hindi ma-load ang larawan bilang wallpaper" + + "%1$d ang napili" + "%1$d ang napili" + "%1$d ang napili" + + "Wallpaper %1$d ng %2$d" + "Napili ang %1$s" + "Tanggalin" + "Pumili ng larawan" + "Mga Wallpaper" + "I-crop ang wallpaper" + diff --git a/WallpaperPicker/res/values-tr/strings.xml b/WallpaperPicker/res/values-tr/strings.xml new file mode 100644 index 0000000000..3d03c6be8d --- /dev/null +++ b/WallpaperPicker/res/values-tr/strings.xml @@ -0,0 +1,36 @@ + + + + + "Duvar kağıdını ayarla" + "Resim yüklenemedi" + "Resim duvar kağıdı olarak yüklenemedi" + + "%1$d tane seçildi" + "%1$d tane seçildi" + "%1$d tane seçildi" + + "%2$d duvar kağıdı arasından duvar kağıdı %1$d" + "%1$s seçildi" + "Sil" + "Resim seç" + "Duvar kağıtları" + "Duvar kağıdını kırp" + diff --git a/WallpaperPicker/res/values-uk/strings.xml b/WallpaperPicker/res/values-uk/strings.xml new file mode 100644 index 0000000000..076c88238b --- /dev/null +++ b/WallpaperPicker/res/values-uk/strings.xml @@ -0,0 +1,36 @@ + + + + + "Установити фон" + "Не вдалося завантажити зображення" + "Не вдалося завантажити зображення як фоновий малюнок" + + "Вибрано %1$d" + "Вибрано %1$d" + "Вибрано %1$d" + + "Фоновий малюнок %1$d з %2$d" + "Вибрано %1$s" + "Видалити" + "Вибрати зображення" + "Фонові малюнки" + "Обрізати фоновий малюнок" + diff --git a/WallpaperPicker/res/values-vi/strings.xml b/WallpaperPicker/res/values-vi/strings.xml new file mode 100644 index 0000000000..d1efbe9892 --- /dev/null +++ b/WallpaperPicker/res/values-vi/strings.xml @@ -0,0 +1,36 @@ + + + + + "Đặt hình nền" + "Không thể tải hình ảnh" + "Không thể tải hình ảnh làm hình nền" + + "Đã chọn %1$d" + "Đã chọn %1$d" + "Đã chọn %1$d" + + "Hình nền %1$d / %2$d" + "%1$s được chọn" + "Xóa" + "Chọn hình ảnh" + "Hình nền" + "Cắt hình nền" + diff --git a/WallpaperPicker/res/values-zh-rCN/strings.xml b/WallpaperPicker/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..1def9ed41b --- /dev/null +++ b/WallpaperPicker/res/values-zh-rCN/strings.xml @@ -0,0 +1,36 @@ + + + + + "设置壁纸" + "无法加载图片" + "无法加载要设为壁纸的图片" + + "已选择%1$d项" + "已选择%1$d项" + "已选择%1$d项" + + "第%1$d张壁纸,共%2$d张" + "已选择%1$s" + "删除" + "选择图片" + "壁纸" + "剪裁壁纸" + diff --git a/WallpaperPicker/res/values-zh-rHK/strings.xml b/WallpaperPicker/res/values-zh-rHK/strings.xml new file mode 100644 index 0000000000..66ba0af180 --- /dev/null +++ b/WallpaperPicker/res/values-zh-rHK/strings.xml @@ -0,0 +1,36 @@ + + + + + "設定桌布" + "無法載入圖片" + "無法載入圖片設為桌布" + + "已選取 %1$d 張" + "已選取 %1$d 張" + "已選取 %1$d 張" + + "第 %1$d 張桌布,共 %2$d 張" + "已選取%1$s" + "刪除" + "選擇圖片" + "桌布" + "裁剪桌布" + diff --git a/WallpaperPicker/res/values-zh-rTW/strings.xml b/WallpaperPicker/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..4184976083 --- /dev/null +++ b/WallpaperPicker/res/values-zh-rTW/strings.xml @@ -0,0 +1,36 @@ + + + + + "設定桌布" + "無法載入圖片" + "無法載入您要設為桌布的圖片" + + "已選取 %1$d 個" + "已選取 %1$d 個" + "已選取 %1$d 個" + + "第 %1$d 張桌布,共 %2$d 張" + "已選取%1$s" + "刪除" + "選擇圖片" + "桌布" + "裁剪桌布" + diff --git a/WallpaperPicker/res/values-zu/strings.xml b/WallpaperPicker/res/values-zu/strings.xml new file mode 100644 index 0000000000..c7d3f33d1a --- /dev/null +++ b/WallpaperPicker/res/values-zu/strings.xml @@ -0,0 +1,36 @@ + + + + + "Setha isithombe sangemuva" + "Ayikwazanga ukulayisha isithombe" + "Ayikwazanga ukulayisha isithombe njengesithombe sangemuva" + + "%1$d khethiwe" + "%1$d khethiwe" + "%1$d khethiwe" + + "Isithombe sangemuva esingu-%1$d kwezingu-%2$d" + "I-%1$s ekhethiwe" + "Susa" + "Khetha isithombe" + "Izithombe zangemuva" + "Nqampuna isithombe sangemuva" + diff --git a/WallpaperPicker/res/values/colors.xml b/WallpaperPicker/res/values/colors.xml new file mode 100644 index 0000000000..adae7cff6f --- /dev/null +++ b/WallpaperPicker/res/values/colors.xml @@ -0,0 +1,22 @@ + + + + #66000000 + diff --git a/WallpaperPicker/res/values/config.xml b/WallpaperPicker/res/values/config.xml new file mode 100644 index 0000000000..71580b5b07 --- /dev/null +++ b/WallpaperPicker/res/values/config.xml @@ -0,0 +1,21 @@ + + + + false + + false + diff --git a/WallpaperPicker/res/values/dimens.xml b/WallpaperPicker/res/values/dimens.xml new file mode 100644 index 0000000000..0447c6d1f7 --- /dev/null +++ b/WallpaperPicker/res/values/dimens.xml @@ -0,0 +1,22 @@ + + + + + + 106.5dp + 94.5dp + 32dp + diff --git a/WallpaperPicker/res/values/strings.xml b/WallpaperPicker/res/values/strings.xml new file mode 100644 index 0000000000..1ee3513f90 --- /dev/null +++ b/WallpaperPicker/res/values/strings.xml @@ -0,0 +1,53 @@ + + + + + + Set wallpaper + + Coudn\'t load image + + Couldn\'t load image as wallpaper + + + + %1$d selected + %1$d selected + %1$d selected + + + Wallpaper %1$d of %2$d + + Selected %1$s + + + Delete + + Pick image + + Wallpapers + + Crop wallpaper + diff --git a/WallpaperPicker/res/values/styles.xml b/WallpaperPicker/res/values/styles.xml new file mode 100644 index 0000000000..0e48ddac43 --- /dev/null +++ b/WallpaperPicker/res/values/styles.xml @@ -0,0 +1,37 @@ + + + + + + + + + + diff --git a/src/android/util/Pools.java b/WallpaperPicker/src/android/util/Pools.java similarity index 100% rename from src/android/util/Pools.java rename to WallpaperPicker/src/android/util/Pools.java diff --git a/src/com/android/gallery3d/common/BitmapUtils.java b/WallpaperPicker/src/com/android/gallery3d/common/BitmapUtils.java similarity index 100% rename from src/com/android/gallery3d/common/BitmapUtils.java rename to WallpaperPicker/src/com/android/gallery3d/common/BitmapUtils.java diff --git a/src/com/android/gallery3d/common/Utils.java b/WallpaperPicker/src/com/android/gallery3d/common/Utils.java similarity index 100% rename from src/com/android/gallery3d/common/Utils.java rename to WallpaperPicker/src/com/android/gallery3d/common/Utils.java diff --git a/src/com/android/gallery3d/exif/ByteBufferInputStream.java b/WallpaperPicker/src/com/android/gallery3d/exif/ByteBufferInputStream.java similarity index 100% rename from src/com/android/gallery3d/exif/ByteBufferInputStream.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ByteBufferInputStream.java diff --git a/src/com/android/gallery3d/exif/CountedDataInputStream.java b/WallpaperPicker/src/com/android/gallery3d/exif/CountedDataInputStream.java similarity index 100% rename from src/com/android/gallery3d/exif/CountedDataInputStream.java rename to WallpaperPicker/src/com/android/gallery3d/exif/CountedDataInputStream.java diff --git a/src/com/android/gallery3d/exif/ExifData.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifData.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifData.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifData.java diff --git a/src/com/android/gallery3d/exif/ExifInterface.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifInterface.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifInterface.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifInterface.java diff --git a/src/com/android/gallery3d/exif/ExifInvalidFormatException.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifInvalidFormatException.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifInvalidFormatException.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifInvalidFormatException.java diff --git a/src/com/android/gallery3d/exif/ExifModifier.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifModifier.java similarity index 99% rename from src/com/android/gallery3d/exif/ExifModifier.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifModifier.java index f00362b6b0..0531cbad99 100644 --- a/src/com/android/gallery3d/exif/ExifModifier.java +++ b/WallpaperPicker/src/com/android/gallery3d/exif/ExifModifier.java @@ -18,7 +18,6 @@ package com.android.gallery3d.exif; import android.util.Log; -import java.io.Closeable; import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; diff --git a/src/com/android/gallery3d/exif/ExifOutputStream.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifOutputStream.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifOutputStream.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifOutputStream.java diff --git a/src/com/android/gallery3d/exif/ExifParser.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifParser.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifParser.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifParser.java diff --git a/src/com/android/gallery3d/exif/ExifReader.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifReader.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifReader.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifReader.java diff --git a/src/com/android/gallery3d/exif/ExifTag.java b/WallpaperPicker/src/com/android/gallery3d/exif/ExifTag.java similarity index 100% rename from src/com/android/gallery3d/exif/ExifTag.java rename to WallpaperPicker/src/com/android/gallery3d/exif/ExifTag.java diff --git a/src/com/android/gallery3d/exif/IfdData.java b/WallpaperPicker/src/com/android/gallery3d/exif/IfdData.java similarity index 100% rename from src/com/android/gallery3d/exif/IfdData.java rename to WallpaperPicker/src/com/android/gallery3d/exif/IfdData.java diff --git a/src/com/android/gallery3d/exif/IfdId.java b/WallpaperPicker/src/com/android/gallery3d/exif/IfdId.java similarity index 100% rename from src/com/android/gallery3d/exif/IfdId.java rename to WallpaperPicker/src/com/android/gallery3d/exif/IfdId.java diff --git a/src/com/android/gallery3d/exif/JpegHeader.java b/WallpaperPicker/src/com/android/gallery3d/exif/JpegHeader.java similarity index 100% rename from src/com/android/gallery3d/exif/JpegHeader.java rename to WallpaperPicker/src/com/android/gallery3d/exif/JpegHeader.java diff --git a/src/com/android/gallery3d/exif/OrderedDataOutputStream.java b/WallpaperPicker/src/com/android/gallery3d/exif/OrderedDataOutputStream.java similarity index 100% rename from src/com/android/gallery3d/exif/OrderedDataOutputStream.java rename to WallpaperPicker/src/com/android/gallery3d/exif/OrderedDataOutputStream.java diff --git a/src/com/android/gallery3d/exif/Rational.java b/WallpaperPicker/src/com/android/gallery3d/exif/Rational.java similarity index 100% rename from src/com/android/gallery3d/exif/Rational.java rename to WallpaperPicker/src/com/android/gallery3d/exif/Rational.java diff --git a/src/com/android/gallery3d/glrenderer/BasicTexture.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/BasicTexture.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/BasicTexture.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/BasicTexture.java diff --git a/src/com/android/gallery3d/glrenderer/BitmapTexture.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/BitmapTexture.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/BitmapTexture.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/BitmapTexture.java diff --git a/src/com/android/gallery3d/glrenderer/GLCanvas.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLCanvas.java similarity index 99% rename from src/com/android/gallery3d/glrenderer/GLCanvas.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/GLCanvas.java index 305e905210..5b07477043 100644 --- a/src/com/android/gallery3d/glrenderer/GLCanvas.java +++ b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLCanvas.java @@ -20,8 +20,6 @@ import android.graphics.Bitmap; import android.graphics.Rect; import android.graphics.RectF; -import javax.microedition.khronos.opengles.GL11; - // // GLCanvas gives a convenient interface to draw using OpenGL. // diff --git a/src/com/android/gallery3d/glrenderer/GLES20Canvas.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLES20Canvas.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/GLES20Canvas.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/GLES20Canvas.java diff --git a/src/com/android/gallery3d/glrenderer/GLES20IdImpl.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLES20IdImpl.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/GLES20IdImpl.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/GLES20IdImpl.java diff --git a/src/com/android/gallery3d/glrenderer/GLId.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLId.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/GLId.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/GLId.java diff --git a/src/com/android/gallery3d/glrenderer/GLPaint.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/GLPaint.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/GLPaint.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/GLPaint.java diff --git a/src/com/android/gallery3d/glrenderer/RawTexture.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/RawTexture.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/RawTexture.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/RawTexture.java diff --git a/src/com/android/gallery3d/glrenderer/Texture.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/Texture.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/Texture.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/Texture.java diff --git a/src/com/android/gallery3d/glrenderer/UploadedTexture.java b/WallpaperPicker/src/com/android/gallery3d/glrenderer/UploadedTexture.java similarity index 100% rename from src/com/android/gallery3d/glrenderer/UploadedTexture.java rename to WallpaperPicker/src/com/android/gallery3d/glrenderer/UploadedTexture.java diff --git a/src/com/android/gallery3d/util/IntArray.java b/WallpaperPicker/src/com/android/gallery3d/util/IntArray.java similarity index 100% rename from src/com/android/gallery3d/util/IntArray.java rename to WallpaperPicker/src/com/android/gallery3d/util/IntArray.java diff --git a/src/com/android/launcher3/CheckableFrameLayout.java b/WallpaperPicker/src/com/android/launcher3/CheckableFrameLayout.java similarity index 100% rename from src/com/android/launcher3/CheckableFrameLayout.java rename to WallpaperPicker/src/com/android/launcher3/CheckableFrameLayout.java diff --git a/src/com/android/launcher3/CropView.java b/WallpaperPicker/src/com/android/launcher3/CropView.java similarity index 98% rename from src/com/android/launcher3/CropView.java rename to WallpaperPicker/src/com/android/launcher3/CropView.java index 9224e3bb21..578b8eafd0 100644 --- a/src/com/android/launcher3/CropView.java +++ b/WallpaperPicker/src/com/android/launcher3/CropView.java @@ -165,7 +165,8 @@ public class CropView extends TiledImageView implements OnScaleGestureListener { final float imageWidth = imageDims[0]; final float imageHeight = imageDims[1]; mMinScale = Math.max(w / imageWidth, h / imageHeight); - mRenderer.scale = Math.max(mMinScale, mRenderer.scale); + mRenderer.scale = + Math.max(mMinScale, resetScale ? Float.MIN_VALUE : mRenderer.scale); } } } diff --git a/src/com/android/launcher3/DrawableTileSource.java b/WallpaperPicker/src/com/android/launcher3/DrawableTileSource.java similarity index 100% rename from src/com/android/launcher3/DrawableTileSource.java rename to WallpaperPicker/src/com/android/launcher3/DrawableTileSource.java diff --git a/src/com/android/launcher3/LiveWallpaperListAdapter.java b/WallpaperPicker/src/com/android/launcher3/LiveWallpaperListAdapter.java similarity index 98% rename from src/com/android/launcher3/LiveWallpaperListAdapter.java rename to WallpaperPicker/src/com/android/launcher3/LiveWallpaperListAdapter.java index 152a75dedb..60b253711b 100644 --- a/src/com/android/launcher3/LiveWallpaperListAdapter.java +++ b/WallpaperPicker/src/com/android/launcher3/LiveWallpaperListAdapter.java @@ -123,8 +123,7 @@ public class LiveWallpaperListAdapter extends BaseAdapter implements ListAdapter preview.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, mInfo.getComponent()); a.onLiveWallpaperPickerLaunch(); - Utilities.startActivityForResultSafely( - a, preview, WallpaperPickerActivity.PICK_LIVE_WALLPAPER); + a.startActivityForResultSafely(preview, WallpaperPickerActivity.PICK_LIVE_WALLPAPER); } } diff --git a/src/com/android/launcher3/SavedWallpaperImages.java b/WallpaperPicker/src/com/android/launcher3/SavedWallpaperImages.java similarity index 91% rename from src/com/android/launcher3/SavedWallpaperImages.java rename to WallpaperPicker/src/com/android/launcher3/SavedWallpaperImages.java index 58add7022d..44bfdf1f9d 100644 --- a/src/com/android/launcher3/SavedWallpaperImages.java +++ b/WallpaperPicker/src/com/android/launcher3/SavedWallpaperImages.java @@ -85,6 +85,9 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { } public SavedWallpaperImages(Activity context) { + // We used to store the saved images in the cache directory, but that meant they'd get + // deleted sometimes-- move them to the data directory + ImageDb.moveFromCacheDirectoryIfNecessary(context); mDb = new ImageDb(context); mContext = context; mLayoutInflater = context.getLayoutInflater(); @@ -215,11 +218,20 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { Context mContext; public ImageDb(Context context) { - super(context, new File(context.getCacheDir(), DB_NAME).getPath(), null, DB_VERSION); + super(context, context.getDatabasePath(DB_NAME).getPath(), null, DB_VERSION); // Store the context for later use mContext = context; } + public static void moveFromCacheDirectoryIfNecessary(Context context) { + // We used to store the saved images in the cache directory, but that meant they'd get + // deleted sometimes-- move them to the data directory + File oldSavedImagesFile = new File(context.getCacheDir(), ImageDb.DB_NAME); + File savedImagesFile = context.getDatabasePath(ImageDb.DB_NAME); + if (oldSavedImagesFile.exists()) { + oldSavedImagesFile.renameTo(savedImagesFile); + } + } @Override public void onCreate(SQLiteDatabase database) { database.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" + diff --git a/src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java b/WallpaperPicker/src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java similarity index 97% rename from src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java rename to WallpaperPicker/src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java index 494694cbd0..7a4d48ca93 100644 --- a/src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java +++ b/WallpaperPicker/src/com/android/launcher3/ThirdPartyWallpaperPickerListAdapter.java @@ -56,8 +56,8 @@ public class ThirdPartyWallpaperPickerListAdapter extends BaseAdapter implements mResolveInfo.activityInfo.packageName, mResolveInfo.activityInfo.name); Intent launchIntent = new Intent(Intent.ACTION_SET_WALLPAPER); launchIntent.setComponent(itemComponentName); - Utilities.startActivityForResultSafely( - a, launchIntent, WallpaperPickerActivity.PICK_WALLPAPER_THIRD_PARTY_ACTIVITY); + a.startActivityForResultSafely( + launchIntent, WallpaperPickerActivity.PICK_WALLPAPER_THIRD_PARTY_ACTIVITY); } } diff --git a/src/com/android/launcher3/WallpaperCropActivity.java b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java similarity index 87% rename from src/com/android/launcher3/WallpaperCropActivity.java rename to WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java index 276aba3061..23fbe73a32 100644 --- a/src/com/android/launcher3/WallpaperCropActivity.java +++ b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java @@ -71,8 +71,11 @@ public class WallpaperCropActivity extends Activity { public static final int MAX_BMAP_IN_INTENT = 750000; private static final float WALLPAPER_SCREENS_SPAN = 2f; + protected static Point sDefaultWallpaperSize; + protected CropView mCropView; protected Uri mUri; + private View mSetWallpaperButton; @Override protected void onCreate(Bundle savedInstanceState) { @@ -109,10 +112,12 @@ public class WallpaperCropActivity extends Activity { cropImageAndSetWallpaper(imageUri, null, finishActivityWhenDone); } }); + mSetWallpaperButton = findViewById(R.id.set_wallpaper_button); // Load image in background final BitmapRegionTileSource.UriBitmapSource bitmapSource = new BitmapRegionTileSource.UriBitmapSource(this, imageUri, 1024); + mSetWallpaperButton.setVisibility(View.INVISIBLE); Runnable onLoad = new Runnable() { public void run() { if (bitmapSource.getLoadingState() != BitmapSource.State.LOADED) { @@ -120,6 +125,8 @@ public class WallpaperCropActivity extends Activity { getString(R.string.wallpaper_load_fail), Toast.LENGTH_LONG).show(); finish(); + } else { + mSetWallpaperButton.setVisibility(View.VISIBLE); } } }; @@ -204,32 +211,34 @@ public class WallpaperCropActivity extends Activity { } static protected Point getDefaultWallpaperSize(Resources res, WindowManager windowManager) { - Point minDims = new Point(); - Point maxDims = new Point(); - windowManager.getDefaultDisplay().getCurrentSizeRange(minDims, maxDims); + if (sDefaultWallpaperSize == null) { + Point minDims = new Point(); + Point maxDims = new Point(); + windowManager.getDefaultDisplay().getCurrentSizeRange(minDims, maxDims); - int maxDim = Math.max(maxDims.x, maxDims.y); - int minDim = Math.max(minDims.x, minDims.y); + int maxDim = Math.max(maxDims.x, maxDims.y); + int minDim = Math.max(minDims.x, minDims.y); - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { - Point realSize = new Point(); - windowManager.getDefaultDisplay().getRealSize(realSize); - maxDim = Math.max(realSize.x, realSize.y); - minDim = Math.min(realSize.x, realSize.y); + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) { + Point realSize = new Point(); + windowManager.getDefaultDisplay().getRealSize(realSize); + maxDim = Math.max(realSize.x, realSize.y); + minDim = Math.min(realSize.x, realSize.y); + } + + // We need to ensure that there is enough extra space in the wallpaper + // for the intended parallax effects + final int defaultWidth, defaultHeight; + if (isScreenLarge(res)) { + defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim)); + defaultHeight = maxDim; + } else { + defaultWidth = Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim); + defaultHeight = maxDim; + } + sDefaultWallpaperSize = new Point(defaultWidth, defaultHeight); } - - // We need to ensure that there is enough extra space in the wallpaper - // for the intended - // parallax effects - final int defaultWidth, defaultHeight; - if (isScreenLarge(res)) { - defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim)); - defaultHeight = maxDim; - } else { - defaultWidth = Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim); - defaultHeight = maxDim; - } - return new Point(defaultWidth, defaultHeight); + return sDefaultWallpaperSize; } public static int getRotationFromExif(String path) { @@ -267,6 +276,9 @@ public class WallpaperCropActivity extends Activity { } } catch (IOException e) { Log.w(LOGTAG, "Getting exif data failed", e); + } catch (NullPointerException e) { + // Sometimes the ExifInterface has an internal NPE if Exif data isn't valid + Log.w(LOGTAG, "Getting exif data failed", e); } finally { Utils.closeSilently(bis); Utils.closeSilently(is); @@ -326,10 +338,10 @@ public class WallpaperCropActivity extends Activity { protected void cropImageAndSetWallpaper(Uri uri, OnBitmapCroppedHandler onBitmapCroppedHandler, final boolean finishActivityWhenDone) { + boolean centerCrop = getResources().getBoolean(R.bool.center_crop); // Get the crop boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR; - Display d = getWindowManager().getDefaultDisplay(); Point displaySize = new Point(); @@ -354,15 +366,25 @@ public class WallpaperCropActivity extends Activity { // ADJUST CROP WIDTH // Extend the crop all the way to the right, for parallax // (or all the way to the left, in RTL) - float extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left; + float extraSpace; + if (centerCrop) { + extraSpace = 2f * Math.min(rotatedInSize[0] - cropRect.right, cropRect.left); + } else { + extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left; + } // Cap the amount of extra width float maxExtraSpace = defaultWallpaperSize.x / cropScale - cropRect.width(); extraSpace = Math.min(extraSpace, maxExtraSpace); - if (ltr) { - cropRect.right += extraSpace; + if (centerCrop) { + cropRect.left -= extraSpace / 2f; + cropRect.right += extraSpace / 2f; } else { - cropRect.left -= extraSpace; + if (ltr) { + cropRect.right += extraSpace; + } else { + cropRect.left -= extraSpace; + } } // ADJUST CROP HEIGHT @@ -550,6 +572,8 @@ public class WallpaperCropActivity extends Activity { Rect roundedTrueCrop = new Rect(); Matrix rotateMatrix = new Matrix(); Matrix inverseRotateMatrix = new Matrix(); + + Point bounds = getImageBounds(); if (mRotation > 0) { rotateMatrix.setRotate(mRotation); inverseRotateMatrix.setRotate(-mRotation); @@ -557,7 +581,6 @@ public class WallpaperCropActivity extends Activity { mCropBounds.roundOut(roundedTrueCrop); mCropBounds = new RectF(roundedTrueCrop); - Point bounds = getImageBounds(); if (bounds == null) { Log.w(LOGTAG, "cannot get bounds for image"); failure = true; @@ -629,12 +652,38 @@ public class WallpaperCropActivity extends Activity { Utils.closeSilently(is); } if (fullSize != null) { + // Find out the true sample size that was used by the decoder + scaleDownSampleSize = bounds.x / fullSize.getWidth(); mCropBounds.left /= scaleDownSampleSize; mCropBounds.top /= scaleDownSampleSize; mCropBounds.bottom /= scaleDownSampleSize; mCropBounds.right /= scaleDownSampleSize; mCropBounds.roundOut(roundedTrueCrop); + // Adjust values to account for issues related to rounding + if (roundedTrueCrop.width() > fullSize.getWidth()) { + // Adjust the width + roundedTrueCrop.right = roundedTrueCrop.left + fullSize.getWidth(); + } + if (roundedTrueCrop.right > fullSize.getWidth()) { + // Adjust the left value + int adjustment = roundedTrueCrop.left - + Math.max(0, roundedTrueCrop.right - roundedTrueCrop.width()); + roundedTrueCrop.left -= adjustment; + roundedTrueCrop.right -= adjustment; + } + if (roundedTrueCrop.height() > fullSize.getHeight()) { + // Adjust the height + roundedTrueCrop.bottom = roundedTrueCrop.top + fullSize.getHeight(); + } + if (roundedTrueCrop.bottom > fullSize.getHeight()) { + // Adjust the top value + int adjustment = roundedTrueCrop.top - + Math.max(0, roundedTrueCrop.bottom - roundedTrueCrop.height()); + roundedTrueCrop.top -= adjustment; + roundedTrueCrop.bottom -= adjustment; + } + crop = Bitmap.createBitmap(fullSize, roundedTrueCrop.left, roundedTrueCrop.top, roundedTrueCrop.width(), roundedTrueCrop.height()); @@ -758,15 +807,13 @@ public class WallpaperCropActivity extends Activity { WindowManager windowManager, final WallpaperManager wallpaperManager) { final Point defaultWallpaperSize = getDefaultWallpaperSize(res, windowManager); - - new Thread("suggestWallpaperDimension") { - public void run() { - // If we have saved a wallpaper width/height, use that instead - int savedWidth = sharedPrefs.getInt(WALLPAPER_WIDTH_KEY, defaultWallpaperSize.x); - int savedHeight = sharedPrefs.getInt(WALLPAPER_HEIGHT_KEY, defaultWallpaperSize.y); - wallpaperManager.suggestDesiredDimensions(savedWidth, savedHeight); - } - }.start(); + // If we have saved a wallpaper width/height, use that instead + int savedWidth = sharedPrefs.getInt(WALLPAPER_WIDTH_KEY, defaultWallpaperSize.x); + int savedHeight = sharedPrefs.getInt(WALLPAPER_HEIGHT_KEY, defaultWallpaperSize.y); + if (savedWidth != wallpaperManager.getDesiredMinimumWidth() || + savedHeight != wallpaperManager.getDesiredMinimumHeight()) { + wallpaperManager.suggestDesiredDimensions(savedWidth, savedHeight); + } } protected static RectF getMaxCropRect( diff --git a/src/com/android/launcher3/WallpaperPickerActivity.java b/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java similarity index 95% rename from src/com/android/launcher3/WallpaperPickerActivity.java rename to WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java index 2da05c92bc..aa43def66f 100644 --- a/src/com/android/launcher3/WallpaperPickerActivity.java +++ b/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java @@ -57,6 +57,7 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLayoutChangeListener; import android.view.ViewGroup; +import android.view.ViewPropertyAnimator; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.animation.AccelerateInterpolator; @@ -84,10 +85,12 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public static final int PICK_WALLPAPER_THIRD_PARTY_ACTIVITY = 6; public static final int PICK_LIVE_WALLPAPER = 7; private static final String TEMP_WALLPAPER_TILES = "TEMP_WALLPAPER_TILES"; + private static final String SELECTED_INDEX = "SELECTED_INDEX"; private static final String OLD_DEFAULT_WALLPAPER_THUMBNAIL_FILENAME = "default_thumb.jpg"; private static final String DEFAULT_WALLPAPER_THUMBNAIL_FILENAME = "default_thumb2.jpg"; private View mSelectedTile; + private View mSetWallpaperButton; private boolean mIgnoreNextTap; private OnClickListener mThumbnailOnClickListener; @@ -102,6 +105,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { ArrayList mTempWallpaperTiles = new ArrayList(); private SavedWallpaperImages mSavedImages; private WallpaperInfo mLiveWallpaperInfoOnPickerLaunch; + private int mSelectedIndex; public static abstract class WallpaperTileInfo { protected View mView; @@ -125,7 +129,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public void onClick(WallpaperPickerActivity a) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); - Utilities.startActivityForResultSafely(a, intent, IMAGE_PICK); + a.startActivityForResultSafely(intent, IMAGE_PICK); } } @@ -143,12 +147,13 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { onLoad = null; } else { mFirstClick = false; + a.mSetWallpaperButton.setVisibility(View.INVISIBLE); onLoad = new Runnable() { public void run() { if (mBitmapSource != null && mBitmapSource.getLoadingState() == BitmapSource.State.LOADED) { - mView.setVisibility(View.VISIBLE); a.selectTile(mView); + a.mSetWallpaperButton.setVisibility(View.VISIBLE); } else { ViewGroup parent = (ViewGroup) mView.getParent(); if (parent != null) { @@ -278,7 +283,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { mCropView = (CropView) findViewById(R.id.cropView); mWallpaperStrip = findViewById(R.id.wallpaper_strip); mCropView.setTouchCallback(new CropView.TouchCallback() { - LauncherViewPropertyAnimator mAnim; + ViewPropertyAnimator mAnim; @Override public void onTouchDown() { if (mAnim != null) { @@ -287,17 +292,14 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { if (mWallpaperStrip.getAlpha() == 1f) { mIgnoreNextTap = true; } - mAnim = new LauncherViewPropertyAnimator(mWallpaperStrip); + mAnim = mWallpaperStrip.animate(); mAnim.alpha(0f) - .setDuration(150) - .addListener(new Animator.AnimatorListener() { - public void onAnimationStart(Animator animator) { } - public void onAnimationEnd(Animator animator) { - mWallpaperStrip.setVisibility(View.INVISIBLE); - } - public void onAnimationCancel(Animator animator) { } - public void onAnimationRepeat(Animator animator) { } - }); + .setDuration(150) + .withEndAction(new Runnable() { + public void run() { + mWallpaperStrip.setVisibility(View.INVISIBLE); + } + }); mAnim.setInterpolator(new AccelerateInterpolator(0.75f)); mAnim.start(); } @@ -314,7 +316,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { mAnim.cancel(); } mWallpaperStrip.setVisibility(View.VISIBLE); - mAnim = new LauncherViewPropertyAnimator(mWallpaperStrip); + mAnim = mWallpaperStrip.animate(); mAnim.alpha(1f) .setDuration(150) .setInterpolator(new DecelerateInterpolator(0.75f)); @@ -432,8 +434,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { if ((right - left) > 0 && (bottom - top) > 0) { - if (mWallpapersView.getChildCount() > 0) { - mThumbnailOnClickListener.onClick(mWallpapersView.getChildAt(0)); + if (mSelectedIndex >= 0 && mSelectedIndex < mWallpapersView.getChildCount()) { + mThumbnailOnClickListener.onClick( + mWallpapersView.getChildAt(mSelectedIndex)); } v.removeOnLayoutChangeListener(this); } @@ -466,6 +469,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } }); + mSetWallpaperButton = findViewById(R.id.set_wallpaper_button); // CAB for deleting items mActionModeCallback = new ActionMode.Callback() { @@ -553,6 +557,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } mSelectedTile = v; v.setSelected(true); + mSelectedIndex = mWallpapersView.indexOfChild(v); // TODO: Remove this once the accessibility framework and // services have better support for selection state. v.announceForAccessibility( @@ -576,10 +581,6 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } - public boolean enableRotation() { - return super.enableRotation() || Launcher.sForceEnableRotation; - } - protected Bitmap getThumbnailOfLastPhoto() { Cursor cursor = MediaStore.Images.Media.query(getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, @@ -607,13 +608,15 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { protected void onSaveInstanceState(Bundle outState) { outState.putParcelableArrayList(TEMP_WALLPAPER_TILES, mTempWallpaperTiles); + outState.putInt(SELECTED_INDEX, mSelectedIndex); } protected void onRestoreInstanceState(Bundle savedInstanceState) { ArrayList uris = savedInstanceState.getParcelableArrayList(TEMP_WALLPAPER_TILES); for (Uri uri : uris) { - addTemporaryWallpaperTile(uri); + addTemporaryWallpaperTile(uri, true); } + mSelectedIndex = savedInstanceState.getInt(SELECTED_INDEX, 0); } private void populateWallpapersFromAdapter(ViewGroup parent, BaseAdapter adapter, @@ -717,7 +720,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } - private void addTemporaryWallpaperTile(final Uri uri) { + private void addTemporaryWallpaperTile(final Uri uri, boolean fromRestore) { mTempWallpaperTiles.add(uri); // Add a tile for the image picked from Gallery final FrameLayout pickedImageThumbnail = (FrameLayout) getLayoutInflater(). @@ -741,6 +744,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { image.setImageBitmap(thumb); Drawable thumbDrawable = image.getDrawable(); thumbDrawable.setDither(true); + pickedImageThumbnail.setVisibility(View.VISIBLE); } else { Log.e(TAG, "Error loading thumbnail for uri=" + uri); } @@ -753,14 +757,16 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { addLongPressHandler(pickedImageThumbnail); updateTileIndices(); pickedImageThumbnail.setOnClickListener(mThumbnailOnClickListener); - mThumbnailOnClickListener.onClick(pickedImageThumbnail); + if (!fromRestore) { + mThumbnailOnClickListener.onClick(pickedImageThumbnail); + } } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == IMAGE_PICK && resultCode == RESULT_OK) { if (data != null && data.getData() != null) { Uri uri = data.getData(); - addTemporaryWallpaperTile(uri); + addTemporaryWallpaperTile(uri, false); } } else if (requestCode == PICK_WALLPAPER_THIRD_PARTY_ACTIVITY) { setResult(RESULT_OK); @@ -1001,4 +1007,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { return view; } + + // In Launcher3, we override this with a method that catches exceptions + // from starting activities; didn't want to copy and paste code into here + public void startActivityForResultSafely(Intent intent, int requestCode) { + startActivityForResult(intent, requestCode); + } } diff --git a/src/com/android/launcher3/WallpaperRootView.java b/WallpaperPicker/src/com/android/launcher3/WallpaperRootView.java similarity index 100% rename from src/com/android/launcher3/WallpaperRootView.java rename to WallpaperPicker/src/com/android/launcher3/WallpaperRootView.java diff --git a/src/com/android/photos/BitmapRegionTileSource.java b/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java similarity index 98% rename from src/com/android/photos/BitmapRegionTileSource.java rename to WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java index 8511de2da9..764156de03 100644 --- a/src/com/android/photos/BitmapRegionTileSource.java +++ b/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java @@ -24,9 +24,7 @@ import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.graphics.BitmapRegionDecoder; import android.graphics.Canvas; -import android.graphics.Matrix; import android.graphics.Paint; -import android.graphics.PorterDuff; import android.graphics.Rect; import android.net.Uri; import android.os.Build; @@ -247,6 +245,9 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { try { ei.readExif(mPath); return true; + } catch (NullPointerException e) { + Log.w("BitmapRegionTileSource", "reading exif failed", e); + return false; } catch (IOException e) { Log.w("BitmapRegionTileSource", "getting decoder failed", e); return false; @@ -313,6 +314,9 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { } catch (IOException e) { Log.e("BitmapRegionTileSource", "Failed to load URI " + mUri, e); return false; + } catch (NullPointerException e) { + Log.e("BitmapRegionTileSource", "Failed to read EXIF for URI " + mUri, e); + return false; } finally { Utils.closeSilently(is); } diff --git a/src/com/android/photos/views/BlockingGLTextureView.java b/WallpaperPicker/src/com/android/photos/views/BlockingGLTextureView.java similarity index 100% rename from src/com/android/photos/views/BlockingGLTextureView.java rename to WallpaperPicker/src/com/android/photos/views/BlockingGLTextureView.java diff --git a/src/com/android/photos/views/TiledImageRenderer.java b/WallpaperPicker/src/com/android/photos/views/TiledImageRenderer.java similarity index 100% rename from src/com/android/photos/views/TiledImageRenderer.java rename to WallpaperPicker/src/com/android/photos/views/TiledImageRenderer.java diff --git a/src/com/android/photos/views/TiledImageView.java b/WallpaperPicker/src/com/android/photos/views/TiledImageView.java similarity index 100% rename from src/com/android/photos/views/TiledImageView.java rename to WallpaperPicker/src/com/android/photos/views/TiledImageView.java diff --git a/proguard.flags b/proguard.flags index 9b59b217ec..a922e919d2 100644 --- a/proguard.flags +++ b/proguard.flags @@ -8,6 +8,9 @@ public void onClickAllAppsButton(android.view.View); public void onClickAppMarketButton(android.view.View); public void dismissFirstRunCling(android.view.View); + public void dismissMigrationClingCopyApps(android.view.View); + public void dismissMigrationClingUseDefault(android.view.View); + public void dismissMigrationWorkspaceCling(android.view.View); public void dismissWorkspaceCling(android.view.View); public void dismissAllAppsCling(android.view.View); } diff --git a/res/drawable-hdpi/on_boarding_welcome.png b/res/drawable-hdpi/on_boarding_welcome.png new file mode 100644 index 0000000000..852a0cb132 Binary files /dev/null and b/res/drawable-hdpi/on_boarding_welcome.png differ diff --git a/res/drawable-hdpi/screenpanel_hover.9.png b/res/drawable-hdpi/screenpanel_hover.9.png index 3321fc9255..0fed7c9d8d 100644 Binary files a/res/drawable-hdpi/screenpanel_hover.9.png and b/res/drawable-hdpi/screenpanel_hover.9.png differ diff --git a/res/drawable-mdpi/on_boarding_welcome.png b/res/drawable-mdpi/on_boarding_welcome.png new file mode 100644 index 0000000000..1d12e83621 Binary files /dev/null and b/res/drawable-mdpi/on_boarding_welcome.png differ diff --git a/res/drawable-mdpi/screenpanel_hover.9.png b/res/drawable-mdpi/screenpanel_hover.9.png index dd7740665d..7dd885860f 100644 Binary files a/res/drawable-mdpi/screenpanel_hover.9.png and b/res/drawable-mdpi/screenpanel_hover.9.png differ diff --git a/res/drawable-sw720dp-hdpi/workspace_bg.9.png b/res/drawable-sw720dp-hdpi/workspace_bg.9.png new file mode 100644 index 0000000000..5bbfa4fff6 Binary files /dev/null and b/res/drawable-sw720dp-hdpi/workspace_bg.9.png differ diff --git a/res/drawable-sw720dp-mdpi/workspace_bg.9.png b/res/drawable-sw720dp-mdpi/workspace_bg.9.png new file mode 100644 index 0000000000..2856e09851 Binary files /dev/null and b/res/drawable-sw720dp-mdpi/workspace_bg.9.png differ diff --git a/res/drawable-sw720dp-xhdpi/workspace_bg.9.png b/res/drawable-sw720dp-xhdpi/workspace_bg.9.png new file mode 100644 index 0000000000..72269f207a Binary files /dev/null and b/res/drawable-sw720dp-xhdpi/workspace_bg.9.png differ diff --git a/res/drawable-sw720dp-xxhdpi/workspace_bg.9.png b/res/drawable-sw720dp-xxhdpi/workspace_bg.9.png new file mode 100644 index 0000000000..efc9b04658 Binary files /dev/null and b/res/drawable-sw720dp-xxhdpi/workspace_bg.9.png differ diff --git a/res/drawable-xhdpi/on_boarding_welcome.png b/res/drawable-xhdpi/on_boarding_welcome.png new file mode 100644 index 0000000000..8c101e0dbf Binary files /dev/null and b/res/drawable-xhdpi/on_boarding_welcome.png differ diff --git a/res/drawable-xhdpi/screenpanel_hover.9.png b/res/drawable-xhdpi/screenpanel_hover.9.png index a44dc113fb..251bf20855 100644 Binary files a/res/drawable-xhdpi/screenpanel_hover.9.png and b/res/drawable-xhdpi/screenpanel_hover.9.png differ diff --git a/res/drawable-xxhdpi/screenpanel_hover.9.png b/res/drawable-xxhdpi/screenpanel_hover.9.png index 1ab18da6a2..e8b36d8f14 100644 Binary files a/res/drawable-xxhdpi/screenpanel_hover.9.png and b/res/drawable-xxhdpi/screenpanel_hover.9.png differ diff --git a/res/layout-land/folder_cling.xml b/res/layout-land/folder_cling.xml index 86286d71ba..5dd372973a 100644 --- a/res/layout-land/folder_cling.xml +++ b/res/layout-land/folder_cling.xml @@ -16,7 +16,7 @@ + launcher:drawIdentifier="folder_landscape"> @@ -59,6 +60,6 @@ android:id="@+id/cling_dismiss" android:layout_marginBottom="15dp" android:layout_marginEnd="20dp" - android:layout_gravity="bottom|end" + android:layout_gravity="bottom|right" android:onClick="dismissFolderCling" /> diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index abb19f4bb0..7791609252 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -45,8 +45,8 @@ android:layout_gravity="end" /> + android:id="@+id/search_drop_target_bar" + layout="@layout/search_drop_target_bar" /> + + - + + + + + + + + + + + + + + + + +