diff options
author | Steve Kondik <steve@cyngn.com> | 2016-10-13 10:55:22 -0700 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-10-13 13:31:21 -0700 |
commit | 8164b5ce727e99957014bc8cc96f63d8a5629d6b (patch) | |
tree | f7e2f451b81595b73530c3a2f85b59f8bccab854 | |
parent | 3cd562df77bdbeb093d104b92a2a4fdc6413e536 (diff) | |
download | android_packages_apps_WallpaperPicker-cm-14.0.tar.gz android_packages_apps_WallpaperPicker-cm-14.0.tar.bz2 android_packages_apps_WallpaperPicker-cm-14.0.zip |
Update the WallpaperPickercm-14.0
* Update from Launcher3 in Nougat. Includes lockscreen support.
Change-Id: I1752e7f09a8d67063d4baf9fdc9b410c7ffeaa3b
111 files changed, 1678 insertions, 1086 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c19886d..30e61e0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5,7 +5,7 @@ android:versionName="1.0" > - <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23" /> + <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="24" /> <!-- Permissions for setting the wallpaper --> <uses-permission android:name="android.permission.SET_WALLPAPER" /> diff --git a/res/anim/fade_out.xml b/res/anim/fade_out.xml new file mode 100644 index 0000000..2749d92 --- /dev/null +++ b/res/anim/fade_out.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- startOffset is the same as the duration of the wallpaper_enter animation. We have this delay so + that we don't see the wallpaper changing before fading back to the home screen. --> +<alpha xmlns:android="http://schemas.android.com/apk/res/android" + android:startOffset="@android:integer/config_longAnimTime" + android:duration="@android:integer/config_mediumAnimTime" + android:fromAlpha="1" + android:toAlpha="0"/> + diff --git a/res/drawable/black.png b/res/drawable/black.png Binary files differdeleted file mode 100644 index 6aaccb2..0000000 --- a/res/drawable/black.png +++ /dev/null diff --git a/res/layout/actionbar_set_wallpaper.xml b/res/layout/actionbar_set_wallpaper.xml index d3a6560..9cc33a6 100644 --- a/res/layout/actionbar_set_wallpaper.xml +++ b/res/layout/actionbar_set_wallpaper.xml @@ -28,5 +28,6 @@ android:drawableLeft="@drawable/ic_actionbar_accept" android:drawablePadding="8dp" android:gravity="start|center_vertical" - android:text="@string/wallpaper_instructions"> + android:text="@string/wallpaper_instructions" + android:enabled="false"> </org.cyanogenmod.wallpaperpicker.AlphaDisableableButton> diff --git a/res/layout/wallpaper_picker.xml b/res/layout/wallpaper_picker.xml index 0a8cfad..7e9a83b 100644 --- a/res/layout/wallpaper_picker.xml +++ b/res/layout/wallpaper_picker.xml @@ -94,4 +94,4 @@ android:background="@drawable/tile_shadow_bottom" /> </LinearLayout> -</FrameLayout>
\ No newline at end of file +</FrameLayout> diff --git a/res/layout/wallpaper_picker_no_wallpaper_item.xml b/res/layout/wallpaper_picker_no_wallpaper_item.xml deleted file mode 100644 index 0743c44..0000000 --- a/res/layout/wallpaper_picker_no_wallpaper_item.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<org.cyanogenmod.wallpaperpicker.CheckableFrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="@dimen/wallpaperThumbnailWidth" - android:layout_height="@dimen/wallpaperThumbnailHeight" - android:focusable="true" - android:clickable="true" - android:foreground="@drawable/wallpaper_tile_fg"> - <ImageView - android:id="@+id/wallpa1per_image" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@color/wallpaper_picker_translucent_gray" - android:scaleType="centerCrop" - android:src="@drawable/black"/> - <TextView - android:id="@+id/wallpaper_item_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:ellipsize="marquee" - android:gravity="center" - android:layout_gravity="center" - android:text="@string/no_wallpaper" - android:textColor="@android:color/white"/> -</org.cyanogenmod.wallpaperpicker.CheckableFrameLayout> diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index eb81640..0525681 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Stel muurpapier"</string> <string name="image_load_fail" msgid="7538534580694411837">"Kon nie prent laai nie"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Kon nie prent as muurpapier laai nie"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d gekies"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d gekies"</item> - <item quantity="other" msgid="479468347731745357">"%1$d gekies"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Kon nie prent as muurpapier stel nie"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d gekies</item> + <item quantity="one">%1$d gekies</item> + </plurals> <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="3189640419551368385">"My foto\'s"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Muurpapiere"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Snoei muurpapier"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Tuisskerm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Sluitskerm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Tuisskerm en sluitskerm"</string> </resources> diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 7e79385..dd15a86 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ልጣፍ አዘጋጅ"</string> <string name="image_load_fail" msgid="7538534580694411837">"ምስሉን መጫን አልተቻለም"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ምስሉን እንደ ግድግዳ ወረቀት መጫን አልተቻለም"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ተመርጧል"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ተመርጧል"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ተመርጧል"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ምስሉን እንደ ግድግዳ ወረቀት ማዘጋጀት አልተቻለም"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d ተመርጧል</item> + <item quantity="other">%1$d ተመርጠዋል</item> + </plurals> <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="3189640419551368385">"የእኔ ፎቶዎች"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"የግድግዳ ወረቀቶች"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ልጣፍ ይከርክሙ"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"መነሻ ገጽ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ማያ ገጽ ቆልፍ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"መነሻ ገጽ እና ማያ ገጽ ቁልፍ"</string> </resources> diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 84fa104..354b344 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -22,15 +22,22 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"تعيين الخلفية"</string> <string name="image_load_fail" msgid="7538534580694411837">"تعذر تحميل الصورة"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"تعذر تحميل الصورة كخلفية"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"تم تحديد %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"تم تحديد %1$d"</item> - <item quantity="other" msgid="479468347731745357">"تم تحديد %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"تعذر تعيين الصورة كخلفية"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="zero">تم تحديد %1$d</item> + <item quantity="two">تم تحديد %1$d</item> + <item quantity="few">تم تحديد %1$d</item> + <item quantity="many">تم تحديد %1$d</item> + <item quantity="other">تم تحديد %1$d</item> + <item quantity="one">تم تحديد %1$d</item> + </plurals> <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="3189640419551368385">"صوري"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"الخلفيات"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"اقتصاص الخلفية"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"الشاشة الرئيسية"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"شاشة التأمين"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"الشاشة الرئيسية وشاشة التأمين"</string> </resources> diff --git a/res/values-ast-rES/strings.xml b/res/values-ast-rES/strings.xml index 9e6637f..e4ab8a4 100644 --- a/res/values-ast-rES/strings.xml +++ b/res/values-ast-rES/strings.xml @@ -54,5 +54,4 @@ <string name="storage_permission_denied">Nun pue accedese al almacenamientu</string> <!-- Displayed when user selects a shortcut for an app that was uninstalled [CHAR_LIMIT=none]--> <string name="activity_not_found">L\'aplicación nun ta instalada.</string> - <string name="no_wallpaper">Ensin fondu de pantalla</string> </resources> diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml index 883673d..f32d1e1 100644 --- a/res/values-az-rAZ/strings.xml +++ b/res/values-az-rAZ/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Divar kağı seçin"</string> <string name="image_load_fail" msgid="7538534580694411837">"Şəkli yükləmək alınmadı"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Şəkli divar kağızı olaraq yükləmək alınmadı"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d seçilib"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d seçilib"</item> - <item quantity="other" msgid="479468347731745357">"%1$d seçilib"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Şəkli divar kağızı olaraq quraşdırmaq alınmadı"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d seçilib</item> + <item quantity="one">%1$d seçilib</item> + </plurals> <string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Divar kağızı %1$d of %2$d"</string> <string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> seçilib"</string> <string name="wallpaper_delete" msgid="1459353972739215344">"Sil"</string> <string name="pick_image" msgid="3189640419551368385">"Fotolarım"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Divar kağızları"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Divar kağızını kəsin"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Əsas ekran"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Ekran kilidi"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Əsas ekran və kilid ekranı"</string> </resources> diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml new file mode 100644 index 0000000..8ce22e7 --- /dev/null +++ b/res/values-b+sr+Latn/strings.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +* Copyright (C) 2013 The Android Open Source Project +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="wallpaper_instructions" msgid="3524143401182707094">"Podesi pozadinu"</string> + <string name="image_load_fail" msgid="7538534580694411837">"Nije moguće učitati sliku"</string> + <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nije moguće učitati sliku kao pozadinu"</string> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Učitavanje slike kao pozadine nije uspelo"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Izabrana je %1$d stavka</item> + <item quantity="few">Izabrane su %1$d stavke</item> + <item quantity="other">Izabrano je %1$d stavki</item> + </plurals> + <string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Pozadina %1$d od %2$d"</string> + <string name="announce_selection" msgid="123723511662250539">"Izabrana je <xliff:g id="LABEL">%1$s</xliff:g>"</string> + <string name="wallpaper_delete" msgid="1459353972739215344">"Izbriši"</string> + <string name="pick_image" msgid="3189640419551368385">"Moje slike"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Pozadine"</string> + <string name="crop_wallpaper" msgid="4882870800623585836">"Opseci pozadinu"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Početni ekran"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Zaključani ekran"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Početni ekran i zaključani ekran"</string> +</resources> diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml new file mode 100644 index 0000000..638cca5 --- /dev/null +++ b/res/values-be-rBY/strings.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +* Copyright (C) 2013 The Android Open Source Project +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="wallpaper_instructions" msgid="3524143401182707094">"Задаць шпалеры"</string> + <string name="image_load_fail" msgid="7538534580694411837">"Не атрымалася загрузіць відарыс"</string> + <string name="wallpaper_load_fail" msgid="4800700444605404650">"Не атрымалася загрузіць відарыс у якасці шпалер"</string> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Не атрымалася задаць відарыс як шпалеры"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d выбраны</item> + <item quantity="few">%1$d выбраны</item> + <item quantity="many">%1$d выбраны</item> + <item quantity="other">%1$d выбраны</item> + </plurals> + <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="3189640419551368385">"Мае фатаграфii"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Шпалеры"</string> + <string name="crop_wallpaper" msgid="4882870800623585836">"Абрэзаць шпалеры"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Галоўны экран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Экран блакіроўкі"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Галоўны экран і экран блакіроўкі"</string> +</resources> diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 60ae302..bd49629 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Задаване на тапета"</string> <string name="image_load_fail" msgid="7538534580694411837">"Изображението не можа да бъде заредено"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Изображението не можа да бъде заредено като тапет"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Избрахте %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Избрахте %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Избрахте %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Изображението не можа да бъде зададено като тапет"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">Избрахте %1$d</item> + <item quantity="one">Избрахте %1$d</item> + </plurals> <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="3189640419551368385">"Моите снимки"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Тапети"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Подрязване на тапета"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Начален екран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Заключен екран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Начален и заключен екран"</string> </resources> diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml index 74d7e57..e4a30c4 100644 --- a/res/values-bn-rBD/strings.xml +++ b/res/values-bn-rBD/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ওয়ালপেপার সেট করুন"</string> <string name="image_load_fail" msgid="7538534580694411837">"চিত্র লোড করা যায়নি"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ওয়ালপেপার হিসাবে চিত্র লোড করা যায়নি"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$dটি নির্বাচন করা হয়েছে"</item> - <item quantity="one" msgid="8409622005831789373">"%1$dটি নির্বাচন করা হয়েছে"</item> - <item quantity="other" msgid="479468347731745357">"%1$dটি নির্বাচন করা হয়েছে"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ওয়ালপেপার হিসাবে চিত্র সেট করা যায়নি"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$dটি নির্বাচন করা হয়েছে</item> + <item quantity="other">%1$dটি নির্বাচন করা হয়েছে</item> + </plurals> <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="3189640419551368385">"আমার ফটো"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ওয়ালপেপারগুলি"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ওয়ালপেপার কাটছাঁট করুন"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"হোম স্ক্রীন"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"লক স্ক্রীন"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"হোম স্ক্রীন ও লক স্ক্রীন"</string> </resources> diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml new file mode 100644 index 0000000..2613018 --- /dev/null +++ b/res/values-bs-rBA/strings.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +* Copyright (C) 2013 The Android Open Source Project +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="wallpaper_instructions" msgid="3524143401182707094">"Postavi pozadinu"</string> + <string name="image_load_fail" msgid="7538534580694411837">"Nije moguće učitati sliku"</string> + <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nije moguće učitati sliku kao pozadinu"</string> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nije moguće postaviti sliku kao pozadinu"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">odabran je %1$d</item> + <item quantity="few">odabrana su %1$d</item> + <item quantity="other">odabrano je %1$d</item> + </plurals> + <string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Pozadina %1$d od %2$d"</string> + <string name="announce_selection" msgid="123723511662250539">"Odabrano: <xliff:g id="LABEL">%1$s</xliff:g>"</string> + <string name="wallpaper_delete" msgid="1459353972739215344">"Izbriši"</string> + <string name="pick_image" msgid="3189640419551368385">"Moje fotografije"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Pozadine"</string> + <string name="crop_wallpaper" msgid="4882870800623585836">"Izreži pozadinsku sliku"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Početni ekran"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Zaključavanje ekrana"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Početni ekran i zaključavanje ekrana"</string> +</resources> diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index cbec762..410319d 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Estableix el fons de pantalla"</string> <string name="image_load_fail" msgid="7538534580694411837">"No s\'ha pogut carregar la imatge."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"No s\'ha pogut carregar la imatge com a fons de pantalla."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Seleccionats: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Seleccionats: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Seleccionats: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"No s\'ha pogut definir la imatge com a fons de pantalla"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">Seleccionats: %1$d</item> + <item quantity="one">Seleccionats: %1$d</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Pantalla d\'inici"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Pantalla de bloqueig"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Pantalla d\'inici i pantalla de bloqueig"</string> </resources> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index da0758e..18ef566 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Nastavit jako tapetu"</string> <string name="image_load_fail" msgid="7538534580694411837">"Obrázek nelze načíst."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Obrázek nelze načíst jako tapetu."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Vybráno: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Vybráno: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Vybráno: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Obrázek nelze nastavit jako tapetu"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="few">Vybráno: %1$d</item> + <item quantity="many">Vybráno: %1$d</item> + <item quantity="other">Vybráno: %1$d</item> + <item quantity="one">Vybráno: %1$d</item> + </plurals> <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="3189640419551368385">"Moje fotografie"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Oříznutí tapety"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Plocha"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Obrazovka uzamčení"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Plocha a obrazovka uzamčení"</string> </resources> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 12c0fe8..475620c 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Angiv baggrund"</string> <string name="image_load_fail" msgid="7538534580694411837">"Billedet kunne ikke indlæses"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Billedet kunne ikke indlæses som baggrund"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d er valgt"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d er valgt"</item> - <item quantity="other" msgid="479468347731745357">"%1$d er valgt"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Billedet kunne ikke indlæses som baggrund"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d er valgt</item> + <item quantity="other">%1$d er valgt</item> + </plurals> <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="3189640419551368385">"Mine billeder"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Baggrunde"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Beskær baggrunden"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Startskærm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Låseskærm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Startskærm og låseskærm"</string> </resources> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 3171b3f..411ef45 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Hintergrund auswählen"</string> <string name="image_load_fail" msgid="7538534580694411837">"Bild konnte nicht geladen werden."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Bild konnte nicht als Hintergrund geladen werden."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ausgewählt"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ausgewählt"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ausgewählt"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Bild konnte nicht als Hintergrund festgelegt werden."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d ausgewählt</item> + <item quantity="one">%1$d ausgewählt</item> + </plurals> <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="3189640419551368385">"Meine Fotos"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Hintergründe"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Hintergrund zuschneiden"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Startbildschirm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Sperrbildschirm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Start- und Sperrbildschirm"</string> </resources> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 2988bec..b024ea3 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Ορισμός ταπετσαρίας"</string> <string name="image_load_fail" msgid="7538534580694411837">"Δεν ήταν δυνατή η φόρτωση της εικόνας"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Δεν ήταν δυνατή η φόρτωση της εικόνας ως ταπετσαρία"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d επιλεγμένα"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d επιλεγμένα"</item> - <item quantity="other" msgid="479468347731745357">"%1$d επιλεγμένα"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Δεν ήταν δυνατός ο ορισμός της εικόνας ως ταπετσαρία"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d επιλεγμένες</item> + <item quantity="one">%1$d επιλεγμένη</item> + </plurals> <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="3189640419551368385">"Οι φωτογραφίες μου"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Ταπετσαρίες"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Περικοπή ταπετσαρίας"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Αρχική οθόνη"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Κλείδωμα οθόνης"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Αρχική οθόνη και κλείδωμα οθόνης"</string> </resources> diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 30450ee..d9b9cb1 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Set wallpaper"</string> <string name="image_load_fail" msgid="7538534580694411837">"Couldn\'t load image"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Couldn\'t load image as wallpaper"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selected"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selected"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selected"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Couldn\'t set image as wallpaper"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d selected</item> + <item quantity="one">%1$d selected</item> + </plurals> <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="3189640419551368385">"My photos"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Home screen"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lock screen"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Home screen and lock screen"</string> </resources> diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 30450ee..d9b9cb1 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Set wallpaper"</string> <string name="image_load_fail" msgid="7538534580694411837">"Couldn\'t load image"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Couldn\'t load image as wallpaper"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selected"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selected"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selected"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Couldn\'t set image as wallpaper"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d selected</item> + <item quantity="one">%1$d selected</item> + </plurals> <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="3189640419551368385">"My photos"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Home screen"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lock screen"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Home screen and lock screen"</string> </resources> diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 30450ee..d9b9cb1 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Set wallpaper"</string> <string name="image_load_fail" msgid="7538534580694411837">"Couldn\'t load image"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Couldn\'t load image as wallpaper"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selected"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selected"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selected"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Couldn\'t set image as wallpaper"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d selected</item> + <item quantity="one">%1$d selected</item> + </plurals> <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="3189640419551368385">"My photos"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Wallpapers"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Crop wallpaper"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Home screen"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lock screen"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Home screen and lock screen"</string> </resources> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index c18ecb2..5caf439 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Establecer como fondo de pantalla"</string> <string name="image_load_fail" msgid="7538534580694411837">"No se pudo cargar la imagen."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"No se pudo cargar la imagen como fondo de pantalla."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d seleccionado"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d seleccionado"</item> - <item quantity="other" msgid="479468347731745357">"%1$d seleccionados"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"No se pudo establecer la imagen como fondo de pantalla"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d seleccionados</item> + <item quantity="one">%1$d seleccionado</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Pantalla principal"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Pantalla bloqueada"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Pantalla principal y pantalla bloqueada"</string> </resources> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index b7221af..a909391 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Establecer fondo"</string> <string name="image_load_fail" msgid="7538534580694411837">"No se ha podido cargar la imagen"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"No se ha podido cargar la imagen como fondo de pantalla"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Seleccionados: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Seleccionados: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Seleccionados: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"No se ha podido establecer la imagen como fondo de pantalla"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d seleccionados</item> + <item quantity="one">%1$d seleccionado</item> + </plurals> <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="wallpaper_delete" msgid="1459353972739215344">"Quitar"</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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Pantalla de inicio"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Pantalla de bloqueo"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Pantalla de inicio y de bloqueo"</string> </resources> diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml index 571a0ff..c387d4c 100644 --- a/res/values-et-rEE/strings.xml +++ b/res/values-et-rEE/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Määra taustapilt"</string> <string name="image_load_fail" msgid="7538534580694411837">"Kujutist ei õnnestunud laadida"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Kujutist ei õnnestunud taustapildina laadida"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Valitud on %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Valitud on %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Valitud on %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Kujutist ei õnnestunud taustapildiks määrata"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">Valitud on %1$d</item> + <item quantity="one">Valitud on %1$d</item> + </plurals> <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="3189640419551368385">"Minu fotod"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Taustapildid"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Taustapildi kärpimine"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Avaekraan"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lukustuskuva"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Avaekraan ja lukustuskuva"</string> </resources> diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml index 45bf7a1..dd461b6 100644 --- a/res/values-eu-rES/strings.xml +++ b/res/values-eu-rES/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Ezarri horma-papera"</string> <string name="image_load_fail" msgid="7538534580694411837">"Ezin izan da irudia kargatu"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Ezin izan da irudia horma-paper gisa kargatu"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d hautatuta"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d hautatuta"</item> - <item quantity="other" msgid="479468347731745357">"%1$d hautatuta"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Ezin izan da ezarri irudia horma-paper gisa"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d hautatu dira</item> + <item quantity="one">%1$d hautatu da</item> + </plurals> <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="3189640419551368385">"Nire argazkiak"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Horma-paperak"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Ebaki horma-papera"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Hasierako pantaila"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Pantaila blokeatua"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Hasierako pantaila eta pantaila blokeatua"</string> </resources> diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 469ec12..7e0cf27 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"تنظیم کاغذدیواری"</string> <string name="image_load_fail" msgid="7538534580694411837">"تصویر بارگیری نشد"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"تصویر بهعنوان کاغذدیواری بارگیری نشد"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d انتخاب شد"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d انتخاب شد"</item> - <item quantity="other" msgid="479468347731745357">"%1$d انتخاب شد"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"تصویر بهعنوان کاغذدیواری تنظیم نشد"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d انتخاب شد</item> + <item quantity="other">%1$d انتخاب شد</item> + </plurals> <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="3189640419551368385">"عکسهای من"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"کاغذدیواریها"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"برش کاغذدیواری"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"صفحه اصلی"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"قفل صفحه"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"صفحه اصلی و قفل صفحه"</string> </resources> diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index c82d3e0..19c0eec 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Aseta taustakuva"</string> <string name="image_load_fail" msgid="7538534580694411837">"Kuvan lataus epäonnistui"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Kuvaa ei voitu ladata taustakuvaksi"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d valittu"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d valittu"</item> - <item quantity="other" msgid="479468347731745357">"%1$d valittu"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Kuvan asettaminen taustakuvaksi epäonnistui."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d valittu</item> + <item quantity="one">%1$d valittu</item> + </plurals> <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="3189640419551368385">"Omat valokuvat"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Taustakuvat"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Rajaa taustakuva"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Aloitusnäyttö"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lukitusnäyttö"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Aloitusnäyttö ja lukitusnäyttö"</string> </resources> diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 9256896..3efa953 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Définir le fond d\'écran"</string> <string name="image_load_fail" msgid="7538534580694411837">"Impossible de charger l\'image"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Impossible de charger l\'image comme fond d\'écran"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d sélectionné"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d sélectionné"</item> - <item quantity="other" msgid="479468347731745357">"%1$d sélectionné(s)"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Impossible d\'utiliser l\'image comme fond d\'écran"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d fond d\'écran sélectionné</item> + <item quantity="other">%1$d fonds d\'écran sélectionnés</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Écran d\'accueil"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Écran de verrouillage"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Écran d\'accueil et écran de verrouillage"</string> </resources> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 479a7e4..428abbc 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Définir comme fond d\'écran"</string> <string name="image_load_fail" msgid="7538534580694411837">"Impossible de charger l\'image."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Impossible de charger l\'image comme fond d\'écran."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d élément sélectionné"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d élément sélectionné"</item> - <item quantity="other" msgid="479468347731745357">"%1$d éléments sélectionnés"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Impossible de définir l\'image comme fond d\'écran."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d fond d\'écran sélectionné</item> + <item quantity="other">%1$d fonds d\'écran sélectionnés</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Écran d\'accueil"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Écran de verrouillage"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Écran d\'accueil et écran de verrouillage"</string> </resources> diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml index 0396b2f..314f525 100644 --- a/res/values-gl-rES/strings.xml +++ b/res/values-gl-rES/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Establecer fondo de pantalla"</string> <string name="image_load_fail" msgid="7538534580694411837">"Non se puido cargar a imaxe"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Non se puido cargar a imaxe como fondo de pantalla"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Seleccionaches %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Seleccionaches %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Seleccionaches %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Non se puido definir a imaxe como fondo de pantalla"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">Seleccionáronse %1$d elementos</item> + <item quantity="one">Seleccionouse %1$d elemento</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Pantalla de inicio"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Pantalla de bloqueo"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Pantalla de inicio e pantalla de bloqueo"</string> </resources> diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml index e201d52..f805120 100644 --- a/res/values-gu-rIN/strings.xml +++ b/res/values-gu-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"વૉલપેપર સેટ કરો"</string> <string name="image_load_fail" msgid="7538534580694411837">"છબી લોડ કરી શકાઈ નથી"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"વૉલપેપર તરીકે છબી લોડ કરી શકાઈ નથી"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d પસંદ કર્યો"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d પસંદ કર્યો"</item> - <item quantity="other" msgid="479468347731745357">"%1$d પસંદ કર્યો"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"વૉલપેપર તરીકે છબી સેટ કરી શક્યાં નથી"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d પસંદ કર્યાં</item> + <item quantity="other">%1$d પસંદ કર્યાં</item> + </plurals> <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="3189640419551368385">"મારા ફોટા"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"વૉલપેપર્સ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"વૉલપેપર કાપો"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"હોમ સ્ક્રીન"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"લૉક સ્ક્રીન"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"હોમ સ્ક્રીન અને લૉક સ્ક્રીન"</string> </resources> diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 60834e1..4a7b5dc 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"वॉलपेपर सेट करें"</string> <string name="image_load_fail" msgid="7538534580694411837">"चित्र लोड नहीं किया जा सका"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"चित्र को वॉलपेपर के रूप में लोड नहीं किया जा सका"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d चयनित"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d चयनित"</item> - <item quantity="other" msgid="479468347731745357">"%1$d चयनित"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"चित्र को वॉलपेपर के रूप में सेट नहीं किया जा सका"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d चुना गया</item> + <item quantity="other">%1$d चुने गए</item> + </plurals> <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="3189640419551368385">"मेरी फ़ोटो"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"वॉलपेपर"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"वॉलपेपर काटें"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"होम स्क्रीन"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"लॉक स्क्रीन"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"होम स्क्रीन और लॉक स्क्रीन"</string> </resources> diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 9ed702c..fdad036 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -22,15 +22,19 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Postavi pozadinu"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nije moguće učitati sliku"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nije moguće učitati sliku kao pozadinu"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Odabrano je %1$d stavki"</item> - <item quantity="one" msgid="8409622005831789373">"Odabrana je %1$d stavka"</item> - <item quantity="other" msgid="479468347731745357">"Odabrano stavki: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Postavljanje slike kao pozadine nije uspjelo"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Odabrana je %1$d stavka</item> + <item quantity="few">Odabrane su %1$d stavke</item> + <item quantity="other">Odabrano je %1$d stavki</item> + </plurals> <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="3189640419551368385">"Moje fotografije"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Pozadine"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Obrezivanje pozadinske slike"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Početni zaslon"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Zaključan zaslon"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Početni zaslon i zaključan zaslon"</string> </resources> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index d8b08fd..0982b2c 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Háttérkép beállítása"</string> <string name="image_load_fail" msgid="7538534580694411837">"A kép betöltése nem sikerült"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"A kép betöltése háttérképként nem sikerült"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d kiválasztva"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d kiválasztva"</item> - <item quantity="other" msgid="479468347731745357">"%1$d kiválasztva"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"A kép beállítása háttérképként nem sikerült"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d kiválasztva</item> + <item quantity="one">%1$d kiválasztva</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Kezdőképernyő"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lezárási képernyő"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Kezdőképernyő és lezárási képernyő"</string> </resources> diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml index 027b841..2cd7cf5 100644 --- a/res/values-hy-rAM/strings.xml +++ b/res/values-hy-rAM/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Սահմանել պաստառը"</string> <string name="image_load_fail" msgid="7538534580694411837">"Չհաջողվեց բեռնել նկարը"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Չհաջողվեց նկարը սահմանել որպես պաստառ"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ընտրված"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ընտրված"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ընտրված"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Չհաջողվեց նկարը դնել որպես պաստառ"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d ընտրված</item> + <item quantity="other">%1$d ընտրված</item> + </plurals> <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="3189640419551368385">"Իմ լուսանկարները"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Պաստառներ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Եզրատել պաստառը"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Հիմնական էկրան"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Կողպել էկրանը"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Հիմնական էկրան և կողպէկրան"</string> </resources> diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 9155452..6e588ef 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Setel wallpaper"</string> <string name="image_load_fail" msgid="7538534580694411837">"Tidak dapat memuat gambar"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Tidak dapat memuat gambar sebagai wallpaper"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d dipilih"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d dipilih"</item> - <item quantity="other" msgid="479468347731745357">"%1$d dipilih"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Tidak dapat menyetel gambar sebagai wallpaper"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d dipilih</item> + <item quantity="one">%1$d dipilih</item> + </plurals> <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="3189640419551368385">"Foto saya"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Wallpaper"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Pangkas wallpaper"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Layar utama"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Layar kunci"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Layar utama dan layar kunci"</string> </resources> diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml index 69e6cd4..225bdec 100644 --- a/res/values-is-rIS/strings.xml +++ b/res/values-is-rIS/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Velja veggfóður"</string> <string name="image_load_fail" msgid="7538534580694411837">"Ekki var hægt að hlaða mynd"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Ekki var hægt að hlaða mynd sem veggfóður"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d valin"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d valið"</item> - <item quantity="other" msgid="479468347731745357">"%1$d valin"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Ekki var hægt að nota mynd sem veggfóður"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d valið</item> + <item quantity="other">%1$d valin</item> + </plurals> <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="3189640419551368385">"Myndirnar mínar"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Veggfóður"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Skera veggfóður"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Heimaskjár"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lásskjár"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Heimaskjár og lásskjár"</string> </resources> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index f4d38d1..2cbd8c4 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Imposta sfondo"</string> <string name="image_load_fail" msgid="7538534580694411837">"Impossibile caricare l\'immagine"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Impossibile caricare l\'immagine come sfondo"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selezionati"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selezionato"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selezionati"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Impossibile impostare l\'immagine come sfondo"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d selezionati</item> + <item quantity="one">%1$d selezionato</item> + </plurals> <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="3189640419551368385">"Le mie foto"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Sfondi"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Ritaglia sfondo"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Schermata Home"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Schermata di blocco"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Schermata Home e schermata di blocco"</string> </resources> diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index e29f237..bf1cd83 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"הגדר טפט"</string> <string name="image_load_fail" msgid="7538534580694411837">"לא ניתן היה לטעון את התמונה"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"לא ניתן היה לטעון את התמונה כטפט"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d נבחרו"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d נבחרו"</item> - <item quantity="other" msgid="479468347731745357">"%1$d נבחרו"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"לא ניתן היה להגדיר את התמונה כטפט"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="two">נבחרו %1$d פריטים</item> + <item quantity="many">נבחרו %1$d פריטים</item> + <item quantity="other">נבחרו %1$d פריטים</item> + <item quantity="one">נבחר פריט אחד</item> + </plurals> <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="3189640419551368385">"התמונות שלי"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"טפטים"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"חתוך את הטפט"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"מסך דף הבית"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"מסך הנעילה"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"מסך דף הבית ומסך הנעילה"</string> </resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index e86026b..9855d02 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"壁紙を設定"</string> <string name="image_load_fail" msgid="7538534580694411837">"画像を読み込めませんでした"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"画像を壁紙として読み込めませんでした"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d個選択済み"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d個選択済み"</item> - <item quantity="other" msgid="479468347731745357">"%1$d個選択済み"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"画像を壁紙として設定できませんでした"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d 個を選択済み</item> + <item quantity="one">%1$d 個を選択済み</item> + </plurals> <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="3189640419551368385">"マイフォト"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"壁紙"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"壁紙のトリミング"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ホーム画面"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ロック画面"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ホーム画面とロック画面"</string> </resources> diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml index 1ae1021..daeffd4 100644 --- a/res/values-ka-rGE/strings.xml +++ b/res/values-ka-rGE/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ფონის დაყენება"</string> <string name="image_load_fail" msgid="7538534580694411837">"სურათი ვერ ჩაიტვირთა."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"სურათი ფონად ვერ ჩაიტვირთა."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"არჩეულია %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"არჩეულია %1$d"</item> - <item quantity="other" msgid="479468347731745357">"არჩეულია %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"სურათი ფონად ვერ დაყენდა"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">არჩეულია %1$d</item> + <item quantity="one">არჩეულია %1$d</item> + </plurals> <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="3189640419551368385">"ჩემი ფოტოები"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ფონები"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ფონის ჩამოჭრა"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"მთავარი ეკრანი"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ჩაკეტილი ეკრანი"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"მთავარი ეკრანი და ჩაკეტილი ეკრანი"</string> </resources> diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml index a10e273..68ab145 100644 --- a/res/values-kk-rKZ/strings.xml +++ b/res/values-kk-rKZ/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Тұсқағаз орнату"</string> <string name="image_load_fail" msgid="7538534580694411837">"Суретті жүктей алмады"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Суретті артқы фон ретінде жүктей алмады"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d таңдалған"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d таңдалған"</item> - <item quantity="other" msgid="479468347731745357">"%1$d таңдалған"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Кескінді тұсқағаз ретінде орнату мүмкін болмады"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d таңдалған</item> + <item quantity="one">%1$d таңдалған</item> + </plurals> <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="3189640419551368385">"Менің фотосуреттерім"</string> - <string name="pick_wallpaper" msgid="4628969645948454559">"Артқы фондар"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Тұсқағаздар"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Артқы фонды кесу"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Негізгі экран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Құлыпталған экран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Негізгі экран және құлыпталған экран"</string> </resources> diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml index 2a605e8..29aef7a 100644 --- a/res/values-km-rKH/strings.xml +++ b/res/values-km-rKH/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"កំណត់ផ្ទាំងរូបភាព"</string> <string name="image_load_fail" msgid="7538534580694411837">"មិនអាចផ្ទុករូបភាព"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"មិនអាចផ្ទុករូបភាពជាផ្ទាំងរូបភាព"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"បានជ្រើស %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"បានជ្រើស %1$d"</item> - <item quantity="other" msgid="479468347731745357">"បានជ្រើស %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"មិនអាចកំណត់រូបភាពជាផ្ទាំងរូបភាពទេ"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">បានជ្រើស %1$d</item> + <item quantity="one">បានជ្រើស %1$d</item> + </plurals> <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="3189640419551368385">"រូបថតរបស់ខ្ញុំ"</string> + <string name="pick_image" msgid="3189640419551368385">"រូបថតខ្ញុំ"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ផ្ទាំងរូបភាព"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ច្រឹបផ្ទាំងរូបភាព"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"អេក្រង់ដើម"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"អេក្រង់ជាប់សោ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"អេក្រង់ដើម និងអេក្រង់ជាប់សោ"</string> </resources> diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml index b69bda5..d6e0c7f 100644 --- a/res/values-kn-rIN/strings.xml +++ b/res/values-kn-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ವಾಲ್ಪೇಪರ್ ಹೊಂದಿಸಿ"</string> <string name="image_load_fail" msgid="7538534580694411837">"ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ಚಿತ್ರವನ್ನು ವಾಲ್ಪೇಪರ್ ರೂಪದಲ್ಲಿ ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ಚಿತ್ರವನ್ನು ವಾಲ್ಪೇಪರ್ ರೂಪದಲ್ಲಿ ಹೊಂದಿಸಲಾಗಲಿಲ್ಲ"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ</item> + <item quantity="other">%1$d ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ</item> + </plurals> <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="3189640419551368385">"ನನ್ನ ಫೋಟೋಗಳು"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ವಾಲ್ಪೇಪರ್ಗಳು"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ವಾಲ್ಪೇಪರ್ ಕತ್ತರಿಸಿ"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ಮುಖಪುಟದ ಪರದೆ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ಲಾಕ್ ಪರದೆ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ಮುಖಪುಟದ ಪರದೆ ಮತ್ತು ಲಾಕ್ ಪರದೆ"</string> </resources> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 30e7cfa..7da91da 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"배경화면 설정"</string> <string name="image_load_fail" msgid="7538534580694411837">"이미지를 로드할 수 없습니다."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"이미지를 배경화면으로 로드할 수 없습니다."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d개 선택됨"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d개 선택됨"</item> - <item quantity="other" msgid="479468347731745357">"%1$d개 선택됨"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"이미지를 배경화면으로 설정할 수 없습니다."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d개 선택됨</item> + <item quantity="one">%1$d개 선택됨</item> + </plurals> <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="3189640419551368385">"내 사진"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"배경화면"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"배경화면 잘라내기"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"메인 스크린"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"잠금 화면"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"메인 스크린 및 잠금 화면"</string> </resources> diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml index f1ebf09..bc2ee69 100644 --- a/res/values-ky-rKG/strings.xml +++ b/res/values-ky-rKG/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Тушкагаз орнотуу"</string> <string name="image_load_fail" msgid="7538534580694411837">"Сүрөт жүктөө мүмкүн болбоду"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Сүрөттү тушкагаз катары жүктөө кыйрады"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d тандалды"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d тандалды"</item> - <item quantity="other" msgid="479468347731745357">"%1$d тандалды"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Сүрөт тушкагаз катары коюлбай койду"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d тандалды</item> + <item quantity="one">%1$d тандалды</item> + </plurals> <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="3189640419551368385">"Менин сүрөттөрүм"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Тушкагаздар"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Тушкагазды тегиздөө"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Башкы экран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Кулпуланган экран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Башкы экран жана кулпуланган экран"</string> </resources> diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml index e32cafb..f6bfa1e 100644 --- a/res/values-lo-rLA/strings.xml +++ b/res/values-lo-rLA/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ຕັ້ງເປັນພາບພື້ນຫຼັງ"</string> <string name="image_load_fail" msgid="7538534580694411837">"ບໍ່ສາມາດໂຫຼດຮູບໄດ້"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ບໍ່ສາມາດໂຫຼດຮູບເປັນພາບພື້ນຫຼັງໄດ້"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"ເລືອກ %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"ເລືອກ %1$d"</item> - <item quantity="other" msgid="479468347731745357">"ເລືອກ %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ບໍ່ສາມາດໂຫຼດຮູບເປັນພາບພື້ນຫຼັງໄດ້"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">ເລືອກ %1$d ແລ້ວ</item> + <item quantity="one">ເລືອກ %1$d ແລ້ວ</item> + </plurals> <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="3189640419551368385">"ຮູບຂອງຂ້ອຍ"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ພາບພື້ນຫຼັງ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ຕັດພາບພື້ນຫຼັງ"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ໜ້າຈໍຫຼັກ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ໜ້າຈໍລັອກ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ໜ້າຈໍຫຼັກ ແລະ ໜ້າຈໍລັອກ"</string> </resources> diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index c442e3a..00bea1c 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Nustatyti ekrano foną"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nepavyko įkelti vaizdo"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nepavyko įkelti vaizdo kaip ekrano fono"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Pasirinkta: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Pasirinkta: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Pasirinkta: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nepavyko nustatyti vaizdo kaip ekrano fono"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Pasirinktas %1$d elementas</item> + <item quantity="few">Pasirinkti %1$d elementai</item> + <item quantity="many">Pasirinkta %1$d elemento</item> + <item quantity="other">Pasirinkta %1$d elementų</item> + </plurals> <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="3189640419551368385">"Mano nuotraukos"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Ekrano fonai"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Apkirpti ekrano foną"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Pagrindinis ekranas"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Užrakinimo ekranas"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Pagrindinis ekranas ir užrakinimo ekranas"</string> </resources> diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index d05a175..c04a7fa 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -22,15 +22,19 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Iestatīt fona tapeti"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nevarēja ielādēt attēlu."</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nevarēja ielādēt attēlu kā fona tapeti."</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Atlasīts: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Atlasīta: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Atlasītas: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nevarēja iestatīt attēlu kā fona tapeti."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="zero">Atlasītas: %1$d</item> + <item quantity="one">Atlasītas: %1$d</item> + <item quantity="other">Atlasītas: %1$d</item> + </plurals> <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="3189640419551368385">"Mani fotoattēli"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Fona tapetes"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Apgriezt fona tapeti"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Sākuma ekrāns"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Bloķēšanas ekrāns"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Sākuma ekrāns un bloķēšanas ekrāns"</string> </resources> diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml index f9e0963..c8ed4e6 100644 --- a/res/values-mk-rMK/strings.xml +++ b/res/values-mk-rMK/strings.xml @@ -19,18 +19,21 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="wallpaper_instructions" msgid="3524143401182707094">"Подеси тапет"</string> + <string name="wallpaper_instructions" msgid="3524143401182707094">"Постави тапет"</string> <string name="image_load_fail" msgid="7538534580694411837">"Сликата не можеше да се вчита"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Сликата не можеше да се вчита како тапет"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Избрано %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Избрано %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Избрано %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Сликата не може да се постави како тапет"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Избран е %1$d</item> + <item quantity="other">Избрани се %1$d</item> + </plurals> <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="3189640419551368385">"Моите фотографии"</string> - <string name="pick_wallpaper" msgid="4628969645948454559">"Тапети"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Позадини"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Исечи тапет"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Почетен екран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Заклучен екран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Почетен и заклучен екран"</string> </resources> diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml index 6be771c..c8e33be 100644 --- a/res/values-ml-rIN/strings.xml +++ b/res/values-ml-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"വാൾപേപ്പർ സജ്ജീകരിക്കുക"</string> <string name="image_load_fail" msgid="7538534580694411837">"ചിത്രം ലോഡുചെയ്യാനായില്ല"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"വാൾപേപ്പറായി ചിത്രം ലോഡുചെയ്യാനായില്ല"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d തിരഞ്ഞെടുത്തു"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d തിരഞ്ഞെടുത്തു"</item> - <item quantity="other" msgid="479468347731745357">"%1$d തിരഞ്ഞെടുത്തു"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"വാൾപേപ്പറായി ചിത്രം ലോഡുചെയ്യാനായില്ല"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d തിരഞ്ഞെടുത്തു</item> + <item quantity="one">%1$d തിരഞ്ഞെടുത്തു</item> + </plurals> <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="3189640419551368385">"എന്റെ ഫോട്ടോകൾ"</string> - <string name="pick_wallpaper" msgid="4628969645948454559">"വാൾപേപ്പറുകൾ"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"വാൾപേപ്പർ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"വാൾപേപ്പറിന്റെ വലുപ്പം മാറ്റൽ"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ഹോം സ്ക്രീൻ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ലോക്ക് സ്ക്രീൻ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ഹോം സ്ക്രീനും ലോക്ക് സ്ക്രീനും"</string> </resources> diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml index b88da5a..b9251d8 100644 --- a/res/values-mn-rMN/strings.xml +++ b/res/values-mn-rMN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Ханын зургийг тохируулах"</string> <string name="image_load_fail" msgid="7538534580694411837">"Зургийг ачаалж чадсангүй"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Зургийг ханын зураг болгож ачаалж чадсангүй"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d сонгогдсон"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d сонгогдсон"</item> - <item quantity="other" msgid="479468347731745357">"%1$d сонгогдсон"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Зургийг ханын зураг болгож чадсангүй"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d-г сонгосон</item> + <item quantity="one">%1$d-г сонгосон</item> + </plurals> <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="3189640419551368385">"Миний зураг"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Ханын зураг"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Ханын зургийг тайрах"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Үндсэн нүүр"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Түгжих дэлгэц"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Үндсэн нүүр болон түгжих дэлгэц"</string> </resources> diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml index 128b21c..349b3c4 100644 --- a/res/values-mr-rIN/strings.xml +++ b/res/values-mr-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"वॉलपेपर सेट करा"</string> <string name="image_load_fail" msgid="7538534580694411837">"प्रतिमा लोड करू शकलो नाही"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"वॉलपेपर म्हणून प्रतिमा लोड करू शकलो नाही"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d निवडले"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d निवडले"</item> - <item quantity="other" msgid="479468347731745357">"%1$d निवडले"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"प्रतिमा वॉलपेपर म्हणून सेट करू शकलो नाही"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d निवडला</item> + <item quantity="other">%1$d निवडले</item> + </plurals> <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="3189640419551368385">"माझे फोटो"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"वॉलपेपर"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"वॉलपेपर कापा"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"मुख्यपृष्ठ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"लॉक स्क्रीन"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"मुख्यपृष्ठ आणि लॉक स्क्रीन"</string> </resources> diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml index 9d824e4..9931975 100644 --- a/res/values-ms-rMY/strings.xml +++ b/res/values-ms-rMY/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Tetapkan kertas dinding"</string> <string name="image_load_fail" msgid="7538534580694411837">"Tidak dapat memuatkan imej"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Tidak dapat memuatkan imej sebagai kertas dinding"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d dipilih"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d dipilih"</item> - <item quantity="other" msgid="479468347731745357">"%1$d dipilih"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Tidak dapat menetapkan imej sebagai kertas dinding"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d dipilih</item> + <item quantity="one">%1$d dipilih</item> + </plurals> <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="3189640419551368385">"Foto saya"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Kertas dinding"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Pangkas kertas dinding"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Skrin utama"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Kunci skrin"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Skrin utama dan kunci skrin"</string> </resources> diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml index 2336114..8abf2d6 100644 --- a/res/values-my-rMM/strings.xml +++ b/res/values-my-rMM/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"နောက်ခံအား သတ်မှတ်ရန်"</string> <string name="image_load_fail" msgid="7538534580694411837">"ပုံရိပ် တင် မရပါ"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ပုံရိပ်အား နောက်ခံအဖြစ် တင် မရပါ"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ရွေးချယ်ပြီး"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ရွေးချယ်ပြီး"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ရွေးချယ်ပြီး"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ပုံရိပ်အား နောက်ခံအဖြစ် တင်၍မရပါ"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d ကို ရွေးချယ်ထားပါသည်</item> + <item quantity="one">%1$d ကို ရွေးချယ်ထားပါသည်</item> + </plurals> <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="3189640419551368385">"ကျွန်ုပ်၏ ဓာတ်ပုံများ"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"နောက်ခံများ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"နောက်ခံအား ဖြတ်ခြင်း"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ပင်မစာမျက်နှာ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"လော့ခ်စာမျက်နှာ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ပင်မစာမျက်နှာနှင့် လော့ခ်စာမျက်နှာ"</string> </resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 9ae0b98..23dbf87 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Angi bakgrunn"</string> <string name="image_load_fail" msgid="7538534580694411837">"Kunne ikke laste inn bildet"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Kunne ikke laste inn bildet som bakgrunn"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d valgt"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d valgt"</item> - <item quantity="other" msgid="479468347731745357">"%1$d valgt"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Kunne ikke angi bildet som bakgrunn"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d er valgt</item> + <item quantity="one">%1$d er valgt</item> + </plurals> <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="3189640419551368385">"Mine bilder"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Bakgrunner"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Beskjær bakgrunnen"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Startskjerm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Låseskjerm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Startskjerm og låseskjerm"</string> </resources> diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml index 5bca8d8..fca4886 100644 --- a/res/values-ne-rNP/strings.xml +++ b/res/values-ne-rNP/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"वालपेपर मिलाउनुहोस्"</string> <string name="image_load_fail" msgid="7538534580694411837">"तस्बिर लोड गर्न सकिएन"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"तस्बिरलाई वालपेपरका रूपमा लोड गर्न सकिएन"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d चयन भयो"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d चयन भयो"</item> - <item quantity="other" msgid="479468347731745357">"%1$d चयन भयो"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"छविलाई वालपेपरको रूपमा सेट गर्न सकिएन"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d चयन गरियो</item> + <item quantity="one">%1$d चयन गरियो</item> + </plurals> <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="3189640419551368385">"मेरा तस्बिरहरू"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"वालपेपरहरु"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"वालपेपर काँटछाट गर्नुहोस्"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"गृह स्क्रिन"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"लक स्क्रिन"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"गृह स्क्रिन र लक स्क्रिन"</string> </resources> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index a86f0f6..0ebf8e0 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Achtergrond instellen"</string> <string name="image_load_fail" msgid="7538534580694411837">"Kan afbeelding niet laden"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Kan afbeelding niet laden als achtergrond"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d geselecteerd"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d geselecteerd"</item> - <item quantity="other" msgid="479468347731745357">"%1$d geselecteerd"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Kan afbeelding niet instellen als achtergrond"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d geselecteerd</item> + <item quantity="one">%1$d geselecteerd</item> + </plurals> <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="3189640419551368385">"Mijn foto\'s"</string> - <string name="pick_wallpaper" msgid="4628969645948454559">"Achtergronden"</string> + <string name="pick_wallpaper" msgid="4628969645948454559">"Achtergrond"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Achtergrond bijsnijden"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Startscherm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Vergrendelingsscherm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Startscherm en vergrendelingsscherm"</string> </resources> diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml index e4225e0..99265eb 100644 --- a/res/values-pa-rIN/strings.xml +++ b/res/values-pa-rIN/strings.xml @@ -19,18 +19,21 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="wallpaper_instructions" msgid="3524143401182707094">"ਵਾਲਪੇਪਰ ਸੈਟ ਕਰੋ"</string> + <string name="wallpaper_instructions" msgid="3524143401182707094">"ਵਾਲਪੇਪਰ ਸੈੱਟ ਕਰੋ"</string> <string name="image_load_fail" msgid="7538534580694411837">"ਚਿੱਤਰ ਲੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ਵਾਲਪੇਪਰ ਦੇ ਤੌਰ ਤੇ ਚਿੱਤਰ ਲੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ਚੁਣਿਆ ਗਿਆ"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ਚੁਣਿਆ ਗਿਆ"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ਚੁਣਿਆ ਗਿਆ"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ਵਾਲਪੇਪਰ ਦੇ ਤੌਰ ਤੇ ਚਿੱਤਰ ਸੈਟ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d ਚੁਣਿਆ ਗਿਆ</item> + <item quantity="other">%1$d ਚੁਣੇ ਗਏ</item> + </plurals> <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="3189640419551368385">"ਮੇਰੀਆਂ ਫੋਟੋਆਂ"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"ਵਾਲਪੇਪਰ"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ਵਾਲਪੇਪਰ ਕੱਟੋ"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ਮੁੱਖ ਸਕ੍ਰੀਨ"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"ਲੌਕ ਸਕ੍ਰੀਨ"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ਮੁੱਖ ਸਕ੍ਰੀਨ ਅਤੇ ਲੌਕ ਸਕ੍ਰੀਨ"</string> </resources> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index cd52082..cf2f160 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Ustaw tapetę"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nie udało się załadować obrazu"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nie udało się załadować obrazu jako tapety"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Wybranych %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Wybrana %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Wybrane: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nie udało się ustawić obrazu jako tapety"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="few">Wybrano %1$d elementy</item> + <item quantity="many">Wybrano %1$d elementów</item> + <item quantity="other">Wybrano %1$d elementu</item> + <item quantity="one">Wybrano %1$d element</item> + </plurals> <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="3189640419551368385">"Moje zdjęcia"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Przytnij tapetę"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Ekran główny"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Ekran blokady"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Ekran główny i ekran blokady"</string> </resources> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 82aa469..4e67242 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -19,18 +19,21 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="wallpaper_instructions" msgid="3524143401182707094">"Definir imagem fundo"</string> + <string name="wallpaper_instructions" msgid="3524143401182707094">"Definir imagem de fundo"</string> <string name="image_load_fail" msgid="7538534580694411837">"Não foi possível carregar a imagem"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Não foi possível carregar a imagem como imagem de fundo"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selecionadas"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selecionada"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selecionadas"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Não foi possível definir a imagem como imagem de fundo"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d selecionadas</item> + <item quantity="one">%1$d selecionada</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Ecrã principal"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Ecrã de bloqueio"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Ecrã principal e ecrã de bloqueio"</string> </resources> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 74ff310..ec327d1 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Definir plano de fundo"</string> <string name="image_load_fail" msgid="7538534580694411837">"Não foi possível carregar a imagem"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Não foi possível carregar a imagem como plano de fundo"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selecionados"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selecionado"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selecionados"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Não foi possível definir a imagem como plano de fundo"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d selecionados</item> + <item quantity="other">%1$d selecionados</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Tela inicial"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Tela de bloqueio"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Tela inicial e tela de bloqueio"</string> </resources> diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 6281b80..14c9e53 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -22,15 +22,19 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Setați imaginea de fundal"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nu s-a putut încărca imaginea"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nu s-a putut încărca imaginea ca fundal"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d selectate"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d selectată"</item> - <item quantity="other" msgid="479468347731745357">"%1$d selectate"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nu s-a putut seta ca imagine de fundal"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="few">%1$d selectate</item> + <item quantity="other">%1$d selectate</item> + <item quantity="one">%1$d selectată</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Ecranul de pornire"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Ecranul de blocare"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Ecranul de pornire și ecranul de blocare"</string> </resources> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 959205a..eee4e75 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Установить как обои"</string> <string name="image_load_fail" msgid="7538534580694411837">"Не удалось загрузить изображение"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Не удалось загрузить изображение"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Выбрано: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Выбрано: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Выбрано: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Не удалось сменить обои"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Выбрано: %1$d</item> + <item quantity="few">Выбрано: %1$d</item> + <item quantity="many">Выбрано: %1$d</item> + <item quantity="other">Выбрано: %1$d</item> + </plurals> <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="3189640419551368385">"Мои фото"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Обои"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Кадрировать обои"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Главный экран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Экран блокировки"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Главный экран и экран блокировки"</string> </resources> diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml index 37ce1fc..ca85089 100644 --- a/res/values-si-rLK/strings.xml +++ b/res/values-si-rLK/strings.xml @@ -22,11 +22,11 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"වෝල්පේපරය සකසන්න"</string> <string name="image_load_fail" msgid="7538534580694411837">"පින්තූරය පූරණය කිරීමට නොහැකි විය"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"පින්තූරය වෝල්පේපරයක් ලෙස පූරණය කිරීමට නොහැකි විය"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d තෝරා ගන්නා ලදි"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d තෝරා ගන්නා ලදි"</item> - <item quantity="other" msgid="479468347731745357">"%1$d තෝරා ගන්නා ලදි"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"පින්තූරය බිතුපතක් ලෙස සැකසීමට නොහැකි විය"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$dක් තෝරා ගන්නා ලදී</item> + <item quantity="other">%1$dක් තෝරා ගන්නා ලදී</item> + </plurals> <!-- String.format failed for translation --> <!-- no translation found for wallpaper_accessibility_name (4093221025304876354) --> <skip /> @@ -35,4 +35,7 @@ <string name="pick_image" msgid="3189640419551368385">"මගේ ඡායාරූප"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"වෝල්පේපර"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"වෝල්පේපරය කප්පාදු කිරීම"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"මුල් පිටු තිරය"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"අගුලු තිරය"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"මුල් පිටු තිරය සහ අගුලු තිරය"</string> </resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 9d38de4..2614a7c 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Nastaviť tapetu"</string> <string name="image_load_fail" msgid="7538534580694411837">"Obrázok nie je možné načítať"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Obrázok nie je možné načítať ako tapetu"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Počet vybratých položiek: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Počet vybratých položiek: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Počet vybratých položiek: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Obrázok nie je možné nastaviť ako tapetu"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="few">Počet vybratých položiek: %1$d</item> + <item quantity="many">Počet vybratých položiek: %1$d</item> + <item quantity="other">Počet vybratých položiek: %1$d</item> + <item quantity="one">Počet vybratých položiek: %1$d</item> + </plurals> <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="3189640419551368385">"Moje fotky"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Tapety"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Orezanie tapety"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Plocha"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Uzamknutá obrazovka"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Plocha a uzamknutá obrazovka"</string> </resources> diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index e776cc7..43dea98 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Nastavi ozadje"</string> <string name="image_load_fail" msgid="7538534580694411837">"Slike ni bilo mogoče naložiti"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Slike ni bilo mogoče naložiti kot ozadje"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Št. izbranih: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Št. izbranih: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Št. izbranih: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Slike ni bilo mogoče nastaviti kot ozadje"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d izbrano</item> + <item quantity="two">%1$d izbrani</item> + <item quantity="few">%1$d izbrana</item> + <item quantity="other">%1$d izbranih</item> + </plurals> <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="3189640419551368385">"Moje fotografije"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Ozadja"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Obrezovanje ozadja"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Začetni zaslon"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Zaklenjen zaslon"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Začetni zaslon in zaklenjen zaslon"</string> </resources> diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml index 8a9983b..5758cae 100644 --- a/res/values-sq-rAL/strings.xml +++ b/res/values-sq-rAL/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Cakto imazhin e sfondit"</string> <string name="image_load_fail" msgid="7538534580694411837">"Nuk mund të ngarkonte imazhin"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Nuk mundi të ngarkonte imazhin si imazh sfondi"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Të përzgjedhur: %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Të përzgjedhur: %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Të përzgjedhur: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Nuk mundi të vendoste imazhin si imazh sfondi."</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d të zgjedhur</item> + <item quantity="one">%1$d i zgjedhur</item> + </plurals> <string name="wallpaper_accessibility_name" msgid="4093221025304876354">"Imazhi i sfondit: %1$d nga gjithsej %2$d"</string> <string name="announce_selection" msgid="123723511662250539">"<xliff:g id="LABEL">%1$s</xliff:g> u përzgjodh"</string> <string name="wallpaper_delete" msgid="1459353972739215344">"Fshi"</string> <string name="pick_image" msgid="3189640419551368385">"Fotografitë e mia"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Imazhet e sfondit"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Prit imazhin e sfondit"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Ekrani bazë"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Ekrani i kyçjes"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Ekrani bazë dhe ekrani i kyçjes"</string> </resources> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index c37bc06..33330f8 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -22,15 +22,19 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Подеси позадину"</string> <string name="image_load_fail" msgid="7538534580694411837">"Није могуће учитати слику"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Није могуће учитати слику као позадину"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Изабрано је %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Изабрана је %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Изабраних: %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Учитавање слике као позадине није успело"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Изабрана је %1$d ставка</item> + <item quantity="few">Изабране су %1$d ставке</item> + <item quantity="other">Изабрано је %1$d ставки</item> + </plurals> <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="3189640419551368385">"Моје фотографије"</string> + <string name="pick_image" msgid="3189640419551368385">"Моје слике"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Позадине"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Опсеци позадину"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Почетни екран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Закључани екран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Почетни екран и закључани екран"</string> </resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 044508b..a6e1b17 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Ange bakgrund"</string> <string name="image_load_fail" msgid="7538534580694411837">"Det gick inte att läsa in bilden"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Det gick inte att läsa in bilden som bakgrund"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d har valts"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d har valts"</item> - <item quantity="other" msgid="479468347731745357">"%1$d har valts"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Det gick inte att ange bilden som bakgrund"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d har valts</item> + <item quantity="one">%1$d har valts</item> + </plurals> <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="3189640419551368385">"Mina foton"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Bakgrunder"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Beskär bakgrund"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Startskärm"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Låsskärm"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Startskärm och låsskärm"</string> </resources> diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 367912a..78e4dbe 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Weka mandhari"</string> <string name="image_load_fail" msgid="7538534580694411837">"Haikuweza kupakia picha"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Haikuweza kupakia picha iwe mandhari"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d zimechaguliwa"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d zimechaguliwa"</item> - <item quantity="other" msgid="479468347731745357">"%1$d zimechaguliwa"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Haikuweza kuweka picha kuwa mandhari"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d zimechaguliwa</item> + <item quantity="one">%1$d imechaguliwa</item> + </plurals> <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="3189640419551368385">"Picha zangu"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Mandhari"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Punguza mandhari"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Skrini ya kwanza"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Skrini iliyofungwa"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Skrini ya kwanza na skrini iliyofungwa"</string> </resources> diff --git a/res/values-sw720dp/styles.xml b/res/values-sw720dp/styles.xml index 12f8884..0058f7e 100644 --- a/res/values-sw720dp/styles.xml +++ b/res/values-sw720dp/styles.xml @@ -18,7 +18,11 @@ --> <resources> - <style name="Theme" parent="@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar"> + <style name="BaseWallpaperTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar"> + <item name="android:windowBackground">@android:color/transparent</item> + <item name="android:colorBackgroundCacheHint">@null</item> + <item name="android:windowShowWallpaper">true</item> + <item name="android:windowNoTitle">true</item> <item name="android:windowActionModeOverlay">true</item> </style> </resources> diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml index 7284da8..668e155 100644 --- a/res/values-ta-rIN/strings.xml +++ b/res/values-ta-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"வால்பேப்பரை அமை"</string> <string name="image_load_fail" msgid="7538534580694411837">"படத்தை ஏற்ற முடியவில்லை"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"படத்தை வால்பேப்பராக ஏற்ற முடியவில்லை"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d தேர்ந்தெடுக்கப்பட்டன"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d தேர்ந்தெடுக்கப்பட்டது"</item> - <item quantity="other" msgid="479468347731745357">"%1$d தேர்ந்தெடுக்கப்பட்டன"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"படத்தை வால்பேப்பராக அமைக்க முடியவில்லை"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d தேர்ந்தெடுக்கப்பட்டன</item> + <item quantity="one">%1$d தேர்ந்தெடுக்கப்பட்டது</item> + </plurals> <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="3189640419551368385">"எனது படங்கள்"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"வால்பேப்பர்கள்"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"வால்பேப்பரைச் செதுக்கு"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"முகப்புத் திரை"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"பூட்டுத் திரை"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"முகப்புத் திரை மற்றும் பூட்டுத் திரை"</string> </resources> diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml index 4c5ad2f..795a86c 100644 --- a/res/values-te-rIN/strings.xml +++ b/res/values-te-rIN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"వాల్పేపర్ను సెట్ చేయి"</string> <string name="image_load_fail" msgid="7538534580694411837">"చిత్రాన్ని లోడ్ చేయడం సాధ్యపడలేదు"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"చిత్రాన్ని వాల్పేపర్గా లోడ్ చేయడం సాధ్యపడలేదు"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ఎంచుకోబడింది"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ఎంచుకోబడింది"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ఎంచుకోబడింది"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"చిత్రాన్ని వాల్పేపర్గా సెట్ చేయడం సాధ్యపడలేదు"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d ఎంచుకోబడ్డాయి</item> + <item quantity="one">%1$d ఎంచుకోబడింది</item> + </plurals> <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="3189640419551368385">"నా ఫోటోలు"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"వాల్పేపర్లు"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"వాల్పేపర్ను కత్తిరించండి"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"హోమ్ స్క్రీన్"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"లాక్ స్క్రీన్"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"హోమ్ స్క్రీన్ మరియు లాక్ స్క్రీన్"</string> </resources> diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index b3d7a8b..a27adcf 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"ตั้งวอลเปเปอร์"</string> <string name="image_load_fail" msgid="7538534580694411837">"ไม่สามารถโหลดรูปภาพ"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"ไม่สามารถโหลดรูปภาพเป็นวอลเปเปอร์"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"เลือกไว้ %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"เลือกไว้ %1$d"</item> - <item quantity="other" msgid="479468347731745357">"เลือกไว้ %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"ไม่สามารถตั้งรูปภาพเป็นวอลเปเปอร์"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">เลือกไว้ %1$d รายการ</item> + <item quantity="one">เลือกไว้ %1$d รายการ</item> + </plurals> <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="3189640419551368385">"รูปภาพของฉัน"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"วอลเปเปอร์"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"ครอบตัดวอลเปเปอร์"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"หน้าจอหลัก"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"หน้าจอล็อก"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"หน้าจอหลักและหน้าจอล็อก"</string> </resources> diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index db8f4d5..132141a 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Itakda ang wallpaper"</string> <string name="image_load_fail" msgid="7538534580694411837">"Hindi ma-load ang larawan"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Hindi ma-load ang larawan bilang wallpaper"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ang napili"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ang napili"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ang napili"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Hindi maitakda ang larawan bilang wallpaper"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d ang napili</item> + <item quantity="other">%1$d ang napili</item> + </plurals> <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="wallpaper_delete" msgid="1459353972739215344">"I-delete"</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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Home screen"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Lock screen"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Home screen at lock screen"</string> </resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index d1e57ed..dc7aaeb 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Duvar kağıdını ayarla"</string> <string name="image_load_fail" msgid="7538534580694411837">"Resim yüklenemedi"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Resim duvar kağıdı olarak yüklenemedi"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d tane seçildi"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d tane seçildi"</item> - <item quantity="other" msgid="479468347731745357">"%1$d tane seçildi"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Resim, duvar kağıdı olarak ayarlanamadı"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d tane seçildi</item> + <item quantity="one">%1$d tane seçildi</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Ana ekran"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Kilit ekranı"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Ana ekran ve kilit ekranı"</string> </resources> diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 756e7cf..7470876 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -22,15 +22,20 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Установити фон"</string> <string name="image_load_fail" msgid="7538534580694411837">"Не вдалося завантажити зображення"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Не вдалося завантажити зображення як фоновий малюнок"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Вибрано %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Вибрано %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Вибрано %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Не вдалося зробити зображення фоновим малюнком"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">Вибрано %1$d</item> + <item quantity="few">Вибрано %1$d</item> + <item quantity="many">Вибрано %1$d</item> + <item quantity="other">Вибрано %1$d</item> + </plurals> <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="3189640419551368385">"Мої фото"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Фонові малюнки"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Обрізати фоновий малюнок"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Головний екран"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Заблокований екран"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Головний екран і заблокований екран"</string> </resources> diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml index 86d8163..755d67e 100644 --- a/res/values-ur-rPK/strings.xml +++ b/res/values-ur-rPK/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"وال پیپر سیٹ کریں"</string> <string name="image_load_fail" msgid="7538534580694411837">"تصویر کو لوڈ نہیں کیا جا سکا"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"تصویر کو وال پیپر کے بطور لوڈ نہیں کیا جا سکا"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d کو منتخب کیا گیا"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d کو منتخب کیا گیا"</item> - <item quantity="other" msgid="479468347731745357">"%1$d کو منتخب کیا گیا"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"تصویر کو بطور وال پیپر سیٹ نہیں کیا جا سکا"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d کا انتخاب ہو گیا</item> + <item quantity="one">%1$d کا انتخاب ہو گیا</item> + </plurals> <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="3189640419551368385">"میری تصاویر"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"وال پیپرز"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"وال پیپر کو تراشیں"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"ہوم اسکرین"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"مقفل اسکرین"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"ہوم اسکرین اور مقفل اسکرین"</string> </resources> diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml index 97d3938..452c093 100644 --- a/res/values-uz-rUZ/strings.xml +++ b/res/values-uz-rUZ/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Fonga rasm o‘rnatish"</string> <string name="image_load_fail" msgid="7538534580694411837">"Rasm yuklanmadi"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Fon rasmi sifatida rasm yuklanmadi"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d ta tanlandi"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d ta tanlandi"</item> - <item quantity="other" msgid="479468347731745357">"%1$d ta tanlandi"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Rasmni fon rasmi sifatida o‘rnatib bo‘lmadi"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">%1$d ta tanlandi</item> + <item quantity="one">%1$d ta tanlandi</item> + </plurals> <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="3189640419551368385">"Mening rasmlarim"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Fon rasmlari"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Fon rasmini kesish"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Bosh ekran"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Qulf ekrani"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Bosh va qulf ekrani"</string> </resources> diff --git a/res/values-v21/styles.xml b/res/values-v21/styles.xml index 70220ed..d2f7dd4 100644 --- a/res/values-v21/styles.xml +++ b/res/values-v21/styles.xml @@ -34,8 +34,11 @@ </style> <style name="Theme" parent="@style/BaseWallpaperTheme"> - <item name="android:windowTranslucentStatus">true</item> - <item name="android:windowTranslucentNavigation">true</item> + <item name="android:windowTranslucentStatus">false</item> + <item name="android:windowTranslucentNavigation">false</item> + <item name="android:windowDrawsSystemBarBackgrounds">true</item> + <item name="android:statusBarColor">#00000000</item> + <item name="android:navigationBarColor">#00000000</item> <item name="android:colorControlActivated">@color/launcher_accent_color</item> <item name="android:colorAccent">@color/launcher_accent_color</item> <item name="android:colorPrimary">@color/launcher_accent_color</item> diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index ae00d58..1cd2c68 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Đặt hình nền"</string> <string name="image_load_fail" msgid="7538534580694411837">"Không thể tải hình ảnh"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Không thể tải hình ảnh làm hình nền"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"Đã chọn %1$d"</item> - <item quantity="one" msgid="8409622005831789373">"Đã chọn %1$d"</item> - <item quantity="other" msgid="479468347731745357">"Đã chọn %1$d"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Không thể đặt hình ảnh làm hình nền"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">Đã chọn %1$d mục</item> + <item quantity="one">Đã chọn %1$d mục</item> + </plurals> <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="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> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Màn hình chính"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Màn hình khóa"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Màn hình chính và màn hình khóa"</string> </resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 8bd5342..e216680 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"设置壁纸"</string> <string name="image_load_fail" msgid="7538534580694411837">"无法加载图片"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"无法加载要设为壁纸的图片"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"已选择%1$d项"</item> - <item quantity="one" msgid="8409622005831789373">"已选择%1$d项"</item> - <item quantity="other" msgid="479468347731745357">"已选择%1$d项"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"无法将图片设为壁纸"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">已选择 %1$d 项</item> + <item quantity="one">已选择 %1$d 项</item> + </plurals> <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="3189640419551368385">"我的照片"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"壁纸"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"剪裁壁纸"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"主屏幕"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"锁定屏幕"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"主屏幕和锁定屏幕"</string> </resources> diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index e51d60a..c3c2271 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"設定桌布"</string> <string name="image_load_fail" msgid="7538534580694411837">"無法載入圖片"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"無法載入圖片設為桌布"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"已選取 %1$d 張"</item> - <item quantity="one" msgid="8409622005831789373">"已選取 %1$d 張"</item> - <item quantity="other" msgid="479468347731745357">"已選取 %1$d 張"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"無法將圖片設為桌布"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">已選取 %1$d 張</item> + <item quantity="one">已選取 %1$d 張</item> + </plurals> <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="3189640419551368385">"我的相片"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"桌布"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"裁剪桌布"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"主畫面"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"上鎖畫面"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"主畫面和上鎖畫面"</string> </resources> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index c12350a..310c73c 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"設定桌布"</string> <string name="image_load_fail" msgid="7538534580694411837">"無法載入圖片"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"無法載入您要設為桌布的圖片"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"已選取 %1$d 個"</item> - <item quantity="one" msgid="8409622005831789373">"已選取 %1$d 個"</item> - <item quantity="other" msgid="479468347731745357">"已選取 %1$d 個"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"無法將圖片設為桌布"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="other">已選取 %1$d 個</item> + <item quantity="one">已選取 %1$d 個</item> + </plurals> <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="3189640419551368385">"我的相片"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"桌布"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"裁剪桌布"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"主畫面"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"螢幕鎖定"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"主畫面和螢幕鎖定"</string> </resources> diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 537b2f3..21da3a9 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -22,15 +22,18 @@ <string name="wallpaper_instructions" msgid="3524143401182707094">"Setha isithombe sangemuva"</string> <string name="image_load_fail" msgid="7538534580694411837">"Ayikwazanga ukulayisha isithombe"</string> <string name="wallpaper_load_fail" msgid="4800700444605404650">"Ayikwazanga ukulayisha isithombe njengesithombe sangemuva"</string> - <plurals name="number_of_items_selected"> - <item quantity="zero" msgid="9015111147509924344">"%1$d khethiwe"</item> - <item quantity="one" msgid="8409622005831789373">"%1$d khethiwe"</item> - <item quantity="other" msgid="479468347731745357">"%1$d khethiwe"</item> - </plurals> + <string name="wallpaper_set_fail" msgid="7023180794008631780">"Ayikwazanga ukusetha isithombe njengesithombe sangemuva"</string> + <plurals name="number_of_items_selected" formatted="false" msgid="4578652015328149361"> + <item quantity="one">%1$d okukhethiwe</item> + <item quantity="other">%1$d okukhethiwe</item> + </plurals> <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="3189640419551368385">"Izithombe zami"</string> <string name="pick_wallpaper" msgid="4628969645948454559">"Izithombe zangemuva"</string> <string name="crop_wallpaper" msgid="4882870800623585836">"Nqampuna isithombe sangemuva"</string> + <string name="which_wallpaper_option_home_screen" msgid="5259213374485080595">"Isikrini sasekhaya"</string> + <string name="which_wallpaper_option_lock_screen" msgid="5474588303389139825">"Khiya isikrini"</string> + <string name="which_wallpaper_option_home_screen_and_lock_screen" msgid="7652312651094808607">"Isikrini sasekhaya nokukhiya isikrini"</string> </resources> diff --git a/res/values/arrays.xml b/res/values/arrays.xml new file mode 100644 index 0000000..5c10b98 --- /dev/null +++ b/res/values/arrays.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <string-array name="which_wallpaper_options"> + <item>@string/which_wallpaper_option_home_screen</item> + <item>@string/which_wallpaper_option_lock_screen</item> + <item>@string/which_wallpaper_option_home_screen_and_lock_screen</item> + </string-array> +</resources>
\ No newline at end of file diff --git a/res/values-sw720dp-v19/styles.xml b/res/values/cm_strings.xml index d8dab22..0fc1104 100644 --- a/res/values-sw720dp-v19/styles.xml +++ b/res/values/cm_strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!-- /* -* Copyright (C) 2013 The Android Open Source Project +* Copyright (C) 2016 The CyanogenMod Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,8 @@ */ --> -<resources> - <style name="Theme" parent="@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar"> - <item name="android:windowActionModeOverlay">true</item> - <item name="android:windowTranslucentStatus">true</item> - <item name="android:windowTranslucentNavigation">true</item> - </style> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Application name --> + <string name="app_name">Wallpaper Picker</string> + <string name="activity_not_found">App isn\'t installed.</string> </resources> diff --git a/res/values/config.xml b/res/values/config.xml index 2f5174c..9ebfb9e 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -17,4 +17,6 @@ <!-- Specifies whether to expand the cropped area on both sides (rather than just to one side) --> <bool name="center_crop">false</bool> + + <bool name="allow_rotation">true</bool> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 2b8208a..aef6a1a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -18,9 +18,6 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Application name --> - <string name="app_name">Wallpaper Picker</string> - <!-- Button label on Wallpaper picker screen; user selects this button to set a specific wallpaper --> <string name="wallpaper_instructions">Set wallpaper</string> <!-- Error message when an image is selected as a wallpaper, @@ -31,6 +28,9 @@ usually see this when using another app and trying to set an image as the wallpaper --> <string name="wallpaper_load_fail">Couldn\'t load image as wallpaper</string> + <!-- Error message when an image is selected as a wallpaper, + but something goes wrong when the user clicks "Set wallpaper" --> + <string name="wallpaper_set_fail">Couldn\'t set image as wallpaper</string> <!-- Shown when wallpapers are selected in Wallpaper picker --> <!-- String indicating how many media item(s) is(are) selected eg. 1 selected [CHAR LIMIT=30] --> @@ -54,11 +54,10 @@ <!-- Title of activity for cropping wallpapers --> <string name="crop_wallpaper">Crop wallpaper</string> - <!-- Title of toast shown when external storage permission is not granted --> - <string name="storage_permission_denied">Can\'t access storage</string> - - <!-- Displayed when user selects a shortcut for an app that was uninstalled [CHAR_LIMIT=none]--> - <string name="activity_not_found">App isn\'t installed.</string> - - <string name="no_wallpaper">No wallpaper</string> + <!-- Option for setting the wallpaper only on the home screen. --> + <string name="which_wallpaper_option_home_screen">Home screen</string> + <!-- Option for setting the wallpaper only on the lock screen. --> + <string name="which_wallpaper_option_lock_screen">Lock screen</string> + <!-- Option for setting the wallpaper on both the home screen and lock screen. --> + <string name="which_wallpaper_option_home_screen_and_lock_screen">Home screen and lock screen</string> </resources> diff --git a/res/values/styles.xml b/res/values/styles.xml index 86b68f7..d1c945a 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -24,7 +24,7 @@ <item name="android:windowActionBarOverlay">true</item> </style> - <style name="Theme.WallpaperPicker" parent="@style/Theme.WallpaperCropper"> + <style name="Theme.WallpaperPicker" parent="Theme.WallpaperCropper"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowShowWallpaper">true</item> diff --git a/src/com/android/gallery3d/common/BitmapCropTask.java b/src/com/android/gallery3d/common/BitmapCropTask.java index 9d3241b..bdc98ab 100644 --- a/src/com/android/gallery3d/common/BitmapCropTask.java +++ b/src/com/android/gallery3d/common/BitmapCropTask.java @@ -17,7 +17,6 @@ package com.android.gallery3d.common; import android.app.WallpaperManager; import android.content.Context; -import android.content.res.AssetManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; @@ -32,19 +31,27 @@ import android.graphics.RectF; import android.net.Uri; import android.os.AsyncTask; import android.util.Log; +import android.widget.Toast; + +import org.cyanogenmod.wallpaperpicker.NycWallpaperUtils; +import org.cyanogenmod.wallpaperpicker.R; +import org.cyanogenmod.wallpaperpicker.Utilities; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { +public class BitmapCropTask extends AsyncTask<Integer, Void, Boolean> { public interface OnBitmapCroppedHandler { - public void onBitmapCropped(byte[] imageBytes); + public void onBitmapCropped(byte[] imageBytes, Rect cropHint); + } + + public interface OnEndCropHandler { + public void run(boolean cropSucceeded); } private static final int DEFAULT_COMPRESS_QUALITY = 90; @@ -61,76 +68,58 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { boolean mSetWallpaper; boolean mSaveCroppedBitmap; Bitmap mCroppedBitmap; - Runnable mOnEndRunnable; + BitmapCropTask.OnEndCropHandler mOnEndCropHandler; Resources mResources; BitmapCropTask.OnBitmapCroppedHandler mOnBitmapCroppedHandler; boolean mNoCrop; - boolean mImageFromAsset; - boolean mIslockScreenPicker; - - public BitmapCropTask(Context c, String filePath, - RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { - mContext = c; - mInFilePath = filePath; - init(cropBounds, rotation, outWidth, outHeight, setWallpaper, isLockScreenPicker, - saveCroppedBitmap, onEndRunnable); - } public BitmapCropTask(byte[] imageBytes, RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { + boolean setWallpaper, boolean saveCroppedBitmap, OnEndCropHandler onEndCropHandler) { mInImageBytes = imageBytes; - init(cropBounds, rotation, outWidth, outHeight, setWallpaper, isLockScreenPicker, - saveCroppedBitmap, onEndRunnable); + init(cropBounds, rotation, + outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndCropHandler); } public BitmapCropTask(Context c, Uri inUri, RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { + boolean setWallpaper, boolean saveCroppedBitmap, OnEndCropHandler onEndCropHandler) { mContext = c; mInUri = inUri; - init(cropBounds, rotation, outWidth, outHeight, setWallpaper, isLockScreenPicker, - saveCroppedBitmap, onEndRunnable); + init(cropBounds, rotation, + outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndCropHandler); } public BitmapCropTask(Context c, Resources res, int inResId, RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { + boolean setWallpaper, boolean saveCroppedBitmap, OnEndCropHandler onEndCropHandler) { mContext = c; mInResId = inResId; mResources = res; init(cropBounds, rotation, - outWidth, outHeight, setWallpaper, isLockScreenPicker, saveCroppedBitmap, onEndRunnable); + outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndCropHandler); } public BitmapCropTask(Context c, Resources res , String assetPath, - RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { + RectF cropBounds, int rotation, int outWidth, int outHeight, + boolean setWallpaper, boolean saveCroppedBitmap, + OnEndCropHandler onEndCropHandler) { mContext = c; mResources = res; mInFilePath = assetPath; - mImageFromAsset = true; - init(cropBounds, rotation, outWidth, outHeight, setWallpaper, isLockScreenPicker, - saveCroppedBitmap, onEndRunnable); + init(cropBounds, rotation, outWidth, outHeight, setWallpaper, + saveCroppedBitmap, onEndCropHandler); } private void init(RectF cropBounds, int rotation, int outWidth, int outHeight, - boolean setWallpaper, boolean isLockScreenPicker, boolean saveCroppedBitmap, - Runnable onEndRunnable) { + boolean setWallpaper, boolean saveCroppedBitmap, OnEndCropHandler onEndCropHandler) { mCropBounds = cropBounds; mRotation = rotation; mOutWidth = outWidth; mOutHeight = outHeight; mSetWallpaper = setWallpaper; mSaveCroppedBitmap = saveCroppedBitmap; - mOnEndRunnable = onEndRunnable; - mIslockScreenPicker = isLockScreenPicker; + mOnEndCropHandler = onEndCropHandler; } public void setOnBitmapCropped(BitmapCropTask.OnBitmapCroppedHandler handler) { @@ -141,27 +130,18 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { mNoCrop = value; } - public void setOnEndRunnable(Runnable onEndRunnable) { - mOnEndRunnable = onEndRunnable; + public void setOnEndRunnable(OnEndCropHandler onEndCropHandler) { + mOnEndCropHandler = onEndCropHandler; } // Helper to setup input stream private InputStream regenerateInputStream() { - if (mInUri == null && mInResId == 0 && mInFilePath == null && mInImageBytes == null - && !mImageFromAsset) { + if (mInUri == null && mInResId == 0 && mInFilePath == null && mInImageBytes == null) { Log.w(LOGTAG, "cannot read original file, no input URI, resource ID, or " + "image byte array given"); } else { try { - if (mImageFromAsset) { - AssetManager am = mResources.getAssets(); - String[] pathImages = am.list(mInFilePath); - if (pathImages == null || pathImages.length == 0) { - throw new IOException("did not find any images in path: " + mInFilePath); - } - InputStream is = am.open(mInFilePath + File.separator + pathImages[0]); - return new BufferedInputStream(is); - } else if (mInUri != null) { + if (mInUri != null) { return new BufferedInputStream( mContext.getContentResolver().openInputStream(mInUri)); } else if (mInFilePath != null) { @@ -171,7 +151,7 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { } else { return new BufferedInputStream(mResources.openRawResource(mInResId)); } - } catch (IOException e) { + } catch (FileNotFoundException e) { Log.w(LOGTAG, "cannot read file: " + mInUri.toString(), e); } } @@ -199,32 +179,45 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { public Bitmap getCroppedBitmap() { return mCroppedBitmap; } - public boolean cropBitmap() { + public boolean cropBitmap(int whichWallpaper) { boolean failure = false; - - WallpaperManager wallpaperManager = null; - if (mSetWallpaper) { - wallpaperManager = WallpaperManager.getInstance(mContext.getApplicationContext()); - } - - - if (mSetWallpaper && (mNoCrop || mIslockScreenPicker)) { + if (mSetWallpaper && mNoCrop) { try { InputStream is = regenerateInputStream(); - if (is != null) { - if (!mIslockScreenPicker) { - wallpaperManager.setStream(is); - } else { - wallpaperManager.setKeyguardStream(is); - } - Utils.closeSilently(is); - } + setWallpaper(is, null, whichWallpaper); + Utils.closeSilently(is); } catch (IOException e) { Log.w(LOGTAG, "cannot write stream to wallpaper", e); failure = true; } return !failure; + } else if (mSetWallpaper && Utilities.ATLEAST_N + && mRotation == 0 && mOutWidth > 0 && mOutHeight > 0) { + Rect hint = new Rect(); + mCropBounds.roundOut(hint); + + InputStream is = null; + try { + is = regenerateInputStream(); + if (is == null) { + Log.w(LOGTAG, "cannot get input stream for uri=" + mInUri.toString()); + failure = true; + return false; + } + WallpaperManager.getInstance(mContext).suggestDesiredDimensions(mOutWidth, mOutHeight); + setWallpaper(is, hint, whichWallpaper); + + if (mOnBitmapCroppedHandler != null) { + mOnBitmapCroppedHandler.onBitmapCropped(null, hint); + } + + failure = false; + } catch (IOException e) { + Log.w(LOGTAG, "cannot open region decoder for file: " + mInUri.toString(), e); + } finally { + Utils.closeSilently(is); + } } else { // Find crop bounds (scaled to original image size) Rect roundedTrueCrop = new Rect(); @@ -253,7 +246,6 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { mCropBounds.offset(-rotatedBounds[0]/2, -rotatedBounds[1]/2); inverseRotateMatrix.mapRect(mCropBounds); mCropBounds.offset(bounds.x/2, bounds.y/2); - } mCropBounds.roundOut(roundedTrueCrop); @@ -282,8 +274,8 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { } catch (IOException e) { Log.w(LOGTAG, "cannot open region decoder for file: " + mInUri.toString(), e); } finally { - Utils.closeSilently(is); - is = null; + Utils.closeSilently(is); + is = null; } Bitmap crop = null; @@ -324,22 +316,16 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { 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; + // Adjust the left and right values. + roundedTrueCrop.offset(-(roundedTrueCrop.right - fullSize.getWidth()), 0); } 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; + // Adjust the top and bottom values. + roundedTrueCrop.offset(0, -(roundedTrueCrop.bottom - fullSize.getHeight())); } crop = Bitmap.createBitmap(fullSize, roundedTrueCrop.left, @@ -406,17 +392,13 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { ByteArrayOutputStream tmpOut = new ByteArrayOutputStream(2048); if (crop.compress(CompressFormat.JPEG, DEFAULT_COMPRESS_QUALITY, tmpOut)) { // If we need to set to the wallpaper, set it - if (mSetWallpaper && wallpaperManager != null) { + if (mSetWallpaper) { try { byte[] outByteArray = tmpOut.toByteArray(); - InputStream stream = new ByteArrayInputStream(outByteArray); - if (!mIslockScreenPicker) { - wallpaperManager.setStream(stream); - } else { - wallpaperManager.setKeyguardStream(stream); - } + setWallpaper(new ByteArrayInputStream(outByteArray), null, whichWallpaper); if (mOnBitmapCroppedHandler != null) { - mOnBitmapCroppedHandler.onBitmapCropped(outByteArray); + mOnBitmapCroppedHandler.onBitmapCropped(outByteArray, + new Rect(0, 0, crop.getWidth(), crop.getHeight())); } } catch (IOException e) { Log.w(LOGTAG, "cannot write stream to wallpaper", e); @@ -432,14 +414,25 @@ public class BitmapCropTask extends AsyncTask<Void, Void, Boolean> { } @Override - protected Boolean doInBackground(Void... params) { - return cropBitmap(); + protected Boolean doInBackground(Integer... params) { + return cropBitmap(params.length == 0 ? WallpaperManager.FLAG_SYSTEM : params[0]); } @Override - protected void onPostExecute(Boolean result) { - if (mOnEndRunnable != null) { - mOnEndRunnable.run(); + protected void onPostExecute(Boolean cropSucceeded) { + if (!cropSucceeded) { + Toast.makeText(mContext, R.string.wallpaper_set_fail, Toast.LENGTH_SHORT).show(); + } + if (mOnEndCropHandler != null) { + mOnEndCropHandler.run(cropSucceeded); + } + } + + private void setWallpaper(InputStream in, Rect crop, int whichWallpaper) throws IOException { + if (!Utilities.ATLEAST_N) { + WallpaperManager.getInstance(mContext.getApplicationContext()).setStream(in); + } else { + NycWallpaperUtils.setStream(mContext, in, crop, true, whichWallpaper); } } }
\ No newline at end of file diff --git a/src/com/android/gallery3d/glrenderer/UploadedTexture.java b/src/com/android/gallery3d/glrenderer/UploadedTexture.java index d171bd9..fd630f3 100644 --- a/src/com/android/gallery3d/glrenderer/UploadedTexture.java +++ b/src/com/android/gallery3d/glrenderer/UploadedTexture.java @@ -83,8 +83,7 @@ public abstract class UploadedTexture extends BasicTexture { return mIsUploading; } - @Thunk - static class BorderKey implements Cloneable { + @Thunk static class BorderKey implements Cloneable { public boolean vertical; public Config config; public int length; diff --git a/src/com/android/photos/BitmapRegionTileSource.java b/src/com/android/photos/BitmapRegionTileSource.java index 19393af..f5a84db 100644 --- a/src/com/android/photos/BitmapRegionTileSource.java +++ b/src/com/android/photos/BitmapRegionTileSource.java @@ -39,7 +39,6 @@ import com.android.gallery3d.glrenderer.BitmapTexture; import com.android.photos.views.TiledImageRenderer; import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -114,12 +113,6 @@ class DumbBitmapRegionDecoder implements SimpleBitmapRegionDecoder { } return null; } - public static DumbBitmapRegionDecoder newInstance(Bitmap src) { - if (src != null) { - return new DumbBitmapRegionDecoder(src); - } - return null; - } public int getWidth() { return mBuffer.getWidth(); } @@ -168,6 +161,7 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { public enum State { NOT_LOADED, LOADED, ERROR_LOADING }; private State mState = State.NOT_LOADED; + /** Returns whether loading was successful. */ public boolean loadInBackground(InBitmapProvider bitmapProvider) { ExifInterface ei = new ExifInterface(); if (readExif(ei)) { @@ -202,7 +196,7 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { try { mPreview = loadPreviewBitmap(opts); } catch (IllegalArgumentException e) { - Log.d(TAG, "Unable to reusage bitmap", e); + Log.d(TAG, "Unable to reuse bitmap", e); opts.inBitmap = null; mPreview = null; } @@ -211,6 +205,10 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { if (mPreview == null) { mPreview = loadPreviewBitmap(opts); } + if (mPreview == null) { + mState = State.ERROR_LOADING; + return false; + } // Verify that the bitmap can be used on GL surface try { @@ -221,7 +219,7 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { Log.d(TAG, "Image cannot be rendered on a GL surface", e); mState = State.ERROR_LOADING; } - return true; + return mState == State.LOADED; } } @@ -319,7 +317,7 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { Bitmap b = BitmapFactory.decodeStream(is, null, options); Utils.closeSilently(is); return b; - } catch (FileNotFoundException e) { + } catch (FileNotFoundException | OutOfMemoryError e) { Log.e("BitmapRegionTileSource", "Failed to load URI " + mUri, e); return null; } @@ -442,32 +440,6 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { } } - public static class DumbBitmapSource extends BitmapSource { - Bitmap mSource; - public DumbBitmapSource(Bitmap source) { - mSource = source; - } - @Override - public SimpleBitmapRegionDecoder loadBitmapRegionDecoder() { - return DumbBitmapRegionDecoder.newInstance(mSource); - } - @Override - public Bitmap loadPreviewBitmap(BitmapFactory.Options options) { - // We need to honor the options being passed in so that an appropriate bitmap, for use - // as a texture, is returned so we need to encode the bitmap using compress and then - // decode the compressed image's bytes using the provided options. - // JPEG is used instead of PNG as it was encoding much faster. - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - mSource.compress(Bitmap.CompressFormat.JPEG, 100, stream); - byte[] bytes = stream.toByteArray(); - return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, options); - } - @Override - public boolean readExif(ExifInterface ei) { - return false; - } - } - SimpleBitmapRegionDecoder mDecoder; int mWidth; int mHeight; @@ -500,7 +472,8 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource { "Failed to create preview of apropriate size! " + " in: %dx%d, out: %dx%d", mWidth, mHeight, - preview.getWidth(), preview.getHeight())); + preview == null ? -1 : preview.getWidth(), + preview == null ? -1 : preview.getHeight())); } } } diff --git a/src/com/android/photos/views/TiledImageRenderer.java b/src/com/android/photos/views/TiledImageRenderer.java index 4ec8dd4..cccc4c5 100644 --- a/src/com/android/photos/views/TiledImageRenderer.java +++ b/src/com/android/photos/views/TiledImageRenderer.java @@ -32,7 +32,6 @@ import com.android.gallery3d.common.Utils; import com.android.gallery3d.glrenderer.BasicTexture; import com.android.gallery3d.glrenderer.GLCanvas; import com.android.gallery3d.glrenderer.UploadedTexture; - import org.cyanogenmod.wallpaperpicker.util.Thunk; /** @@ -69,8 +68,7 @@ public class TiledImageRenderer { private static final int STATE_RECYCLING = 0x20; private static final int STATE_RECYCLED = 0x40; - @Thunk - static Pool<Bitmap> sTilePool = new SynchronizedPool<Bitmap>(64); + @Thunk static Pool<Bitmap> sTilePool = new SynchronizedPool<Bitmap>(64); // TILE_SIZE must be 2^N @Thunk int mTileSize; diff --git a/src/com/android/photos/views/TiledImageView.java b/src/com/android/photos/views/TiledImageView.java index cbd8401..09d30c9 100644 --- a/src/com/android/photos/views/TiledImageView.java +++ b/src/com/android/photos/views/TiledImageView.java @@ -33,9 +33,8 @@ import android.widget.FrameLayout; import com.android.gallery3d.glrenderer.BasicTexture; import com.android.gallery3d.glrenderer.GLES20Canvas; -import com.android.photos.views.TiledImageRenderer.TileSource; - import org.cyanogenmod.wallpaperpicker.util.Thunk; +import com.android.photos.views.TiledImageRenderer.TileSource; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; @@ -45,8 +44,7 @@ import javax.microedition.khronos.opengles.GL10; */ public class TiledImageView extends FrameLayout { - @Thunk - GLSurfaceView mGLSurfaceView; + @Thunk GLSurfaceView mGLSurfaceView; @Thunk boolean mInvalPending = false; private FrameCallback mFrameCallback; diff --git a/src/org/cyanogenmod/wallpaperpicker/CropView.java b/src/org/cyanogenmod/wallpaperpicker/CropView.java index 118efd3..fd18bfa 100644 --- a/src/org/cyanogenmod/wallpaperpicker/CropView.java +++ b/src/org/cyanogenmod/wallpaperpicker/CropView.java @@ -19,6 +19,7 @@ package org.cyanogenmod.wallpaperpicker; import android.content.Context; import android.graphics.Matrix; import android.graphics.Point; +import android.graphics.PointF; import android.graphics.RectF; import android.util.AttributeSet; import android.view.MotionEvent; @@ -31,7 +32,7 @@ import android.view.ViewTreeObserver.OnGlobalLayoutListener; import com.android.photos.views.TiledImageRenderer.TileSource; import com.android.photos.views.TiledImageView; -public class CropView extends TiledImageView implements OnScaleGestureListener { +public class CropView extends TiledImageView implements OnScaleGestureListener { private ScaleGestureDetector mScaleGestureDetector; private long mTouchDownTime; @@ -148,12 +149,19 @@ public class CropView extends TiledImageView implements OnScaleGestureListener { updateMinScale(w, h, mRenderer.source, false); } - public void setScale(float scale) { + public void setScaleAndCenter(float scale, float x, float y) { synchronized (mLock) { mRenderer.scale = scale; + mCenterX = x; + mCenterY = y; + updateCenter(); } } + public float getScale() { + return mRenderer.scale; + } + private void updateMinScale(int w, int h, TileSource source, boolean resetScale) { synchronized (mLock) { if (resetScale) { @@ -211,6 +219,10 @@ public class CropView extends TiledImageView implements OnScaleGestureListener { mRenderer.centerY = Math.round(mCenterY); } + public PointF getCenter() { + return new PointF(mCenterX, mCenterY); + } + public void setTouchEnabled(boolean enabled) { mTouchEnabled = enabled; } diff --git a/src/org/cyanogenmod/wallpaperpicker/LiveWallpaperListAdapter.java b/src/org/cyanogenmod/wallpaperpicker/LiveWallpaperListAdapter.java index f72564f..61c8b92 100644 --- a/src/org/cyanogenmod/wallpaperpicker/LiveWallpaperListAdapter.java +++ b/src/org/cyanogenmod/wallpaperpicker/LiveWallpaperListAdapter.java @@ -35,6 +35,7 @@ import android.widget.ListAdapter; import android.widget.TextView; import org.cyanogenmod.wallpaperpicker.util.Thunk; + import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; @@ -50,8 +51,7 @@ public class LiveWallpaperListAdapter extends BaseAdapter implements ListAdapter private final LayoutInflater mInflater; private final PackageManager mPackageManager; - @Thunk - List<LiveWallpaperTile> mWallpapers; + @Thunk List<LiveWallpaperTile> mWallpapers; @SuppressWarnings("unchecked") public LiveWallpaperListAdapter(Context context) { diff --git a/src/org/cyanogenmod/wallpaperpicker/NycWallpaperUtils.java b/src/org/cyanogenmod/wallpaperpicker/NycWallpaperUtils.java new file mode 100644 index 0000000..2e5fbb6 --- /dev/null +++ b/src/org/cyanogenmod/wallpaperpicker/NycWallpaperUtils.java @@ -0,0 +1,70 @@ +package org.cyanogenmod.wallpaperpicker; + +import android.app.AlertDialog; +import android.app.WallpaperManager; +import android.content.Context; +import android.content.DialogInterface; +import android.graphics.Rect; +import android.os.AsyncTask; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Utility class used to help set lockscreen wallpapers on N+. + */ +public class NycWallpaperUtils { + + /** + * Calls cropTask.execute(), once the user has selected which wallpaper to set. On pre-N + * devices, the prompt is not displayed since there is no API to set the lockscreen wallpaper. + */ + public static void executeCropTaskAfterPrompt( + Context context, final AsyncTask<Integer, ?, ?> cropTask, + DialogInterface.OnCancelListener onCancelListener) { + if (Utilities.ATLEAST_N) { + new AlertDialog.Builder(context) + .setTitle(R.string.wallpaper_instructions) + .setItems(R.array.which_wallpaper_options, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int selectedItemIndex) { + int whichWallpaper; + if (selectedItemIndex == 0) { + whichWallpaper = WallpaperManager.FLAG_SYSTEM; + } else if (selectedItemIndex == 1) { + whichWallpaper = WallpaperManager.FLAG_LOCK; + } else { + whichWallpaper = WallpaperManager.FLAG_SYSTEM + | WallpaperManager.FLAG_LOCK; + } + cropTask.execute(whichWallpaper); + } + }) + .setOnCancelListener(onCancelListener) + .show(); + } else { + cropTask.execute(WallpaperManager.FLAG_SYSTEM); + } + } + + public static void setStream(Context context, final InputStream data, Rect visibleCropHint, + boolean allowBackup, int whichWallpaper) throws IOException { + WallpaperManager wallpaperManager = WallpaperManager.getInstance(context); + if (Utilities.ATLEAST_N) { + wallpaperManager.setStream(data, visibleCropHint, allowBackup, whichWallpaper); + } else { + // Fall back to previous implementation (set system) + wallpaperManager.setStream(data); + } + } + + public static void clear(Context context, int whichWallpaper) throws IOException { + WallpaperManager wallpaperManager = WallpaperManager.getInstance(context); + if (Utilities.ATLEAST_N) { + wallpaperManager.clear(whichWallpaper); + } else { + // Fall back to previous implementation (clear system) + wallpaperManager.clear(); + } + } +}
\ No newline at end of file diff --git a/src/org/cyanogenmod/wallpaperpicker/Partner.java b/src/org/cyanogenmod/wallpaperpicker/Partner.java index 0e0d7d0..473cd3e 100644 --- a/src/org/cyanogenmod/wallpaperpicker/Partner.java +++ b/src/org/cyanogenmod/wallpaperpicker/Partner.java @@ -39,10 +39,18 @@ public class Partner { public static final String RES_FOLDER = "partner_folder"; public static final String RES_WALLPAPERS = "partner_wallpapers"; + public static final String RES_DEFAULT_LAYOUT = "partner_default_layout"; public static final String RES_DEFAULT_WALLPAPER_HIDDEN = "default_wallpapper_hidden"; public static final String RES_SYSTEM_WALLPAPER_DIR = "system_wallpaper_directory"; + public static final String RES_REQUIRE_FIRST_RUN_FLOW = "requires_first_run_flow"; + + /** These resources are used to override the device profile */ + public static final String RES_GRID_NUM_ROWS = "grid_num_rows"; + public static final String RES_GRID_NUM_COLUMNS = "grid_num_columns"; + public static final String RES_GRID_ICON_SIZE_DP = "grid_icon_size_dp"; + private static boolean sSearched = false; private static List<Partner> sPartners; @@ -73,6 +81,7 @@ public class Partner { return sPartners; } + private final String mPackageName; private final Resources mResources; @@ -89,6 +98,12 @@ public class Partner { return mResources; } + public boolean hasDefaultLayout() { + int defaultLayout = getResources().getIdentifier(Partner.RES_DEFAULT_LAYOUT, + "xml", getPackageName()); + return defaultLayout != 0; + } + public boolean hasFolder() { int folder = getResources().getIdentifier(Partner.RES_FOLDER, "xml", getPackageName()); @@ -106,4 +121,10 @@ public class Partner { getPackageName()); return (resId != 0) ? new File(getResources().getString(resId)) : null; } + + public boolean requiresFirstRunFlow() { + int resId = getResources().getIdentifier(RES_REQUIRE_FIRST_RUN_FLOW, "bool", + getPackageName()); + return resId != 0 && getResources().getBoolean(resId); + } } diff --git a/src/org/cyanogenmod/wallpaperpicker/SavedWallpaperImages.java b/src/org/cyanogenmod/wallpaperpicker/SavedWallpaperImages.java index c3e4bb4..8563bf0 100644 --- a/src/org/cyanogenmod/wallpaperpicker/SavedWallpaperImages.java +++ b/src/org/cyanogenmod/wallpaperpicker/SavedWallpaperImages.java @@ -25,6 +25,8 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.text.TextUtils; import android.util.Log; import android.util.Pair; import android.view.LayoutInflater; @@ -33,42 +35,71 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListAdapter; +import org.cyanogenmod.wallpaperpicker.WallpaperCropActivity.CropViewScaleAndOffsetProvider; +import com.android.photos.views.TiledImageRenderer.TileSource; + +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { - private static String TAG = "SavedWallpaperImages"; + private static String TAG = "Launcher3.SavedWallpaperImages"; private ImageDb mDb; - private boolean mIsLockScreenWallpaper; ArrayList<SavedWallpaperTile> mImages; Context mContext; LayoutInflater mLayoutInflater; public static class SavedWallpaperTile extends WallpaperPickerActivity.FileWallpaperInfo { private int mDbId; - public SavedWallpaperTile(int dbId, File target, Drawable thumb, - boolean isLockScreenWallpaper) { - super(target, thumb, isLockScreenWallpaper); + + // three floats representing scale, centerX and centerY of the crop view in order. + private Float[] mExtras; + public SavedWallpaperTile(int dbId, File target, Drawable thumb, Float[] extras) { + super(target, thumb); mDbId = dbId; + mExtras = extras != null && extras.length == 3 ? extras : null; } @Override public void onDelete(WallpaperPickerActivity a) { a.getSavedImages().deleteImage(mDbId); } + + @Override + protected CropViewScaleAndOffsetProvider getCropViewScaleAndOffsetProvider() { + if (mExtras != null) { + return new CropViewScaleAndOffsetProvider() { + @Override + public void updateCropView(WallpaperCropActivity a, TileSource src) { + a.mCropView.setScaleAndCenter(mExtras[0], mExtras[1], mExtras[2]); + } + }; + } + return null; + } + + @Override + public void onSave(final WallpaperPickerActivity a) { + if (mExtras == null) { + super.onSave(a); + } else { + boolean shouldFadeOutOnFinish = a.getWallpaperParallaxOffset() == 0f; + a.cropImageAndSetWallpaper(Uri.fromFile(mFile), null, true, shouldFadeOutOnFinish); + } + } } - public SavedWallpaperImages(Context context, boolean isLockScreenWallpaper) { + public SavedWallpaperImages(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 ImageDb.moveFromCacheDirectoryIfNecessary(context); mDb = new ImageDb(context); mContext = context; mLayoutInflater = LayoutInflater.from(context); - mIsLockScreenWallpaper = isLockScreenWallpaper; } public void loadThumbnailsAndImageIdList() { @@ -77,7 +108,8 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { Cursor result = db.query(ImageDb.TABLE_NAME, new String[] { ImageDb.COLUMN_ID, ImageDb.COLUMN_IMAGE_THUMBNAIL_FILENAME, - ImageDb.COLUMN_IMAGE_FILENAME}, // cols to return + ImageDb.COLUMN_IMAGE_FILENAME, + ImageDb.COLUMN_EXTRAS}, // cols to return null, // select query null, // args to select query null, @@ -91,9 +123,25 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { Bitmap thumb = BitmapFactory.decodeFile(file.getAbsolutePath()); if (thumb != null) { + + Float[] extras = null; + String extraStr = result.getString(3); + if (extraStr != null) { + String[] parts = extraStr.split(","); + extras = new Float[parts.length]; + for (int i = 0; i < parts.length; i++) { + try { + extras[i] = Float.parseFloat(parts[i]); + } catch (Exception e) { + extras = null; + break; + } + } + } + mImages.add(new SavedWallpaperTile(result.getInt(0), new File(mContext.getFilesDir(), result.getString(2)), - new BitmapDrawable(thumb), mIsLockScreenWallpaper)); + new BitmapDrawable(thumb), extras)); } } result.close(); @@ -158,34 +206,55 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { public void writeImage(Bitmap thumbnail, byte[] imageBytes) { try { - File imageFile = File.createTempFile("wallpaper", "", mContext.getFilesDir()); - FileOutputStream imageFileStream = - mContext.openFileOutput(imageFile.getName(), Context.MODE_PRIVATE); - imageFileStream.write(imageBytes); - imageFileStream.close(); - - File thumbFile = File.createTempFile("wallpaperthumb", "", mContext.getFilesDir()); - FileOutputStream thumbFileStream = - mContext.openFileOutput(thumbFile.getName(), Context.MODE_PRIVATE); - thumbnail.compress(Bitmap.CompressFormat.JPEG, 95, thumbFileStream); - thumbFileStream.close(); - - SQLiteDatabase db = mDb.getWritableDatabase(); - ContentValues values = new ContentValues(); - values.put(ImageDb.COLUMN_IMAGE_THUMBNAIL_FILENAME, thumbFile.getName()); - values.put(ImageDb.COLUMN_IMAGE_FILENAME, imageFile.getName()); - db.insert(ImageDb.TABLE_NAME, null, values); + writeImage(thumbnail, new ByteArrayInputStream(imageBytes), null); } catch (IOException e) { Log.e(TAG, "Failed writing images to storage " + e); } } + public void writeImage(Bitmap thumbnail, Uri uri, Float[] extras) { + try { + writeImage(thumbnail, mContext.getContentResolver().openInputStream(uri), extras); + } catch (IOException e) { + Log.e(TAG, "Failed writing images to storage " + e); + } + } + + private void writeImage(Bitmap thumbnail, InputStream in, Float[] extras) throws IOException { + File imageFile = File.createTempFile("wallpaper", "", mContext.getFilesDir()); + FileOutputStream imageFileStream = + mContext.openFileOutput(imageFile.getName(), Context.MODE_PRIVATE); + byte[] buf = new byte[4096]; // 4k + int len; + while ((len = in.read(buf)) > 0) { + imageFileStream.write(buf, 0, len); + } + imageFileStream.close(); + in.close(); + + File thumbFile = File.createTempFile("wallpaperthumb", "", mContext.getFilesDir()); + FileOutputStream thumbFileStream = + mContext.openFileOutput(thumbFile.getName(), Context.MODE_PRIVATE); + thumbnail.compress(Bitmap.CompressFormat.JPEG, 95, thumbFileStream); + thumbFileStream.close(); + + SQLiteDatabase db = mDb.getWritableDatabase(); + ContentValues values = new ContentValues(); + values.put(ImageDb.COLUMN_IMAGE_THUMBNAIL_FILENAME, thumbFile.getName()); + values.put(ImageDb.COLUMN_IMAGE_FILENAME, imageFile.getName()); + if (extras != null) { + values.put(ImageDb.COLUMN_EXTRAS, TextUtils.join(",", extras)); + } + db.insert(ImageDb.TABLE_NAME, null, values); + } + static class ImageDb extends SQLiteOpenHelper { - final static int DB_VERSION = 1; + final static int DB_VERSION = 2; final static String TABLE_NAME = "saved_wallpaper_images"; final static String COLUMN_ID = "id"; final static String COLUMN_IMAGE_THUMBNAIL_FILENAME = "image_thumbnail"; final static String COLUMN_IMAGE_FILENAME = "image"; + final static String COLUMN_EXTRAS = "extras"; Context mContext; @@ -212,15 +281,20 @@ public class SavedWallpaperImages extends BaseAdapter implements ListAdapter { COLUMN_ID + " INTEGER NOT NULL, " + COLUMN_IMAGE_THUMBNAIL_FILENAME + " TEXT NOT NULL, " + COLUMN_IMAGE_FILENAME + " TEXT NOT NULL, " + + COLUMN_EXTRAS + " TEXT, " + "PRIMARY KEY (" + COLUMN_ID + " ASC) " + ");"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - if (oldVersion != newVersion) { + if (oldVersion == 1) { + // Add extras column + db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN " + COLUMN_EXTRAS + " TEXT;"); + } else if (oldVersion != newVersion) { // Delete all the records; they'll be repopulated as this is a cache db.execSQL("DELETE FROM " + TABLE_NAME); + onCreate(db); } } } diff --git a/src/org/cyanogenmod/wallpaperpicker/StylusEventHelper.java b/src/org/cyanogenmod/wallpaperpicker/StylusEventHelper.java index d6d9649..ebb4e83 100644 --- a/src/org/cyanogenmod/wallpaperpicker/StylusEventHelper.java +++ b/src/org/cyanogenmod/wallpaperpicker/StylusEventHelper.java @@ -79,4 +79,4 @@ public class StylusEventHelper { && ((event.getButtonState() & MotionEvent.BUTTON_SECONDARY) == MotionEvent.BUTTON_SECONDARY); } -}
\ No newline at end of file +} diff --git a/src/org/cyanogenmod/wallpaperpicker/ThemeUtilities.java b/src/org/cyanogenmod/wallpaperpicker/ThemeUtilities.java new file mode 100644 index 0000000..4be7a66 --- /dev/null +++ b/src/org/cyanogenmod/wallpaperpicker/ThemeUtilities.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.cyanogenmod.wallpaperpicker; + +import android.app.Activity; +import android.content.Context; +import android.content.pm.PackageManager; +import android.content.res.AssetManager; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Point; + +import org.cyanogenmod.wallpaperpicker.util.WallpaperUtils; +import org.cyanogenmod.wallpaperpicker.R; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +public class ThemeUtilities { + + public static Bitmap getThemeWallpaper(Context context, String path, String pkgName, + boolean thumb) { + InputStream is = null; + try { + Resources res = context.getPackageManager().getResourcesForApplication(pkgName); + if (res == null) { + return null; + } + + AssetManager am = res.getAssets(); + String[] wallpapers = am.list(path); + if (wallpapers == null || wallpapers.length == 0) { + return null; + } + is = am.open(path + File.separator + wallpapers[0]); + + BitmapFactory.Options bounds = new BitmapFactory.Options(); + bounds.inJustDecodeBounds = true; + BitmapFactory.decodeStream(is, null, bounds); + if ((bounds.outWidth == -1) || (bounds.outHeight == -1)) + return null; + + int originalSize = (bounds.outHeight > bounds.outWidth) ? bounds.outHeight + : bounds.outWidth; + Point outSize; + + if (thumb) { + outSize = getDefaultThumbnailSize(context.getResources()); + } else { + outSize = WallpaperUtils.getDefaultWallpaperSize(res, + ((Activity) context).getWindowManager()); + } + int thumbSampleSize = (outSize.y > outSize.x) ? outSize.y : outSize.x; + + BitmapFactory.Options opts = new BitmapFactory.Options(); + opts.inSampleSize = originalSize / thumbSampleSize; + return BitmapFactory.decodeStream(is, null, opts); + } catch (IOException e) { + return null; + } catch (PackageManager.NameNotFoundException e) { + return null; + } catch (OutOfMemoryError e) { + return null; + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + } + } + } + } + + public static Point getDefaultThumbnailSize(Resources res) { + return new Point(res.getDimensionPixelSize(R.dimen.wallpaperThumbnailWidth), + res.getDimensionPixelSize(R.dimen.wallpaperThumbnailHeight)); + } +} diff --git a/src/org/cyanogenmod/wallpaperpicker/ThirdPartyWallpaperPickerListAdapter.java b/src/org/cyanogenmod/wallpaperpicker/ThirdPartyWallpaperPickerListAdapter.java index 25465aa..da401ac 100644 --- a/src/org/cyanogenmod/wallpaperpicker/ThirdPartyWallpaperPickerListAdapter.java +++ b/src/org/cyanogenmod/wallpaperpicker/ThirdPartyWallpaperPickerListAdapter.java @@ -45,8 +45,7 @@ public class ThirdPartyWallpaperPickerListAdapter extends BaseAdapter implements new ArrayList<ThirdPartyWallpaperTile>(); public static class ThirdPartyWallpaperTile extends WallpaperPickerActivity.WallpaperTileInfo { - @Thunk - ResolveInfo mResolveInfo; + @Thunk ResolveInfo mResolveInfo; public ThirdPartyWallpaperTile(ResolveInfo resolveInfo) { mResolveInfo = resolveInfo; } @@ -55,7 +54,9 @@ public class ThirdPartyWallpaperPickerListAdapter extends BaseAdapter implements final ComponentName itemComponentName = new ComponentName( mResolveInfo.activityInfo.packageName, mResolveInfo.activityInfo.name); Intent launchIntent = new Intent(Intent.ACTION_SET_WALLPAPER); - launchIntent.setComponent(itemComponentName); + launchIntent.setComponent(itemComponentName) + .putExtra(WallpaperPickerActivity.EXTRA_WALLPAPER_OFFSET, + a.getWallpaperParallaxOffset()); a.startActivityForResultSafely( launchIntent, WallpaperPickerActivity.PICK_WALLPAPER_THIRD_PARTY_ACTIVITY); } diff --git a/src/org/cyanogenmod/wallpaperpicker/Utilities.java b/src/org/cyanogenmod/wallpaperpicker/Utilities.java index 21a22be..8074522 100644 --- a/src/org/cyanogenmod/wallpaperpicker/Utilities.java +++ b/src/org/cyanogenmod/wallpaperpicker/Utilities.java @@ -26,20 +26,15 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; -import android.content.res.AssetManager; -import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PaintFlagsDrawFilter; -import android.graphics.Point; import android.graphics.Rect; import android.os.Build; import android.util.DisplayMetrics; @@ -49,14 +44,15 @@ import android.util.SparseArray; import android.util.TypedValue; import android.view.View; import android.widget.Toast; -import org.cyanogenmod.wallpaperpicker.util.WallpaperUtils; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.Executor; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -65,9 +61,7 @@ import java.util.regex.Pattern; */ public final class Utilities { - private static final String TAG = "WallpaperPicker.Utilities"; - - private static final float WALLPAPER_SCREENS_SPAN = 2f; + private static final String TAG = "Launcher.Utilities"; private static final Rect sOldBounds = new Rect(); private static final Canvas sCanvas = new Canvas(); @@ -85,8 +79,11 @@ public final class Utilities { private static final int[] sLoc0 = new int[2]; private static final int[] sLoc1 = new int[2]; - // TODO: use Build.VERSION_CODES when available - public static final boolean ATLEAST_MARSHMALLOW = Build.VERSION.SDK_INT >= 23; + // TODO: use the full N name (e.g. ATLEAST_N*****) when available + public static final boolean ATLEAST_N = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N; + + public static final boolean ATLEAST_MARSHMALLOW = + Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; public static final boolean ATLEAST_LOLLIPOP_MR1 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1; @@ -103,10 +100,17 @@ public final class Utilities { public static final boolean ATLEAST_JB_MR2 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2; - // To turn on these properties, type - // adb shell setprop log.tag.PROPERTY_NAME [VERBOSE | SUPPRESS] - private static final String FORCE_ENABLE_ROTATION_PROPERTY = "launcher_force_rotate"; - private static boolean sForceEnableRotation = isPropertyEnabled(FORCE_ENABLE_ROTATION_PROPERTY); + // These values are same as that in {@link AsyncTask}. + private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors(); + private static final int CORE_POOL_SIZE = CPU_COUNT + 1; + private static final int MAXIMUM_POOL_SIZE = CPU_COUNT * 2 + 1; + private static final int KEEP_ALIVE = 1; + /** + * An {@link Executor} to be used with async task with no limit on the queue size. + */ + public static final Executor THREAD_POOL_EXECUTOR = new ThreadPoolExecutor( + CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE, + TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); public static boolean isPropertyEnabled(String propertyName) { return Log.isLoggable(propertyName, Log.VERBOSE); @@ -159,28 +163,17 @@ public final class Utilities { r.offset(cx, cy); } - static boolean isSystemApp(Context context, Intent intent) { - PackageManager pm = context.getPackageManager(); - ComponentName cn = intent.getComponent(); - String packageName = null; - if (cn == null) { - ResolveInfo info = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY); - if ((info != null) && (info.activityInfo != null)) { - packageName = info.activityInfo.packageName; - } - } else { - packageName = cn.getPackageName(); - } - if (packageName != null) { - try { - PackageInfo info = pm.getPackageInfo(packageName, 0); - return (info != null) && (info.applicationInfo != null) && - ((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0); - } catch (NameNotFoundException e) { - return false; - } - } else { - return false; + public static void startActivityForResultSafely( + Activity activity, Intent intent, int requestCode) { + try { + activity.startActivityForResult(intent, requestCode); + } catch (ActivityNotFoundException e) { + Toast.makeText(activity, R.string.activity_not_found, Toast.LENGTH_SHORT).show(); + } catch (SecurityException e) { + Toast.makeText(activity, R.string.activity_not_found, Toast.LENGTH_SHORT).show(); + Log.e(TAG, "Launcher does not have the permission to launch " + intent + + ". Make sure to create a MAIN intent-filter for the corresponding activity " + + "or use the exported attribute for this activity.", e); } } @@ -453,7 +446,8 @@ public final class Utilities { } public static float dpiFromPx(int size, DisplayMetrics metrics){ - return (size / metrics.density); + float densityRatio = (float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT; + return (size / densityRatio); } public static int pxFromDp(float size, DisplayMetrics metrics) { return (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, @@ -463,87 +457,4 @@ public final class Utilities { return (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, size, metrics)); } - - public static boolean isPackageInstalled(Context context, String pkg) { - PackageManager packageManager = context.getPackageManager(); - try { - PackageInfo pi = packageManager.getPackageInfo(pkg, 0); - return pi.applicationInfo.enabled; - } catch (NameNotFoundException e) { - return false; - } - } - - public static void startActivityForResultSafely( - Activity activity, Intent intent, int requestCode) { - try { - activity.startActivityForResult(intent, requestCode); - } catch (ActivityNotFoundException e) { - Toast.makeText(activity, R.string.activity_not_found, Toast.LENGTH_SHORT).show(); - } catch (SecurityException e) { - Toast.makeText(activity, R.string.activity_not_found, Toast.LENGTH_SHORT).show(); - Log.e(TAG, "Wallpaper picker does not have the permission to launch " + intent + - ". Make sure to create a MAIN intent-filter for the corresponding activity " + - "or use the exported attribute for this activity.", e); - } - } - - public static Bitmap getThemeWallpaper(Context context, String path, String pkgName, - boolean thumb) { - InputStream is = null; - try { - Resources res = context.getPackageManager().getResourcesForApplication(pkgName); - if (res == null) { - return null; - } - - AssetManager am = res.getAssets(); - String[] wallpapers = am.list(path); - if (wallpapers == null || wallpapers.length == 0) { - return null; - } - is = am.open(path + File.separator + wallpapers[0]); - - BitmapFactory.Options bounds = new BitmapFactory.Options(); - bounds.inJustDecodeBounds = true; - BitmapFactory.decodeStream(is, null, bounds); - if ((bounds.outWidth == -1) || (bounds.outHeight == -1)) - return null; - - int originalSize = (bounds.outHeight > bounds.outWidth) ? bounds.outHeight - : bounds.outWidth; - Point outSize; - - if (thumb) { - outSize = getDefaultThumbnailSize(context.getResources()); - } else { - outSize = WallpaperUtils.getDefaultWallpaperSize(res, - ((Activity) context).getWindowManager()); - } - int thumbSampleSize = (outSize.y > outSize.x) ? outSize.y : outSize.x; - - BitmapFactory.Options opts = new BitmapFactory.Options(); - opts.inSampleSize = originalSize / thumbSampleSize; - return BitmapFactory.decodeStream(is, null, opts); - } catch (IOException e) { - return null; - } catch (PackageManager.NameNotFoundException e) { - return null; - } catch (OutOfMemoryError e) { - return null; - } finally { - if (is != null) { - try { - is.close(); - } catch (IOException e) { - } - } - } - } - - public static Point getDefaultThumbnailSize(Resources res) { - return new Point(res.getDimensionPixelSize(R.dimen.wallpaperThumbnailWidth), - res.getDimensionPixelSize(R.dimen.wallpaperThumbnailHeight)); - - } } diff --git a/src/org/cyanogenmod/wallpaperpicker/WallpaperCropActivity.java b/src/org/cyanogenmod/wallpaperpicker/WallpaperCropActivity.java index bca08ea..e6b5246 100644 --- a/src/org/cyanogenmod/wallpaperpicker/WallpaperCropActivity.java +++ b/src/org/cyanogenmod/wallpaperpicker/WallpaperCropActivity.java @@ -16,19 +16,21 @@ package org.cyanogenmod.wallpaperpicker; -import android.Manifest; import android.annotation.TargetApi; import android.app.ActionBar; import android.app.Activity; import android.app.WallpaperManager; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.Point; +import android.graphics.PointF; import android.graphics.RectF; import android.net.Uri; import android.os.Build; @@ -44,21 +46,20 @@ import android.widget.Toast; import com.android.gallery3d.common.BitmapCropTask; import com.android.gallery3d.common.BitmapUtils; import com.android.gallery3d.common.Utils; +import org.cyanogenmod.wallpaperpicker.base.BaseActivity; +import org.cyanogenmod.wallpaperpicker.util.Thunk; +import org.cyanogenmod.wallpaperpicker.util.WallpaperUtils; import com.android.photos.BitmapRegionTileSource; import com.android.photos.BitmapRegionTileSource.BitmapSource; import com.android.photos.BitmapRegionTileSource.BitmapSource.InBitmapProvider; import com.android.photos.views.TiledImageRenderer.TileSource; -import org.cyanogenmod.wallpaperpicker.base.BaseActivity; -import org.cyanogenmod.wallpaperpicker.util.Thunk; -import org.cyanogenmod.wallpaperpicker.util.WallpaperUtils; - import java.util.Collections; import java.util.Set; import java.util.WeakHashMap; public class WallpaperCropActivity extends BaseActivity implements Handler.Callback { - private static final String LOGTAG = "CropActivity"; + private static final String LOGTAG = "Launcher3.CropActivity"; protected static final String WALLPAPER_WIDTH_KEY = WallpaperUtils.WALLPAPER_WIDTH_KEY; protected static final String WALLPAPER_HEIGHT_KEY = WallpaperUtils.WALLPAPER_HEIGHT_KEY; @@ -82,25 +83,36 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb private HandlerThread mLoaderThread; private Handler mLoaderHandler; - @Thunk - LoadRequest mCurrentLoadRequest; + @Thunk LoadRequest mCurrentLoadRequest; private byte[] mTempStorageForDecoding = new byte[16 * 1024]; // A weak-set of reusable bitmaps @Thunk Set<Bitmap> mReusableBitmaps = Collections.newSetFromMap(new WeakHashMap<Bitmap, Boolean>()); + private final DialogInterface.OnCancelListener mOnDialogCancelListener = + new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialog) { + getActionBar().show(); + View wallpaperStrip = findViewById(R.id.wallpaper_strip); + if (wallpaperStrip != null) { + wallpaperStrip.setVisibility(View.VISIBLE); + } + } + }; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - load(); - } - private void load() { mLoaderThread = new HandlerThread("wallpaper_loader"); mLoaderThread.start(); mLoaderHandler = new Handler(mLoaderThread.getLooper(), this); init(); + if (!enableRotation()) { + setRequestedOrientation(Configuration.ORIENTATION_PORTRAIT); + } } protected void init() { @@ -126,8 +138,13 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb new View.OnClickListener() { @Override public void onClick(View v) { + actionBar.hide(); boolean finishActivityWhenDone = true; - cropImageAndSetWallpaper(imageUri, null, false, finishActivityWhenDone); + // Never fade on finish because we return to the app that started us (e.g. + // Photos), not the home screen. + boolean shouldFadeOutOnFinish = false; + cropImageAndSetWallpaper(imageUri, null, finishActivityWhenDone, + shouldFadeOutOnFinish); } }); mSetWallpaperButton = findViewById(R.id.set_wallpaper_button); @@ -240,6 +257,10 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb } } + public DialogInterface.OnCancelListener getOnDialogCancelListener() { + return mOnDialogCancelListener; + } + protected void onLoadRequestComplete(LoadRequest req, boolean success) { mCurrentLoadRequest = null; if (success) { @@ -249,8 +270,8 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb if (req.moveToLeft) { mCropView.moveToLeft(); } - if (req.scaleProvider != null) { - mCropView.setScale(req.scaleProvider.getScale(req.result)); + if (req.scaleAndOffsetProvider != null) { + req.scaleAndOffsetProvider.updateCropView(this, req.result); } // Free last image @@ -268,13 +289,13 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb } public final void setCropViewTileSource(BitmapSource bitmapSource, boolean touchEnabled, - boolean moveToLeft, CropViewScaleProvider scaleProvider, Runnable postExecute) { + boolean moveToLeft, CropViewScaleAndOffsetProvider scaleProvider, Runnable postExecute) { final LoadRequest req = new LoadRequest(); req.moveToLeft = moveToLeft; req.src = bitmapSource; req.touchEnabled = touchEnabled; req.postExecute = postExecute; - req.scaleProvider = scaleProvider; + req.scaleAndOffsetProvider = scaleProvider; mCurrentLoadRequest = req; // Remove any pending requests @@ -294,56 +315,68 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb } - protected void setWallpaper(Uri uri, boolean isLockScreenPicker, - final boolean finishActivityWhenDone) { + public boolean enableRotation() { + return getResources().getBoolean(R.bool.allow_rotation); + } + + protected void setWallpaper(Uri uri, final boolean finishActivityWhenDone, + final boolean shouldFadeOutOnFinish) { int rotation = BitmapUtils.getRotationFromExif(getContext(), uri); BitmapCropTask cropTask = new BitmapCropTask( - getContext(), uri, null, rotation, 0, 0, true, isLockScreenPicker, false, null); + getContext(), uri, null, rotation, 0, 0, true, false, null); final Point bounds = cropTask.getImageBounds(); - Runnable onEndCrop = new Runnable() { - public void run() { + BitmapCropTask.OnEndCropHandler onEndCrop = new BitmapCropTask.OnEndCropHandler() { + public void run(boolean cropSucceeded) { updateWallpaperDimensions(bounds.x, bounds.y); if (finishActivityWhenDone) { setResult(Activity.RESULT_OK); finish(); + if (cropSucceeded && shouldFadeOutOnFinish) { + overridePendingTransition(0, R.anim.fade_out); + } } } }; cropTask.setOnEndRunnable(onEndCrop); cropTask.setNoCrop(true); - cropTask.execute(); + NycWallpaperUtils.executeCropTaskAfterPrompt(this, cropTask, getOnDialogCancelListener()); } - protected void cropImageAndSetWallpaper(Resources res, int resId, boolean isLockScreenPicker, - final boolean finishActivityWhenDone) { + protected void cropImageAndSetWallpaper(Resources res, int resId, + final boolean finishActivityWhenDone, final boolean shouldFadeOutOnFinish) { // crop this image and scale it down to the default wallpaper size for // this device int rotation = BitmapUtils.getRotationFromExif(res, resId); Point inSize = mCropView.getSourceDimensions(); - Point outSize = WallpaperUtils.getDefaultWallpaperSize(getResources(), - getWindowManager()); + Point outSize = WallpaperUtils.getDefaultWallpaperSize(getResources(), getWindowManager()); RectF crop = Utils.getMaxCropRect( inSize.x, inSize.y, outSize.x, outSize.y, false); - Runnable onEndCrop = new Runnable() { - public void run() { + BitmapCropTask.OnEndCropHandler onEndCrop = new BitmapCropTask.OnEndCropHandler() { + public void run(boolean cropSucceeded) { // Passing 0, 0 will cause launcher to revert to using the // default wallpaper size updateWallpaperDimensions(0, 0); if (finishActivityWhenDone) { setResult(Activity.RESULT_OK); finish(); + if (cropSucceeded && shouldFadeOutOnFinish) { + overridePendingTransition(0, R.anim.fade_out); + } } } }; BitmapCropTask cropTask = new BitmapCropTask(getContext(), res, resId, - crop, rotation, outSize.x, outSize.y, true, isLockScreenPicker, false, onEndCrop); - cropTask.execute(); + crop, rotation, outSize.x, outSize.y, true, false, onEndCrop); + NycWallpaperUtils.executeCropTaskAfterPrompt(this, cropTask, getOnDialogCancelListener()); } @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) protected void cropImageAndSetWallpaper(Uri uri, BitmapCropTask.OnBitmapCroppedHandler onBitmapCroppedHandler, - boolean isLockScreenPicker, final boolean finishActivityWhenDone) { + final boolean finishActivityWhenDone, final boolean shouldFadeOutOnFinish) { + // Give some feedback so user knows something is happening. + mProgressView.setVisibility(View.VISIBLE); + boolean centerCrop = getResources().getBoolean(R.bool.center_crop); // Get the crop boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR; @@ -419,25 +452,29 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb final int outWidth = (int) Math.round(cropRect.width() * cropScale); final int outHeight = (int) Math.round(cropRect.height() * cropScale); - Runnable onEndCrop = new Runnable() { - public void run() { + BitmapCropTask.OnEndCropHandler onEndCrop = new BitmapCropTask.OnEndCropHandler() { + public void run(boolean cropSucceeded) { updateWallpaperDimensions(outWidth, outHeight); if (finishActivityWhenDone) { setResult(Activity.RESULT_OK); finish(); } + if (cropSucceeded && shouldFadeOutOnFinish) { + overridePendingTransition(0, R.anim.fade_out); + } } }; - BitmapCropTask cropTask = new BitmapCropTask(getContext(), uri, cropRect, cropRotation, - outWidth, outHeight, true, isLockScreenPicker, false, onEndCrop); + BitmapCropTask cropTask = new BitmapCropTask(getContext(), uri, + cropRect, cropRotation, outWidth, outHeight, true, false, onEndCrop); if (onBitmapCroppedHandler != null) { cropTask.setOnBitmapCropped(onBitmapCroppedHandler); } - cropTask.execute(); + NycWallpaperUtils.executeCropTaskAfterPrompt(this, cropTask, getOnDialogCancelListener()); } protected void cropImageAndSetWallpaper(String path, String packageName, - boolean isLockScreenPicker, final boolean finishActivityWhenDone) { + final boolean finishActivityWhenDone, + final boolean shouldFadeOutOnFinish) { // crop this image and scale it down to the default wallpaper size for // this device Point inSize = mCropView.getSourceDimensions(); @@ -455,20 +492,23 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb } catch (PackageManager.NameNotFoundException e) { return; } - - Runnable onEndCrop = new Runnable() { - public void run() { + BitmapCropTask.OnEndCropHandler onEndCrop = new BitmapCropTask.OnEndCropHandler() { + public void run(boolean cropSucceeded) { + // Passing 0, 0 will cause launcher to revert to using the + // default wallpaper size + updateWallpaperDimensions(0, 0); if (finishActivityWhenDone) { setResult(Activity.RESULT_OK); finish(); + if (cropSucceeded && shouldFadeOutOnFinish) { + overridePendingTransition(0, R.anim.fade_out); + } } } }; - BitmapCropTask cropTask = new BitmapCropTask(getContext(), res, path, cropRect, - 0, outSize.x, outSize.y, true, isLockScreenPicker, false, onEndCrop); - if (cropTask != null) { - cropTask.execute(); - } + BitmapCropTask cropTask = new BitmapCropTask(getContext(), res, path, + cropRect, 0, outSize.x, outSize.y, true, false, onEndCrop); + NycWallpaperUtils.executeCropTaskAfterPrompt(this, cropTask, getOnDialogCancelListener()); } protected void updateWallpaperDimensions(int width, int height) { @@ -482,7 +522,7 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb editor.remove(WALLPAPER_WIDTH_KEY); editor.remove(WALLPAPER_HEIGHT_KEY); } - editor.commit(); + editor.apply(); WallpaperUtils.suggestWallpaperDimension(getResources(), sp, getWindowManager(), WallpaperManager.getInstance(getContext()), true); } @@ -492,12 +532,37 @@ public class WallpaperCropActivity extends BaseActivity implements Handler.Callb boolean touchEnabled; boolean moveToLeft; Runnable postExecute; - CropViewScaleProvider scaleProvider; + CropViewScaleAndOffsetProvider scaleAndOffsetProvider; TileSource result; } - interface CropViewScaleProvider { - float getScale(TileSource src); + public static class CropViewScaleAndOffsetProvider { + public float getScale(Point wallpaperSize, RectF crop) { + return 1f; + } + + public float getParallaxOffset() { + return 0.5f; + } + + public void updateCropView(WallpaperCropActivity a, TileSource src) { + Point wallpaperSize = WallpaperUtils.getDefaultWallpaperSize( + a.getResources(), a.getWindowManager()); + RectF crop = Utils.getMaxCropRect(src.getImageWidth(), src.getImageHeight(), + wallpaperSize.x, wallpaperSize.y, false /* leftAligned */); + + float scale = getScale(wallpaperSize, crop); + PointF center = a.mCropView.getCenter(); + + // Offsets wallpaper preview according to the state it will be displayed in upon + // returning home. Offset ranges from 0 to 1, where 0 is the leftmost parallax and + // 1 is the rightmost. + // Make sure the offset is in the correct range. + float offset = Math.max(0, Math.min(getParallaxOffset(), 1)); + float screenWidth = a.mCropView.getWidth() / scale; + center.x = screenWidth / 2 + offset * (crop.width() - screenWidth) + crop.left; + a.mCropView.setScaleAndCenter(scale, center.x, center.y); + } } } diff --git a/src/org/cyanogenmod/wallpaperpicker/WallpaperPickerActivity.java b/src/org/cyanogenmod/wallpaperpicker/WallpaperPickerActivity.java index 9ba2515..bf76334 100644 --- a/src/org/cyanogenmod/wallpaperpicker/WallpaperPickerActivity.java +++ b/src/org/cyanogenmod/wallpaperpicker/WallpaperPickerActivity.java @@ -16,6 +16,7 @@ package org.cyanogenmod.wallpaperpicker; +import android.Manifest; import android.animation.LayoutTransition; import android.annotation.TargetApi; import android.app.ActionBar; @@ -31,20 +32,23 @@ import android.database.Cursor; import android.database.DataSetObserver; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.BitmapRegionDecoder; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Point; +import android.graphics.PointF; import android.graphics.PorterDuff; +import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.Manifest; import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Process; import android.provider.MediaStore; +import android.support.annotation.NonNull; import android.util.Log; import android.util.Pair; import android.view.ActionMode; @@ -77,19 +81,20 @@ import com.android.gallery3d.common.BitmapUtils; import com.android.gallery3d.common.Utils; import com.android.photos.BitmapRegionTileSource; import com.android.photos.BitmapRegionTileSource.BitmapSource; -import com.android.photos.views.TiledImageRenderer.TileSource; - -import cyanogenmod.providers.ThemesContract; import org.cyanogenmod.wallpaperpicker.util.Thunk; -import org.cyanogenmod.wallpaperpicker.util.WallpaperUtils; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import cyanogenmod.providers.ThemesContract; + import static org.cyanogenmod.wallpaperpicker.util.Constants.THEME_LOCKSCREEN_PATH; import static org.cyanogenmod.wallpaperpicker.util.Constants.THEME_WALLPAPER_PATH; @@ -98,16 +103,13 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public static final int IMAGE_PICK = 5; public static final int PICK_WALLPAPER_THIRD_PARTY_ACTIVITY = 6; + /** An Intent extra used when opening the wallpaper picker from the workspace overlay. */ + public static final String EXTRA_WALLPAPER_OFFSET = "org.cyanogenmod.wallpaperpicker.WALLPAPER_OFFSET"; private static final String TEMP_WALLPAPER_TILES = "TEMP_WALLPAPER_TILES"; private static final String SELECTED_INDEX = "SELECTED_INDEX"; private static final int FLAG_POST_DELAY_MILLIS = 200; - private static final String ACTION_SET_KEYGUARD_WALLPAPER = - "android.intent.action.SET_KEYGUARD_WALLPAPER"; - private static final int REQUEST_CODE_STORAGE_PERMISSION_CHECK = 100; - - @Thunk - View mSelectedTile; + @Thunk View mSelectedTile; @Thunk boolean mIgnoreNextTap; @Thunk OnClickListener mThumbnailOnClickListener; @@ -123,12 +125,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { ArrayList<Uri> mTempWallpaperTiles = new ArrayList<Uri>(); private SavedWallpaperImages mSavedImages; @Thunk int mSelectedIndex = -1; - - private boolean mIsLockScreenPicker; + private float mWallpaperParallaxOffset; public static abstract class WallpaperTileInfo { protected View mView; - protected boolean mIsLockScreenWallpaper; public Drawable mThumb; public void setView(View v) { @@ -146,22 +146,20 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } + public static class PickImageInfo extends WallpaperTileInfo { @Override public void onClick(WallpaperPickerActivity a) { - if (a.hasStoragePermissions()) { - a.startPickImageActivity(); - } else { - a.requestStoragePermissions(); - } + Intent intent = new Intent(Intent.ACTION_GET_CONTENT); + intent.setType("image/*"); + a.startActivityForResultSafely(intent, IMAGE_PICK); } } public static class UriWallpaperInfo extends WallpaperTileInfo { private Uri mUri; - public UriWallpaperInfo(Uri uri, boolean isLockScreenWallpaper) { + public UriWallpaperInfo(Uri uri) { mUri = uri; - mIsLockScreenWallpaper = isLockScreenWallpaper; } @Override public void onClick(final WallpaperPickerActivity a) { @@ -190,15 +188,49 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public void onSave(final WallpaperPickerActivity a) { boolean finishActivityWhenDone = true; BitmapCropTask.OnBitmapCroppedHandler h = new BitmapCropTask.OnBitmapCroppedHandler() { - public void onBitmapCropped(byte[] imageBytes) { + @Override + public void onBitmapCropped(byte[] imageBytes, Rect hint) { + Bitmap thumb = null; Point thumbSize = getDefaultThumbnailSize(a.getResources()); - // rotation is set to 0 since imageBytes has already been correctly rotated - Bitmap thumb = createThumbnail( - thumbSize, null, null, imageBytes, null, 0, 0, true); - a.getSavedImages().writeImage(thumb, imageBytes); + if (imageBytes != null) { + // rotation is set to 0 since imageBytes has already been correctly rotated + thumb = createThumbnail( + thumbSize, null, null, imageBytes, null, 0, 0, true); + a.getSavedImages().writeImage(thumb, imageBytes); + } else { + try { + // Generate thumb + Point size = getDefaultThumbnailSize(a.getResources()); + Rect finalCropped = new Rect(); + Utils.getMaxCropRect(hint.width(), hint.height(), size.x, size.y, false) + .roundOut(finalCropped); + finalCropped.offset(hint.left, hint.top); + + InputStream in = a.getContentResolver().openInputStream(mUri); + BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(in, true); + + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inSampleSize = finalCropped.width() / size.x; + thumb = decoder.decodeRegion(finalCropped, options); + decoder.recycle(); + Utils.closeSilently(in); + if (thumb != null) { + thumb = Bitmap.createScaledBitmap(thumb, size.x, size.y, true); + } + } catch (IOException e) { } + PointF center = a.mCropView.getCenter(); + + Float[] extras = new Float[] { + a.mCropView.getScale(), + center.x, + center.y + }; + a.getSavedImages().writeImage(thumb, mUri, extras); + } } }; - a.cropImageAndSetWallpaper(mUri, h, mIsLockScreenWallpaper, finishActivityWhenDone); + boolean shouldFadeOutOnFinish = a.getWallpaperParallaxOffset() == 0f; + a.cropImageAndSetWallpaper(mUri, h, finishActivityWhenDone, shouldFadeOutOnFinish); } @Override public boolean isSelectable() { @@ -211,31 +243,37 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } public static class FileWallpaperInfo extends WallpaperTileInfo { - private File mFile; + protected File mFile; - public FileWallpaperInfo(File target, Drawable thumb, boolean isLockScreenWallpaper) { + public FileWallpaperInfo(File target, Drawable thumb) { mFile = target; mThumb = thumb; - mIsLockScreenWallpaper = isLockScreenWallpaper; } @Override public void onClick(final WallpaperPickerActivity a) { a.setWallpaperButtonEnabled(false); final BitmapRegionTileSource.UriBitmapSource bitmapSource = new BitmapRegionTileSource.UriBitmapSource(a.getContext(), Uri.fromFile(mFile)); - a.setCropViewTileSource(bitmapSource, false, true, null, new Runnable() { + a.setCropViewTileSource(bitmapSource, false, true, getCropViewScaleAndOffsetProvider(), + new Runnable() { @Override public void run() { - if (bitmapSource.getLoadingState() == BitmapSource.State.LOADED) { + if (bitmapSource.getLoadingState() == BitmapSource.State.LOADED) { a.setWallpaperButtonEnabled(true); } } }); } + + protected CropViewScaleAndOffsetProvider getCropViewScaleAndOffsetProvider() { + return null; + } + @Override public void onSave(WallpaperPickerActivity a) { - a.setWallpaper(Uri.fromFile(mFile), mIsLockScreenWallpaper, true); + boolean shouldFadeOutOnFinish = a.getWallpaperParallaxOffset() == 0f; + a.setWallpaper(Uri.fromFile(mFile), true, shouldFadeOutOnFinish); } @Override public boolean isSelectable() { @@ -251,28 +289,26 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { private Resources mResources; private int mResId; - public ResourceWallpaperInfo(Resources res, int resId, Drawable thumb, - boolean isLockScreenWallpaper) { + public ResourceWallpaperInfo(Resources res, int resId, Drawable thumb) { mResources = res; mResId = resId; mThumb = thumb; - mIsLockScreenWallpaper = isLockScreenWallpaper; } @Override public void onClick(final WallpaperPickerActivity a) { a.setWallpaperButtonEnabled(false); final BitmapRegionTileSource.ResourceBitmapSource bitmapSource = new BitmapRegionTileSource.ResourceBitmapSource(mResources, mResId); - a.setCropViewTileSource(bitmapSource, false, false, new CropViewScaleProvider() { + a.setCropViewTileSource(bitmapSource, false, false, new CropViewScaleAndOffsetProvider() { @Override - public float getScale(TileSource src) { - Point wallpaperSize = WallpaperUtils.getDefaultWallpaperSize( - a.getResources(), a.getWindowManager()); - RectF crop = Utils.getMaxCropRect( - src.getImageWidth(), src.getImageHeight(), - wallpaperSize.x, wallpaperSize.y, false); - return wallpaperSize.x / crop.width(); + public float getScale(Point wallpaperSize, RectF crop) { + return wallpaperSize.x /crop.width(); + } + + @Override + public float getParallaxOffset() { + return a.getWallpaperParallaxOffset(); } }, new Runnable() { @@ -287,8 +323,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { @Override public void onSave(WallpaperPickerActivity a) { boolean finishActivityWhenDone = true; - a.cropImageAndSetWallpaper(mResources, mResId, mIsLockScreenWallpaper, - finishActivityWhenDone); + boolean shouldFadeOutOnFinish = true; + a.cropImageAndSetWallpaper(mResources, mResId, finishActivityWhenDone, + shouldFadeOutOnFinish); } @Override public boolean isSelectable() { @@ -304,7 +341,6 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public static class DefaultWallpaperInfo extends WallpaperTileInfo { public DefaultWallpaperInfo(Drawable thumb) { mThumb = thumb; - mIsLockScreenWallpaper = false; } @Override public void onClick(WallpaperPickerActivity a) { @@ -320,74 +356,81 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { LoadRequest req = new LoadRequest(); req.moveToLeft = false; req.touchEnabled = false; - req.scaleProvider = new CropViewScaleProvider() { - - @Override - public float getScale(TileSource src) { - return 1f; - } - }; + req.scaleAndOffsetProvider = new CropViewScaleAndOffsetProvider(); req.result = new DrawableTileSource(a.getContext(), defaultWallpaper, DrawableTileSource.MAX_PREVIEW_SIZE); a.onLoadRequestComplete(req, true); } @Override - public void onSave(WallpaperPickerActivity a) { - try { - WallpaperManager.getInstance(a.getContext()).clear(); - a.setResult(Activity.RESULT_OK); - } catch (IOException e) { - Log.w("Setting wallpaper to default threw exception", e); - } - a.finish(); - } - @Override - public boolean isSelectable() { - return true; - } - @Override - public boolean isNamelessWallpaper() { - return false; - } - } + public void onSave(final WallpaperPickerActivity a) { + if (!Utilities.ATLEAST_N) { + try { + WallpaperManager.getInstance(a.getContext()).clear(); + a.setResult(Activity.RESULT_OK); + } catch (IOException e) { + Log.e(TAG, "Setting wallpaper to default threw exception", e); + } catch (SecurityException e) { + Log.w(TAG, "Setting wallpaper to default threw exception", e); + // In this case, clearing worked; the exception was thrown afterwards. + a.setResult(Activity.RESULT_OK); + } + a.finish(); + } else { + BitmapCropTask.OnEndCropHandler onEndCropHandler + = new BitmapCropTask.OnEndCropHandler() { + @Override + public void run(boolean cropSucceeded) { + if (cropSucceeded) { + a.setResult(Activity.RESULT_OK); + } + a.finish(); + } + }; + BitmapCropTask setWallpaperTask = getDefaultWallpaperCropTask(a, onEndCropHandler); - @TargetApi(Build.VERSION_CODES.M) - public static class NoWallpaperInfo extends WallpaperTileInfo { - public NoWallpaperInfo(Drawable thumb, boolean isLockScreenWallpaper) { - mThumb = thumb; - mIsLockScreenWallpaper = isLockScreenWallpaper; + NycWallpaperUtils.executeCropTaskAfterPrompt(a, setWallpaperTask, + a.getOnDialogCancelListener()); + } } - @Override - public void onClick(WallpaperPickerActivity a) { - LoadRequest req = new LoadRequest(); - req.moveToLeft = false; - req.touchEnabled = false; - req.scaleProvider = new CropViewScaleProvider() { + @NonNull + private BitmapCropTask getDefaultWallpaperCropTask(final WallpaperPickerActivity a, + final BitmapCropTask.OnEndCropHandler onEndCropHandler) { + return new BitmapCropTask(a, null, null, -1, -1, -1, + true, false, onEndCropHandler) { @Override - public float getScale(TileSource src) { - return 1f; + protected Boolean doInBackground(Integer... params) { + int whichWallpaper = params[0]; + boolean succeeded = true; + try { + if (whichWallpaper == WallpaperManager.FLAG_LOCK) { + Bitmap defaultWallpaper = ((BitmapDrawable) WallpaperManager + .getInstance(a.getApplicationContext()).getBuiltInDrawable()) + .getBitmap(); + ByteArrayOutputStream tmpOut = new ByteArrayOutputStream(2048); + if (defaultWallpaper.compress(Bitmap.CompressFormat.PNG, 100, + tmpOut)) { + byte[] outByteArray = tmpOut.toByteArray(); + NycWallpaperUtils.setStream(a.getApplicationContext(), + new ByteArrayInputStream(outByteArray), null, true, + WallpaperManager.FLAG_LOCK); + } + } else { + NycWallpaperUtils.clear(a, whichWallpaper); + } + } catch (IOException e) { + Log.e(TAG, "Setting wallpaper to default threw exception", e); + succeeded = false; + } catch (SecurityException e) { + Log.w(TAG, "Setting wallpaper to default threw exception", e); + // In this case, clearing worked; the exception was thrown afterwards. + succeeded = true; + } + return succeeded; } }; - req.result = new DrawableTileSource(a.getContext(), - mThumb, DrawableTileSource.MAX_PREVIEW_SIZE); - a.onLoadRequestComplete(req, true); - } - @Override - public void onSave(WallpaperPickerActivity a) { - try { - if (!mIsLockScreenWallpaper) { - BitmapDrawable bd = (BitmapDrawable) mThumb; - WallpaperManager.getInstance(a.getContext()).setBitmap(bd.getBitmap()); - } else { - WallpaperManager.getInstance(a.getContext()).clearKeyguardWallpaper(); - } - a.setResult(Activity.RESULT_OK); - } catch (IOException e) { - Log.w("Setting wallpaper to default threw exception", e); - } - a.finish(); } + @Override public boolean isSelectable() { return true; @@ -407,12 +450,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { Drawable mThumb; Context mContext; - public ThemeWallpaperInfo(Context context, String packageName, Drawable thumb, - boolean isLockScreenWallpaper) { + public ThemeWallpaperInfo(Context context, String packageName, Drawable thumb) { this.mContext = context; this.mPackageName = packageName; this.mThumb = thumb; - mIsLockScreenWallpaper = isLockScreenWallpaper; } @Override @@ -426,19 +467,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { int rotation = 0; source = new BitmapRegionTileSource.ThemeBitmapSource(res.getAssets(), - mIsLockScreenWallpaper ? THEME_LOCKSCREEN_PATH : THEME_WALLPAPER_PATH); - a.setCropViewTileSource(source, false, false, new CropViewScaleProvider() { - - @Override - public float getScale(TileSource src) { - Point wallpaperSize = WallpaperUtils.getDefaultWallpaperSize( - a.getResources(), a.getWindowManager()); - RectF crop = Utils.getMaxCropRect( - src.getImageWidth(), src.getImageHeight(), - wallpaperSize.x, wallpaperSize.y, false); - return wallpaperSize.x / crop.width(); - } - }, new Runnable() { + THEME_WALLPAPER_PATH); + a.setCropViewTileSource(source, false, false, new CropViewScaleAndOffsetProvider(), + new Runnable() { @Override public void run() { @@ -452,12 +483,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } @Override - public void onSave(WallpaperPickerActivity a) { - a.cropImageAndSetWallpaper( - mIsLockScreenWallpaper ? THEME_LOCKSCREEN_PATH : THEME_WALLPAPER_PATH, - mPackageName, - mIsLockScreenWallpaper, - true); + public void onSave(WallpaperPickerActivity a) {boolean finishActivityWhenDone = true; + boolean shouldFadeOutOnFinish = true; + a.cropImageAndSetWallpaper(THEME_WALLPAPER_PATH, mPackageName, finishActivityWhenDone, + shouldFadeOutOnFinish); } @Override @@ -474,6 +503,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { /** * shows the system wallpaper behind the window and hides the {@link * #mCropView} if visible + * * @param visible should the system wallpaper be shown */ protected void setSystemWallpaperVisiblity(final boolean visible) { @@ -515,37 +545,13 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public void onRequestPermissionsResult(int requestCode, String[] permissions, - int[] grantResults) { - if (requestCode == REQUEST_CODE_STORAGE_PERMISSION_CHECK) { - for (int i = 0; i < permissions.length; i++ ) { - final String permission = permissions[i]; - final int grantResult = grantResults[i]; - if (permission.equals(Manifest.permission.READ_EXTERNAL_STORAGE)) { - if (grantResult == PackageManager.PERMISSION_GRANTED) { - startPickImageActivity(); - } else { - Toast.makeText(this, getString(R.string.storage_permission_denied), - Toast.LENGTH_SHORT).show(); - } - } - } - } - } - // called by onCreate; this is subclassed to overwrite WallpaperCropActivity protected void init() { setContentView(R.layout.wallpaper_picker); - mIsLockScreenPicker = ACTION_SET_KEYGUARD_WALLPAPER.equals(getIntent().getAction()); - mCropView = (CropView) findViewById(R.id.cropView); + mCropView.setVisibility(View.INVISIBLE); + mProgressView = findViewById(R.id.loading); mWallpaperScrollContainer = (HorizontalScrollView) findViewById(R.id.wallpaper_scroll_container); mWallpaperStrip = findViewById(R.id.wallpaper_strip); @@ -592,14 +598,6 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } }); - if (mIsLockScreenPicker) { - final Bitmap keyguardBmp = WallpaperManager.getInstance(this).getKeyguardBitmap(); - setCropViewTileSource(new BitmapRegionTileSource.DumbBitmapSource(keyguardBmp), false, - true, null, null); - } else { - mCropView.setVisibility(View.INVISIBLE); - } - mThumbnailOnClickListener = new OnClickListener() { public void onClick(View v) { if (mActionMode != null) { @@ -609,10 +607,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } return; } - setWallpaperButtonEnabled(true); WallpaperTileInfo info = (WallpaperTileInfo) v.getTag(); if (info.isSelectable() && v.getVisibility() == View.VISIBLE) { selectTile(v); + setWallpaperButtonEnabled(true); } info.onClick(WallpaperPickerActivity.this); } @@ -637,7 +635,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } }; - mWallpapersView = (LinearLayout) findViewById(R.id.wallpaper_list); + mWallpaperParallaxOffset = getIntent().getFloatExtra(EXTRA_WALLPAPER_OFFSET, 0); // Populate the built-in wallpapers ArrayList<WallpaperTileInfo> wallpapers = findBundledWallpapers(); @@ -646,9 +644,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { populateWallpapersFromAdapter(mWallpapersView, ia, false); // Populate the saved wallpapers - mSavedImages = new SavedWallpaperImages(getContext(), mIsLockScreenPicker); + mSavedImages = new SavedWallpaperImages(getContext()); mSavedImages.loadThumbnailsAndImageIdList(); - populateWallpapersFromAdapter(mWallpapersView, mSavedImages, false); + populateWallpapersFromAdapter(mWallpapersView, mSavedImages, true); // theme wallpapers new AsyncTask<Void, Void, ArrayList<ThemeWallpaperInfo>>() { @@ -666,38 +664,25 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } }.execute((Void) null); - // Add a tile for the no wallpaper option - LinearLayout themeList = (LinearLayout) findViewById(R.id.theme_wallpaper_list); - FrameLayout noWallpaperTile = (FrameLayout) getLayoutInflater(). - inflate(R.layout.wallpaper_picker_no_wallpaper_item, themeList, false); - themeList.addView(noWallpaperTile); - NoWallpaperInfo noWallpaperInfo = new NoWallpaperInfo(getDrawable(R.drawable.black), - mIsLockScreenPicker); - noWallpaperTile.setTag(noWallpaperInfo); - noWallpaperInfo.setView(noWallpaperTile); - noWallpaperTile.setOnClickListener(mThumbnailOnClickListener); - - if (!mIsLockScreenPicker) { - // Populate the live wallpapers - final LinearLayout liveWallpapersView = - (LinearLayout) findViewById(R.id.live_wallpaper_list); - final LiveWallpaperListAdapter a = new LiveWallpaperListAdapter(getContext()); - a.registerDataSetObserver(new DataSetObserver() { - public void onChanged() { - liveWallpapersView.removeAllViews(); - populateWallpapersFromAdapter(liveWallpapersView, a, false); - initializeScrollForRtl(); - updateTileIndices(); - } - }); + // Populate the live wallpapers + final LinearLayout liveWallpapersView = + (LinearLayout) findViewById(R.id.live_wallpaper_list); + final LiveWallpaperListAdapter a = new LiveWallpaperListAdapter(getContext()); + a.registerDataSetObserver(new DataSetObserver() { + public void onChanged() { + liveWallpapersView.removeAllViews(); + populateWallpapersFromAdapter(liveWallpapersView, a, false); + initializeScrollForRtl(); + updateTileIndices(); + } + }); - // Populate the third-party wallpaper pickers - final LinearLayout thirdPartyWallpapersView = - (LinearLayout) findViewById(R.id.third_party_wallpaper_list); - final ThirdPartyWallpaperPickerListAdapter ta = - new ThirdPartyWallpaperPickerListAdapter(getContext()); - populateWallpapersFromAdapter(thirdPartyWallpapersView, ta, false); - } + // Populate the third-party wallpaper pickers + final LinearLayout thirdPartyWallpapersView = + (LinearLayout) findViewById(R.id.third_party_wallpaper_list); + final ThirdPartyWallpaperPickerListAdapter ta = + new ThirdPartyWallpaperPickerListAdapter(getContext()); + populateWallpapersFromAdapter(thirdPartyWallpapersView, ta, false); // Add a tile for the Gallery LinearLayout masterWallpaperList = (LinearLayout) findViewById(R.id.master_wallpaper_list); @@ -757,7 +742,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { new View.OnClickListener() { @Override public void onClick(View v) { - // Ensure that a tile is slelected and loaded. + // Ensure that a tile is selected and loaded. if (mSelectedTile != null && mCropView.getTileSource() != null) { // Prevent user from selecting any new tile. mWallpaperStrip.setVisibility(View.GONE); @@ -766,9 +751,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { WallpaperTileInfo info = (WallpaperTileInfo) mSelectedTile.getTag(); info.onSave(WallpaperPickerActivity.this); } else { - // no tile was selected, so we just finish the activity and go back - setResult(Activity.RESULT_OK); - finish(); + // This case shouldn't be possible, since "Set wallpaper" is disabled + // until user clicks on a title. + Log.w(TAG, "\"Set wallpaper\" was clicked when no tile was selected"); } } }); @@ -868,6 +853,10 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { mSetWallpaperButton.setEnabled(enabled); } + public float getWallpaperParallaxOffset() { + return mWallpaperParallaxOffset; + } + @Thunk void selectTile(View v) { if (mSelectedTile != null) { mSelectedTile.setSelected(false); @@ -928,7 +917,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { public void onStop() { super.onStop(); mWallpaperStrip = findViewById(R.id.wallpaper_strip); - if (mWallpaperStrip != null && mWallpaperStrip.getAlpha() < 1f) { + if (mWallpaperStrip.getAlpha() < 1f) { mWallpaperStrip.setAlpha(1f); mWallpaperStrip.setVisibility(View.VISIBLE); } @@ -1017,13 +1006,13 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { BitmapCropTask cropTask; if (uri != null) { cropTask = new BitmapCropTask( - context, uri, null, rotation, width, height, false, false, true, null); + context, uri, null, rotation, width, height, false, true, null); } else if (imageBytes != null) { cropTask = new BitmapCropTask( - imageBytes, null, rotation, width, height, false, false, true, null); + imageBytes, null, rotation, width, height, false, true, null); } else { cropTask = new BitmapCropTask( - context, res, resId, null, rotation, width, height, false, false, true, null); + context, res, resId, null, rotation, width, height, false, true, null); } Point bounds = cropTask.getImageBounds(); if (bounds == null || bounds.x == 0 || bounds.y == 0) { @@ -1041,7 +1030,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { (int) rotatedBounds[0], (int) rotatedBounds[1], width, height, leftAligned); cropTask.setCropBounds(cropRect); - if (cropTask.cropBitmap()) { + if (cropTask.cropBitmap(WallpaperManager.FLAG_SYSTEM)) { return cropTask.getCroppedBitmap(); } else { return null; @@ -1049,12 +1038,31 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } 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(). - inflate(R.layout.wallpaper_picker_item, mWallpapersView, false); - pickedImageThumbnail.setVisibility(View.GONE); - mWallpapersView.addView(pickedImageThumbnail, 0); + // Add a tile for the image picked from Gallery, reusing the existing tile if there is one. + FrameLayout existingImageThumbnail = null; + int indexOfExistingTile = 0; + for (; indexOfExistingTile < mWallpapersView.getChildCount(); indexOfExistingTile++) { + FrameLayout thumbnail = (FrameLayout) mWallpapersView.getChildAt(indexOfExistingTile); + Object tag = thumbnail.getTag(); + if (tag instanceof UriWallpaperInfo && ((UriWallpaperInfo) tag).mUri.equals(uri)) { + existingImageThumbnail = thumbnail; + break; + } + } + final FrameLayout pickedImageThumbnail; + if (existingImageThumbnail != null) { + pickedImageThumbnail = existingImageThumbnail; + // Always move the existing wallpaper to the front so user can see it without scrolling. + mWallpapersView.removeViewAt(indexOfExistingTile); + mWallpapersView.addView(existingImageThumbnail, 0); + } else { + // This is the first time this temporary wallpaper has been added + pickedImageThumbnail = (FrameLayout) getLayoutInflater() + .inflate(R.layout.wallpaper_picker_item, mWallpapersView, false); + pickedImageThumbnail.setVisibility(View.GONE); + mWallpapersView.addView(pickedImageThumbnail, 0); + mTempWallpaperTiles.add(uri); + } // Load the thumbnail final ImageView image = (ImageView) pickedImageThumbnail.findViewById(R.id.wallpaper_image); @@ -1064,7 +1072,8 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { protected Bitmap doInBackground(Void...args) { try { int rotation = BitmapUtils.getRotationFromExif(context, uri); - return createThumbnail(defaultSize, context, uri, null, null, 0, rotation, false); + return createThumbnail(defaultSize, context, uri, null, null, 0, rotation, + false); } catch (SecurityException securityException) { if (isActivityDestroyed()) { // Temporarily granted permissions are revoked when the activity @@ -1092,7 +1101,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } }.execute(); - UriWallpaperInfo info = new UriWallpaperInfo(uri, mIsLockScreenPicker); + UriWallpaperInfo info = new UriWallpaperInfo(uri); pickedImageThumbnail.setTag(info); info.setView(pickedImageThumbnail); addLongPressHandler(pickedImageThumbnail); @@ -1135,47 +1144,48 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { final ArrayList<WallpaperTileInfo> bundled = new ArrayList<WallpaperTileInfo>(24); List<Partner> partners = Partner.getAllPartners(pm); + if (partners == null) { + return bundled; + } + boolean hideDefault = false; - if (partners != null) { - for (Partner partner : partners) { - final Resources partnerRes = partner.getResources(); - final int resId = partnerRes.getIdentifier(Partner.RES_WALLPAPERS, "array", - partner.getPackageName()); - if (resId != 0) { - addWallpapers(bundled, partnerRes, partner.getPackageName(), resId); - } + for (Partner partner : partners) { + final Resources partnerRes = partner.getResources(); + final int resId = partnerRes.getIdentifier(Partner.RES_WALLPAPERS, "array", + partner.getPackageName()); + if (resId != 0) { + addWallpapers(bundled, partnerRes, partner.getPackageName(), resId); + } - // Add system wallpapers - File systemDir = partner.getWallpaperDirectory(); - if (systemDir != null && systemDir.isDirectory()) { - for (File file : systemDir.listFiles()) { - if (!file.isFile()) { - continue; - } - String name = file.getName(); - int dotPos = name.lastIndexOf('.'); - String extension = ""; - if (dotPos >= -1) { - extension = name.substring(dotPos); - name = name.substring(0, dotPos); - } + // Add system wallpapers + File systemDir = partner.getWallpaperDirectory(); + if (systemDir != null && systemDir.isDirectory()) { + for (File file : systemDir.listFiles()) { + if (!file.isFile()) { + continue; + } + String name = file.getName(); + int dotPos = name.lastIndexOf('.'); + String extension = ""; + if (dotPos >= -1) { + extension = name.substring(dotPos); + name = name.substring(0, dotPos); + } - if (name.endsWith("_small")) { - // it is a thumbnail - continue; - } + if (name.endsWith("_small")) { + // it is a thumbnail + continue; + } - File thumbnail = new File(systemDir, name + "_small" + extension); - Bitmap thumb = BitmapFactory.decodeFile(thumbnail.getAbsolutePath()); - if (thumb != null) { - bundled.add(new FileWallpaperInfo(file, new BitmapDrawable(thumb), - mIsLockScreenPicker)); - } + File thumbnail = new File(systemDir, name + "_small" + extension); + Bitmap thumb = BitmapFactory.decodeFile(thumbnail.getAbsolutePath()); + if (thumb != null) { + bundled.add(new FileWallpaperInfo(file, new BitmapDrawable(thumb))); } } - if (partner.hideDefaultWallpaper()) { - hideDefault = true; - } + } + if (partner.hideDefaultWallpaper()) { + hideDefault = true; } } @@ -1189,7 +1199,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } - if (!hideDefault && !mIsLockScreenPicker) { + if (!hideDefault) { // Add an entry for the default wallpaper (stored in system resources) WallpaperTileInfo defaultWallpaperInfo = Utilities.ATLEAST_KITKAT ? getDefaultWallpaper() : getPreKKDefaultWallpaperInfo(); @@ -1197,7 +1207,6 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { bundled.add(0, defaultWallpaperInfo); } } - return bundled; } @@ -1206,9 +1215,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { new ArrayList<ThemeWallpaperInfo>(); ContentResolver cr = getContentResolver(); String[] projection = {ThemesContract.ThemesColumns.PKG_NAME}; - String selection = (mIsLockScreenPicker - ? ThemesContract.ThemesColumns.MODIFIES_LOCKSCREEN - : ThemesContract.ThemesColumns.MODIFIES_LAUNCHER) + "=?"; + String selection = ThemesContract.ThemesColumns.MODIFIES_LAUNCHER + "=?"; String[] selectionArgs = {"1"}; String sortOrder = null; Cursor c = cr.query(ThemesContract.ThemesColumns.CONTENT_URI, projection, selection, @@ -1218,13 +1225,12 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { while (c.moveToNext()) { String pkgName = c.getString( c.getColumnIndexOrThrow(ThemesContract.ThemesColumns.PKG_NAME)); - bmp = Utilities.getThemeWallpaper(this, - mIsLockScreenPicker ? THEME_LOCKSCREEN_PATH: THEME_WALLPAPER_PATH, + bmp = ThemeUtilities.getThemeWallpaper(this, THEME_WALLPAPER_PATH, pkgName, true /* thumb*/); if (bmp != null) { themeWallpapers.add( new ThemeWallpaperInfo(this, pkgName, - new BitmapDrawable(getResources(), bmp), mIsLockScreenPicker)); + new BitmapDrawable(getResources(), bmp))); Log.d("", String.format("Loaded bitmap of size %dx%d for %s", bmp.getWidth(), bmp.getHeight(), pkgName)); @@ -1288,8 +1294,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } } if (defaultWallpaperExists) { - return new ResourceWallpaperInfo(sysRes, resId, new BitmapDrawable(thumb), - mIsLockScreenPicker); + return new ResourceWallpaperInfo(sysRes, resId, new BitmapDrawable(thumb)); } return null; } @@ -1326,11 +1331,14 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { } public Pair<ApplicationInfo, Integer> getWallpaperArrayResourceId() { + // Context.getPackageName() may return the "original" package name, + // org.cyanogenmod.wallpaperpicker; Resources needs the real package name, + // org.cyanogenmod.wallpaperpicker. So we ask Resources for what it thinks the + // package name should be. final String packageName = getResources().getResourcePackageName(R.array.wallpapers); try { - ApplicationInfo info = getContext().getPackageManager() - .getApplicationInfo(packageName, 0); - return new Pair<>(info, R.array.wallpapers); + ApplicationInfo info = getContext().getPackageManager().getApplicationInfo(packageName, 0); + return new Pair<ApplicationInfo, Integer>(info, R.array.wallpapers); } catch (PackageManager.NameNotFoundException e) { return null; } @@ -1346,8 +1354,7 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { if (thumbRes != 0) { ResourceWallpaperInfo wallpaperInfo = - new ResourceWallpaperInfo(res, resId, res.getDrawable(thumbRes), - mIsLockScreenPicker); + new ResourceWallpaperInfo(res, resId, res.getDrawable(thumbRes)); known.add(wallpaperInfo); // Log.d(TAG, "add: [" + packageName + "]: " + extra + " (" + res + ")"); } @@ -1406,20 +1413,9 @@ public class WallpaperPickerActivity extends WallpaperCropActivity { Utilities.startActivityForResultSafely(getActivity(), intent, requestCode); } - public void startPickImageActivity() { - Intent intent = new Intent(Intent.ACTION_GET_CONTENT); - intent.setType("image/*"); - startActivityForResultSafely(intent, IMAGE_PICK); - } - - public boolean hasStoragePermissions() { - return checkCallingOrSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) == - PackageManager.PERMISSION_GRANTED; - } - - public void requestStoragePermissions() { - requestPermissions(new String[] {android.Manifest.permission.READ_EXTERNAL_STORAGE}, - REQUEST_CODE_STORAGE_PERMISSION_CHECK); + @Override + public boolean enableRotation() { + return true; } private static class ThemeWallpapersAdapter extends BaseAdapter implements ListAdapter { diff --git a/src/org/cyanogenmod/wallpaperpicker/util/Thunk.java b/src/org/cyanogenmod/wallpaperpicker/util/Thunk.java index 6f35514..c2d5764 100644 --- a/src/org/cyanogenmod/wallpaperpicker/util/Thunk.java +++ b/src/org/cyanogenmod/wallpaperpicker/util/Thunk.java @@ -40,4 +40,4 @@ import java.lang.annotation.Target; */ @Retention(RetentionPolicy.SOURCE) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.TYPE}) -public @interface Thunk { }
\ No newline at end of file +public @interface Thunk { } |