Merge "Workaround for remove stuck (issue 11080792)" into jb-ub-now-jetsonic
diff --git a/res/layout-land/all_apps_cling.xml b/res/layout-land/all_apps_cling.xml
deleted file mode 100644
index 820f00a..0000000
--- a/res/layout-land/all_apps_cling.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-<com.android.launcher3.Cling
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
- launcher:drawIdentifier="all_apps_landscape">
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginStart="40dp"
- android:layout_marginTop="40dp">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- style="@style/ClingTitleText"
- android:id="@+id/all_apps_cling_title"
- android:text="@string/all_apps_cling_title" />
- <TextView
- style="@style/ClingText"
- android:id="@+id/all_apps_cling_add_item"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/all_apps_cling_add_item" />
- </LinearLayout>
- </FrameLayout>
- <Button
- style="@style/ClingButton"
- android:id="@+id/cling_dismiss"
- android:layout_marginBottom="15dp"
- android:layout_marginEnd="10dp"
- android:layout_gravity="bottom|end"
- android:onClick="dismissAllAppsCling" />
-</com.android.launcher3.Cling>
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml
index 77ea2e9..bf670d4 100644
--- a/res/layout-land/launcher.xml
+++ b/res/layout-land/launcher.xml
@@ -36,9 +36,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
- launcher:defaultScreen="@integer/config_workspaceDefaultScreen"
- launcher:pageSpacing="@dimen/workspace_page_spacing"
- launcher:pageIndicator="@id/page_indicator" />
+ launcher:defaultScreen="@integer/config_workspaceDefaultScreen" />
<include layout="@layout/hotseat"
android:id="@+id/hotseat"
diff --git a/res/layout-port/all_apps_cling.xml b/res/layout-port/all_apps_cling.xml
deleted file mode 100644
index 62284ec..0000000
--- a/res/layout-port/all_apps_cling.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-<com.android.launcher3.Cling
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
- launcher:drawIdentifier="all_apps_portrait">
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginStart="20dp"
- android:layout_marginTop="20dp">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- style="@style/ClingTitleText"
- android:id="@+id/all_apps_cling_title"
- android:text="@string/all_apps_cling_title" />
- <TextView
- style="@style/ClingText"
- android:id="@+id/all_apps_cling_add_item"
- android:layout_width="285dp"
- android:layout_height="wrap_content"
- android:text="@string/all_apps_cling_add_item" />
- </LinearLayout>
- </FrameLayout>
- <Button
- style="@style/ClingButton"
- android:id="@+id/cling_dismiss"
- android:layout_marginBottom="15dp"
- android:layout_marginEnd="10dp"
- android:layout_gravity="bottom|end"
- android:onClick="dismissAllAppsCling" />
-</com.android.launcher3.Cling>
diff --git a/res/layout-port/first_run_cling.xml b/res/layout-port/first_run_cling.xml
index 4830e5d..ac3939c 100644
--- a/res/layout-port/first_run_cling.xml
+++ b/res/layout-port/first_run_cling.xml
@@ -39,16 +39,14 @@
android:layout_marginBottom="10dp"
android:text="@string/first_run_cling_title"
android:textColor="#FFFFFFFF"
- android:textSize="30sp"
android:gravity="center" />
<TextView
- style="@style/ClingAltTitleText"
+ style="@style/ClingAltText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/first_run_cling_description"
android:textColor="#80000000"
- android:textSize="16sp"
android:gravity="center" />
</LinearLayout>
<TextView
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index 6fbf7c7..2b3cf81 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -35,8 +35,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:defaultScreen="@integer/config_workspaceDefaultScreen"
- launcher:pageSpacing="@dimen/workspace_page_spacing"
- launcher:pageIndicator="@id/page_indicator">
+ launcher:pageIndicator="@+id/page_indicator">
</com.android.launcher3.Workspace>
<include layout="@layout/hotseat"
diff --git a/res/layout-sw600dp-port/all_apps_cling.xml b/res/layout-sw600dp-port/all_apps_cling.xml
deleted file mode 100644
index cf65e41..0000000
--- a/res/layout-sw600dp-port/all_apps_cling.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-<com.android.launcher3.Cling
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
- launcher:drawIdentifier="all_apps_portrait">
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginStart="20dp"
- android:layout_marginTop="20dp">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- style="@style/ClingTitleText"
- android:id="@+id/all_apps_cling_title"
- android:text="@string/all_apps_cling_title" />
- <TextView
- style="@style/ClingText"
- android:id="@+id/all_apps_cling_add_item"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/all_apps_cling_add_item" />
- </LinearLayout>
- </FrameLayout>
- <Button
- style="@style/ClingButton"
- android:id="@+id/cling_dismiss"
- android:minWidth="168dp"
- android:textSize="24sp"
- android:layout_marginTop="235dp"
- android:layout_marginEnd="36dp"
- android:layout_gravity="top|end"
- android:onClick="dismissAllAppsCling" />
-</com.android.launcher3.Cling>
diff --git a/res/layout-sw720dp/all_apps_cling.xml b/res/layout-sw720dp/all_apps_cling.xml
deleted file mode 100644
index 824d84f..0000000
--- a/res/layout-sw720dp/all_apps_cling.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-<com.android.launcher3.Cling
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
- launcher:drawIdentifier="all_apps_large">
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginStart="@dimen/cling_text_block_offset_x"
- android:layout_marginTop="@dimen/cling_text_block_offset_y">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView
- style="@style/ClingTitleText"
- android:id="@+id/all_apps_cling_title"
- android:text="@string/all_apps_cling_title" />
- <TextView
- style="@style/ClingText"
- android:id="@+id/all_apps_cling_add_item"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/all_apps_cling_add_item" />
- <Button
- style="@style/ClingButton"
- android:id="@+id/cling_dismiss"
- android:layout_marginTop="15dp"
- android:onClick="dismissAllAppsCling" />
- </LinearLayout>
- </FrameLayout>
-</com.android.launcher3.Cling>
diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml
index 951e63a..7dac271 100644
--- a/res/layout-sw720dp/launcher.xml
+++ b/res/layout-sw720dp/launcher.xml
@@ -36,7 +36,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
launcher:defaultScreen="@integer/config_workspaceDefaultScreen"
- launcher:pageSpacing="@dimen/workspace_page_spacing"
launcher:pageIndicator="@id/page_indicator">
</com.android.launcher3.Workspace>
diff --git a/res/layout/apps_customize_pane.xml b/res/layout/apps_customize_pane.xml
index 11a938f..eae216e 100644
--- a/res/layout/apps_customize_pane.xml
+++ b/res/layout/apps_customize_pane.xml
@@ -56,13 +56,12 @@
android:id="@+id/apps_customize_pane_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginBottom="@dimen/apps_customize_page_indicator_offset"
launcher:widgetCountX="@integer/apps_customize_widget_cell_count_x"
launcher:widgetCountY="@integer/apps_customize_widget_cell_count_y"
launcher:clingFocusedX="@integer/apps_customize_cling_focused_x"
launcher:clingFocusedY="@integer/apps_customize_cling_focused_y"
launcher:maxGap="@dimen/workspace_max_gap"
- launcher:pageIndicator="@+id/page_indicator" />
+ launcher:pageIndicator="@+id/apps_customize_page_indicator" />
<FrameLayout
android:id="@+id/animation_buffer"
android:layout_width="match_parent"
@@ -70,12 +69,11 @@
android:background="#FF000000"
android:visibility="gone" />
<include
- android:id="@+id/page_indicator"
+ android:id="@+id/apps_customize_page_indicator"
layout="@layout/page_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="bottom|center_horizontal"
- android:layout_marginBottom="@dimen/apps_customize_page_indicator_margin" />
+ android:layout_gravity="center_horizontal|bottom" />
</FrameLayout>
</LinearLayout>
</com.android.launcher3.AppsCustomizeTabHost>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index e167189..a079a74 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android-kernprogramme"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Stel muurpapier"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Kon nie prent laai nie"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Kon nie prent as muurpapier laai nie"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d gekies"</item>
<item quantity="one" msgid="142482526010824029">"%1$d gekies"</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 6e8aaa4..161597d 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android ዋና መተግበሪያዎች"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"የግድግዳ ወረቀት አዘጋጅ"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"ምስሉን መጫን አልተቻለም"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"ምስሉን እንደ የግድግዳ ወረቀት መጫን አልተቻለም"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d ተመርጧል"</item>
<item quantity="one" msgid="142482526010824029">"%1$d ተመርጧል"</item>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 73ee690..ec60179 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -21,15 +21,17 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="application_name" msgid="5181331383435256801">"Launcher3"</string>
<string name="home" msgid="7658288663002113681">"الرئيسية"</string>
- <string name="uid_name" msgid="7820867637514617527">"تطبيقات Android الأساسية"</string>
+ <string name="uid_name" msgid="7820867637514617527">"تطبيقات Android الأساسية"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"تعيين خلفية"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"تعذر تحميل الصورة"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"تعذر تحميل الصورة كخلفية"</string>
<plurals name="number_of_items_selected">
- <item quantity="zero" msgid="7464587177007785408">"تم تحديد %1$d"</item>
- <item quantity="one" msgid="142482526010824029">"تم تحديد %1$d"</item>
- <item quantity="other" msgid="1418352074806573570">"تم تحديد %1$d"</item>
+ <item quantity="zero" msgid="7464587177007785408">"تم تحديد %1$d"</item>
+ <item quantity="one" msgid="142482526010824029">"تم تحديد %1$d"</item>
+ <item quantity="other" msgid="1418352074806573570">"تم تحديد %1$d"</item>
</plurals>
- <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"الخلفية %1$d من %2$d"</string>
+ <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"الخلفية %1$d من %2$d"</string>
<string name="announce_selection" msgid="8338254712932127413">"تم تحديد <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="8095005658756613921">"حذف"</string>
<string name="pick_image" msgid="1272073934062909527">"اختيار صورة"</string>
@@ -91,11 +93,11 @@
<string name="uninstall_system_app_text" msgid="4172046090762920660">"هذا تطبيق نظام وتتعذر إزالته."</string>
<string name="dream_name" msgid="1530253749244328964">"قاذفة صواريخ"</string>
<string name="folder_hint_text" msgid="6617836969016293992">"مجلد بدون اسم"</string>
- <string name="workspace_description_format" msgid="2950174241104043327">"الشاشة الرئيسية %1$d"</string>
- <string name="default_scroll_format" msgid="7475544710230993317">"الصفحة %1$d من %2$d"</string>
- <string name="workspace_scroll_format" msgid="8458889198184077399">"الشاشة الرئيسية %1$d من %2$d"</string>
- <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحة التطبيقات %1$d من %2$d"</string>
- <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحة الأدوات %1$d من %2$d"</string>
+ <string name="workspace_description_format" msgid="2950174241104043327">"الشاشة الرئيسية %1$d"</string>
+ <string name="default_scroll_format" msgid="7475544710230993317">"الصفحة %1$d من %2$d"</string>
+ <string name="workspace_scroll_format" msgid="8458889198184077399">"الشاشة الرئيسية %1$d من %2$d"</string>
+ <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحة التطبيقات %1$d من %2$d"</string>
+ <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحة الأدوات %1$d من %2$d"</string>
<string name="first_run_cling_title" msgid="7257389003637362144">"مرحبًا!"</string>
<string name="first_run_cling_description" msgid="6447072552696253358">"تصرف على راحتك."</string>
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index ddcf404..4aa90d4 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -28,6 +28,10 @@
<string name="folder_name" msgid="7371454440695724752"></string>
<!-- no translation found for wallpaper_instructions (563973358787555519) -->
<skip />
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<!-- no translation found for number_of_items_selected:zero (7464587177007785408) -->
<!-- no translation found for number_of_items_selected:one (142482526010824029) -->
<!-- no translation found for number_of_items_selected:other (1418352074806573570) -->
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 2f53fa3..b56449e 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Основни приложения на Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Задаване на тапета"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Изображението не можа да бъде заредено"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Изображението не можа да бъде заредено като тапет"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Избрахте %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Избрахте %1$d"</item>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 3400482..2623899 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Aplicacions principals d\'Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Estableix el fons de pantalla"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Seleccionats: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Seleccionats: %1$d"</item>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 1061e79..f2a6634 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Nastavit jako tapetu"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Vybráno: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Vybráno: %1$d"</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 5db246e..dad134d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Kerneapps i Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Angiv baggrund"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Billedet kunne ikke indlæses"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Billedet kunne ikke indlæses som baggrund"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d er valgt"</item>
<item quantity="one" msgid="142482526010824029">"%1$d er valgt"</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 7a5e7e6..bff456b 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Hintergrund auswählen"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Bild konnte nicht geladen werden."</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Bild konnte nicht als Hintergrund geladen werden."</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d ausgewählt"</item>
<item quantity="one" msgid="142482526010824029">"%1$d ausgewählt"</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 74322e0..e3c8397 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Βασικές εφαρμογές Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Ορισμός ταπετσαρίας"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Δεν ήταν δυνατή η φόρτωση της εικόνας"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Δεν ήταν δυνατή η φόρτωση της εικόνας ως ταπετσαρία"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d επιλεγμένα"</item>
<item quantity="one" msgid="142482526010824029">"%1$d επιλεγμένα"</item>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 316585e..2f7f39a 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Set wallpaper"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Coudn\'t load image"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Couldn\'t load image as wallpaper"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selected"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selected"</item>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 316585e..2f7f39a 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Set wallpaper"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Coudn\'t load image"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Couldn\'t load image as wallpaper"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selected"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selected"</item>
diff --git a/res/values-en/dimens.xml b/res/values-en/dimens.xml
new file mode 100644
index 0000000..01d4693
--- /dev/null
+++ b/res/values-en/dimens.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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>
+<!-- Cling -->
+ <dimen name="cling_title_text_size">22sp</dimen>
+ <dimen name="cling_text_size">16sp</dimen>
+ <dimen name="cling_alt_title_text_size">30sp</dimen>
+ <dimen name="cling_alt_text_size">16sp</dimen>
+ <dimen name="cling_hint_text_size">18sp</dimen>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c9a44a9..e09cf6c 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Aplicaciones básicas de Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Establecer como fondo de pantalla"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d seleccionados"</item>
<item quantity="one" msgid="142482526010824029">"%1$d seleccionado"</item>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 193e096..6c0449d 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Aplicaciones básicas de Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Establecer fondo"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"No se ha podido cargar la imagen"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"No se ha podido cargar la imagen como fondo de pantalla"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Seleccionados: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Seleccionados: %1$d"</item>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index f026b08..a96120a 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Androidi tuumrakendused"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Määra taustapilt"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Kujutist ei õnnestunud laadida"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Kujutist ei õnnestunud taustapildina laadida"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Valitud on %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Valitud on %1$d"</item>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 3a0d0b8..c3574ae 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -21,15 +21,17 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="application_name" msgid="5181331383435256801">"Launcher3"</string>
<string name="home" msgid="7658288663002113681">"صفحه اصلی"</string>
- <string name="uid_name" msgid="7820867637514617527">"برنامههای Android Core"</string>
+ <string name="uid_name" msgid="7820867637514617527">"برنامههای Android Core"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"تنظیم کاغذدیواری"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"بارگیری تصویر انجام نشد"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"بارگیری تصویر بهعنوان کاغذدیواری انجام نشد"</string>
<plurals name="number_of_items_selected">
- <item quantity="zero" msgid="7464587177007785408">"%1$d انتخاب شد"</item>
- <item quantity="one" msgid="142482526010824029">"%1$d انتخاب شد"</item>
- <item quantity="other" msgid="1418352074806573570">"%1$d انتخاب شد"</item>
+ <item quantity="zero" msgid="7464587177007785408">"%1$d انتخاب شد"</item>
+ <item quantity="one" msgid="142482526010824029">"%1$d انتخاب شد"</item>
+ <item quantity="other" msgid="1418352074806573570">"%1$d انتخاب شد"</item>
</plurals>
- <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"کاغذ دیواری %1$d از %2$d"</string>
+ <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"کاغذ دیواری %1$d از %2$d"</string>
<string name="announce_selection" msgid="8338254712932127413">"<xliff:g id="LABEL">%1$s</xliff:g> انتخاب شده"</string>
<string name="wallpaper_delete" msgid="8095005658756613921">"حذف"</string>
<string name="pick_image" msgid="1272073934062909527">"انتخاب تصویر"</string>
@@ -38,7 +40,7 @@
<string name="activity_not_found" msgid="8071924732094499514">"برنامه نصب نشده است."</string>
<string name="widgets_tab_label" msgid="2921133187116603919">"ابزارکها"</string>
<string name="widget_adder" msgid="3201040140710381657">"ابزارکها"</string>
- <string name="toggle_weight_watcher" msgid="5645299835184636119">"نمایش Mem"</string>
+ <string name="toggle_weight_watcher" msgid="5645299835184636119">"نمایش Mem"</string>
<string name="long_press_widget_to_add" msgid="7699152356777458215">"برای انتخاب ابزارک لمس کنید و نگه دارید."</string>
<string name="market" msgid="2619650989819296998">"فروشگاه"</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -91,11 +93,11 @@
<string name="uninstall_system_app_text" msgid="4172046090762920660">"این برنامه سیستمی است و حذف نصب نمیشود."</string>
<string name="dream_name" msgid="1530253749244328964">"Rocket Launcher"</string>
<string name="folder_hint_text" msgid="6617836969016293992">"پوشه بینام"</string>
- <string name="workspace_description_format" msgid="2950174241104043327">"صفحه اصلی %1$d"</string>
- <string name="default_scroll_format" msgid="7475544710230993317">"صفحه %1$d از %2$d"</string>
- <string name="workspace_scroll_format" msgid="8458889198184077399">"صفحه اصلی %1$d از %2$d"</string>
- <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحه برنامهها %1$d از %2$d"</string>
- <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحه ابزارکها %1$d از %2$d"</string>
+ <string name="workspace_description_format" msgid="2950174241104043327">"صفحه اصلی %1$d"</string>
+ <string name="default_scroll_format" msgid="7475544710230993317">"صفحه %1$d از %2$d"</string>
+ <string name="workspace_scroll_format" msgid="8458889198184077399">"صفحه اصلی %1$d از %2$d"</string>
+ <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحه برنامهها %1$d از %2$d"</string>
+ <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحه ابزارکها %1$d از %2$d"</string>
<string name="first_run_cling_title" msgid="7257389003637362144">"خوش آمدید!"</string>
<string name="first_run_cling_description" msgid="6447072552696253358">"راحت باشید."</string>
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index d327250..9c95b81 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Androidin ydinsovellukset"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Aseta taustakuva"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Kuvan lataus epäonnistui"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Kuvaa ei voitu ladata taustakuvaksi"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d valittu"</item>
<item quantity="one" msgid="142482526010824029">"%1$d valittu"</item>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 9d8dbeb..c55c756 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Applications de base Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Définir le fond d\'écran"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d sélectionné"</item>
<item quantity="one" msgid="142482526010824029">"%1$d sélectionné"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b1b0a79..b711b3f 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Applications de base Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Définir comme fond d\'écran"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Impossible de charger l\'image."</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Impossible de charger l\'image comme fond d\'écran."</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d fond d\'écran sélectionné"</item>
<item quantity="one" msgid="142482526010824029">"%1$d fond d\'écran sélectionné"</item>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index eddd75c..fa2de49 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android के मुख्य एप्लिकेशन"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"वॉलपेपर सेट करें"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"चित्र लोड नहीं किया जा सका"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"चित्र को वॉलपेपर के रूप में लोड नहीं किया जा सका"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d चयनित"</item>
<item quantity="one" msgid="142482526010824029">"%1$d चयनित"</item>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 783946d..be85df9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Matične aplikacije za Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Postavi pozadinsku sliku"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Odabrano: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Odabrano: %1$d"</item>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 8876652..70b83e9 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Alap Android-alkalmazások"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Háttérkép beállítása"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"A kép betöltése nem sikerült"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"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="7464587177007785408">"%1$d kiválasztva"</item>
<item quantity="one" msgid="142482526010824029">"%1$d kiválasztva"</item>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index ab7388a..a07c985 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Սահմանել պաստառը"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Չհաջողվեց բեռնել նկարը"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Չհաջողվեց նկարը սահմանել որպես պաստառ"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d ընտրված"</item>
<item quantity="one" msgid="142482526010824029">"%1$d ընտրված"</item>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index e1e93f7..c03b685 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Aplikasi Inti Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Setel wallpaper"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d dipilih"</item>
<item quantity="one" msgid="142482526010824029">"%1$d dipilih"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d5ada8f..e5b76e0 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Applicazioni di base Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Imposta sfondo"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Impossibile caricare l\'immagine"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Impossibile caricare l\'immagine come sfondo"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selezionati"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selezionato"</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 603dbb5..cb58ffc 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -21,15 +21,17 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="application_name" msgid="5181331383435256801">"Launcher3"</string>
<string name="home" msgid="7658288663002113681">"דף הבית"</string>
- <string name="uid_name" msgid="7820867637514617527">"אפליקציות הליבה של Android"</string>
+ <string name="uid_name" msgid="7820867637514617527">"אפליקציות הליבה של Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
- <string name="wallpaper_instructions" msgid="563973358787555519">"הגדר טפט"</string>
+ <string name="wallpaper_instructions" msgid="563973358787555519">"בחר טפט"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"לא ניתן היה לטעון את התמונה"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"לא ניתן היה לטעון את התמונה כטפט"</string>
<plurals name="number_of_items_selected">
- <item quantity="zero" msgid="7464587177007785408">"%1$d נבחרו"</item>
- <item quantity="one" msgid="142482526010824029">"%1$d נבחרו"</item>
- <item quantity="other" msgid="1418352074806573570">"%1$d נבחרו"</item>
+ <item quantity="zero" msgid="7464587177007785408">"%1$d נבחרו"</item>
+ <item quantity="one" msgid="142482526010824029">"%1$d נבחרו"</item>
+ <item quantity="other" msgid="1418352074806573570">"%1$d נבחרו"</item>
</plurals>
- <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"טפט %1$d מתוך %2$d"</string>
+ <string name="wallpaper_accessibility_name" msgid="1655953108132967972">"טפט %1$d מתוך %2$d"</string>
<string name="announce_selection" msgid="8338254712932127413">"בחרת <xliff:g id="LABEL">%1$s</xliff:g>"</string>
<string name="wallpaper_delete" msgid="8095005658756613921">"מחק"</string>
<string name="pick_image" msgid="1272073934062909527">"בחר תמונה"</string>
@@ -91,11 +93,11 @@
<string name="uninstall_system_app_text" msgid="4172046090762920660">"זוהי אפליקציית מערכת ולא ניתן להסיר את התקנתה."</string>
<string name="dream_name" msgid="1530253749244328964">"Rocket Launcher"</string>
<string name="folder_hint_text" msgid="6617836969016293992">"תיקיה ללא שם"</string>
- <string name="workspace_description_format" msgid="2950174241104043327">"מסך דף הבית %1$d"</string>
- <string name="default_scroll_format" msgid="7475544710230993317">"דף %1$d מתוך %2$d"</string>
- <string name="workspace_scroll_format" msgid="8458889198184077399">"מסך דף הבית %1$d מתוך %2$d"</string>
- <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"דף אפליקציות %1$d מתוך %2$d"</string>
- <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"דף רכיבי ווידג\'ט %1$d מתוך %2$d"</string>
+ <string name="workspace_description_format" msgid="2950174241104043327">"מסך דף הבית %1$d"</string>
+ <string name="default_scroll_format" msgid="7475544710230993317">"דף %1$d מתוך %2$d"</string>
+ <string name="workspace_scroll_format" msgid="8458889198184077399">"מסך דף הבית %1$d מתוך %2$d"</string>
+ <string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"דף אפליקציות %1$d מתוך %2$d"</string>
+ <string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"דף רכיבי ווידג\'ט %1$d מתוך %2$d"</string>
<string name="first_run_cling_title" msgid="7257389003637362144">"ברוך הבא!"</string>
<string name="first_run_cling_description" msgid="6447072552696253358">"להרגיש בבית."</string>
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 6e39c54..563e3b6 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"壁紙を設定"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d件選択済み"</item>
<item quantity="one" msgid="142482526010824029">"%1$d件選択済み"</item>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index a2e3374..806504b 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android-ის ბირთვის აპები"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"ფონის დაყენება"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"არჩეულია %1$d"</item>
<item quantity="one" msgid="142482526010824029">"არჩეულია %1$d"</item>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 977b2dd..8a23c54 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"កម្មវិធីសំខាន់ៗរបស់ Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"កំណត់ផ្ទាំងរូបភាព"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"មិនអាចផ្ទុករូបភាព"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"មិនអាចផ្ទុករូបភាពជាផ្ទាំងរូបភាព"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"បានជ្រើស %1$d"</item>
<item quantity="one" msgid="142482526010824029">"បានជ្រើស %1$d"</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 31c2d69..574d1ae 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android 핵심 앱"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"배경화면 설정"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d개 선택됨"</item>
<item quantity="one" msgid="142482526010824029">"%1$d개 선택됨"</item>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 5961b19..07d9279 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -19,11 +19,6 @@
<dimen name="toolbar_button_vertical_padding">8dip</dimen>
<dimen name="toolbar_button_horizontal_padding">0dip</dimen>
-<!-- Workspace -->
- <!-- We really want the page spacing to be the max of either the button bar
- height or the qsb bar height -->
- <dimen name="workspace_page_spacing">-1dp</dimen>
-
<!-- AppsCustomize -->
<dimen name="apps_customize_tab_bar_height">42dp</dimen>
<integer name="apps_customize_widget_cell_count_x">3</integer>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index e3a95dd..8215d7b 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"ແອັບພລິເຄຊັນຫຼັກຂອງ Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"ຕັ້ງເປັນພາບພື້ນຫຼັງ"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"ບໍ່ສາມາດໂຫຼດຮູບພາບໄດ້"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"ບໍ່ສາມາດໂຫຼດຮູບພາບເປັນຮູບພື້ນຫຼັງໄດ້"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"ເລືອກ %1$d ລາຍການແລ້ວ"</item>
<item quantity="one" msgid="142482526010824029">"ເລືອກ %1$d ລາຍການແລ້ວ"</item>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 80d4412..e7c78ce 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Pagrindinės „Android“ programos"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Nustatyti ekrano foną"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Nepavyko įkelti vaizdo"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Nepavyko įkelti vaizdo kaip ekrano fono"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Pasirinkta: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Pasirinkta: %1$d"</item>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index b70f5dc..8af03ca 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android pamatlietotnes"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Iestatīt fona tapeti"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Nevarēja ielādēt attēlu."</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Nevarēja ielādēt attēlu kā fona tapeti."</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Atlasīti: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Atlasīti: %1$d"</item>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 7cf7a9c..d30c3fa 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Андройд үндсэн апп"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Ханын зургийг тохируулах"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d сонгогдсон"</item>
<item quantity="one" msgid="142482526010824029">"%1$d сонгогдсон"</item>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 4ee3545..7658735 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Apl Teras Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Tetapkan kertas dinding"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Tidak dapat memuatkan imej"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Tidak dapat memuatkan imej sebagai kertas dinding"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d dipilih"</item>
<item quantity="one" msgid="142482526010824029">"%1$d dipilih"</item>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index ce50754..d00c846 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Kjerneapper for Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Angi bakgrunn"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Kunne ikke laste inn bildet"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Kunne ikke laste inn bildet som bakgrunn"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d valgt"</item>
<item quantity="one" msgid="142482526010824029">"%1$d valgt"</item>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index e2a2a07..a47b0e1 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android-kernapps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Achtergrond instellen"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d geselecteerd"</item>
<item quantity="one" msgid="142482526010824029">"%1$d geselecteerd"</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index b629f3d..b920993 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Główne aplikacje Androida"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Ustaw tapetę"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Nie udało się załadować obrazu"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Nie udało się załadować obrazu jako tapety"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Wybrane: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Wybrane: %1$d"</item>
diff --git a/res/values-port/dimens.xml b/res/values-port/dimens.xml
index 7194a2a..7753ab3 100644
--- a/res/values-port/dimens.xml
+++ b/res/values-port/dimens.xml
@@ -15,9 +15,6 @@
-->
<resources>
-<!-- Workspace -->
- <dimen name="workspace_page_spacing">-1dp</dimen>
-
<!-- AppsCustomize -->
<integer name="apps_customize_cling_focused_x">1</integer>
<integer name="apps_customize_cling_focused_y">1</integer>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 1ef3982..fb5cca9 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Aplicações principais do Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Definir imagem fundo"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Não foi possível carregar a imagem"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Não foi possível carregar a imagem como imagem de fundo"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selecionado(s)"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selecionado(s)"</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 4d40388..e429b93 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Principais aplicativos do Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Definir plano de fundo"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Não foi possível carregar a imagem"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Não foi possível carregar a imagem como plano de fundo"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selecionados"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selecionados"</item>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index ddcf404..4aa90d4 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -28,6 +28,10 @@
<string name="folder_name" msgid="7371454440695724752"></string>
<!-- no translation found for wallpaper_instructions (563973358787555519) -->
<skip />
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<!-- no translation found for number_of_items_selected:zero (7464587177007785408) -->
<!-- no translation found for number_of_items_selected:one (142482526010824029) -->
<!-- no translation found for number_of_items_selected:other (1418352074806573570) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 78d9da4..c05e95e 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Setați imaginea de fundal"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Nu s-a putut încărca imaginea"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Nu s-a putut încărca imaginea ca fundal"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d selectate"</item>
<item quantity="one" msgid="142482526010824029">"%1$d selectat"</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 06fbd26..89da225 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Основные приложения Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Установить как обои"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Выбрано: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Выбрано: %1$d"</item>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 29de526..01c7203 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Nastaviť tapetu"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Počet vybratých položiek: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Počet vybratých položiek: %1$d"</item>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 021eca8..ac4f9e5 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Osnovne aplikacije sistema Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Nastavi ozadje"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Slike ni bilo mogoče naložiti"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Slike ni bilo mogoče naložiti kot ozadja"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Št. izbranih: %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Št. izbranih: %1$d"</item>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 06d80ef..8af530c 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Основне Android апликације"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Подеси позадину"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Изабранo je %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Изабрана je %1$d"</item>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index bf75200..93ebb2d 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Ange bakgrund"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Det gick inte att läsa in bilden"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Det gick inte att läsa in bilden som bakgrund"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d har valts"</item>
<item quantity="one" msgid="142482526010824029">"%1$d har valts"</item>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d78b536..7cd66e7 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Programu Msingi za Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Weka mandhari"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Haikuweza kupakia picha"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Haikuweza kupakia picha kama mandhari"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d zimechaguliwa"</item>
<item quantity="one" msgid="142482526010824029">"%1$d zimechaguliwa"</item>
@@ -107,7 +109,7 @@
<string name="workspace_cling_move_item" msgid="528201129978005352">"Gusa na ushikilie mandharinyuma ili udhibiti mandhari, wijeti, na mipangilio."</string>
<string name="all_apps_cling_title" msgid="34929250753095858">"Chagua programu kadhaa"</string>
<string name="all_apps_cling_add_item" msgid="400866858451850784">"Ili kuongeza programu kwenye Skrini yako Kuu, iguse na uishikilie."</string>
- <string name="folder_cling_title" msgid="3894908818693254164">"Folda hii hapa"</string>
+ <string name="folder_cling_title" msgid="3894908818693254164">"Hii ni folda"</string>
<string name="folder_cling_create_folder" msgid="6158215559475836131">"Ili kuunda kama hii, gusa na ushikilie programu, kisha ipitishe juu ya nyingine."</string>
<string name="cling_dismiss" msgid="8962359497601507581">"SAWA"</string>
<string name="folder_opened" msgid="94695026776264709">"Folda imefunguliwa, <xliff:g id="WIDTH">%1$d</xliff:g> kwa <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index 7f5594d..f9ca01b 100644
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -15,12 +15,6 @@
-->
<resources>
-<!-- AppsCustomize -->
- <dimen name="apps_customize_pageLayoutWidthGap">36dp</dimen>
- <dimen name="apps_customize_pageLayoutHeightGap">8dp</dimen>
- <dimen name="apps_customize_pageLayoutPaddingTop">20dp</dimen>
- <dimen name="apps_customize_pageLayoutPaddingBottom">14dp</dimen>
-
<!-- QSB -->
<dimen name="toolbar_button_vertical_padding">12dip</dimen>
<dimen name="toolbar_button_horizontal_padding">20dip</dimen>
diff --git a/res/values-sw720dp-land/dimens.xml b/res/values-sw720dp-land/dimens.xml
index eb8f83c..433a5d4 100644
--- a/res/values-sw720dp-land/dimens.xml
+++ b/res/values-sw720dp-land/dimens.xml
@@ -21,9 +21,6 @@
<integer name="apps_customize_cling_focused_x">4</integer>
<integer name="apps_customize_cling_focused_y">2</integer>
-<!-- Workspace -->
- <dimen name="workspace_page_spacing">50dp</dimen>
-
<!-- the area at the edge of the screen that makes the workspace go left
or right while you're dragging. -->
<dimen name="scroll_zone">100dip</dimen>
diff --git a/res/values-sw720dp-port/dimens.xml b/res/values-sw720dp-port/dimens.xml
index 62bdaaa..9fe312b 100644
--- a/res/values-sw720dp-port/dimens.xml
+++ b/res/values-sw720dp-port/dimens.xml
@@ -19,7 +19,6 @@
<!-- the area at the edge of the screen that makes the workspace go left
or right while you're dragging. -->
<dimen name="scroll_zone">40dp</dimen>
- <dimen name="workspace_page_spacing">24dp</dimen>
<integer name="apps_customize_cling_focused_x">2</integer>
<integer name="apps_customize_cling_focused_y">2</integer>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 68118a7..6e693ec 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"แอปหลักของแอนดรอยด์"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"ตั้งค่าวอลเปเปอร์"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"เลือกไว้ %1$d"</item>
<item quantity="one" msgid="142482526010824029">"เลือกไว้ %1$d"</item>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 56801b4..3a6096b 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android Core Apps"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Itakda ang wallpaper"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d ang napili"</item>
<item quantity="one" msgid="142482526010824029">"%1$d ang napili"</item>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index dbbdee2..89f70d7 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android Çekirdek Uygulamaları"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Duvar kağıdını ayarla"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d tane seçildi"</item>
<item quantity="one" msgid="142482526010824029">"%1$d tane seçildi"</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e0f3211..3be6935 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Базові програми Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Установити фон"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Не вдалося завантажити зображення"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Не вдалося завантажити зображення як фоновий малюнок"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Вибрано %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Вибрано %1$d"</item>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3b081d0..12eeef2 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Ứng dụng lõi Android"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Đặt hình nền"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"Đã chọn %1$d"</item>
<item quantity="one" msgid="142482526010824029">"Đã chọn %1$d"</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 43a57c4..4ab9b58 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -24,6 +24,10 @@
<string name="uid_name" msgid="7820867637514617527">"Android 核心应用"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"设置壁纸"</string>
+ <!-- no translation found for image_load_fail (2821429163328561136) -->
+ <skip />
+ <!-- no translation found for wallpaper_load_fail (1261270681127096352) -->
+ <skip />
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"已选择%1$d项"</item>
<item quantity="one" msgid="142482526010824029">"已选择%1$d项"</item>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index eb3def4..2a1f7db 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android 核心應用程式"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"設定桌布"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"無法載入圖片"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"無法載入設為桌布的圖片"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"已選取 %1$d 個"</item>
<item quantity="one" msgid="142482526010824029">"已選取 %1$d 個"</item>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index a68f163..6a0c18f 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Android 核心應用程式"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"設定桌布"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"無法載入圖片"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"無法載入設為桌布的圖片"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"已選取 %1$d 個項目"</item>
<item quantity="one" msgid="142482526010824029">"已選取 %1$d 個項目"</item>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index da790e6..27e42ae 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -24,6 +24,8 @@
<string name="uid_name" msgid="7820867637514617527">"Izinhlelo zokusebenza ze-Android Core"</string>
<string name="folder_name" msgid="7371454440695724752"></string>
<string name="wallpaper_instructions" msgid="563973358787555519">"Setha isithombe sangemuva"</string>
+ <string name="image_load_fail" msgid="2821429163328561136">"Ayikwazanga ukulayisha isithombe"</string>
+ <string name="wallpaper_load_fail" msgid="1261270681127096352">"Ayikwazanga ukulayisha isithombe njengesithombe sangemuva"</string>
<plurals name="number_of_items_selected">
<item quantity="zero" msgid="7464587177007785408">"%1$d khethiwe"</item>
<item quantity="one" msgid="142482526010824029">"%1$d khethiwe"</item>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index a2d3a83..0006a74 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -103,8 +103,7 @@
<attr name="pageLayoutPaddingBottom" format="dimension" />
<attr name="pageLayoutPaddingLeft" format="dimension" />
<attr name="pageLayoutPaddingRight" format="dimension" />
- <!-- The space between adjacent pages of the PagedView. -->
- <attr name="pageSpacing" format="dimension" />
+
<!-- The page indicator for this workspace -->
<attr name="pageIndicator" format="reference" />
</declare-styleable>
diff --git a/res/values/config.xml b/res/values/config.xml
index 4978281..1a83556 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -1,4 +1,10 @@
<resources>
+<!-- Dynamic Grid -->
+ <integer name="config_dynamic_grid_max_long_edge_cell_count">6</integer>
+ <integer name="config_dynamic_grid_max_short_edge_cell_count">5</integer>
+ <integer name="config_dynamic_grid_min_edge_cell_count">3</integer>
+
+<!-- Miscellaneous -->
<bool name="config_largeHeap">false</bool>
<bool name="is_tablet">false</bool>
<bool name="is_large_tablet">false</bool>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index dcddc09..740393e 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -21,6 +21,8 @@
<dimen name="dynamic_grid_search_bar_height">48dp</dimen>
<dimen name="dynamic_grid_page_indicator_height">24dp</dimen>
<dimen name="dynamic_grid_icon_drawable_padding">4dp</dimen>
+ <dimen name="dynamic_grid_all_apps_cell_padding">18dp</dimen>
+ <dimen name="dynamic_grid_workspace_page_spacing">8dp</dimen>
<!-- Wallpaper picker -->
<dimen name="wallpaperThumbnailWidth">106.5dp</dimen>
@@ -37,11 +39,16 @@
<add-resource type="dimen" name="custom_cling_margin_top" />
<add-resource type="dimen" name="custom_cling_margin_right" />
<add-resource type="dimen" name="custom_cling_margin_left" />
+
+ <dimen name="cling_title_text_size">20sp</dimen>
+ <dimen name="cling_text_size">14sp</dimen>
+ <dimen name="cling_alt_title_text_size">24sp</dimen>
+ <dimen name="cling_alt_text_size">16sp</dimen>
+ <dimen name="cling_hint_text_size">14sp</dimen>
<!-- Workspace -->
<dimen name="workspace_max_gap">16dp</dimen>
<dimen name="workspace_overscroll_drawable_padding">0dp</dimen>
- <dimen name="workspace_spring_loaded_page_spacing">15dp</dimen>
<dimen name="overview_panel_bottom_padding">50dp</dimen>
<dimen name="overview_panel_buttonSpacing">60dp</dimen>
<dimen name="overview_mode_page_offset">130dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1997c8b..30f4d8f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -238,7 +238,7 @@
<string name="apps_customize_widgets_scroll_format">Widgets page %1$d of %2$d</string>
<!-- Clings -->
- <!-- The title text for the workspace cling [CHAR_LIMIT=60] -->
+ <!-- The title text for the workspace cling [CHAR_LIMIT=30] -->
<string name="first_run_cling_title">Welcome!</string>
<!-- The description of how to use the workspace [CHAR_LIMIT=60] -->
<string name="first_run_cling_description">Make yourself at home.</string>
@@ -248,17 +248,13 @@
<string name="first_run_cling_search_bar_hint"></string>
<!-- The description of how to use the workspace [CHAR_LIMIT=60] -->
<string name="first_run_cling_create_screens_hint">Create more screens for apps and folders</string>
- <!-- The title text for the workspace cling [CHAR_LIMIT=60] -->
+ <!-- The title text for the workspace cling [CHAR_LIMIT=30] -->
<string name="workspace_cling_title">Organize your space</string>
- <!-- The description of how to use the workspace [CHAR_LIMIT=160] -->
+ <!-- The description of how to use the workspace [CHAR_LIMIT=70] -->
<string name="workspace_cling_move_item">Touch & hold background to manage wallpaper, widgets and settings.</string>
- <!-- The title text for the All Apps cling [CHAR_LIMIT=60] -->
- <string name="all_apps_cling_title">Choose some apps</string>
- <!-- The description of how to pick up and add an item to the workspace [CHAR_LIMIT=160] -->
- <string name="all_apps_cling_add_item">To add an app to your Home screen, touch & hold it.</string>
- <!-- The title text for the Folder cling [CHAR_LIMIT=60] -->
+ <!-- The title text for the Folder cling [CHAR_LIMIT=30] -->
<string name="folder_cling_title">Here\'s a folder</string>
- <!-- The description of how to create a folder [CHAR_LIMIT=160] -->
+ <!-- The description of how to create a folder [CHAR_LIMIT=70] -->
<string name="folder_cling_create_folder">To create one like this, touch & hold an app, then move it over another.</string>
<!-- The text on the button to dismiss a cling [CHAR_LIMIT=30] -->
<string name="cling_dismiss">OK</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 39e55d8..8226915 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -52,27 +52,33 @@
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">5dp</item>
- <item name="android:textSize">22sp</item>
+ <item name="android:textSize">@dimen/cling_title_text_size</item>
<item name="android:textColor">#ffffff</item>
<item name="android:fontFamily">sans-serif-condensed</item>
</style>
- <style name="ClingAltTitleText">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:textSize">24sp</item>
- <item name="android:textColor">#49C0EC</item>
- </style>
<style name="ClingText">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
- <item name="android:textSize">16sp</item>
+ <item name="android:textSize">@dimen/cling_text_size</item>
<item name="android:textColor">#80000000</item>
<item name="android:lineSpacingMultiplier">1.1</item>
</style>
+ <style name="ClingAltTitleText">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textSize">@dimen/cling_alt_title_text_size</item>
+ <item name="android:textColor">#49C0EC</item>
+ </style>
+ <style name="ClingAltText">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textSize">@dimen/cling_alt_text_size</item>
+ <item name="android:textColor">#49C0EC</item>
+ </style>
<style name="ClingHintText">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
- <item name="android:textSize">18sp</item>
+ <item name="android:textSize">@dimen/cling_hint_text_size</item>
<item name="android:textColor">#80ffffff</item>
<item name="android:fontFamily">sans-serif-condensed</item>
</style>
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java
index 25cd9f2..d9ca157 100644
--- a/src/com/android/launcher3/AppsCustomizePagedView.java
+++ b/src/com/android/launcher3/AppsCustomizePagedView.java
@@ -187,6 +187,7 @@
private PagedViewCellLayout mWidgetSpacingLayout;
private int mNumAppsPages;
private int mNumWidgetPages;
+ private Rect mAllAppsPadding = new Rect();
// Relating to the scroll and overscroll effects
Workspace.ZInterpolator mZInterpolator = new Workspace.ZInterpolator(0.5f);
@@ -293,6 +294,13 @@
grid.edgeMarginPx, 2 * grid.edgeMarginPx);
}
+ void setAllAppsPadding(Rect r) {
+ mAllAppsPadding.set(r);
+ }
+ void setWidgetsPageIndicatorPadding(int pageIndicatorHeight) {
+ mPageLayoutPaddingBottom = pageIndicatorHeight;
+ }
+
/** Returns the item index of the center item on this page so that we can restore to this
* item index when we rotate. */
private int getMiddleComponentIndexOnCurrentPage() {
@@ -995,6 +1003,8 @@
int heightSpec = MeasureSpec.makeMeasureSpec(mContentHeight, MeasureSpec.AT_MOST);
layout.setMinimumWidth(getPageContentWidth());
layout.measure(widthSpec, heightSpec);
+ layout.setPadding(mAllAppsPadding.left, mAllAppsPadding.top, mAllAppsPadding.right,
+ mAllAppsPadding.bottom);
setVisibilityOnChildren(layout, View.VISIBLE);
}
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index bf1e9c9..df16d41 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -76,6 +76,7 @@
private int mHeightGap;
private int mMaxGap;
private boolean mScrollingTransformsDirty = false;
+ private boolean mDropPending = false;
private final Rect mRect = new Rect();
private final CellInfo mCellInfo = new CellInfo();
@@ -332,6 +333,14 @@
mShortcutsAndWidgets.setInvertIfRtl(invert);
}
+ public void setDropPending(boolean pending) {
+ mDropPending = pending;
+ }
+
+ public boolean isDropPending() {
+ return mDropPending;
+ }
+
private void invalidateBubbleTextView(BubbleTextView icon) {
final int padding = icon.getPressedOrFocusedBackgroundPadding();
invalidate(icon.getLeft() + getPaddingLeft() - padding,
diff --git a/src/com/android/launcher3/DynamicGrid.java b/src/com/android/launcher3/DynamicGrid.java
index d90deca..9b3b193 100644
--- a/src/com/android/launcher3/DynamicGrid.java
+++ b/src/com/android/launcher3/DynamicGrid.java
@@ -84,12 +84,18 @@
int heightPx;
int availableWidthPx;
int availableHeightPx;
+ int defaultPageSpacingPx;
int iconSizePx;
int iconTextSizePx;
int iconDrawablePaddingPx;
int cellWidthPx;
int cellHeightPx;
+ int allAppsIconSizePx;
+ int allAppsIconTextSizePx;
+ int allAppsCellWidthPx;
+ int allAppsCellHeightPx;
+ int allAppsCellPaddingPx;
int folderBackgroundOffset;
int folderIconSizePx;
int folderCellWidthPx;
@@ -132,21 +138,26 @@
float minWidth, float minHeight,
int wPx, int hPx,
int awPx, int ahPx,
- Resources resources) {
- DisplayMetrics dm = resources.getDisplayMetrics();
+ Resources res) {
+ DisplayMetrics dm = res.getDisplayMetrics();
ArrayList<DeviceProfileQuery> points =
new ArrayList<DeviceProfileQuery>();
transposeLayoutWithOrientation =
- resources.getBoolean(R.bool.hotseat_transpose_layout_with_orientation);
+ res.getBoolean(R.bool.hotseat_transpose_layout_with_orientation);
minWidthDps = minWidth;
minHeightDps = minHeight;
ComponentName cn = new ComponentName(context.getPackageName(),
this.getClass().getName());
defaultWidgetPadding = AppWidgetHostView.getDefaultPaddingForWidget(context, cn, null);
- edgeMarginPx = resources.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin);
+ edgeMarginPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_edge_margin);
desiredWorkspaceLeftRightMarginPx = 2 * edgeMarginPx;
- pageIndicatorHeightPx = resources.getDimensionPixelSize(R.dimen.dynamic_grid_page_indicator_height);
+ pageIndicatorHeightPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_page_indicator_height);
+ defaultPageSpacingPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_workspace_page_spacing);
+ allAppsCellPaddingPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_all_apps_cell_padding);
// Interpolate the rows
for (DeviceProfile p : profiles) {
@@ -173,6 +184,8 @@
points.add(new DeviceProfileQuery(p.minWidthDps, p.minHeightDps, p.iconSize));
}
iconSize = invDistWeightedInterpolate(minWidth, minHeight, points);
+ // AllApps uses the original non-scaled icon size
+ allAppsIconSizePx = DynamicGrid.pxFromDp(iconSize, dm);
// Interpolate the icon text size
points.clear();
@@ -180,7 +193,10 @@
points.add(new DeviceProfileQuery(p.minWidthDps, p.minHeightDps, p.iconTextSize));
}
iconTextSize = invDistWeightedInterpolate(minWidth, minHeight, points);
- iconDrawablePaddingOriginalPx = resources.getDimensionPixelSize(R.dimen.dynamic_grid_icon_drawable_padding);
+ iconDrawablePaddingOriginalPx =
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_icon_drawable_padding);
+ // AllApps uses the original non-scaled icon text size
+ allAppsIconTextSizePx = DynamicGrid.pxFromDp(iconTextSize, dm);
// Interpolate the hotseat icon size
points.clear();
@@ -191,7 +207,7 @@
hotseatIconSize = invDistWeightedInterpolate(minWidth, minHeight, points);
// Calculate the remaining vars
- updateFromConfiguration(context, resources, wPx, hPx, awPx, ahPx);
+ updateFromConfiguration(context, res, wPx, hPx, awPx, ahPx);
updateAvailableDimensions(context);
}
@@ -304,14 +320,23 @@
CellLayout.LANDSCAPE : CellLayout.PORTRAIT);
int pageIndicatorOffset =
resources.getDimensionPixelSize(R.dimen.apps_customize_page_indicator_offset);
- if (isLandscape) {
- allAppsNumRows = (availableHeightPx - pageIndicatorOffset - 4 * edgeMarginPx) /
- (iconSizePx + iconTextSizePx + 2 * edgeMarginPx);
- } else {
- allAppsNumRows = (int) numRows + 1;
- }
- allAppsNumCols = (availableWidthPx - padding.left - padding.right - 2 * edgeMarginPx) /
- (iconSizePx + 2 * edgeMarginPx);
+ allAppsCellWidthPx = allAppsIconSizePx;
+ allAppsCellHeightPx = allAppsIconSizePx + drawablePadding + iconTextSizePx;
+ int maxLongEdgeCellCount =
+ resources.getInteger(R.integer.config_dynamic_grid_max_long_edge_cell_count);
+ int maxShortEdgeCellCount =
+ resources.getInteger(R.integer.config_dynamic_grid_max_short_edge_cell_count);
+ int minEdgeCellCount =
+ resources.getInteger(R.integer.config_dynamic_grid_min_edge_cell_count);
+ int maxRows = (isLandscape ? maxShortEdgeCellCount : maxLongEdgeCellCount);
+ int maxCols = (isLandscape ? maxLongEdgeCellCount : maxShortEdgeCellCount);
+
+ allAppsNumRows = (availableHeightPx - pageIndicatorHeightPx) /
+ (allAppsCellHeightPx + allAppsCellPaddingPx);
+ allAppsNumRows = Math.max(minEdgeCellCount, Math.min(maxRows, allAppsNumRows));
+ allAppsNumCols = (availableWidthPx) /
+ (allAppsCellWidthPx + allAppsCellPaddingPx);
+ allAppsNumCols = Math.max(minEdgeCellCount, Math.min(maxCols, allAppsNumCols));
}
void updateFromConfiguration(Context context, Resources resources, int wPx, int hPx,
@@ -382,6 +407,7 @@
Rect getWorkspacePadding() {
return getWorkspacePadding(isLandscape ? CellLayout.LANDSCAPE : CellLayout.PORTRAIT);
}
+
Rect getWorkspacePadding(int orientation) {
Rect padding = new Rect();
if (orientation == CellLayout.LANDSCAPE &&
@@ -415,6 +441,19 @@
return padding;
}
+ int getWorkspacePageSpacing(int orientation) {
+ if (orientation == CellLayout.LANDSCAPE &&
+ transposeLayoutWithOrientation) {
+ // In landscape mode the page spacing is set to the default.
+ return defaultPageSpacingPx;
+ } else {
+ // In portrait, we want the pages spaced such that there is no
+ // overhang of the previous / next page into the current page viewport.
+ // We assume symmetrical padding in portrait mode.
+ return getWorkspacePadding().left;
+ }
+ }
+
// The rect returned will be extended to below the system ui that covers the workspace
Rect getHotseatRect() {
if (isVerticalBarLayout()) {
@@ -447,6 +486,10 @@
return isLandscape && transposeLayoutWithOrientation;
}
+ boolean shouldFadeAdjacentWorkspaceScreens() {
+ return isVerticalBarLayout() || isLargeTablet();
+ }
+
public void layout(Launcher launcher) {
FrameLayout.LayoutParams lp;
Resources res = launcher.getResources();
@@ -497,15 +540,14 @@
}
// Layout the workspace
- View workspace = launcher.findViewById(R.id.workspace);
+ PagedView workspace = (PagedView) launcher.findViewById(R.id.workspace);
lp = (FrameLayout.LayoutParams) workspace.getLayoutParams();
lp.gravity = Gravity.CENTER;
- Rect padding = getWorkspacePadding(isLandscape
- ? CellLayout.LANDSCAPE
- : CellLayout.PORTRAIT);
- workspace.setPadding(padding.left, padding.top,
- padding.right, padding.bottom);
+ int orientation = isLandscape ? CellLayout.LANDSCAPE : CellLayout.PORTRAIT;
+ Rect padding = getWorkspacePadding(orientation);
workspace.setLayoutParams(lp);
+ workspace.setPadding(padding.left, padding.top, padding.right, padding.bottom);
+ workspace.setPageSpacing(getWorkspacePageSpacing(orientation));
// Layout the hotseat
View hotseat = launcher.findViewById(R.id.hotseat);
@@ -558,6 +600,45 @@
pageIndicator.setLayoutParams(lp);
}
}
+
+ AppsCustomizeTabHost host = (AppsCustomizeTabHost)
+ launcher.findViewById(R.id.apps_customize_pane);
+ if (host != null) {
+ // Center the all apps page indicator
+ int pageIndicatorHeight = (int) (pageIndicatorHeightPx * Math.min(1f,
+ (allAppsIconSizePx / DynamicGrid.DEFAULT_ICON_SIZE_PX)));
+ pageIndicator = host.findViewById(R.id.apps_customize_page_indicator);
+ if (pageIndicator != null) {
+ lp = (FrameLayout.LayoutParams) pageIndicator.getLayoutParams();
+ lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
+ lp.width = LayoutParams.WRAP_CONTENT;
+ lp.height = pageIndicatorHeight;
+ pageIndicator.setLayoutParams(lp);
+ }
+
+ AppsCustomizePagedView pagedView = (AppsCustomizePagedView)
+ host.findViewById(R.id.apps_customize_pane_content);
+ padding = new Rect();
+ if (pagedView != null) {
+ // Constrain the dimensions of all apps so that it does not span the full width
+ int paddingLR = (availableWidthPx - (allAppsCellWidthPx * allAppsNumCols)) /
+ (2 * (allAppsNumCols + 1));
+ int paddingTB = (availableHeightPx - (allAppsCellHeightPx * allAppsNumRows)) /
+ (2 * (allAppsNumRows + 1));
+ paddingLR = Math.min(paddingLR, (int)((paddingLR + paddingTB) * 0.75f));
+ paddingTB = Math.min(paddingTB, (int)((paddingLR + paddingTB) * 0.75f));
+ int maxAllAppsWidth = (allAppsNumCols * (allAppsCellWidthPx + 2 * paddingLR));
+ int gridPaddingLR = (availableWidthPx - maxAllAppsWidth) / 2;
+ if (gridPaddingLR > (allAppsCellWidthPx / 4)) {
+ padding.left = padding.right = gridPaddingLR;
+ }
+ // The icons are centered, so we can't just offset by the page indicator height
+ // because the empty space will actually be pageIndicatorHeight + paddingTB
+ padding.bottom = Math.max(0, pageIndicatorHeight - paddingTB);
+ pagedView.setAllAppsPadding(padding);
+ pagedView.setWidgetsPageIndicatorPadding(pageIndicatorHeight);
+ }
+ }
}
}
@@ -569,6 +650,10 @@
private float mMinWidth;
private float mMinHeight;
+ // This is a static that we use for the default icon size on a 4/5-inch phone
+ static float DEFAULT_ICON_SIZE_DP = 60;
+ static float DEFAULT_ICON_SIZE_PX = 0;
+
public static float dpiFromPx(int size, DisplayMetrics metrics){
float densityRatio = (float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT;
return (size / densityRatio);
@@ -590,6 +675,7 @@
ArrayList<DeviceProfile> deviceProfiles =
new ArrayList<DeviceProfile>();
boolean hasAA = !AppsCustomizePagedView.DISABLE_ALL_APPS;
+ DEFAULT_ICON_SIZE_PX = pxFromDp(DEFAULT_ICON_SIZE_DP, dm);
// Our phone profiles include the bar sizes in each orientation
deviceProfiles.add(new DeviceProfile("Super Short Stubby",
255, 300, 2, 3, 48, 13, (hasAA ? 5 : 4), 48));
@@ -602,7 +688,7 @@
deviceProfiles.add(new DeviceProfile("Nexus S",
296, 491.33f, 4, 4, 48, 13, (hasAA ? 5 : 4), 48));
deviceProfiles.add(new DeviceProfile("Nexus 4",
- 359, 518, 4, 4, 60, 13, (hasAA ? 5 : 4), 56));
+ 359, 518, 4, 4, DEFAULT_ICON_SIZE_DP, 13, (hasAA ? 5 : 4), 56));
// The tablet profile is odd in that the landscape orientation
// also includes the nav bar on the side
deviceProfiles.add(new DeviceProfile("Nexus 7",
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index f721571..5952415 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -754,10 +754,14 @@
};
} else {
result = resultCode;
+ final CellLayout dropLayout =
+ (CellLayout) mWorkspace.getScreenWithId(mPendingAddInfo.screenId);
+ dropLayout.setDropPending(true);
onComplete = new Runnable() {
@Override
public void run() {
completeTwoStageWidgetDrop(result, appWidgetId);
+ dropLayout.setDropPending(false);
}
};
}
@@ -4118,6 +4122,9 @@
if (grid.isTablet()) {
return false;
}
+ if (grid.isLandscape) {
+ return false;
+ }
// disable clings when running in a test harness
if(ActivityManager.isRunningInTestHarness()) return false;
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 9b891e4..46c861b 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -124,6 +124,7 @@
protected int mMaxScrollX;
protected Scroller mScroller;
private VelocityTracker mVelocityTracker;
+ private int mPageSpacing = 0;
private float mParentDownMotionX;
private float mParentDownMotionY;
@@ -674,6 +675,7 @@
AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_SCROLLED);
ev.setItemCount(getChildCount());
ev.setFromIndex(mCurrentPage);
+ ev.setToIndex(getNextPage());
final int action;
if (getNextPage() >= mCurrentPage) {
@@ -785,13 +787,13 @@
// NOTE: We multiply by 1.5f to account for the fact that depending on the offset of the
// viewport, we can be at most one and a half screens offset once we scale down
DisplayMetrics dm = getResources().getDisplayMetrics();
- int maxSize = Math.max(dm.widthPixels, dm.heightPixels + mInsets.top + mInsets.bottom);
+ int maxSize = Math.max(dm.widthPixels + mInsets.left + mInsets.right,
+ dm.heightPixels + mInsets.top + mInsets.bottom);
- int parentWidthSize, parentHeightSize;
+ int parentWidthSize = (int) (1.5f * maxSize);
+ int parentHeightSize = maxSize;
int scaledWidthSize, scaledHeightSize;
if (mUseMinScale) {
- parentWidthSize = (int) (1.5f * maxSize);
- parentHeightSize = maxSize;
scaledWidthSize = (int) (parentWidthSize / mMinScale);
scaledHeightSize = (int) (parentHeightSize / mMinScale);
} else {
@@ -851,21 +853,17 @@
childHeightMode = MeasureSpec.EXACTLY;
}
- childWidth = widthSize - horizontalPadding;
- childHeight = heightSize - verticalPadding - mInsets.top - mInsets.bottom;
+ childWidth = getViewportWidth() - horizontalPadding
+ - mInsets.left - mInsets.right;
+ childHeight = getViewportHeight() - verticalPadding
+ - mInsets.top - mInsets.bottom;
mNormalChildHeight = childHeight;
-
} else {
childWidthMode = MeasureSpec.EXACTLY;
childHeightMode = MeasureSpec.EXACTLY;
- if (mUseMinScale) {
- childWidth = getViewportWidth();
- childHeight = getViewportHeight();
- } else {
- childWidth = widthSize - getPaddingLeft() - getPaddingRight();
- childHeight = heightSize - getPaddingTop() - getPaddingBottom();
- }
+ childWidth = getViewportWidth() - mInsets.left - mInsets.right;
+ childHeight = getViewportHeight();
}
final int childWidthMeasureSpec =
@@ -887,8 +885,6 @@
if (DEBUG) Log.d(TAG, "PagedView.onLayout()");
final int childCount = getChildCount();
- int screenWidth = getViewportWidth();
-
int offsetX = getViewportOffsetX();
int offsetY = getViewportOffsetY();
@@ -903,7 +899,9 @@
int verticalPadding = getPaddingTop() + getPaddingBottom();
- int childLeft = offsetX + (screenWidth - getChildWidth(startIndex)) / 2;
+ LayoutParams lp = (LayoutParams) getChildAt(startIndex).getLayoutParams();
+
+ int childLeft = offsetX + (lp.isFullScreenPage ? 0 : getPaddingLeft());
if (mPageScrolls == null || getChildCount() != mChildCountOnLastLayout) {
mPageScrolls = new int[getChildCount()];
}
@@ -911,7 +909,7 @@
for (int i = startIndex; i != endIndex; i += delta) {
final View child = getPageAt(i);
if (child.getVisibility() != View.GONE) {
- LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ lp = (LayoutParams) child.getLayoutParams();
int childTop;
if (lp.isFullScreenPage) {
childTop = offsetY;
@@ -929,16 +927,9 @@
child.layout(childLeft, childTop,
childLeft + child.getMeasuredWidth(), childTop + childHeight);
- // We assume the left and right padding are equal, and hence center the pages
- // horizontally
- int scrollOffset = (getViewportWidth() - childWidth) / 2;
- mPageScrolls[i] = childLeft - scrollOffset - offsetX;
-
- if (i != endIndex - delta) {
- childLeft += childWidth + scrollOffset;
- int nextScrollOffset = (getViewportWidth() - getChildWidth(i + delta)) / 2;
- childLeft += nextScrollOffset;
- }
+ int scrollOffsetLeft = lp.isFullScreenPage ? 0 : getPaddingLeft();
+ mPageScrolls[i] = childLeft - scrollOffsetLeft - offsetX;
+ childLeft += childWidth + mPageSpacing;
}
}
@@ -972,6 +963,11 @@
}
}
+ public void setPageSpacing(int pageSpacing) {
+ mPageSpacing = pageSpacing;
+ requestLayout();
+ }
+
protected void screenScrolled(int screenCenter) {
boolean isInOverscroll = mOverScrollX < 0 || mOverScrollX > mMaxScrollX;
@@ -1278,24 +1274,22 @@
* Return true if a tap at (x, y) should trigger a flip to the previous page.
*/
protected boolean hitsPreviousPage(float x, float y) {
- int offset = (getViewportWidth() - getChildWidth(mCurrentPage)) / 2;
if (isLayoutRtl()) {
return (x > (getViewportOffsetX() + getViewportWidth() -
- offset));
+ getPaddingRight() - mPageSpacing));
}
- return (x < getViewportOffsetX() + offset);
+ return (x < getViewportOffsetX() + getPaddingLeft() + mPageSpacing);
}
/**
* Return true if a tap at (x, y) should trigger a flip to the next page.
*/
protected boolean hitsNextPage(float x, float y) {
- int offset = (getViewportWidth() - getChildWidth(mCurrentPage)) / 2;
if (isLayoutRtl()) {
- return (x < getViewportOffsetX() + offset);
+ return (x < getViewportOffsetX() + getPaddingLeft() + mPageSpacing);
}
return (x > (getViewportOffsetX() + getViewportWidth() -
- offset));
+ getPaddingRight() - mPageSpacing));
}
/** Returns whether x and y originated within the buffered viewport */
@@ -1486,9 +1480,21 @@
protected float getScrollProgress(int screenCenter, View v, int page) {
final int halfScreenSize = getViewportWidth() / 2;
- int offset = (getViewportWidth() - getChildWidth(page)) / 2;
- int totalDistance = v.getMeasuredWidth() + offset;
int delta = screenCenter - (getScrollForPage(page) + halfScreenSize);
+ int count = getChildCount();
+
+ final int totalDistance;
+
+ int adjacentPage = page + 1;
+ if ((delta < 0 && !isLayoutRtl()) || (delta > 0 && isLayoutRtl())) {
+ adjacentPage = page - 1;
+ }
+
+ if (adjacentPage < 0 || adjacentPage > count - 1) {
+ totalDistance = v.getMeasuredWidth() + mPageSpacing;
+ } else {
+ totalDistance = Math.abs(getScrollForPage(adjacentPage) - getScrollForPage(page));
+ }
float scrollProgress = delta / (totalDistance * 1.0f);
scrollProgress = Math.min(scrollProgress, getMaxScrollProgress());
@@ -1511,7 +1517,13 @@
return 0;
} else {
View child = getChildAt(index);
- int scrollOffset = (getViewportWidth() - child.getMeasuredWidth()) / 2;
+
+ int scrollOffset = 0;
+ LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ if (!lp.isFullScreenPage) {
+ scrollOffset = isLayoutRtl() ? getPaddingRight() : getPaddingLeft();
+ }
+
int baselineX = mPageScrolls[index] + scrollOffset + getViewportOffsetX();
return (int) (child.getX() - baselineX);
}
@@ -2575,10 +2587,9 @@
int newX = 0;
if (slideFromLeft) {
if (i == 0) {
- int pageSpace = (getViewportWidth() - getChildWidth(i)) / 2;
// Simulate the page being offscreen with the page spacing
oldX = getViewportOffsetX() + getChildOffset(i) - getChildWidth(i)
- - pageSpace;
+ - mPageSpacing;
} else {
oldX = getViewportOffsetX() + getChildOffset(i - 1);
}
diff --git a/src/com/android/launcher3/PagedViewIcon.java b/src/com/android/launcher3/PagedViewIcon.java
index 865c0b2..f7cb997 100644
--- a/src/com/android/launcher3/PagedViewIcon.java
+++ b/src/com/android/launcher3/PagedViewIcon.java
@@ -20,7 +20,7 @@
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Region;
-import android.graphics.Region.Op;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.widget.TextView;
@@ -62,7 +62,7 @@
// Ensure we are using the right text size
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
- setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx);
+ setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx);
}
public void applyFromApplicationInfo(AppInfo info, boolean scaleUp,
@@ -72,8 +72,9 @@
mIcon = info.iconBitmap;
mPressedCallback = cb;
- setCompoundDrawables(null, Utilities.createIconDrawable(mIcon),
- null, null);
+ Drawable icon = Utilities.createIconDrawable(mIcon);
+ icon.setBounds(0, 0, grid.allAppsIconSizePx, grid.allAppsIconSizePx);
+ setCompoundDrawables(null, icon, null, null);
setCompoundDrawablePadding(grid.iconDrawablePaddingPx);
setText(info.title);
setTag(info);
diff --git a/src/com/android/launcher3/WallpaperCropActivity.java b/src/com/android/launcher3/WallpaperCropActivity.java
index 491316d..276aba3 100644
--- a/src/com/android/launcher3/WallpaperCropActivity.java
+++ b/src/com/android/launcher3/WallpaperCropActivity.java
@@ -247,19 +247,19 @@
private static int getRotationFromExifHelper(
String path, Resources res, int resId, Context context, Uri uri) {
ExifInterface ei = new ExifInterface();
+ InputStream is = null;
+ BufferedInputStream bis = null;
try {
if (path != null) {
ei.readExif(path);
} else if (uri != null) {
- InputStream is = context.getContentResolver().openInputStream(uri);
- BufferedInputStream bis = new BufferedInputStream(is);
+ is = context.getContentResolver().openInputStream(uri);
+ bis = new BufferedInputStream(is);
ei.readExif(bis);
- bis.close();
} else {
- InputStream is = res.openRawResource(resId);
- BufferedInputStream bis = new BufferedInputStream(is);
+ is = res.openRawResource(resId);
+ bis = new BufferedInputStream(is);
ei.readExif(bis);
- bis.close();
}
Integer ori = ei.getTagIntValue(ExifInterface.TAG_ORIENTATION);
if (ori != null) {
@@ -267,6 +267,9 @@
}
} catch (IOException e) {
Log.w(LOGTAG, "Getting exif data failed", e);
+ } finally {
+ Utils.closeSilently(bis);
+ Utils.closeSilently(is);
}
return 0;
}
@@ -326,40 +329,15 @@
// Get the crop
boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
- Point minDims = new Point();
- Point maxDims = new Point();
+
Display d = getWindowManager().getDefaultDisplay();
- d.getCurrentSizeRange(minDims, maxDims);
Point displaySize = new Point();
d.getSize(displaySize);
-
- int maxDim = Math.max(maxDims.x, maxDims.y);
- final int minDim = Math.min(minDims.x, minDims.y);
- int defaultWallpaperWidth;
- if (isScreenLarge(getResources())) {
- defaultWallpaperWidth = (int) (maxDim *
- wallpaperTravelToScreenWidthRatio(maxDim, minDim));
- } else {
- defaultWallpaperWidth = Math.max((int)
- (minDim * WALLPAPER_SCREENS_SPAN), maxDim);
- }
-
boolean isPortrait = displaySize.x < displaySize.y;
- int portraitHeight;
- if (isPortrait) {
- portraitHeight = mCropView.getHeight();
- } else {
- // TODO: how to actually get the proper portrait height?
- // This is not quite right:
- portraitHeight = Math.max(maxDims.x, maxDims.y);
- }
- if (android.os.Build.VERSION.SDK_INT >=
- android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
- Point realSize = new Point();
- d.getRealSize(realSize);
- portraitHeight = Math.max(realSize.x, realSize.y);
- }
+
+ Point defaultWallpaperSize = getDefaultWallpaperSize(getResources(),
+ getWindowManager());
// Get the crop
RectF cropRect = mCropView.getCrop();
int cropRotation = mCropView.getImageRotation();
@@ -378,7 +356,7 @@
// (or all the way to the left, in RTL)
float extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left;
// Cap the amount of extra width
- float maxExtraSpace = defaultWallpaperWidth / cropScale - cropRect.width();
+ float maxExtraSpace = defaultWallpaperSize.x / cropScale - cropRect.width();
extraSpace = Math.min(extraSpace, maxExtraSpace);
if (ltr) {
@@ -389,10 +367,10 @@
// ADJUST CROP HEIGHT
if (isPortrait) {
- cropRect.bottom = cropRect.top + portraitHeight / cropScale;
+ cropRect.bottom = cropRect.top + defaultWallpaperSize.y / cropScale;
} else { // LANDSCAPE
float extraPortraitHeight =
- portraitHeight / cropScale - cropRect.height();
+ defaultWallpaperSize.y / cropScale - cropRect.height();
float expandHeight =
Math.min(Math.min(rotatedInSize[1] - cropRect.bottom, cropRect.top),
extraPortraitHeight / 2);
@@ -606,13 +584,13 @@
}
// See how much we're reducing the size of the image
- int scaleDownSampleSize = Math.min(roundedTrueCrop.width() / mOutWidth,
- roundedTrueCrop.height() / mOutHeight);
-
+ int scaleDownSampleSize = Math.max(1, Math.min(roundedTrueCrop.width() / mOutWidth,
+ roundedTrueCrop.height() / mOutHeight));
// Attempt to open a region decoder
BitmapRegionDecoder decoder = null;
+ InputStream is = null;
try {
- InputStream is = regenerateInputStream();
+ is = regenerateInputStream();
if (is == null) {
Log.w(LOGTAG, "cannot get input stream for uri=" + mInUri.toString());
failure = true;
@@ -622,6 +600,9 @@
Utils.closeSilently(is);
} catch (IOException e) {
Log.w(LOGTAG, "cannot open region decoder for file: " + mInUri.toString(), e);
+ } finally {
+ Utils.closeSilently(is);
+ is = null;
}
Bitmap crop = null;
@@ -637,7 +618,7 @@
if (crop == null) {
// BitmapRegionDecoder has failed, try to crop in-memory
- InputStream is = regenerateInputStream();
+ is = regenerateInputStream();
Bitmap fullSize = null;
if (is != null) {
BitmapFactory.Options options = new BitmapFactory.Options();
@@ -757,7 +738,7 @@
protected void updateWallpaperDimensions(int width, int height) {
String spKey = getSharedPreferencesKey();
- SharedPreferences sp = getSharedPreferences(spKey, Context.MODE_PRIVATE);
+ SharedPreferences sp = getSharedPreferences(spKey, Context.MODE_MULTI_PROCESS);
SharedPreferences.Editor editor = sp.edit();
if (width != 0 && height != 0) {
editor.putInt(WALLPAPER_WIDTH_KEY, width);
diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java
index 07b4f6f..7e1ad6d 100644
--- a/src/com/android/launcher3/WidgetPreviewLoader.java
+++ b/src/com/android/launcher3/WidgetPreviewLoader.java
@@ -4,6 +4,7 @@
import android.content.ComponentName;
import android.content.ContentValues;
import android.content.Context;
+import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
@@ -100,6 +101,7 @@
public class WidgetPreviewLoader {
static final String TAG = "WidgetPreviewLoader";
+ static final String ANDROID_INCREMENTAL_VERSION_NAME_KEY = "android.incremental.version";
private int mPreviewBitmapWidth;
private int mPreviewBitmapHeight;
@@ -147,6 +149,20 @@
mDb = app.getWidgetPreviewCacheDb();
mLoadedPreviews = new HashMap<String, WeakReference<Bitmap>>();
mUnusedBitmaps = new ArrayList<SoftReference<Bitmap>>();
+
+ SharedPreferences sp = context.getSharedPreferences(
+ LauncherAppState.getSharedPreferencesKey(), Context.MODE_PRIVATE);
+ final String lastVersionName = sp.getString(ANDROID_INCREMENTAL_VERSION_NAME_KEY, null);
+ final String versionName = android.os.Build.VERSION.INCREMENTAL;
+ if (!versionName.equals(lastVersionName)) {
+ // clear all the previews whenever the system version changes, to ensure that previews
+ // are up-to-date for any apps that might have been updated with the system
+ clearDb();
+
+ SharedPreferences.Editor editor = sp.edit();
+ editor.putString(ANDROID_INCREMENTAL_VERSION_NAME_KEY, versionName);
+ editor.commit();
+ }
}
public void setPreviewSize(int previewWidth, int previewHeight,
@@ -334,6 +350,12 @@
db.insert(CacheDb.TABLE_NAME, null, values);
}
+ private void clearDb() {
+ SQLiteDatabase db = mDb.getWritableDatabase();
+ // Delete everything
+ db.delete(CacheDb.TABLE_NAME, null, null);
+ }
+
public static void removePackageFromDb(final CacheDb cacheDb, final String packageName) {
synchronized(sInvalidPackages) {
sInvalidPackages.add(packageName);
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index d742d42..8c2c89d 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -310,7 +310,8 @@
mLauncher = (Launcher) context;
final Resources res = getResources();
- mWorkspaceFadeInAdjacentScreens = res.getBoolean(R.bool.config_workspaceFadeAdjacentScreens);
+ mWorkspaceFadeInAdjacentScreens = LauncherAppState.getInstance().getDynamicGrid().
+ getDeviceProfile().shouldFadeAdjacentWorkspaceScreens();
mFadeInAdjacentScreens = false;
mWallpaperManager = WallpaperManager.getInstance(context);
@@ -670,7 +671,8 @@
CellLayout finalScreen = mWorkspaceScreens.get(finalScreenId);
// If the final screen is empty, convert it to the extra empty screen
- if (finalScreen.getShortcutsAndWidgets().getChildCount() == 0) {
+ if (finalScreen.getShortcutsAndWidgets().getChildCount() == 0 &&
+ !finalScreen.isDropPending()) {
mWorkspaceScreens.remove(finalScreenId);
mScreenOrder.remove(finalScreenId);
@@ -1188,7 +1190,7 @@
protected void setWallpaperDimension() {
String spKey = WallpaperCropActivity.getSharedPreferencesKey();
- SharedPreferences sp = mLauncher.getSharedPreferences(spKey, Context.MODE_PRIVATE);
+ SharedPreferences sp = mLauncher.getSharedPreferences(spKey, Context.MODE_MULTI_PROCESS);
WallpaperPickerActivity.suggestWallpaperDimension(mLauncher.getResources(),
sp, mLauncher.getWindowManager(), mWallpaperManager);
}
@@ -1488,12 +1490,6 @@
float scrollProgress = getScrollProgress(screenCenter, child, i);
float alpha = 1 - Math.abs(scrollProgress);
child.getShortcutsAndWidgets().setAlpha(alpha);
- if (!mIsDragOccuring) {
- child.setBackgroundAlphaMultiplier(
- backgroundAlphaInterpolator(Math.abs(scrollProgress)));
- } else {
- child.setBackgroundAlphaMultiplier(1f);
- }
}
}
}
@@ -2108,7 +2104,14 @@
final CellLayout cl = (CellLayout) getChildAt(i);
boolean isCurrentPage = (i == getNextPage());
float initialAlpha = cl.getShortcutsAndWidgets().getAlpha();
- float finalAlpha = stateIsSmall ? 0f : 1f;
+ float finalAlpha;
+ if (stateIsSmall) {
+ finalAlpha = 0f;
+ } else if (stateIsNormal && mWorkspaceFadeInAdjacentScreens) {
+ finalAlpha = i == getNextPage() ? 1f : 0f;
+ } else {
+ finalAlpha = 1f;
+ }
// If we are animating to/from the small state, then hide the side pages and fade the
// current page in
diff --git a/src/com/android/photos/BitmapRegionTileSource.java b/src/com/android/photos/BitmapRegionTileSource.java
index b85caaa..2f203af 100644
--- a/src/com/android/photos/BitmapRegionTileSource.java
+++ b/src/com/android/photos/BitmapRegionTileSource.java
@@ -24,6 +24,9 @@
import android.graphics.BitmapFactory;
import android.graphics.BitmapRegionDecoder;
import android.graphics.Canvas;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Build;
@@ -42,6 +45,103 @@
import java.io.IOException;
import java.io.InputStream;
+interface SimpleBitmapRegionDecoder {
+ int getWidth();
+ int getHeight();
+ Bitmap decodeRegion(Rect wantRegion, BitmapFactory.Options options);
+}
+
+class SimpleBitmapRegionDecoderWrapper implements SimpleBitmapRegionDecoder {
+ BitmapRegionDecoder mDecoder;
+ private SimpleBitmapRegionDecoderWrapper(BitmapRegionDecoder decoder) {
+ mDecoder = decoder;
+ }
+ public static SimpleBitmapRegionDecoderWrapper newInstance(
+ String pathName, boolean isShareable) {
+ try {
+ BitmapRegionDecoder d = BitmapRegionDecoder.newInstance(pathName, isShareable);
+ if (d != null) {
+ return new SimpleBitmapRegionDecoderWrapper(d);
+ }
+ } catch (IOException e) {
+ Log.w("BitmapRegionTileSource", "getting decoder failed for path " + pathName, e);
+ return null;
+ }
+ return null;
+ }
+ public static SimpleBitmapRegionDecoderWrapper newInstance(
+ InputStream is, boolean isShareable) {
+ try {
+ BitmapRegionDecoder d = BitmapRegionDecoder.newInstance(is, isShareable);
+ if (d != null) {
+ return new SimpleBitmapRegionDecoderWrapper(d);
+ }
+ } catch (IOException e) {
+ Log.w("BitmapRegionTileSource", "getting decoder failed", e);
+ return null;
+ }
+ return null;
+ }
+ public int getWidth() {
+ return mDecoder.getWidth();
+ }
+ public int getHeight() {
+ return mDecoder.getHeight();
+ }
+ public Bitmap decodeRegion(Rect wantRegion, BitmapFactory.Options options) {
+ return mDecoder.decodeRegion(wantRegion, options);
+ }
+}
+
+class DumbBitmapRegionDecoder implements SimpleBitmapRegionDecoder {
+ //byte[] mStreamCopy;
+ Bitmap mBuffer;
+ Canvas mTempCanvas;
+ Paint mTempPaint;
+ private DumbBitmapRegionDecoder(Bitmap b) {
+ mBuffer = b;
+ }
+ public static DumbBitmapRegionDecoder newInstance(String pathName) {
+ Bitmap b = BitmapFactory.decodeFile(pathName);
+ if (b != null) {
+ return new DumbBitmapRegionDecoder(b);
+ }
+ return null;
+ }
+ public static DumbBitmapRegionDecoder newInstance(InputStream is) {
+ Bitmap b = BitmapFactory.decodeStream(is);
+ if (b != null) {
+ return new DumbBitmapRegionDecoder(b);
+ }
+ return null;
+ }
+ public int getWidth() {
+ return mBuffer.getWidth();
+ }
+ public int getHeight() {
+ return mBuffer.getHeight();
+ }
+ public Bitmap decodeRegion(Rect wantRegion, BitmapFactory.Options options) {
+ if (mTempCanvas == null) {
+ mTempCanvas = new Canvas();
+ mTempPaint = new Paint();
+ mTempPaint.setFilterBitmap(true);
+ }
+ int sampleSize = Math.max(options.inSampleSize, 1);
+ Bitmap newBitmap = Bitmap.createBitmap(
+ wantRegion.width() / sampleSize,
+ wantRegion.height() / sampleSize,
+ Bitmap.Config.ARGB_8888);
+ mTempCanvas.setBitmap(newBitmap);
+ mTempCanvas.save();
+ mTempCanvas.scale(1f / sampleSize, 1f / sampleSize);
+ mTempCanvas.drawBitmap(mBuffer, -wantRegion.left, -wantRegion.top, mTempPaint);
+ mTempCanvas.restore();
+ mTempCanvas.setBitmap(null);
+ return newBitmap;
+ }
+}
+
/**
* A {@link com.android.photos.views.TiledImageRenderer.TileSource} using
* {@link BitmapRegionDecoder} to wrap a local file
@@ -59,7 +159,7 @@
public static final int MAX_PREVIEW_SIZE = GL_SIZE_LIMIT / 2;
public static abstract class BitmapSource {
- private BitmapRegionDecoder mDecoder;
+ private SimpleBitmapRegionDecoder mDecoder;
private Bitmap mPreview;
private int mPreviewSize;
private int mRotation;
@@ -103,7 +203,7 @@
return mState;
}
- public BitmapRegionDecoder getBitmapRegionDecoder() {
+ public SimpleBitmapRegionDecoder getBitmapRegionDecoder() {
return mDecoder;
}
@@ -120,7 +220,7 @@
}
public abstract boolean readExif(ExifInterface ei);
- public abstract BitmapRegionDecoder loadBitmapRegionDecoder();
+ public abstract SimpleBitmapRegionDecoder loadBitmapRegionDecoder();
public abstract Bitmap loadPreviewBitmap(BitmapFactory.Options options);
}
@@ -131,13 +231,13 @@
mPath = path;
}
@Override
- public BitmapRegionDecoder loadBitmapRegionDecoder() {
- try {
- return BitmapRegionDecoder.newInstance(mPath, true);
- } catch (IOException e) {
- Log.w("BitmapRegionTileSource", "getting decoder failed", e);
- return null;
+ public SimpleBitmapRegionDecoder loadBitmapRegionDecoder() {
+ SimpleBitmapRegionDecoder d;
+ d = SimpleBitmapRegionDecoderWrapper.newInstance(mPath, true);
+ if (d == null) {
+ d = DumbBitmapRegionDecoder.newInstance(mPath);
}
+ return d;
}
@Override
public Bitmap loadPreviewBitmap(BitmapFactory.Options options) {
@@ -168,11 +268,17 @@
return new BufferedInputStream(is);
}
@Override
- public BitmapRegionDecoder loadBitmapRegionDecoder() {
+ public SimpleBitmapRegionDecoder loadBitmapRegionDecoder() {
try {
InputStream is = regenerateInputStream();
- BitmapRegionDecoder regionDecoder = BitmapRegionDecoder.newInstance(is, false);
+ SimpleBitmapRegionDecoder regionDecoder =
+ SimpleBitmapRegionDecoderWrapper.newInstance(is, false);
Utils.closeSilently(is);
+ if (regionDecoder == null) {
+ is = regenerateInputStream();
+ regionDecoder = DumbBitmapRegionDecoder.newInstance(is);
+ Utils.closeSilently(is);
+ }
return regionDecoder;
} catch (FileNotFoundException e) {
Log.e("BitmapRegionTileSource", "Failed to load URI " + mUri, e);
@@ -196,8 +302,9 @@
}
@Override
public boolean readExif(ExifInterface ei) {
+ InputStream is = null;
try {
- InputStream is = regenerateInputStream();
+ is = regenerateInputStream();
ei.readExif(is);
Utils.closeSilently(is);
return true;
@@ -207,6 +314,8 @@
} catch (IOException e) {
Log.e("BitmapRegionTileSource", "Failed to load URI " + mUri, e);
return false;
+ } finally {
+ Utils.closeSilently(is);
}
}
}
@@ -224,16 +333,17 @@
return new BufferedInputStream(is);
}
@Override
- public BitmapRegionDecoder loadBitmapRegionDecoder() {
- try {
- InputStream is = regenerateInputStream();
- BitmapRegionDecoder regionDecoder = BitmapRegionDecoder.newInstance(is, true);
+ public SimpleBitmapRegionDecoder loadBitmapRegionDecoder() {
+ InputStream is = regenerateInputStream();
+ SimpleBitmapRegionDecoder regionDecoder =
+ SimpleBitmapRegionDecoderWrapper.newInstance(is, false);
+ Utils.closeSilently(is);
+ if (regionDecoder == null) {
+ is = regenerateInputStream();
+ regionDecoder = DumbBitmapRegionDecoder.newInstance(is);
Utils.closeSilently(is);
- return regionDecoder;
- } catch (IOException e) {
- Log.e("BitmapRegionTileSource", "Error reading resource", e);
- return null;
}
+ return regionDecoder;
}
@Override
public Bitmap loadPreviewBitmap(BitmapFactory.Options options) {
@@ -253,7 +363,7 @@
}
}
- BitmapRegionDecoder mDecoder;
+ SimpleBitmapRegionDecoder mDecoder;
int mWidth;
int mHeight;
int mTileSize;