summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-10-13 10:55:22 -0700
committerSteve Kondik <steve@cyngn.com>2016-10-13 13:31:21 -0700
commit8164b5ce727e99957014bc8cc96f63d8a5629d6b (patch)
treef7e2f451b81595b73530c3a2f85b59f8bccab854
parent3cd562df77bdbeb093d104b92a2a4fdc6413e536 (diff)
downloadandroid_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
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/anim/fade_out.xml24
-rw-r--r--res/drawable/black.pngbin67 -> 0 bytes
-rw-r--r--res/layout/actionbar_set_wallpaper.xml3
-rw-r--r--res/layout/wallpaper_picker.xml2
-rw-r--r--res/layout/wallpaper_picker_no_wallpaper_item.xml40
-rw-r--r--res/values-af/strings.xml13
-rw-r--r--res/values-am/strings.xml13
-rw-r--r--res/values-ar/strings.xml17
-rw-r--r--res/values-ast-rES/strings.xml1
-rw-r--r--res/values-az-rAZ/strings.xml13
-rw-r--r--res/values-b+sr+Latn/strings.xml40
-rw-r--r--res/values-be-rBY/strings.xml41
-rw-r--r--res/values-bg/strings.xml13
-rw-r--r--res/values-bn-rBD/strings.xml13
-rw-r--r--res/values-bs-rBA/strings.xml40
-rw-r--r--res/values-ca/strings.xml13
-rw-r--r--res/values-cs/strings.xml15
-rw-r--r--res/values-da/strings.xml13
-rw-r--r--res/values-de/strings.xml13
-rw-r--r--res/values-el/strings.xml13
-rw-r--r--res/values-en-rAU/strings.xml13
-rw-r--r--res/values-en-rGB/strings.xml13
-rw-r--r--res/values-en-rIN/strings.xml13
-rw-r--r--res/values-es-rUS/strings.xml13
-rw-r--r--res/values-es/strings.xml15
-rw-r--r--res/values-et-rEE/strings.xml13
-rw-r--r--res/values-eu-rES/strings.xml13
-rw-r--r--res/values-fa/strings.xml13
-rw-r--r--res/values-fi/strings.xml13
-rw-r--r--res/values-fr-rCA/strings.xml13
-rw-r--r--res/values-fr/strings.xml13
-rw-r--r--res/values-gl-rES/strings.xml13
-rw-r--r--res/values-gu-rIN/strings.xml13
-rw-r--r--res/values-hi/strings.xml13
-rw-r--r--res/values-hr/strings.xml14
-rw-r--r--res/values-hu/strings.xml13
-rw-r--r--res/values-hy-rAM/strings.xml13
-rw-r--r--res/values-in/strings.xml13
-rw-r--r--res/values-is-rIS/strings.xml13
-rw-r--r--res/values-it/strings.xml13
-rw-r--r--res/values-iw/strings.xml15
-rw-r--r--res/values-ja/strings.xml13
-rw-r--r--res/values-ka-rGE/strings.xml13
-rw-r--r--res/values-kk-rKZ/strings.xml15
-rw-r--r--res/values-km-rKH/strings.xml15
-rw-r--r--res/values-kn-rIN/strings.xml13
-rw-r--r--res/values-ko/strings.xml13
-rw-r--r--res/values-ky-rKG/strings.xml13
-rw-r--r--res/values-lo-rLA/strings.xml13
-rw-r--r--res/values-lt/strings.xml15
-rw-r--r--res/values-lv/strings.xml14
-rw-r--r--res/values-mk-rMK/strings.xml17
-rw-r--r--res/values-ml-rIN/strings.xml15
-rw-r--r--res/values-mn-rMN/strings.xml13
-rw-r--r--res/values-mr-rIN/strings.xml13
-rw-r--r--res/values-ms-rMY/strings.xml13
-rw-r--r--res/values-my-rMM/strings.xml13
-rw-r--r--res/values-nb/strings.xml13
-rw-r--r--res/values-ne-rNP/strings.xml13
-rw-r--r--res/values-nl/strings.xml15
-rw-r--r--res/values-pa-rIN/strings.xml15
-rw-r--r--res/values-pl/strings.xml15
-rw-r--r--res/values-pt-rPT/strings.xml15
-rw-r--r--res/values-pt/strings.xml13
-rw-r--r--res/values-ro/strings.xml14
-rw-r--r--res/values-ru/strings.xml15
-rw-r--r--res/values-si-rLK/strings.xml13
-rw-r--r--res/values-sk/strings.xml15
-rw-r--r--res/values-sl/strings.xml15
-rw-r--r--res/values-sq-rAL/strings.xml13
-rw-r--r--res/values-sr/strings.xml16
-rw-r--r--res/values-sv/strings.xml13
-rw-r--r--res/values-sw/strings.xml13
-rw-r--r--res/values-sw720dp/styles.xml6
-rw-r--r--res/values-ta-rIN/strings.xml13
-rw-r--r--res/values-te-rIN/strings.xml13
-rw-r--r--res/values-th/strings.xml13
-rw-r--r--res/values-tl/strings.xml15
-rw-r--r--res/values-tr/strings.xml13
-rw-r--r--res/values-uk/strings.xml15
-rw-r--r--res/values-ur-rPK/strings.xml13
-rw-r--r--res/values-uz-rUZ/strings.xml13
-rw-r--r--res/values-v21/styles.xml7
-rw-r--r--res/values-vi/strings.xml13
-rw-r--r--res/values-zh-rCN/strings.xml13
-rw-r--r--res/values-zh-rHK/strings.xml13
-rw-r--r--res/values-zh-rTW/strings.xml13
-rw-r--r--res/values-zu/strings.xml13
-rw-r--r--res/values/arrays.xml22
-rw-r--r--res/values/cm_strings.xml (renamed from res/values-sw720dp-v19/styles.xml)12
-rw-r--r--res/values/config.xml2
-rw-r--r--res/values/strings.xml19
-rw-r--r--res/values/styles.xml2
-rw-r--r--src/com/android/gallery3d/common/BitmapCropTask.java183
-rw-r--r--src/com/android/gallery3d/glrenderer/UploadedTexture.java3
-rw-r--r--src/com/android/photos/BitmapRegionTileSource.java47
-rw-r--r--src/com/android/photos/views/TiledImageRenderer.java4
-rw-r--r--src/com/android/photos/views/TiledImageView.java6
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/CropView.java16
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/LiveWallpaperListAdapter.java4
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/NycWallpaperUtils.java70
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/Partner.java21
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/SavedWallpaperImages.java130
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/StylusEventHelper.java2
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/ThemeUtilities.java93
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/ThirdPartyWallpaperPickerListAdapter.java7
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/Utilities.java157
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/WallpaperCropActivity.java163
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/WallpaperPickerActivity.java546
-rw-r--r--src/org/cyanogenmod/wallpaperpicker/util/Thunk.java2
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
deleted file mode 100644
index 6aaccb2..0000000
--- a/res/drawable/black.png
+++ /dev/null
Binary files differ
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 { }