Merge "Storing the widget item views in Widget holder, to avoid looks on every bind/recycle" into ub-launcher3-calgary
diff --git a/Android.mk b/Android.mk
index dc43f7e..9a3b09e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -28,7 +28,9 @@
android-support-v7-recyclerview \
android-support-v7-palette
-LOCAL_SRC_FILES := $(call all-java-files-under, src) \
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src) \
+ $(call all-java-files-under, src_config) \
$(call all-proto-files-under, protos)
LOCAL_RESOURCE_DIR := \
@@ -48,6 +50,8 @@
LOCAL_PACKAGE_NAME := Launcher3
LOCAL_OVERRIDES_PACKAGES := Home Launcher2
+LOCAL_FULL_LIBS_MANIFEST_FILES := $(LOCAL_PATH)/AndroidManifest-common.xml
+
include $(BUILD_PACKAGE)
#
diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml
new file mode 100644
index 0000000..3da3535
--- /dev/null
+++ b/AndroidManifest-common.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2016, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<manifest
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.launcher3">
+ <uses-sdk android:targetSdkVersion="23" android:minSdkVersion="21"/>
+
+ <!--
+ The manifest defines the common entries that should be present in any derivative of Launcher3.
+ The components should generally not require any changes.
+
+ Rest of the components are defined in AndroidManifest.xml which is merged with this manifest
+ at compile time. Note that the components defined in AndroidManifest.xml are also required,
+ with some minor changed based on the derivative app.
+ -->
+ <permission
+ android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
+ android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
+ android:protectionLevel="dangerous"
+ android:label="@string/permlab_install_shortcut"
+ android:description="@string/permdesc_install_shortcut" />
+
+ <uses-permission android:name="android.permission.CALL_PHONE" />
+ <uses-permission android:name="android.permission.SET_WALLPAPER" />
+ <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
+ <uses-permission android:name="android.permission.BIND_APPWIDGET" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+
+ <application
+ android:backupAgent="com.android.launcher3.LauncherBackupAgent"
+ android:fullBackupOnly="true"
+ android:fullBackupContent="@xml/backupscheme"
+ android:hardwareAccelerated="true"
+ android:icon="@mipmap/ic_launcher_home"
+ android:label="@string/app_name"
+ android:largeHeap="@bool/config_largeHeap"
+ android:restoreAnyVersion="true"
+ android:supportsRtl="true" >
+
+ <!-- Intent received used to install shortcuts from other applications -->
+ <receiver
+ android:name="com.android.launcher3.InstallShortcutReceiver"
+ android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
+ <intent-filter>
+ <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
+ </intent-filter>
+ </receiver>
+
+ <!-- Intent received used to initialize a restored widget -->
+ <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" >
+ <intent-filter>
+ <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/>
+ </intent-filter>
+ </receiver>
+
+ <service android:name="com.android.launcher3.dynamicui.ColorExtractionService"
+ android:exported="false"
+ android:process=":wallpaper_chooser">
+ </service>
+
+ <meta-data android:name="android.nfc.disable_beam_default"
+ android:value="true" />
+
+ </application>
+</manifest>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 75b81d0..eb7ea0c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -21,13 +21,16 @@
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.launcher3">
<uses-sdk android:targetSdkVersion="23" android:minSdkVersion="21"/>
+ <!--
+ Manifest entries specific to Launcher3. This is merged with AndroidManifest-common.xml.
+ Refer comments around specific entries on how to extend individual components.
+ -->
- <permission
- android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
- android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
- android:protectionLevel="dangerous"
- android:label="@string/permlab_install_shortcut"
- android:description="@string/permdesc_install_shortcut" />
+ <!--
+ Permissions required for read/write access to the workspace data. These permission name
+ should not conflict with that defined in other apps, as such an app should embed its package
+ name in the permissions. eq com.mypackage.permission.READ_SETTINGS
+ -->
<permission
android:name="com.android.launcher3.permission.READ_SETTINGS"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
@@ -41,28 +44,17 @@
android:label="@string/permlab_write_settings"
android:description="@string/permdesc_write_settings"/>
- <uses-permission android:name="android.permission.CALL_PHONE" />
- <uses-permission android:name="android.permission.SET_WALLPAPER" />
- <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
- <uses-permission android:name="android.permission.BIND_APPWIDGET" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS" />
- <application
- android:backupAgent="com.android.launcher3.LauncherBackupAgent"
- android:fullBackupOnly="true"
- android:fullBackupContent="@xml/backupscheme"
- android:hardwareAccelerated="true"
- android:icon="@mipmap/ic_launcher_home"
- android:label="@string/app_name"
- android:largeHeap="@bool/config_largeHeap"
- android:restoreAnyVersion="true"
- android:supportsRtl="true" >
+ <application>
+ <!--
+ Main launcher activity. When extending only change the name, and keep all the
+ attributes and intent filters the same
+ -->
<activity
android:name="com.android.launcher3.Launcher"
android:launchMode="singleTask"
@@ -83,6 +75,9 @@
</intent-filter>
</activity>
+ <!--
+ The settings activity. When extending keep the intent filter present
+ -->
<activity
android:name="com.android.launcher3.SettingsActivity"
android:label="@string/settings_button_text"
@@ -93,28 +88,11 @@
</intent-filter>
</activity>
- <!-- Intent received used to install shortcuts from other applications -->
- <receiver
- android:name="com.android.launcher3.InstallShortcutReceiver"
- android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
- <intent-filter>
- <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
- </intent-filter>
- </receiver>
-
- <!-- Intent received used to initialize a restored widget -->
- <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" >
- <intent-filter>
- <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/>
- </intent-filter>
- </receiver>
-
- <service android:name=".dynamicui.ColorExtractionService"
- android:exported="false"
- android:process=":wallpaper_chooser">
- </service>
-
- <!-- The settings provider contains Home's data, like the workspace favorites -->
+ <!--
+ The settings provider contains Home's data, like the workspace favorites. The permissions
+ should be changed to what is defined above. The authorities should also be changed to
+ represent the package name.
+ -->
<provider
android:name="com.android.launcher3.LauncherProvider"
android:authorities="com.android.launcher3.settings"
@@ -122,9 +100,6 @@
android:writePermission="com.android.launcher3.permission.WRITE_SETTINGS"
android:readPermission="com.android.launcher3.permission.READ_SETTINGS" />
- <meta-data android:name="android.nfc.disable_beam_default"
- android:value="true" />
-
<!-- ENABLE_FOR_TESTING
<activity
diff --git a/build.gradle b/build.gradle
index 2efbec4..899767f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,8 +12,8 @@
apply plugin: 'com.google.protobuf'
android {
- compileSdkVersion 23
- buildToolsVersion "22.0.1"
+ compileSdkVersion 'android-N'
+ buildToolsVersion '24.0.0-rc3'
defaultConfig {
applicationId "com.android.launcher3"
@@ -33,7 +33,7 @@
sourceSets {
main {
res.srcDirs = ['res']
- java.srcDirs = ['src']
+ java.srcDirs = ['src', 'src_config']
manifest.srcFile 'AndroidManifest.xml'
proto.srcDirs 'protos/'
}
diff --git a/res/drawable-hdpi/ic_arrow_back_grey.png b/res/drawable-hdpi/ic_arrow_back_grey.png
deleted file mode 100755
index 7d7bfb1..0000000
--- a/res/drawable-hdpi/ic_arrow_back_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_pageindicator_default.png b/res/drawable-hdpi/ic_pageindicator_default.png
deleted file mode 100644
index 19945a5..0000000
--- a/res/drawable-hdpi/ic_pageindicator_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_pageindicator_default_folder.png b/res/drawable-hdpi/ic_pageindicator_default_folder.png
deleted file mode 100644
index 4710374..0000000
--- a/res/drawable-hdpi/ic_pageindicator_default_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_search_grey.png b/res/drawable-hdpi/ic_search_grey.png
deleted file mode 100755
index bc50a47..0000000
--- a/res/drawable-hdpi/ic_search_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_arrow_back_grey.png b/res/drawable-mdpi/ic_arrow_back_grey.png
deleted file mode 100755
index 97999af..0000000
--- a/res/drawable-mdpi/ic_arrow_back_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_pageindicator_default.png b/res/drawable-mdpi/ic_pageindicator_default.png
deleted file mode 100644
index 9c44afc..0000000
--- a/res/drawable-mdpi/ic_pageindicator_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_pageindicator_default_folder.png b/res/drawable-mdpi/ic_pageindicator_default_folder.png
deleted file mode 100644
index f462558..0000000
--- a/res/drawable-mdpi/ic_pageindicator_default_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_search_grey.png b/res/drawable-mdpi/ic_search_grey.png
deleted file mode 100755
index c386dbb..0000000
--- a/res/drawable-mdpi/ic_search_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-nodpi/ic_migration.png b/res/drawable-nodpi/ic_migration.png
deleted file mode 100644
index 14f8721..0000000
--- a/res/drawable-nodpi/ic_migration.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_arrow_back_grey.png b/res/drawable-xhdpi/ic_arrow_back_grey.png
deleted file mode 100755
index 22854bf..0000000
--- a/res/drawable-xhdpi/ic_arrow_back_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pageindicator_default.png b/res/drawable-xhdpi/ic_pageindicator_default.png
deleted file mode 100644
index 0cde8f4..0000000
--- a/res/drawable-xhdpi/ic_pageindicator_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_pageindicator_default_folder.png b/res/drawable-xhdpi/ic_pageindicator_default_folder.png
deleted file mode 100644
index 7c22d41..0000000
--- a/res/drawable-xhdpi/ic_pageindicator_default_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_search_grey.png b/res/drawable-xhdpi/ic_search_grey.png
deleted file mode 100755
index e63182d..0000000
--- a/res/drawable-xhdpi/ic_search_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_arrow_back_grey.png b/res/drawable-xxhdpi/ic_arrow_back_grey.png
deleted file mode 100755
index a3ed052..0000000
--- a/res/drawable-xxhdpi/ic_arrow_back_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_pageindicator_default.png b/res/drawable-xxhdpi/ic_pageindicator_default.png
deleted file mode 100644
index 3bee96f..0000000
--- a/res/drawable-xxhdpi/ic_pageindicator_default.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_pageindicator_default_folder.png b/res/drawable-xxhdpi/ic_pageindicator_default_folder.png
deleted file mode 100644
index 46ff473..0000000
--- a/res/drawable-xxhdpi/ic_pageindicator_default_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_search_grey.png b/res/drawable-xxhdpi/ic_search_grey.png
deleted file mode 100755
index 33b4ea9..0000000
--- a/res/drawable-xxhdpi/ic_search_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_arrow_back_grey.png b/res/drawable-xxxhdpi/ic_arrow_back_grey.png
deleted file mode 100755
index 6b42051..0000000
--- a/res/drawable-xxxhdpi/ic_arrow_back_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_search_grey.png b/res/drawable-xxxhdpi/ic_search_grey.png
deleted file mode 100755
index d957186..0000000
--- a/res/drawable-xxxhdpi/ic_search_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/bg_migration_cling.xml b/res/drawable/bg_migration_cling.xml
deleted file mode 100644
index bfff5a4..0000000
--- a/res/drawable/bg_migration_cling.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval" >
-
- <gradient
- android:endColor="#00ffeb3a"
- android:gradientRadius="50%p"
- android:startColor="#80ffeb3a"
- android:type="radial" />
-
-</shape>
\ No newline at end of file
diff --git a/res/layout-land/migration_cling.xml b/res/layout-land/migration_cling.xml
deleted file mode 100644
index 269c1ae..0000000
--- a/res/layout-land/migration_cling.xml
+++ /dev/null
@@ -1,106 +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.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto"
- android:id="@+id/migration_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:layout_ignoreInsets="true"
- android:background="#FF009688"
- android:baselineAligned="false"
- android:gravity="center_vertical" >
-
- <FrameLayout
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1" >
-
- <ImageView
- android:layout_width="@dimen/cling_migration_bg_size"
- android:layout_height="@dimen/cling_migration_bg_size"
- android:layout_gravity="center"
- android:background="@drawable/bg_migration_cling" />
-
- <ImageView
- android:layout_width="@dimen/cling_migration_logo_width"
- android:layout_height="@dimen/cling_migration_logo_height"
- android:layout_gravity="center"
- android:src="@drawable/ic_migration" />
- </FrameLayout>
-
- <LinearLayout
- android:layout_width="@dimen/cling_migration_content_width"
- android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/cling_migration_content_margin"
- android:layout_marginRight="@dimen/cling_migration_content_margin"
- android:orientation="vertical"
- android:paddingLeft="24dp"
- android:paddingRight="24dp" >
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingBottom="8dp"
- android:text="@string/first_run_cling_title"
- android:textColor="#E1000000"
- android:textSize="34sp" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_title"
- android:textColor="#E1000000"
- android:textSize="20sp" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingBottom="24dp"
- android:text="@string/migration_cling_description"
- android:textColor="#99000000"
- android:textSize="16sp" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
-
- <Button
- android:id="@+id/cling_dismiss_migration_copy_apps"
- style="?android:attr/buttonBarButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_copy_apps"
- android:textColor="#FFFFFFFF"
- android:textSize="14sp" />
-
- <Button
- android:id="@+id/cling_dismiss_migration_use_default"
- style="?android:attr/buttonBarButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_use_default"
- android:textColor="#deFFFFFF"
- android:textSize="14sp" />
- </LinearLayout>
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-port/migration_cling.xml b/res/layout-port/migration_cling.xml
deleted file mode 100644
index 3f696a2..0000000
--- a/res/layout-port/migration_cling.xml
+++ /dev/null
@@ -1,109 +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.
--->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto"
- android:id="@+id/migration_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:layout_ignoreInsets="true"
- android:background="#FF009688" >
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical" >
-
- <ImageView
- android:layout_width="@dimen/cling_migration_bg_size"
- android:layout_height="@dimen/cling_migration_bg_size"
- android:layout_below="@+id/ic_cling_migration"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="@dimen/cling_migration_bg_shift"
- android:src="@drawable/bg_migration_cling" />
-
- <ImageView
- android:id="@+id/ic_cling_migration"
- android:layout_width="@dimen/cling_migration_logo_width"
- android:layout_height="@dimen/cling_migration_logo_height"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:src="@drawable/ic_migration" />
-
- <LinearLayout
- android:layout_width="@dimen/cling_migration_content_width"
- android:layout_height="wrap_content"
- android:layout_below="@+id/ic_cling_migration"
- android:layout_marginStart="@dimen/cling_migration_content_margin"
- android:layout_marginLeft="@dimen/cling_migration_content_margin"
- android:orientation="vertical"
- android:paddingLeft="24dp"
- android:paddingRight="24dp" >
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingBottom="8dp"
- android:text="@string/first_run_cling_title"
- android:textColor="#E1000000"
- android:textSize="34sp" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_title"
- android:textColor="#E1000000"
- android:textSize="20sp" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingBottom="24dp"
- android:text="@string/migration_cling_description"
- android:textColor="#99000000"
- android:textSize="16sp" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
-
- <Button
- android:id="@+id/cling_dismiss_migration_copy_apps"
- style="?android:attr/buttonBarButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_copy_apps"
- android:textColor="#FFFFFFFF"
- android:textSize="14sp" />
-
- <Button
- android:id="@+id/cling_dismiss_migration_use_default"
- style="?android:attr/buttonBarButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:fontFamily="sans-serif-medium"
- android:text="@string/migration_cling_use_default"
- android:textColor="#deFFFFFF"
- android:textSize="14sp" />
- </LinearLayout>
- </LinearLayout>
- </RelativeLayout>
-
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/all_apps_container.xml b/res/layout/all_apps_container.xml
deleted file mode 100644
index c0525ee..0000000
--- a/res/layout/all_apps_container.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2015 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.
--->
-<!-- Both android:focusable and android:focusableInTouchMode are needed for
- the view to get focus change events. -->
-<com.android.launcher3.allapps.AllAppsRecyclerViewContainerView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:elevation="15dp"
- android:focusable="true"
- android:focusableInTouchMode="true">
-
- <!-- DO NOT CHANGE THE ID -->
- <com.android.launcher3.allapps.AllAppsRecyclerView
- android:id="@+id/apps_list_view"
- android:theme="@style/CustomOverscroll.Light"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_gravity="center_horizontal|top"
- android:clipToPadding="false"
- android:focusable="true"
- android:descendantFocusability="afterDescendants" />
-
-</com.android.launcher3.allapps.AllAppsRecyclerViewContainerView>
\ No newline at end of file
diff --git a/res/layout/all_apps_search_bar.xml b/res/layout/all_apps_search_bar.xml
deleted file mode 100644
index 69a66c8..0000000
--- a/res/layout/all_apps_search_bar.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2015 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.
--->
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/all_apps_search_bg" >
-
- <LinearLayout
- android:id="@+id/search_container"
- android:layout_width="match_parent"
- android:layout_height="@dimen/all_apps_search_bar_height"
- android:layout_gravity="start|center_vertical"
- android:orientation="horizontal"
- android:visibility="invisible" >
-
- <ImageView
- android:id="@+id/dismiss_search_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginLeft="16dp"
- android:layout_marginStart="16dp"
- android:contentDescription="@string/all_apps_button_label"
- android:src="@drawable/ic_arrow_back_grey" />
-
- <com.android.launcher3.ExtendedEditText
- android:id="@+id/search_box_input"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@android:color/transparent"
- android:focusableInTouchMode="true"
- android:gravity="fill_horizontal|center_vertical"
- android:hint="@string/all_apps_search_bar_hint"
- android:inputType="text|textNoSuggestions|textCapWords"
- android:imeOptions="actionSearch|flagNoExtractUi"
- android:maxLines="1"
- android:paddingLeft="8dp"
- android:scrollHorizontally="true"
- android:singleLine="true"
- android:textColor="#4c4c4c"
- android:textColorHint="#9c9c9c"
- android:textSize="16sp" />
- </LinearLayout>
-
- <ImageView
- android:id="@+id/search_button"
- android:layout_width="wrap_content"
- android:layout_height="@dimen/all_apps_search_bar_height"
- android:layout_gravity="end|center_vertical"
- android:layout_marginEnd="16dp"
- android:layout_marginRight="16dp"
- android:contentDescription="@string/all_apps_search_bar_hint"
- android:src="@drawable/ic_search_grey" />
-</FrameLayout>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 6285171..ed5ad77 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Muurpapiere"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Instellings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gedeaktiveer deur jou administrateur"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Laat draai toe"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Laat tuisskermrotasie toe"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Wanneer toestel gedraai word"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Huidige vertooninstelling laat nie rotasie toe nie"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Onbekend"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Verwyder"</string>
<string name="abandoned_search" msgid="891119232568284442">"Soek"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index f862e2c..c8070f0 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"የግድግዳ ወረቀቶች"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ቅንብሮች"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"በእርስዎ አስተዳዳሪ የተሰናከለ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"ማሽከርከርን ይፍቀዱ"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"የመነሻ ማያ ገጽ ማሽከርከርን ይፍቀዱ"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"መሣሪያው ሲዞር"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"የአሁኑ የማሳያ ቅንብር ማሽከርከርን አይፈቅድም"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"የማይታወቅ"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"አስወግድ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ፈልግ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 2143539..e059d26 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"الخلفيات"</string>
<string name="settings_button_text" msgid="8119458837558863227">"الإعدادات"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"عطَّل المشرف هذه الميزة"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"السماح بالتدوير"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"السماح بتدوير الشاشة الرئيسية"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"أوقات تدوير الجهاز"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"لا يسمح إعداد العرض الحالي بالتدوير"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"غير معروفة"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"إزالة"</string>
<string name="abandoned_search" msgid="891119232568284442">"بحث"</string>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 6e05132..239d718 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Divar kağızları"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ayarlar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Admininiz tərəfindən deaktiv edilib"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Fırlatmağa icazə verin"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Əsas ekranın firlanmağına icazə verin"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Cihaz çevrilən zaman"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Cari Ekran ayarı fırlatmağa icazə vermir"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Naməlum"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Yığışdır"</string>
<string name="abandoned_search" msgid="891119232568284442">"Axtarış"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index c85bf6b..a09d457 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тапети"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Настройки"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Деактивирано от администратора ви"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Разрешаване на завъртането"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Разрешаване на завъртането на началния екран"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"При завъртане на устройството"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Текущата настройка на екрана не разрешава завъртане"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Няма информация"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Премахване"</string>
<string name="abandoned_search" msgid="891119232568284442">"Търсене"</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 29c218f..a584f17 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"ওয়ালপেপারগুলি"</string>
<string name="settings_button_text" msgid="8119458837558863227">"সেটিংস"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"আপনার প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"ঘূর্ণনের অনুমতি দিন"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"হোমস্ক্রীন ঘোরানোর অনুমতি দিন"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"ডিভাইস যখন ঘোরানো হবে"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"বর্তমান প্রদর্শনের সেটিংস ঘোরানোর মঞ্জুরি দেয় না"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"অজানা"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"সরান"</string>
<string name="abandoned_search" msgid="891119232568284442">"অনুসন্ধান"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4a6ba59..8027031 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fons de pantalla"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Configuració"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desactivada per l\'administrador"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permet la rotació"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permet la rotació de la pantalla d\'inici"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"En girar el dispositiu"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"La configuració actual de la pantalla no permet la rotació"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Desconegut"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Suprimeix"</string>
<string name="abandoned_search" msgid="891119232568284442">"Cerca"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 8b3a8ed..a047c39 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Nastavení"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázáno administrátorem"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Povolit otáčení"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Povolit otáčení plochy"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Při otočení zařízení"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Aktuální nastavení displeje neumožňuje otáčení"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Neznámé"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Odstranit"</string>
<string name="abandoned_search" msgid="891119232568284442">"Hledat"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index e69871a..c24c159 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Baggrunde"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Indstillinger"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Deaktiveret af din administrator"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Tillad rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Tillad rotation af startskærmen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Når enheden roteres"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Den aktuelle indstilling for visning tillader ikke rotation"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Ukendt"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Fjern"</string>
<string name="abandoned_search" msgid="891119232568284442">"Søg"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 186a06a..4633adb 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Hintergründe"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Einstellungen"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Von deinem Administrator deaktiviert"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Drehung zulassen"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Drehung des Startbildschirms zulassen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Bei Drehung des Geräts"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Die aktuelle \"Display\"-Einstellung verhindert eine Drehung der Anzeige"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Unbekannt"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Entfernen"</string>
<string name="abandoned_search" msgid="891119232568284442">"Suchen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 90b6235..fd8f1f8 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ταπετσαρίες"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ρυθμίσεις"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Απενεργοποιήθηκε από τον διαχειριστή σας"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Να επιτρέπεται η περιστροφή"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Να επιτρέπεται η περιστροφή της αρχικής οθόνης"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Όταν η συσκευή περιστρέφεται"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Η τρέχουσα ρύθμιση οθόνης δεν επιτρέπει την περιστροφή"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Άγνωστο"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Κατάργηση"</string>
<string name="abandoned_search" msgid="891119232568284442">"Αναζήτηση"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 09fc3a2..23882b1 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Allow rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Allow homescreen rotation"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"When device is rotated"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Current display setting doesn\'t permit rotation"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Unknown"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Remove"</string>
<string name="abandoned_search" msgid="891119232568284442">"Search"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 09fc3a2..23882b1 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Allow rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Allow homescreen rotation"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"When device is rotated"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Current display setting doesn\'t permit rotation"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Unknown"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Remove"</string>
<string name="abandoned_search" msgid="891119232568284442">"Search"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 09fc3a2..23882b1 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpapers"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Settings"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Allow rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Allow homescreen rotation"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"When device is rotated"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Current display setting doesn\'t permit rotation"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Unknown"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Remove"</string>
<string name="abandoned_search" msgid="891119232568284442">"Search"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index dd18c1e..0061f66 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Configuración"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"El administrador inhabilitó esta función"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permitir la rotación"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permitir la rotación de la pantalla principal"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Al rotar el dispositivo"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"La configuración actual no permite la rotación de la pantalla"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Desconocido"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eliminar"</string>
<string name="abandoned_search" msgid="891119232568284442">"Buscar"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 579dd84..1169f44 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ajustes"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inhabilitada por el administrador"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permitir rotación"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permitir rotación de la pantalla de inicio"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Al girar el dispositivo"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"La configuración de pantalla actual no permite girar la pantalla"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Desconocido"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eliminar"</string>
<string name="abandoned_search" msgid="891119232568284442">"Buscar"</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 371e632..3fb031a 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Taustapildid"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Seaded"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Keelas administraator"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Luba pööramine"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Luba avaekraani pööramine"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kui seadet pööratakse"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Praegune kuvaseade ei luba pööramist"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Teadmata"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eemalda"</string>
<string name="abandoned_search" msgid="891119232568284442">"Otsing"</string>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index fa19b45..6688ed4 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Horma-paperak"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ezarpenak"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratzaileak desgaitu du"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Baimendu biratzeko aukera"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Baimendu hasierako pantaila biratzea"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Gailua biratzen denean"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Uneko pantaila-ezarpenak ez du onartzen ikuspegia biratzea"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Ezezaguna"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Kendu"</string>
<string name="abandoned_search" msgid="891119232568284442">"Bilatu"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 148e0cf..720bb31 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"کاغذدیواریها"</string>
<string name="settings_button_text" msgid="8119458837558863227">"تنظیمات"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"توسط سرپرست سیستم غیرفعال شده است"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"چرخش مجاز است"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"مجاز کردن چرخش صفحهاصلی"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"وقتی دستگاه چرخانده میشود"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"تنظیم نمایشگر کنونی اجازه چرخش نمیدهد"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"نامشخص"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"حذف"</string>
<string name="abandoned_search" msgid="891119232568284442">"جستجو"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index f04896a..ac14d86 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Taustakuvat"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Asetukset"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Järjestelmänvalvoja on poistanut toiminnon käytöstä."</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Salli kierto"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Salli aloitusnäytön kiertäminen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kun laitetta kierretään"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Nykyiset näyttöasetukset eivät salli näytön kiertämistä."</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Tuntematon"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Poista"</string>
<string name="abandoned_search" msgid="891119232568284442">"Haku"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index b323b82..c87169f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fonds d\'écran"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Paramètres"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Cette fonction est désactivée par votre administrateur"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permettre la rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Autoriser la rotation de l\'écran d\'accueil"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Lorsque l\'utilisateur pivote l\'appareil"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Le mode d\'affichage actuel ne permet pas le pivotement"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Inconnu"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Supprimer"</string>
<string name="abandoned_search" msgid="891119232568284442">"Rechercher"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index e6d7a20..192a025 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fonds d\'écran"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Paramètres"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Désactivé par votre administrateur"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Autoriser la rotation"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Autoriser la rotation de l\'écran d\'accueil"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Lorsque l\'utilisateur fait pivoter l\'appareil"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Le paramètre d\'affichage actuel n\'autorise pas la rotation."</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Inconnu"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Supprimer"</string>
<string name="abandoned_search" msgid="891119232568284442">"Rechercher"</string>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index f402072..6ddef28 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -29,7 +29,7 @@
<string name="long_press_widget_to_add" msgid="5154837155685183344">"Mantén tocado un widget para seleccionalo."</string>
<string name="long_accessible_way_to_add" msgid="4289502106628154155">"Toca dúas veces e mantén premido para seleccionar un widget ou utiliza accións personalizadas."</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
- <string name="all_apps_search_bar_hint" msgid="6705987535534678581">"Aplicacións de busca..."</string>
+ <string name="all_apps_search_bar_hint" msgid="6705987535534678581">"Buscar aplicacións..."</string>
<string name="all_apps_loading_message" msgid="7557140873644765180">"Cargando aplicacións..."</string>
<string name="all_apps_no_search_results" msgid="6332185285860416787">"Non se atoparon aplicacións que coincidan con \"<xliff:g id="QUERY">%1$s</xliff:g>\""</string>
<string name="all_apps_search_market_message" msgid="5470761048755751471">"Ir a <xliff:g id="QUERY">%1$s</xliff:g>"</string>
@@ -59,7 +59,7 @@
<string name="migration_cling_description" msgid="2752413805582227644">"Queres importar as iconas e os cartafoles doutras pantallas de inicio?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAR ICONAS"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"COMEZAR DE CERO"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Fondos pantalla, widgets e configuración"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Fondos de pantalla, widgets e configuración"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Mantén tocado o segundo plano para personalizalo"</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"DE ACORDO"</string>
<string name="folder_opened" msgid="94695026776264709">"Abriuse o cartafol, <xliff:g id="WIDTH">%1$d</xliff:g> por <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fondos de pantalla"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Configuración"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Función desactivada polo administrador"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permitir xiro"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permitir xirar a pantalla de inicio"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Ao xirar o dispositivo"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"A configuración de visualización actual non permite xirar a pantalla"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Descoñecido"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eliminar"</string>
<string name="abandoned_search" msgid="891119232568284442">"Buscar"</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 8c8a2ba..fbe3efe 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -30,12 +30,12 @@
<string name="long_accessible_way_to_add" msgid="4289502106628154155">"વિજેટ ચૂંટવા અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરવા માટે બે વાર ટેપ કરો અને પકડી રાખો."</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
<string name="all_apps_search_bar_hint" msgid="6705987535534678581">"ઍપ્લિકેશનોમાં શોધો…"</string>
- <string name="all_apps_loading_message" msgid="7557140873644765180">"એપ્લિકેશનો લોડ કરી રહ્યું છે…"</string>
- <string name="all_apps_no_search_results" msgid="6332185285860416787">"\"<xliff:g id="QUERY">%1$s</xliff:g>\" થી મેળ ખાતી કોઈ એપ્લિકેશનો મળી નથી"</string>
+ <string name="all_apps_loading_message" msgid="7557140873644765180">"ઍપ્લિકેશનો લોડ કરી રહ્યું છે…"</string>
+ <string name="all_apps_no_search_results" msgid="6332185285860416787">"\"<xliff:g id="QUERY">%1$s</xliff:g>\" થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી"</string>
<string name="all_apps_search_market_message" msgid="5470761048755751471">"<xliff:g id="QUERY">%1$s</xliff:g> પર જાઓ"</string>
<string name="out_of_space" msgid="4691004494942118364">"આ હોમ સ્ક્રીન પર વધુ જગ્યા નથી."</string>
<string name="hotseat_out_of_space" msgid="7448809638125333693">"મનપસંદ ટ્રે પર વધુ જગ્યા નથી"</string>
- <string name="all_apps_button_label" msgid="9110807029020582876">"એપ્લિકેશનો"</string>
+ <string name="all_apps_button_label" msgid="9110807029020582876">"ઍપ્લિકેશનો"</string>
<string name="all_apps_home_button_label" msgid="252062713717058851">"હોમ"</string>
<string name="remove_drop_target_label" msgid="7812859488053230776">"દૂર કરો"</string>
<string name="uninstall_drop_target_label" msgid="4722034217958379417">"અનઇન્સ્ટોલ કરો"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"વૉલપેપર્સ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"સેટિંગ્સ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"તમારા વ્યવસ્થાપક દ્વારા અક્ષમ કરેલ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"પરિભ્રમણને મંજૂરી આપો"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"હોમસ્ક્રીનને ફેરવવાની મંજૂરી આપો"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"જ્યારે ઉપકરણ ફેરવેલું હોય ત્યારે"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"વર્તમાન પ્રદર્શન સેટિંગ ફેરવવાની પરવાનગી આપતી નથી"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"અજાણ્યો"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"દૂર કરો"</string>
<string name="abandoned_search" msgid="891119232568284442">"શોધો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 5e99e61..695a1e6 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"वॉलपेपर"</string>
<string name="settings_button_text" msgid="8119458837558863227">"सेटिंग"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपके व्यवस्थापक द्वारा अक्षम"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"रोटेशन की अनुमति दें"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"होमस्क्रीन घुमाने की अनुमति दें"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"डिवाइस घुमाए जाने पर"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"वर्तमान प्रदर्शन सेटिंग घुमाने की अनुमति नहीं देती"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"अज्ञात"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"निकालें"</string>
<string name="abandoned_search" msgid="891119232568284442">"खोजें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 8fe238f..61b365f 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Pozadine"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Postavke"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogućio administrator"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Dopusti rotaciju"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Dopusti zakretanje početnog zaslona"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kada se uređaj zakrene"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Trenutačna postavka zaslona ne dopušta zakretanje"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Nepoznato"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Ukloni"</string>
<string name="abandoned_search" msgid="891119232568284442">"Traži"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index d750866..f558fb6 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Háttérképek"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Beállítások"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"A rendszergazda letiltotta"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Elforgatás engedélyezése"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Kezdőképernyő elforgatásának engedélyezése"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Az eszköz forgatásakor"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"A jelenlegi kijelzőbeállítások nem teszik lehetővé az elforgatást"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Ismeretlen"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eltávolítás"</string>
<string name="abandoned_search" msgid="891119232568284442">"Keresés"</string>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index a17216c..1f2de4c 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Պաստառներ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Կարգավորումներ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Անջատվել է ձեր ադմինիստրատորի կողմից"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Թույլ տալ պարբերական կրկնությունը"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Թույլ տալ գլխավոր էկրանի պտտումը"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Սարքը պտտելու դեպքում"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Ցուցադրման ընթացիկ կարգավորումներն արգելում են պտտումը"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Անհայտ է"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Հեռացնել"</string>
<string name="abandoned_search" msgid="891119232568284442">"Գտնել"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index c9403c2..578e86f 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Wallpaper"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Setelan"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dinonaktifkan oleh admin"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Izinkan putaran"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Izinkan putaran layar utama"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Saat perangkat diputar"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Setelan Tampilan Saat Ini tidak memungkinkan putaran"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Tidak dikenal"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Buang"</string>
<string name="abandoned_search" msgid="891119232568284442">"Telusuri"</string>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 86f42e8..c2f3396 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Veggfóður"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Stillingar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gert óvirkt af kerfisstjóra"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Leyfa snúning"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Leyfa snúning fyrir heimaskjá"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Þegar tækinu er snúið"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Núverandi skjástilling leyfir ekki snúning"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Óþekkt"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Fjarlægja"</string>
<string name="abandoned_search" msgid="891119232568284442">"Leita"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c66cc93..467094f 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Sfondi"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Impostazioni"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disattivata dall\'amministratore"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Consenti rotazione"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Consenti rotazione della schermata Home"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Quando il dispositivo viene ruotato"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"L\'impostazione corrente del display non consente la rotazione"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Sconosciuto"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Rimuovi"</string>
<string name="abandoned_search" msgid="891119232568284442">"Cerca"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 1e03cf5..161227d 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"טפטים"</string>
<string name="settings_button_text" msgid="8119458837558863227">"הגדרות"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"הושבת על ידי מנהל המערכת שלך"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"אפשרות סיבוב"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"אפשרות סיבוב של מסך דף הבית"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"בעת סיבוב המכשיר"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"הגדרת התצוגה הנוכחית אינה מאפשרת סיבוב"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"לא ידוע"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"הסר"</string>
<string name="abandoned_search" msgid="891119232568284442">"חפש"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index fb06f21..e86e56f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"壁紙"</string>
<string name="settings_button_text" msgid="8119458837558863227">"設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"管理者により無効にされています"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"回転を許可"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ホーム画面の回転を許可"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"端末が回転したとき"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"現在の [ディスプレイ] 設定では回転を使用できません"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"不明"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"削除"</string>
<string name="abandoned_search" msgid="891119232568284442">"検索"</string>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index b147c03..682cc12 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"ფონები"</string>
<string name="settings_button_text" msgid="8119458837558863227">"პარამეტრები"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"გათიშულია თქვენი ადმინისტრატორის მიერ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"როტაციის დაშვება"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"მთავარი ეკრანის ბრუნვის დაშვება"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"მოწყობილობის ბრუნვისას"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ბრუნვა დაუშვებელია ჩვენების მიმდინარე პარამეტრებით"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"უცნობი"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ამოშლა"</string>
<string name="abandoned_search" msgid="891119232568284442">"ძიება"</string>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 647e2f5..3fa3d80 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Артқы фондар"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Параметрлер"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Әкімші өшірді"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Айналуға рұқсат ету"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Негізгі экранды айналдыруды рұқсат ету"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Құрылғы айналғанда"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Экранның ағымдағы параметрі айналуға рұқсат бермейді"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Белгісіз"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Алып тастау"</string>
<string name="abandoned_search" msgid="891119232568284442">"Іздеу"</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 6f3af8b..4cd6856 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"ផ្ទាំងរូបភាព"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ការកំណត់"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"បានបិទដំណើរការដោយអ្នកគ្រប់គ្រងរបស់អ្នក"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"អនុញ្ញាតឲ្យបង្វិល"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"អនុញ្ញាតការបងិ្វលអេក្រង់ដើម"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"នៅពេលបង្វិលឧបករណ៍When device is rotated"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ការកំណត់អេក្រង់បច្ចុប្បន្នមិនអនុញ្ញាតការបង្វិលទេ"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"មិនស្គាល់"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"លុបចេញ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ស្វែងរក"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 3931359..dcd64ec 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"ವಾಲ್ಪೇಪರ್ಗಳು"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"ತಿರುಗಿಸುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ಮುಖಪರದೆ ತಿರುಗುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"ಸಾಧನವನ್ನು ತಿರುಗಿಸಿದಾಗ"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ಪ್ರಸ್ತುತ ಪ್ರದರ್ಶನ ಸೆಟ್ಟಿಂಗ್ ತಿರುಗುವಿಕೆಯನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"ಅಜ್ಞಾತ"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ತೆಗೆದುಹಾಕಿ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ಹುಡುಕು"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ff0e63f..572c62d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"배경화면"</string>
<string name="settings_button_text" msgid="8119458837558863227">"설정"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"관리자가 사용 중지함"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"회전 허용"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"메인 스크린 회전 허용"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"기기 회전 시"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"현재 표시 설정에는 회전 기능이 허용되지 않습니다."</string>
<string name="package_state_unknown" msgid="7592128424511031410">"알 수 없음"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"삭제"</string>
<string name="abandoned_search" msgid="891119232568284442">"검색"</string>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 8f7aa0a..7f03a0b 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -59,7 +59,7 @@
<string name="migration_cling_description" msgid="2752413805582227644">"Эски үй экрандарыңыздан сүрөтчөлөр жана фолдерлер импорттолсунбу?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"СҮРӨТЧӨЛӨРДҮ КӨЧҮРҮҮ"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"ТАЗАСЫН БАШТОО"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Тушкагаздар, виджеттер & жөндөөлөр"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Тушкагаздар, виджеттер жана жөндөөлөр"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Ыңгайлаштыруу үчүн фонду таптап, коё бербей туруңуз"</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"ТҮШҮНДҮМ"</string>
<string name="folder_opened" msgid="94695026776264709">"Фолдер ачылды, туурасы <xliff:g id="WIDTH">%1$d</xliff:g>, бийиктиги <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Тушкагаздар"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Тууралоолор"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администраторуңуз өчүрүп койгон"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Айлантууга уруксат берүү"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Башкы экранды айлантууга уруксат берүү"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Түзмөк айланганда"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Учурдагы дисплей жөндөөсү айлантууга уруксат бербейт"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Белгисиз"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Алып салуу"</string>
<string name="abandoned_search" msgid="891119232568284442">"Издөө"</string>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 4b43ebd..228bd90 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"ພາບພື້ນຫຼັງ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ການຕັ້ງຄ່າ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ຖືກປິດການນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"ອະນຸຍາດການໝຸນ"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ອະນຸຍາດໃຫ້ໝຸນໜ້າຈໍທຳອິດໄດ້"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"ເມື່ອໝຸນອຸປະກອນ"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ການຕັ້ງຄ່າສະແດງຜົນປັດຈຸບັນບໍ່ອະນຸຍາດໃຫ້ໝຸນໄດ້"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"ບໍ່ຮູ້ຈັກ"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ລຶບ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ຊອກຫາ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 61437b6..3796c26 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ekrano fonai"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Nustatymai"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Išjungė administratorius"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Leisti kaitaliojimą"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Leisti pasukti pagrindinį ekraną"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kai įrenginys pasukamas"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Naudojant dabartinį pateikties nustatymą neleidžiama pasukti"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Nežinoma"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Pašalinti"</string>
<string name="abandoned_search" msgid="891119232568284442">"Ieškoti"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 2264675..c592d3b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fona tapetes"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Iestatījumi"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Atspējojis administrators"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Rotācijas atļauja"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Atļaut sākuma ekrāna pagriešanu"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kad ierīce tiek pagriezta"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Pašreizējā displeja iestatījumā nav atļauta pagriešana."</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Nezināma"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Noņemt"</string>
<string name="abandoned_search" msgid="891119232568284442">"Meklēt"</string>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index a3b76bb..a691bce 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -42,9 +42,9 @@
<string name="app_info_drop_target_label" msgid="692894985365717661">"Инф. за апликација"</string>
<string name="permlab_install_shortcut" msgid="5632423390354674437">"инсталирај кратенки"</string>
<string name="permdesc_install_shortcut" msgid="923466509822011139">"Овозможува апликацијата да додава кратенки без интервенција на корисникот."</string>
- <string name="permlab_read_settings" msgid="1941457408239617576">"прочитај подесувања и кратенки на почетна страница"</string>
+ <string name="permlab_read_settings" msgid="1941457408239617576">"чита поставки и кратенки на почетна страница"</string>
<string name="permdesc_read_settings" msgid="5833423719057558387">"Овозможува апликацијата да ги менува подесувањата и кратенките на почетната страница."</string>
- <string name="permlab_write_settings" msgid="3574213698004620587">"напиши подесувања и кратенки на почетна страница"</string>
+ <string name="permlab_write_settings" msgid="3574213698004620587">"пишува поставки и кратенки на почетна страница"</string>
<string name="permdesc_write_settings" msgid="5440712911516509985">"Овозможува апликацијата да ги менува подесувањата и кратенките на почетната страница."</string>
<string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> нема дозвола за телефонски повици"</string>
<string name="gadget_error_text" msgid="6081085226050792095">"Проблем при вчитувањето на виџетот"</string>
@@ -54,12 +54,12 @@
<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="workspace_new_page" msgid="257366611030256142">"Нова страница на почетен екран"</string>
- <string name="first_run_cling_title" msgid="2459738000155917941">"Добредојдовте"</string>
+ <string name="first_run_cling_title" msgid="2459738000155917941">"Добре дојдовте"</string>
<string name="migration_cling_title" msgid="9181776667882933767">"Копирај икони за апликација"</string>
<string name="migration_cling_description" msgid="2752413805582227644">"Зачувај икони и папки од твоите стари почетни страни?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"КОПИРАЈ ИКОНИ"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"СТАРТУВАЈ ОД ПОЧЕТОК"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Тапети, додатоци и поставки"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Позадини, додатоци и поставки"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Допрете и задржете на заднината за да приспособите"</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"СФАТИВ"</string>
<string name="folder_opened" msgid="94695026776264709">"Отворена е папка, <xliff:g id="WIDTH">%1$d</xliff:g> на <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
@@ -68,11 +68,13 @@
<string name="folder_closed" msgid="4100806530910930934">"Папката е затворена"</string>
<string name="folder_renamed" msgid="1794088362165669656">"Папката е преименувана во <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="folder_name_format" msgid="6629239338071103179">"Папка: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="widget_button_text" msgid="2880537293434387943">"Виџети"</string>
- <string name="wallpaper_button_text" msgid="8404103075899945851">"Тапети"</string>
+ <string name="widget_button_text" msgid="2880537293434387943">"Додатоци"</string>
+ <string name="wallpaper_button_text" msgid="8404103075899945851">"Позадини"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Поставки"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Оневозможено од администраторот"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Дозволи ротација"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Дозволете ротација на Почетниот екран"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Кога уредот се ротира"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Тековната поставка на Екранот не дозволува ротација"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Непознато"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Отстрани"</string>
<string name="abandoned_search" msgid="891119232568284442">"Барај"</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 7a41dcf..5cfff55 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"വാൾപേപ്പർ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ക്രമീകരണം"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"അഡ്മിൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"തിരിക്കൽ അനുവദിക്കുക"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ഹോം സ്ക്രീൻ തിരിക്കൽ അനുവദിക്കുക"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"ഉപകരണം തിരിക്കുമ്പോൾ"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"നിലവിലെ ഡിസ്പ്ലേ ക്രമീകരണം തിരിക്കൽ അനുവദിക്കുന്നില്ല"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"അജ്ഞാതം"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"നീക്കംചെയ്യുക"</string>
<string name="abandoned_search" msgid="891119232568284442">"തിരയുക"</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 8309374..a47fcfc 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ханын зураг"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Тохиргоо"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Таны админ идэвхгүй болгосон"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Эргүүлэхийг зөвшөөрөх"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Нүүр дэлгэцийг эргүүлэхийг зөвшөөрөх"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Төхөөрөмжийг эргүүлсэн үед"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Дэлгэцийн одоогийн тохиргоогоор эргүүлэх боломжгүй"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Тодорхойгүй"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Устгах"</string>
<string name="abandoned_search" msgid="891119232568284442">"Хайх"</string>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index a8ae19b..c14a5d2 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"वॉलपेपर"</string>
<string name="settings_button_text" msgid="8119458837558863227">"सेटिंग्ज"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपल्या प्रशासकाने अक्षम केले"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"फिरविण्यास अनुमती द्या"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"मुख्यस्क्रीन फिरविण्यास अनुमती द्या"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"डिव्हाइस फिरविलेले असताना"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"वर्तमान प्रदर्शन सेटिंग फिरविण्यास परवानगी देत नाही"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"अज्ञात"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"काढा"</string>
<string name="abandoned_search" msgid="891119232568284442">"शोधा"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index e5a15e8..9bb4ea0 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Kertas dinding"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Tetapan"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dilumpuhkan oleh pentadbir anda"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Benarkan putaran"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Benarkan putaran skrin utama"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Apabila peranti diputar"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Tetapan Paparan semasa tidak membenarkan putaran"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Tidak diketahui"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Alih keluar"</string>
<string name="abandoned_search" msgid="891119232568284442">"Carian"</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index ffee1c0..b9ca0ea 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -24,7 +24,7 @@
<string name="work_folder_name" msgid="3753320833950115786">"အလုပ်"</string>
<string name="activity_not_found" msgid="8071924732094499514">"အပ်ပလီကေးရှင်း မထည့်သွင်းထားပါ"</string>
<string name="activity_not_available" msgid="7456344436509528827">"App လက်လှမ်း မမှီပါ"</string>
- <string name="safemode_shortcut_error" msgid="9160126848219158407">"ဒေါင်းလုဒ် appကို လုံခြုံရေး မုဒ်ထဲမှာ ပိတ်ထား"</string>
+ <string name="safemode_shortcut_error" msgid="9160126848219158407">"ဒေါင်းလုဒ် အက်ပ်ကို လုံခြုံရေး မုဒ်ထဲမှာ ပိတ်ထား"</string>
<string name="safemode_widget_error" msgid="4863470563535682004">"လုံခြုံရေး မုဒ်ထဲမှာ ဝီဂျက်များကို ပိတ်ထား"</string>
<string name="long_press_widget_to_add" msgid="5154837155685183344">"ဝစ်ဂျက်တစ်ခုကို ရွေးချယ်ရန် တို့၍ & ဖိထားပါ"</string>
<string name="long_accessible_way_to_add" msgid="4289502106628154155">"ဝစ်ဂျက်တစ်ခုကိုရယူရန် သို့မဟုတ် စိတ်ကြိုက်လုပ်ဆောင်မှုများကို အသုံးပြုရန် နှစ်ချက်တို့ပြီး ကိုင်ထားပါ။"</string>
@@ -72,12 +72,14 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"နောက်ခံများ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"အပြင်အဆင်များ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"သင့်စီမံခန့်ခွဲသူက ပိတ်လိုက်ပါသည်"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"လှည့်ရန် ခွင့်ပြုမည်"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ပင်မစာမျက်နှာကို လှည့်ခွင့်ပြုပါ"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"စက်ပစ္စည်းကို လှည့်ထားသည့်အခါ"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"လက်ရှိ မြင်ကွင်းဆက်တင်တွင် မြင်ကွင်းကို လှည့်ခွင့်မပေးပါ"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"မသိရ"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ဖယ်ရှားရန်"</string>
<string name="abandoned_search" msgid="891119232568284442">"ရှာဖွေရန်"</string>
<string name="abandoned_promises_title" msgid="7096178467971716750">"App မတပ်ဆင်ရသေးပါ"</string>
- <string name="abandoned_promise_explanation" msgid="3990027586878167529">"ဤအိုင်ကွန်အတွက် app အားမထည့်သွင်းထားပါ။ You can remove it, or search for the app and install it manually."</string>
+ <string name="abandoned_promise_explanation" msgid="3990027586878167529">"ဤအိုင်ကွန်အတွက် အက်ပ် အားမထည့်သွင်းထားပါ။ You can remove it, or search for the အက်ပ် and install it manually."</string>
<string name="app_downloading_title" msgid="8336702962104482644">"<xliff:g id="NAME">%1$s</xliff:g> ဒေါင်းလုဒ်လုပ်နေသည်၊ <xliff:g id="PROGRESS">%2$s</xliff:g> ပြီးပါပြီ"</string>
<string name="app_waiting_download_title" msgid="7053938513995617849">"<xliff:g id="NAME">%1$s</xliff:g> ကိုထည့်သွင်းရန်စောင့်နေသည်"</string>
<string name="action_add_to_workspace" msgid="8902165848117513641">"ပင်မမျက်နှာစာသို့ ထည့်ပါ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index be6b644..e5bd1c1 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Bakgrunner"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Innstillinger"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratoren har slått av funksjonen"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Tillat rotasjon"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Tillat rotasjon av startskjermen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Når enheten roteres"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Med den nåværende skjerminnstillingen støttes ikke rotasjon"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Ukjent"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Fjern"</string>
<string name="abandoned_search" msgid="891119232568284442">"Søk"</string>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 29db37d..e4d1409 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -54,14 +54,14 @@
<string name="default_scroll_format" msgid="7475544710230993317">"पृष्ठ %2$d को %1$d"</string>
<string name="workspace_scroll_format" msgid="8458889198184077399">"गृह स्क्रिन %1$d को %2$d"</string>
<string name="workspace_new_page" msgid="257366611030256142">"नयाँ गृह स्क्रिन पृष्ठ"</string>
- <string name="first_run_cling_title" msgid="2459738000155917941">"स्वागतम"</string>
+ <string name="first_run_cling_title" msgid="2459738000155917941">"स्वागतम्"</string>
<string name="migration_cling_title" msgid="9181776667882933767">"तपाईँको अनुप्रयोग आईकनको प्रतिलिप गर्नुहोस्"</string>
<string name="migration_cling_description" msgid="2752413805582227644">"आफ्नो पुरानो गृह स्क्रीनबाट अाईकन र फोल्डरहरू आयात गर्नुहोस्?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"ICONS प्रतिलिप गर्नुहोस्"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"START FRESH"</string>
<string name="workspace_cling_longpress_title" msgid="9173998993909018310">"वालपेपरहरू, विजेट; सेटिङहरू"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"अनुकूलन गर्नका लागि पृष्ठभूमिलाई ट्याप गरी थिचिरहनुहोस्"</string>
- <string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"बुझियो"</string>
+ <string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"बुँझें"</string>
<string name="folder_opened" msgid="94695026776264709">"फोल्डर खुल्यो <xliff:g id="WIDTH">%1$d</xliff:g> बाट <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
<string name="folder_tap_to_close" msgid="4625795376335528256">"फोल्डरलाई बन्द गर्न ट्याप गर्नुहोस्"</string>
<string name="folder_tap_to_rename" msgid="4017685068016979677">"पुनःनामाकरणलाई सुरक्षित गर्न ट्याप गर्नुहोस्"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"वालपेपरहरु"</string>
<string name="settings_button_text" msgid="8119458837558863227">"सेटिंङहरू"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"तपाईँको प्रशासकद्वारा असक्षम गरिएको"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"परिक्रमणलाई अनुमति दिनुहोस्"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"गृहस्क्रिन घुम्ने सुविधालाई अनुमति दिनुहोस्"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"यन्त्रलाई घुमाइँदा"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"हालको प्रदर्शन सम्बन्धी सेटिङले घुमाउने सुविधालाई अनुमति दिँदैन"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"अज्ञात"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"हटाउनुहोस्"</string>
<string name="abandoned_search" msgid="891119232568284442">"खोजी गर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 4a22bce..a546a85 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -69,10 +69,12 @@
<string name="folder_renamed" msgid="1794088362165669656">"De naam van de map is gewijzigd in <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="folder_name_format" msgid="6629239338071103179">"Map: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="widget_button_text" msgid="2880537293434387943">"Widgets"</string>
- <string name="wallpaper_button_text" msgid="8404103075899945851">"Achtergronden"</string>
+ <string name="wallpaper_button_text" msgid="8404103075899945851">"Achtergrond"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Instellingen"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Uitgeschakeld door je beheerder"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Draaien toestaan"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Draaien van startscherm toestaan"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Wanneer het apparaat wordt gedraaid"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Huidige scherminstelling staat draaien niet toe"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Onbekend"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Verwijderen"</string>
<string name="abandoned_search" msgid="891119232568284442">"Zoeken"</string>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 5d0ac65..47bb556 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -25,13 +25,13 @@
<string name="activity_not_found" msgid="8071924732094499514">"ਐਪ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
<string name="activity_not_available" msgid="7456344436509528827">"ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
<string name="safemode_shortcut_error" msgid="9160126848219158407">"ਡਾਊਨਲੋਡ ਕੀਤਾ ਐਪ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਅਸਮਰਥਿਤ"</string>
- <string name="safemode_widget_error" msgid="4863470563535682004">"ਵਿਜੇਟਸ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਅਸਮਰਥਿਤ"</string>
+ <string name="safemode_widget_error" msgid="4863470563535682004">"ਵਿਜਿਟ ਸੁਰੱਖਿਅਤ ਮੋਡ ਵਿੱਚ ਅਸਮਰਥਿਤ"</string>
<string name="long_press_widget_to_add" msgid="5154837155685183344">"ਇੱਕ ਵਿਜਿਟ ਨੂੰ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="long_accessible_way_to_add" msgid="4289502106628154155">"ਡਬਲ-ਟੈਪ & ਇੱਕ ਵਿਜੇਟ ਚੁਣਨ ਲਈ ਹੋਲਡ ਕਰੋ ਅਤੇ ਕਸਟਮ ਕਿਰਿਆਵਾਂ ਵਰਤੋ।"</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
<string name="all_apps_search_bar_hint" msgid="6705987535534678581">"ਐਪਾਂ ਖੋਜੋ…"</string>
<string name="all_apps_loading_message" msgid="7557140873644765180">"ਐਪਸ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."</string>
- <string name="all_apps_no_search_results" msgid="6332185285860416787">"\"<xliff:g id="QUERY">%1$s</xliff:g>\" ਨਾਲ ਮਿਲਦੀ ਕੋਈ ਵੀ ਐਪਸ ਨਹੀਂ ਲੱਭੀਆਂ"</string>
+ <string name="all_apps_no_search_results" msgid="6332185285860416787">"\"<xliff:g id="QUERY">%1$s</xliff:g>\" ਨਾਲ ਮਿਲਦੀਆਂ ਕੋਈ ਵੀ ਐਪਾਂ ਨਹੀਂ ਮਿਲੀਆਂ"</string>
<string name="all_apps_search_market_message" msgid="5470761048755751471">"<xliff:g id="QUERY">%1$s</xliff:g> ਤੇ ਜਾਓ"</string>
<string name="out_of_space" msgid="4691004494942118364">"ਇਸ ਹੋਮ ਸਕ੍ਰੀਨ ਲਈ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ ਹੈ।"</string>
<string name="hotseat_out_of_space" msgid="7448809638125333693">"ਮਨਪਸੰਦ ਟ੍ਰੇ ਵਿੱਚ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ।"</string>
@@ -48,7 +48,7 @@
<string name="permdesc_write_settings" msgid="5440712911516509985">"ਐਪ ਨੂੰ ਹੋਮ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ੌਰਟਕਟ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
<string name="msg_no_phone_permission" msgid="9208659281529857371">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਫੋਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ"</string>
<string name="gadget_error_text" msgid="6081085226050792095">"ਵਿਜੇਟ ਲੋਡ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ"</string>
- <string name="gadget_setup_text" msgid="8274003207686040488">"ਸੈਟਅਪ"</string>
+ <string name="gadget_setup_text" msgid="8274003207686040488">"ਸਥਾਪਤ ਕਰੋ"</string>
<string name="uninstall_system_app_text" msgid="4172046090762920660">"ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
<string name="folder_hint_text" msgid="6617836969016293992">"ਬਿਨਾਂ ਨਾਮ ਦਿੱਤਾ ਫੋਲਡਰ"</string>
<string name="default_scroll_format" msgid="7475544710230993317">"ਸਫ਼ਾ %2$d ਦਾ %1$d"</string>
@@ -59,20 +59,22 @@
<string name="migration_cling_description" msgid="2752413805582227644">"ਕੀ ਆਪਣੀਆਂ ਪੁਰਾਣੀਆਂ ਹੋਮ ਸਕ੍ਰੀਨਾਂ ਤੋਂ ਆਈਕਨਾਂ ਅਤੇ ਫੋਲਡਰ ਆਯਾਤ ਕਰਨੇ ਹਨ?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"ਆਈਕਨਾਂ ਨੂੰ ਕਾਪੀ ਕਰੋ"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"ਤਾਜ਼ਾ ਸ਼ੁਰੂ ਕਰੋ"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"ਵਾਲਪੇਪਰ, ਵਿਜੇਟ, & ਸੈਟਿੰਗਾਂ"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"ਵਾਲਪੇਪਰ, ਵਿਜਿਟ, ਅਤੇ ਸੈਟਿੰਗਾਂ"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"ਬੈਕਗ੍ਰਾਊਂਡ ਨੂੰ ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ"</string>
- <string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"ਸਮਝ ਗਿਆ"</string>
+ <string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"ਸਮਝ ਲਿਆ"</string>
<string name="folder_opened" msgid="94695026776264709">"ਫੋਲਡਰ ਖੋਲ੍ਹਿਆ, <xliff:g id="WIDTH">%1$d</xliff:g> ਬਾਇ <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
<string name="folder_tap_to_close" msgid="4625795376335528256">"ਫੋਲਡਰ ਬੰਦ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="folder_tap_to_rename" msgid="4017685068016979677">"ਬਦਲੇ ਗਏ ਨਾਮ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="folder_closed" msgid="4100806530910930934">"ਫੋਲਡਰ ਬੰਦ ਕੀਤਾ"</string>
<string name="folder_renamed" msgid="1794088362165669656">"ਫੋਲਡਰ ਨੂੰ <xliff:g id="NAME">%1$s</xliff:g> ਮੁੜ ਨਾਮ ਦਿੱਤਾ ਗਿਆ"</string>
<string name="folder_name_format" msgid="6629239338071103179">"ਫੋਲਡਰ: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="widget_button_text" msgid="2880537293434387943">"ਵਿਜੇਟਸ"</string>
+ <string name="widget_button_text" msgid="2880537293434387943">"ਵਿਜਿਟ"</string>
<string name="wallpaper_button_text" msgid="8404103075899945851">"ਵਾਲਪੇਪਰ"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ਸੈਟਿੰਗਾਂ"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਈ ਗਈ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"ਰੋਟੇਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ਮੁੱਖ ਸਕ੍ਰੀਨ ਨੂੰ ਘੁੰਮਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"ਜਦੋਂ ਡੀਵਾਈਸ ਘੁੰਮਾਈ ਜਾਂਦੀ ਹੈ"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ਵਰਤਮਾਨ ਡਿਸਪਲੇ ਸੈਟਿੰਗ ਘੁੰਮਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦੀ ਹੈ"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"ਅਗਿਆਤ"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ਹਟਾਓ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ਖੋਜੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index ad9fbf4..54d7780 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ustawienia"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Funkcja wyłączona przez administratora"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Zezwól na obrót"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Zezwalaj na obrót ekranu głównego"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Podczas obrotu urządzenia"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Obecne ustawienia wyświetlania nie pozwalają na obrót ekranu"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Brak informacji"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Usuń"</string>
<string name="abandoned_search" msgid="891119232568284442">"Szukaj"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fd6ddee..dddf2dc 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imagens de fundo"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Definições"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desativada pelo administrador"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permitir rotação"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permitir rotação do ecrã principal"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Quando o dispositivo é rodado"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"A definição de visualização atual não permite a rotação"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Desconhecido"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Remover"</string>
<string name="abandoned_search" msgid="891119232568284442">"Pesquisar"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e542418..f821b21 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Planos de fundo"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Configurações"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desativado pelo administrador"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permitir rotação"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permitir rotação da tela inicial"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Quando o dispositivo for girado"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"A configuração atual de exibição não permite rotação"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Desconhecido"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Remover"</string>
<string name="abandoned_search" msgid="891119232568284442">"Pesquisar"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index eb54ae7..6be7727 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imagini de fundal"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Setări"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dezactivată de administrator"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Permiteți rotirea"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Permiteți rotirea ecranului de pornire"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Când dispozitivul este rotit"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Setarea actuală a afișajului nu permite rotirea"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Necunoscut"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Eliminați"</string>
<string name="abandoned_search" msgid="891119232568284442">"Căutați"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f73cdf2..9349c0b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -60,7 +60,7 @@
<string name="migration_cling_copy_apps" msgid="946331230090919440">"КОПИРОВАТЬ ЗНАЧКИ"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"ИСПОЛЬЗОВАТЬ СТАНДАРТНЫЙ МАКЕТ"</string>
<string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Обои, виджеты и настройки"</string>
- <string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Чтобы выполнить настройку, коснитесь фона и удерживайте его"</string>
+ <string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Чтобы выполнить настройку, коснитесь фона и удерживайте его."</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"ОК"</string>
<string name="folder_opened" msgid="94695026776264709">"Папка открыта, <xliff:g id="WIDTH">%1$d</xliff:g> x <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
<string name="folder_tap_to_close" msgid="4625795376335528256">"Нажмите, чтобы закрыть папку"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Обои"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Настройки"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Функция отключена администратором"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Разрешить автоповорот"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Разрешить поворачивать главный экран"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"При повороте устройства"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"В настройках отключен поворот экрана"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Неизвестно"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Удалить"</string>
<string name="abandoned_search" msgid="891119232568284442">"Найти"</string>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 89fb60f..d13ae32 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"වෝල්පේපර"</string>
<string name="settings_button_text" msgid="8119458837558863227">"සැකසීම්"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ඔබගේ පරිපාලක විසින් අබල කරන ලදී"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"කරකැවීමට ඉඩ දෙන්න"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"මුල් පිටු තිරය කරකැවීමට ඉඩ දෙන්න"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"උපංගය කරකැවූ විට"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"වත්මන් සංදර්ශක සැකසීම් කරකැවීමට සහාය නොදක්වයි"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"නොදනී"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ඉවත් කරන්න"</string>
<string name="abandoned_search" msgid="891119232568284442">"සොයන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index de017dc..4f92d1e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -59,7 +59,7 @@
<string name="migration_cling_description" msgid="2752413805582227644">"Chcete importovať ikony a priečinky zo starých plôch?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"SKOPÍROVAŤ IKONY"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"ZAČAŤ ODZNOVA"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Pozadia, miniaplikácie a nastavenia"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Tapety, miniaplikácie a nastavenia"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Pozadie prispôsobíte klepnutím a podržaním"</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"DOBRE"</string>
<string name="folder_opened" msgid="94695026776264709">"Otvorený priečinok, <xliff:g id="WIDTH">%1$d</xliff:g> x <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Tapety"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Nastavenia"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázané vaším správcom"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Povoliť otáčanie"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Povoliť otáčanie plochy"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Pri otočení zariadenia"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Aktuálne nastavenie obrazovky nepovoľuje otáčanie"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Neznáme"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Odstrániť"</string>
<string name="abandoned_search" msgid="891119232568284442">"Vyhľadať"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c386458..27412db 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Ozadja"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Nastavitve"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogočil skrbnik."</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Omogočanje zasuka"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Omogočanje sukanja začetnega zaslona"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Ko se naprava zasuka"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Trenutna nastavitev zaslona ne dovoljuje sukanja"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Neznano"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Odstrani"</string>
<string name="abandoned_search" msgid="891119232568284442">"Iskanje"</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index ccd2c9c..4ee58f0 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Imazhet e sfondit"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Cilësimet"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Çaktivizuar nga administratori"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Lejo rotacionin"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Lejo rrotullimin e ekranit kryesor"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kur pajisja rrotullohet"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Cilësimi aktuali i afishimit nuk lejon rrotullimin"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"I panjohur"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Hiq"</string>
<string name="abandoned_search" msgid="891119232568284442">"Kërko"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 82f44b2..c174ace 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Позадине"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Подешавања"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администратор је онемогућио"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Дозволи ротацију"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Дозволи ротацију почетног екрана"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Када се уређај ротира"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Актуелно подешавање приказа не дозвољава ротацију"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Непознато"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Уклони"</string>
<string name="abandoned_search" msgid="891119232568284442">"Претражи"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 79e8f42..3019603 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Bakgrunder"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Inställningar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inaktiverat av administratören"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Tillåt rotering"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Tillåt rotering av startskärmen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"När enheten roterar"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Rotering tillåts inte i de nuvarande skärminställningarna"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Okänt"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Ta bort"</string>
<string name="abandoned_search" msgid="891119232568284442">"Sök"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index a74fb39..5b2eb27 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -74,7 +74,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Mandhari"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Mipangilio"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Imezimwa na msimamizi wako"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Ruhusu kuzungusha"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Ruhusu kuzungusha skrini ya kwanza"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kifaa kinapozungushwa"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Mipangilio ya sasa ya sehemu ya Onyesho hairuhusu kuzungusha"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Yasiyojulikana"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Ondoa"</string>
<string name="abandoned_search" msgid="891119232568284442">"Tafuta"</string>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index be16c89..1f97d24 100644
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -15,10 +15,6 @@
-->
<resources>
-<!-- QSB -->
- <dimen name="toolbar_button_vertical_padding">12dip</dimen>
- <dimen name="toolbar_button_horizontal_padding">20dip</dimen>
-
<!-- Container -->
<dimen name="container_max_width">736dp</dimen>
</resources>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index b9e28a9..789f453 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -22,10 +22,6 @@
<dimen name="all_apps_empty_search_message_top_offset">64dp</dimen>
<dimen name="all_apps_empty_search_bg_top_offset">180dp</dimen>
-<!-- QSB -->
- <dimen name="toolbar_button_vertical_padding">8dip</dimen>
- <dimen name="toolbar_button_horizontal_padding">8dip</dimen>
-
<!-- Cling -->
<dimen name="cling_migration_content_margin">96dp</dimen>
<dimen name="cling_migration_content_width">320dp</dimen>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index ecd4cb0..6bb0a10 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"வால்பேப்பர்கள்"</string>
<string name="settings_button_text" msgid="8119458837558863227">"அமைப்பு"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"உங்கள் நிர்வாகி முடக்கியுள்ளார்"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"சுழற்ற அனுமதி"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"முகப்புத் திரை சுழற்சியை அனுமதி"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"சாதனத்தைச் சுழற்றும் போது"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"தற்போதைய திரை அமைப்பு சுழற்றுவதை அனுமதிக்கவில்லை"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"தெரியாதது"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"அகற்று"</string>
<string name="abandoned_search" msgid="891119232568284442">"தேடு"</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 402c261..82a772e 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"వాల్పేపర్లు"</string>
<string name="settings_button_text" msgid="8119458837558863227">"సెట్టింగ్లు"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"మీ నిర్వాహకులు నిలిపివేసారు"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"భ్రమణాన్ని అనుమతించండి"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"హోమ్స్క్రీన్ భ్రమణాన్ని అనుమతించండి"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"పరికరాన్ని తిప్పినప్పుడు"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"ప్రస్తుత డిస్ప్లే సెట్టింగ్ భ్రమణాన్ని అనుమతించలేదు"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"తెలియదు"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"తీసివేయి"</string>
<string name="abandoned_search" msgid="891119232568284442">"శోధించు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 292a95b..e22ebf1 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"วอลเปเปอร์"</string>
<string name="settings_button_text" msgid="8119458837558863227">"การตั้งค่า"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"ปิดใช้โดยผู้ดูแลระบบ"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"อนุญาตให้ใช้การหมุน"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"อนุญาตให้หมุนหน้าจอหลัก"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"เมื่อหมุนอุปกรณ์"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"การตั้งค่าการแสดงผลปัจจุบันไม่อนุญาตให้มีการหมุน"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"ไม่รู้จัก"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ลบ"</string>
<string name="abandoned_search" msgid="891119232568284442">"ค้นหา"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index d7da5dd..ed0206e 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Mga Wallpaper"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Mga Setting"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Na-disable ng iyong admin"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Payagan ang pag-rotate"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Payagan ang pag-rotate ng homescreen"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Kapag na-rotate ang device"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Hindi pinahihintulutan ng kasalukuyang setting ng Display ang pag-rotate"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Hindi kilala"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Alisin"</string>
<string name="abandoned_search" msgid="891119232568284442">"Maghanap"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 44feebc..94c38d9 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Duvar Kağıtları"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Ayarlar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Yöneticiniz tarafından devre dışı bırakıldı"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Döndürmeye izin ver"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Ana ekranı döndürmeye izin ver"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Cihaz döndürüldüğünde"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Mevcut Ekran ayarı, döndürmeye izin vermiyor"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Bilinmiyor"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Kaldır"</string>
<string name="abandoned_search" msgid="891119232568284442">"Ara"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index b5d81ee..1fc74b6 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Фонові малюнки"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Налаштування"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Вимкнув адміністратор"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Дозволити обертання"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Дозволити обертання головного екрана"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Коли пристрій обертається"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Поточні налаштування дисплея не підтримують обертання"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Невідомо"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Видалити"</string>
<string name="abandoned_search" msgid="891119232568284442">"Шукати"</string>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index bbf9d87..c6e6cfc 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"وال پیپرز"</string>
<string name="settings_button_text" msgid="8119458837558863227">"ترتیبات"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"آپ کے منتظم کی طرف سے غیر فعال کر دیا گیا"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"گردش کی اجازت دیں"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"ہوم اسکرین گھمانے کی اجازت دیں"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"جب آلہ گھمایا جائے"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"موجودہ ڈسپلے ترتیب گھمانے کی اجازت نہیں دیتی"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"نامعلوم"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"ہٹائیں"</string>
<string name="abandoned_search" msgid="891119232568284442">"تلاش کریں"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 0ae7d7a..859ff12 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -29,14 +29,14 @@
<string name="long_press_widget_to_add" msgid="5154837155685183344">"Vidjetni tanlab olish uchun bosib turing."</string>
<string name="long_accessible_way_to_add" msgid="4289502106628154155">"Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning."</string>
<string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
- <string name="all_apps_search_bar_hint" msgid="6705987535534678581">"Ilovalarni qidirish…"</string>
+ <string name="all_apps_search_bar_hint" msgid="6705987535534678581">"Ilovalar ichidan qidirish…"</string>
<string name="all_apps_loading_message" msgid="7557140873644765180">"Ilovalar yuklanmoqda…"</string>
- <string name="all_apps_no_search_results" msgid="6332185285860416787">"“<xliff:g id="QUERY">%1$s</xliff:g>” bilan mos hech qanday ilova topilmadi"</string>
- <string name="all_apps_search_market_message" msgid="5470761048755751471">"O‘tish: <xliff:g id="QUERY">%1$s</xliff:g>"</string>
+ <string name="all_apps_no_search_results" msgid="6332185285860416787">"“<xliff:g id="QUERY">%1$s</xliff:g>” so‘rovi bo‘yicha hech narsa topilmadi"</string>
+ <string name="all_apps_search_market_message" msgid="5470761048755751471">"<xliff:g id="QUERY">%1$s</xliff:g>"</string>
<string name="out_of_space" msgid="4691004494942118364">"Uy ekranida bitta ham xona yo‘q."</string>
<string name="hotseat_out_of_space" msgid="7448809638125333693">"Ajratilganlarda birorta ham xona yo‘q"</string>
<string name="all_apps_button_label" msgid="9110807029020582876">"Ilovalar"</string>
- <string name="all_apps_home_button_label" msgid="252062713717058851">"Uy"</string>
+ <string name="all_apps_home_button_label" msgid="252062713717058851">"Bosh sahifa"</string>
<string name="remove_drop_target_label" msgid="7812859488053230776">"Olib tashlash"</string>
<string name="uninstall_drop_target_label" msgid="4722034217958379417">"O‘chirib tashlash"</string>
<string name="app_info_drop_target_label" msgid="692894985365717661">"Ilova haqida"</string>
@@ -59,7 +59,7 @@
<string name="migration_cling_description" msgid="2752413805582227644">"Eski \"Uy\" ekranlaringizdan jildlar va nishonchalar import qilinsinmi?"</string>
<string name="migration_cling_copy_apps" msgid="946331230090919440">"NISHONCHALARNI NUSXALASH"</string>
<string name="migration_cling_use_default" msgid="2626475813981258626">"YANGIDAN BOSHLASH"</string>
- <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Orqa fon rasmlari, vidjet va sozlamalar"</string>
+ <string name="workspace_cling_longpress_title" msgid="9173998993909018310">"Fon rasmlari, vidjet va sozlamalar"</string>
<string name="workspace_cling_longpress_description" msgid="6569028007301925917">"Orqa fonni moslashtirish uchun uni bosib turing"</string>
<string name="workspace_cling_longpress_dismiss" msgid="368660286867640874">"OK"</string>
<string name="folder_opened" msgid="94695026776264709">"Jild ochildi, <xliff:g id="WIDTH">%1$d</xliff:g> ga <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Fon rasmlari"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Sozlamalar"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administrator tomonidan o‘chirilgan"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Aylanishga ruxsat berish"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Asosiy ekranni aylantirishga ruxsat berish"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Qurilma aylanganda"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Ekran sozlamalariga ko‘ra uni aylantirib bo‘lmaydi"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Noma’lum"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"O‘chirish"</string>
<string name="abandoned_search" msgid="891119232568284442">"Qidirish"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index b3e6234..5da05a1 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Hình nền"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Cài đặt"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Bị tắt bởi quản trị viên của bạn"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Cho phép xoay"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Cho phép xoay màn hình chính"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Khi xoay thiết bị"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Cài đặt Hiển thị hiện tại không cho phép xoay"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Không xác định"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Xóa"</string>
<string name="abandoned_search" msgid="891119232568284442">"Tìm kiếm"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 5911c12..8f269ed 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"壁纸"</string>
<string name="settings_button_text" msgid="8119458837558863227">"设置"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已被您的管理员停用"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"允许旋转"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"允许旋转主屏幕"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"设备旋转时"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"当前的显示设置不允许旋转设备"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"未知"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"移除"</string>
<string name="abandoned_search" msgid="891119232568284442">"搜索"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 63e853b..a8bd7bb 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"桌布"</string>
<string name="settings_button_text" msgid="8119458837558863227">"設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由您的管理員停用"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"允許旋轉"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"允許主畫面旋轉"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"當裝置旋轉時"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"「目前顯示屏」設定不允許旋轉"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"不明"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"移除"</string>
<string name="abandoned_search" msgid="891119232568284442">"搜尋"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 2c6046f..6d66f18 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"桌布"</string>
<string name="settings_button_text" msgid="8119458837558863227">"設定"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由您的管理員停用"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"允許輪播"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"允許旋轉主畫面"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"當裝置旋轉時"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"目前的顯示設定不允許旋轉畫面"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"不明"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"移除"</string>
<string name="abandoned_search" msgid="891119232568284442">"搜尋"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index eeffe89..2184831 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -72,7 +72,9 @@
<string name="wallpaper_button_text" msgid="8404103075899945851">"Izithombe zangemuva"</string>
<string name="settings_button_text" msgid="8119458837558863227">"Izilungiselelo"</string>
<string name="msg_disabled_by_admin" msgid="6898038085516271325">"Kukhutshazwe umlawuli wakho"</string>
- <string name="allow_rotation_title" msgid="2118706734511831751">"Vumela ukuphenduka"</string>
+ <string name="allow_rotation_title" msgid="3132336367556833843">"Vumela ukuzungezisa kwesikrini sasekhaya"</string>
+ <string name="allow_rotation_desc" msgid="7635719920854330492">"Uma idivayisi izungeziswa"</string>
+ <string name="allow_rotation_blocked_desc" msgid="3212602545192996253">"Isilungiselelo sesiboniso samanje asivumeli ukuzungezisa"</string>
<string name="package_state_unknown" msgid="7592128424511031410">"Akwaziwa"</string>
<string name="abandoned_clean_this" msgid="7610119707847920412">"Susa"</string>
<string name="abandoned_search" msgid="891119232568284442">"Sesha"</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index 88aa7fd..97f75ac 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -9,9 +9,6 @@
<bool name="is_large_tablet">false</bool>
<bool name="allow_rotation">false</bool>
- <!-- Max number of page indicators to show -->
- <integer name="config_maxNumberOfPageIndicatorsToShow">21</integer>
-
<!-- App data backup and restore. To enble backup, register with an android backup service.
http://developer.android.com/guide/topics/data/backup.html#BackupKey -->
<bool name="enable_backup">false</bool>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 6fac31e1..7510fafd 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -50,10 +50,6 @@
<dimen name="cling_migration_content_margin">16dp</dimen>
<dimen name="cling_migration_content_width">280dp</dimen>
-<!-- QSB -->
- <dimen name="toolbar_button_vertical_padding">4dip</dimen>
- <dimen name="toolbar_button_horizontal_padding">12dip</dimen>
-
<!-- Container -->
<!-- Note: This needs to match the fixed insets for the search box. -->
<dimen name="container_bounds_inset">8dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4c9d0b5..e675a92 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -21,9 +21,6 @@
<!-- General -->
<skip />
- <!-- URI used to import old favorites. [DO NOT TRANSLATE] -->
- <string name="old_launcher_provider_uri" translatable="false">content://com.android.launcher2.settings/favorites?notify=true</string>
-
<!-- Application name -->
<string name="app_name">Launcher3</string>
<!-- Default folder name -->
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 88e1532..ec09cf1 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -152,8 +152,6 @@
static final boolean DEBUG_RESUME_TIME = false;
static final boolean DEBUG_LOGGING = false;
- static final boolean ENABLE_DEBUG_INTENTS = false; // allow DebugIntents to run
-
private static final int REQUEST_CREATE_SHORTCUT = 1;
private static final int REQUEST_CREATE_APPWIDGET = 5;
private static final int REQUEST_PICK_APPWIDGET = 9;
@@ -201,9 +199,6 @@
private static final String QSB_WIDGET_ID = "qsb_widget_id";
private static final String QSB_WIDGET_PROVIDER = "qsb_widget_provider";
- public static final String USER_HAS_MIGRATED = "launcher.user_migrated_from_old_data";
- private static final String MIGRATE_AUTHORITY = "com.android.launcher2.settings";
-
/** The different states that Launcher can be in. */
enum State { NONE, WORKSPACE, WORKSPACE_SPRING_LOADED, APPS, APPS_SPRING_LOADED,
WIDGETS, WIDGETS_SPRING_LOADED }
@@ -1621,15 +1616,6 @@
} else if (Intent.ACTION_USER_PRESENT.equals(action)) {
mUserPresent = true;
updateAutoAdvanceState();
- } else if (ENABLE_DEBUG_INTENTS && DebugIntents.DELETE_DATABASE.equals(action)) {
- mModel.resetLoadedState(false, true);
- mModel.startLoader(PagedView.INVALID_RESTORE_PAGE,
- LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE);
- } else if (ENABLE_DEBUG_INTENTS && DebugIntents.MIGRATE_DATABASE.equals(action)) {
- mModel.resetLoadedState(false, true);
- mModel.startLoader(PagedView.INVALID_RESTORE_PAGE,
- LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE
- | LauncherModel.LOADER_FLAG_MIGRATE_SHORTCUTS);
}
}
};
@@ -1642,11 +1628,6 @@
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
- // For handling managed profiles
- if (ENABLE_DEBUG_INTENTS) {
- filter.addAction(DebugIntents.DELETE_DATABASE);
- filter.addAction(DebugIntents.MIGRATE_DATABASE);
- }
registerReceiver(mReceiver, filter);
FirstFrameAnimatorHelper.initializeDrawListener(getWindow().getDecorView());
mAttached = true;
@@ -3552,7 +3533,12 @@
if (widgetId != -1) {
mQsb = mAppWidgetHost.createView(this, widgetId, searchProvider);
mQsb.setId(R.id.qsb_widget);
- mQsb.updateAppWidgetOptions(opts);
+ if (!Utilities.containsAll(
+ AppWidgetManager.getInstance(this).getAppWidgetOptions(widgetId), opts)) {
+ // Launcher should not be updating the options often.
+ FileLog.d(TAG, "Options for QSB were not same");
+ mQsb.updateAppWidgetOptions(opts);
+ }
mQsb.setPadding(0, 0, 0, 0);
mSearchDropTargetBar.addView(mQsb);
mSearchDropTargetBar.setQsbSearchBar(mQsb);
@@ -4511,43 +4497,10 @@
LauncherClings launcherClings = new LauncherClings(this);
if (launcherClings.shouldShowFirstRunOrMigrationClings()) {
mClings = launcherClings;
- if (canMigrateFromOldLauncherDb()) {
- launcherClings.showMigrationCling();
- } else {
- launcherClings.showLongPressCling(true);
- }
+ launcherClings.showLongPressCling(true);
}
}
- private boolean canMigrateFromOldLauncherDb() {
- // Return true if launcher was not preinstalled and and old content provider exists.
- return ((getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 0) &&
- providerExists(MIGRATE_AUTHORITY) &&
- providerExists(Uri.parse(getString(R.string.old_launcher_provider_uri)).getAuthority());
-
- }
-
- private boolean providerExists(String authority) {
- return getPackageManager().resolveContentProvider(authority, 0) != null;
- }
-
-
- void showWorkspaceSearchAndHotseat() {
- if (mWorkspace != null) mWorkspace.setAlpha(1f);
- if (mHotseat != null) mHotseat.setAlpha(1f);
- if (mPageIndicator != null) mPageIndicator.setAlpha(1f);
- if (mSearchDropTargetBar != null) mSearchDropTargetBar.animateToState(
- SearchDropTargetBar.State.SEARCH_BAR, 0);
- }
-
- void hideWorkspaceSearchAndHotseat() {
- if (mWorkspace != null) mWorkspace.setAlpha(0f);
- if (mHotseat != null) mHotseat.setAlpha(0f);
- if (mPageIndicator != null) mPageIndicator.setAlpha(0f);
- if (mSearchDropTargetBar != null) mSearchDropTargetBar.animateToState(
- SearchDropTargetBar.State.INVISIBLE, 0);
- }
-
// TODO: These method should be a part of LauncherSearchCallback
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public ItemInfo createAppDragInfo(Intent appLaunchIntent) {
@@ -4701,8 +4654,3 @@
}
}
}
-
-interface DebugIntents {
- static final String DELETE_DATABASE = "com.android.launcher3.action.DELETE_DATABASE";
- static final String MIGRATE_DATABASE = "com.android.launcher3.action.MIGRATE_DATABASE";
-}
diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java
index 1cfa3f7..c44969f 100644
--- a/src/com/android/launcher3/LauncherClings.java
+++ b/src/com/android/launcher3/LauncherClings.java
@@ -21,10 +21,7 @@
import android.annotation.TargetApi;
import android.app.ActivityManager;
import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.pm.ApplicationInfo;
import android.graphics.drawable.Drawable;
-import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.UserManager;
@@ -42,7 +39,6 @@
import com.android.launcher3.util.Thunk;
class LauncherClings implements OnClickListener, OnKeyListener {
- private static final String MIGRATION_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
private static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
private static final String TAG_CROP_TOP_AND_SIDES = "crop_bg_top_and_sides";
@@ -62,24 +58,7 @@
@Override
public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.cling_dismiss_migration_use_default) {
- // Disable the migration cling
- dismissMigrationCling();
- } else if (id == R.id.cling_dismiss_migration_copy_apps) {
- // Copy the shortcuts from the old database
- LauncherModel model = mLauncher.getModel();
- model.resetLoadedState(false, true);
- model.startLoader(PagedView.INVALID_RESTORE_PAGE,
- LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE
- | LauncherModel.LOADER_FLAG_MIGRATE_SHORTCUTS);
- // Set the flag to skip the folder cling
- SharedPreferences.Editor editor = Utilities.getPrefs(mLauncher).edit();
- editor.putBoolean(Launcher.USER_HAS_MIGRATED, true);
- editor.apply();
- // Disable the migration cling
- dismissMigrationCling();
- } else if (id == R.id.cling_dismiss_longpress_info) {
+ if (v.getId() == R.id.cling_dismiss_longpress_info) {
dismissLongPressCling();
}
}
@@ -98,40 +77,6 @@
return false;
}
- /**
- * Shows the migration cling.
- *
- * This flow is mutually exclusive with showFirstRunCling, and only runs if this Launcher
- * package was not preinstalled and there exists a db to migrate from.
- */
- public void showMigrationCling() {
- mLauncher.onLauncherClingShown();
- mIsVisible = true;
- mLauncher.hideWorkspaceSearchAndHotseat();
-
- ViewGroup root = (ViewGroup) mLauncher.findViewById(R.id.launcher);
- View inflated = mInflater.inflate(R.layout.migration_cling, root);
- inflated.findViewById(R.id.cling_dismiss_migration_copy_apps).setOnClickListener(this);
- inflated.findViewById(R.id.cling_dismiss_migration_use_default).setOnClickListener(this);
- }
-
- private void dismissMigrationCling() {
- mLauncher.showWorkspaceSearchAndHotseat();
- Runnable dismissCb = new Runnable() {
- public void run() {
- Runnable cb = new Runnable() {
- public void run() {
- // Show the longpress cling next
- showLongPressCling(false);
- }
- };
- dismissCling(mLauncher.findViewById(R.id.migration_cling), cb,
- MIGRATION_CLING_DISMISSED_KEY, DISMISS_CLING_DURATION);
- }
- };
- mLauncher.getWorkspace().post(dismissCb);
- }
-
public void showLongPressCling(boolean showWelcome) {
mIsVisible = true;
ViewGroup root = (ViewGroup) mLauncher.findViewById(R.id.launcher);
@@ -197,44 +142,28 @@
@Thunk void dismissLongPressCling() {
Runnable dismissCb = new Runnable() {
public void run() {
- Runnable cb = new Runnable() {
- public void run() {
- mLauncher.onLauncherClingDismissed();
- }
- };
- dismissCling(mLauncher.findViewById(R.id.longpress_cling), cb,
- WORKSPACE_CLING_DISMISSED_KEY, DISMISS_CLING_DURATION);
+ final View cling = mLauncher.findViewById(R.id.longpress_cling);
+ // To catch cases where siblings of top-level views are made invisible, just check whether
+ // the cling is directly set to GONE before dismissing it.
+ if (cling != null && cling.getVisibility() != View.GONE) {
+ final Runnable cleanUpClingCb = new Runnable() {
+ public void run() {
+ cling.setVisibility(View.GONE);
+ mLauncher.getSharedPrefs().edit()
+ .putBoolean(WORKSPACE_CLING_DISMISSED_KEY, true)
+ .apply();
+ mIsVisible = false;
+ mLauncher.onLauncherClingDismissed();
+ }
+ };
+ cling.animate().alpha(0).setDuration(DISMISS_CLING_DURATION)
+ .withEndAction(cleanUpClingCb);
+ }
}
};
mLauncher.getWorkspace().post(dismissCb);
}
- /** Hides the specified Cling */
- @Thunk void dismissCling(final View cling, final Runnable postAnimationCb,
- final String flag, int duration) {
- // To catch cases where siblings of top-level views are made invisible, just check whether
- // the cling is directly set to GONE before dismissing it.
- if (cling != null && cling.getVisibility() != View.GONE) {
- final Runnable cleanUpClingCb = new Runnable() {
- public void run() {
- cling.setVisibility(View.GONE);
- mLauncher.getSharedPrefs().edit()
- .putBoolean(flag, true)
- .apply();
- mIsVisible = false;
- if (postAnimationCb != null) {
- postAnimationCb.run();
- }
- }
- };
- if (duration <= 0) {
- cleanUpClingCb.run();
- } else {
- cling.animate().alpha(0).setDuration(duration).withEndAction(cleanUpClingCb);
- }
- }
- }
-
public boolean isVisible() {
return mIsVisible;
}
@@ -269,10 +198,8 @@
}
public boolean shouldShowFirstRunOrMigrationClings() {
- SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
return areClingsEnabled() &&
- !sharedPrefs.getBoolean(WORKSPACE_CLING_DISMISSED_KEY, false) &&
- !sharedPrefs.getBoolean(MIGRATION_CLING_DISMISSED_KEY, false);
+ !mLauncher.getSharedPrefs().getBoolean(WORKSPACE_CLING_DISMISSED_KEY, false);
}
public static void markFirstRunClingDismissed(Context ctx) {
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index fec96ca..f9cb9ed 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -97,10 +97,6 @@
static final String TAG = "Launcher.Model";
- public static final int LOADER_FLAG_NONE = 0;
- public static final int LOADER_FLAG_CLEAR_WORKSPACE = 1 << 0;
- public static final int LOADER_FLAG_MIGRATE_SHORTCUTS = 1 << 1;
-
private static final int ITEMS_CHUNK = 6; // batch size for the workspace icons
private static final long INVALID_SCREEN_ID = -1L;
@@ -1221,10 +1217,6 @@
}
public void startLoader(int synchronousBindPage) {
- startLoader(synchronousBindPage, LOADER_FLAG_NONE);
- }
-
- public void startLoader(int synchronousBindPage, int loadFlags) {
// Enable queue before starting loader. It will get disabled in Launcher#finishBindingItems
InstallShortcutReceiver.enableInstallQueue();
synchronized (mLock) {
@@ -1240,7 +1232,7 @@
// If there is already one running, tell it to stop.
stopLoaderLocked();
- mLoaderTask = new LoaderTask(mApp.getContext(), loadFlags, synchronousBindPage);
+ mLoaderTask = new LoaderTask(mApp.getContext(), synchronousBindPage);
if (synchronousBindPage != PagedView.INVALID_RESTORE_PAGE
&& mAllAppsLoaded && mWorkspaceLoaded && !mIsLoaderTaskRunning) {
mLoaderTask.runBindSynchronousPage(synchronousBindPage);
@@ -1299,11 +1291,9 @@
@Thunk boolean mIsLoadingAndBindingWorkspace;
private boolean mStopped;
@Thunk boolean mLoadAndBindStepFinished;
- private int mFlags;
- LoaderTask(Context context, int flags, int pageToBindFirst) {
+ LoaderTask(Context context, int pageToBindFirst) {
mContext = context;
- mFlags = flags;
mPageToBindFirst = pageToBindFirst;
}
@@ -1599,29 +1589,22 @@
int countX = profile.numColumns;
int countY = profile.numRows;
+ boolean clearDb = false;
if (GridSizeMigrationTask.ENABLED &&
!GridSizeMigrationTask.migrateGridIfNeeded(mContext)) {
// Migration failed. Clear workspace.
- mFlags = mFlags | LOADER_FLAG_CLEAR_WORKSPACE;
+ clearDb = true;
}
- if ((mFlags & LOADER_FLAG_CLEAR_WORKSPACE) != 0) {
+ if (clearDb) {
Log.d(TAG, "loadWorkspace: resetting launcher database");
LauncherSettings.Settings.call(contentResolver,
LauncherSettings.Settings.METHOD_DELETE_DB);
}
- if ((mFlags & LOADER_FLAG_MIGRATE_SHORTCUTS) != 0) {
- // append the user's Launcher2 shortcuts
- Log.d(TAG, "loadWorkspace: migrating from launcher2");
- LauncherSettings.Settings.call(contentResolver,
- LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS);
- } else {
- // Make sure the default workspace is loaded
- Log.d(TAG, "loadWorkspace: loading default favorites");
- LauncherSettings.Settings.call(contentResolver,
- LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES);
- }
+ Log.d(TAG, "loadWorkspace: loading default favorites");
+ LauncherSettings.Settings.call(contentResolver,
+ LauncherSettings.Settings.METHOD_LOAD_DEFAULT_FAVORITES);
synchronized (sBgLock) {
clearSBgDataStructures();
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 7ebee31..11d61d0 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -363,13 +363,6 @@
loadDefaultFavoritesIfNecessary();
return null;
}
- case LauncherSettings.Settings.METHOD_MIGRATE_LAUNCHER2_SHORTCUTS: {
- mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(),
- Uri.parse(getContext().getString(R.string.old_launcher_provider_uri)));
- Utilities.getPrefs(getContext()).edit().putBoolean(EMPTY_DATABASE_CREATED, false)
- .commit();
- return null;
- }
case LauncherSettings.Settings.METHOD_UPDATE_FOLDER_ITEMS_RANK: {
mOpenHelper.updateFolderItemsRank(mOpenHelper.getWritableDatabase(), false);
return null;
@@ -1033,278 +1026,6 @@
return count;
}
-
- @Thunk void migrateLauncher2Shortcuts(SQLiteDatabase db, Uri uri) {
- final ContentResolver resolver = mContext.getContentResolver();
- Cursor c = null;
- int count = 0;
- int curScreen = 0;
-
- try {
- c = resolver.query(uri, null, null, null, "title ASC");
- } catch (Exception e) {
- // Ignore
- }
-
- // We already have a favorites database in the old provider
- if (c != null) {
- try {
- if (c.getCount() > 0) {
- final int idIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites._ID);
- final int intentIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.INTENT);
- final int titleIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.TITLE);
- final int iconIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ICON);
- final int iconPackageIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ICON_PACKAGE);
- final int iconResourceIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ICON_RESOURCE);
- final int containerIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CONTAINER);
- final int itemTypeIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ITEM_TYPE);
- final int screenIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SCREEN);
- final int cellXIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLX);
- final int cellYIndex
- = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLY);
- final int profileIndex
- = c.getColumnIndex(LauncherSettings.Favorites.PROFILE_ID);
-
- int i = 0;
- int curX = 0;
- int curY = 0;
-
- final LauncherAppState app = LauncherAppState.getInstance();
- final InvariantDeviceProfile profile = app.getInvariantDeviceProfile();
- final int width = (int) profile.numColumns;
- final int height = (int) profile.numRows;
- final int hotseatWidth = (int) profile.numHotseatIcons;
-
- final HashSet<String> seenIntents = new HashSet<String>(c.getCount());
-
- final ArrayList<ContentValues> shortcuts = new ArrayList<ContentValues>();
- final ArrayList<ContentValues> folders = new ArrayList<ContentValues>();
- final SparseArray<ContentValues> hotseat = new SparseArray<ContentValues>();
-
- while (c.moveToNext()) {
- final int itemType = c.getInt(itemTypeIndex);
- if (itemType != Favorites.ITEM_TYPE_APPLICATION
- && itemType != Favorites.ITEM_TYPE_SHORTCUT
- && itemType != Favorites.ITEM_TYPE_FOLDER) {
- continue;
- }
-
- final int cellX = c.getInt(cellXIndex);
- final int cellY = c.getInt(cellYIndex);
- final int screen = c.getInt(screenIndex);
- int container = c.getInt(containerIndex);
- final String intentStr = c.getString(intentIndex);
-
- UserManagerCompat userManager = UserManagerCompat.getInstance(mContext);
- UserHandleCompat userHandle;
- final long userSerialNumber;
- if (profileIndex != -1 && !c.isNull(profileIndex)) {
- userSerialNumber = c.getInt(profileIndex);
- userHandle = userManager.getUserForSerialNumber(userSerialNumber);
- } else {
- // Default to the serial number of this user, for older
- // shortcuts.
- userHandle = UserHandleCompat.myUserHandle();
- userSerialNumber = userManager.getSerialNumberForUser(userHandle);
- }
-
- if (userHandle == null) {
- Log.d(TAG, "skipping deleted user");
- continue;
- }
-
- if (itemType != Favorites.ITEM_TYPE_FOLDER) {
-
- final Intent intent;
- final ComponentName cn;
- try {
- intent = Intent.parseUri(intentStr, 0);
- } catch (URISyntaxException e) {
- // bogus intent?
- Log.d(TAG, "skipping invalid intent uri");
- continue;
- }
-
- cn = intent.getComponent();
- if (TextUtils.isEmpty(intentStr)) {
- // no intent? no icon
- Log.d(TAG, "skipping empty intent");
- continue;
- } else if (cn != null &&
- !LauncherModel.isValidPackageActivity(mContext, cn,
- userHandle)) {
- // component no longer exists.
- Log.d(TAG, "skipping item whose component no longer exists.");
- continue;
- } else if (container ==
- LauncherSettings.Favorites.CONTAINER_DESKTOP) {
- // Dedupe icons directly on the workspace
-
- // Canonicalize
- // the Play Store sets the package parameter, but Launcher
- // does not, so we clear that out to keep them the same.
- // Also ignore intent flags for the purposes of deduping.
- intent.setPackage(null);
- int flags = intent.getFlags();
- intent.setFlags(0);
- final String key = intent.toUri(0);
- intent.setFlags(flags);
- if (seenIntents.contains(key)) {
- Log.d(TAG, "skipping duplicate");
- continue;
- } else {
- seenIntents.add(key);
- }
- }
- }
-
- ContentValues values = new ContentValues(c.getColumnCount());
- values.put(LauncherSettings.Favorites._ID, c.getInt(idIndex));
- values.put(LauncherSettings.Favorites.INTENT, intentStr);
- values.put(LauncherSettings.Favorites.TITLE, c.getString(titleIndex));
- values.put(LauncherSettings.Favorites.ICON, c.getBlob(iconIndex));
- values.put(LauncherSettings.Favorites.ICON_PACKAGE,
- c.getString(iconPackageIndex));
- values.put(LauncherSettings.Favorites.ICON_RESOURCE,
- c.getString(iconResourceIndex));
- values.put(LauncherSettings.Favorites.ITEM_TYPE, itemType);
- values.put(LauncherSettings.Favorites.APPWIDGET_ID, -1);
- values.put(LauncherSettings.Favorites.PROFILE_ID, userSerialNumber);
-
- if (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
- hotseat.put(screen, values);
- }
-
- if (container != LauncherSettings.Favorites.CONTAINER_DESKTOP) {
- // In a folder or in the hotseat, preserve position
- values.put(LauncherSettings.Favorites.SCREEN, screen);
- values.put(LauncherSettings.Favorites.CELLX, cellX);
- values.put(LauncherSettings.Favorites.CELLY, cellY);
- } else {
- // For items contained directly on one of the workspace screen,
- // we'll determine their location (screen, x, y) in a second pass.
- }
-
- values.put(LauncherSettings.Favorites.CONTAINER, container);
-
- if (itemType != Favorites.ITEM_TYPE_FOLDER) {
- shortcuts.add(values);
- } else {
- folders.add(values);
- }
- }
-
- // Now that we have all the hotseat icons, let's go through them left-right
- // and assign valid locations for them in the new hotseat
- final int N = hotseat.size();
- for (int idx=0; idx<N; idx++) {
- int hotseatX = hotseat.keyAt(idx);
- ContentValues values = hotseat.valueAt(idx);
-
- if (hotseatX == profile.hotseatAllAppsRank) {
- // let's drop this in the next available hole in the hotseat
- while (++hotseatX < hotseatWidth) {
- if (hotseat.get(hotseatX) == null) {
- // found a spot! move it here
- values.put(LauncherSettings.Favorites.SCREEN,
- hotseatX);
- break;
- }
- }
- }
- if (hotseatX >= hotseatWidth) {
- // no room for you in the hotseat? it's off to the desktop with you
- values.put(LauncherSettings.Favorites.CONTAINER,
- Favorites.CONTAINER_DESKTOP);
- }
- }
-
- final ArrayList<ContentValues> allItems = new ArrayList<ContentValues>();
- // Folders first
- allItems.addAll(folders);
- // Then shortcuts
- allItems.addAll(shortcuts);
-
- // Layout all the folders
- for (ContentValues values: allItems) {
- if (values.getAsInteger(LauncherSettings.Favorites.CONTAINER) !=
- LauncherSettings.Favorites.CONTAINER_DESKTOP) {
- // Hotseat items and folder items have already had their
- // location information set. Nothing to be done here.
- continue;
- }
- values.put(LauncherSettings.Favorites.SCREEN, curScreen);
- values.put(LauncherSettings.Favorites.CELLX, curX);
- values.put(LauncherSettings.Favorites.CELLY, curY);
- curX = (curX + 1) % width;
- if (curX == 0) {
- curY = (curY + 1);
- }
- // Leave the last row of icons blank on every screen
- if (curY == height - 1) {
- curScreen = (int) generateNewScreenId();
- curY = 0;
- }
- }
-
- if (allItems.size() > 0) {
- db.beginTransaction();
- try {
- for (ContentValues row: allItems) {
- if (row == null) continue;
- if (dbInsertAndCheck(this, db, Favorites.TABLE_NAME, null, row)
- < 0) {
- return;
- } else {
- count++;
- }
- }
- db.setTransactionSuccessful();
- } finally {
- db.endTransaction();
- }
- }
-
- db.beginTransaction();
- try {
- for (i=0; i<=curScreen; i++) {
- final ContentValues values = new ContentValues();
- values.put(LauncherSettings.WorkspaceScreens._ID, i);
- values.put(LauncherSettings.WorkspaceScreens.SCREEN_RANK, i);
- if (dbInsertAndCheck(this, db, WorkspaceScreens.TABLE_NAME, null, values)
- < 0) {
- return;
- }
- }
- db.setTransactionSuccessful();
- } finally {
- db.endTransaction();
- }
-
- updateFolderItemsRank(db, false);
- }
- } finally {
- c.close();
- }
- }
-
- Log.d(TAG, "migrated " + count + " icons from Launcher2 into "
- + (curScreen+1) + " screens");
-
- // Update max IDs; very important since we just grabbed IDs from another database
- mMaxItemId = initializeMaxItemId(db);
- mMaxScreenId = initializeMaxScreenId(db);
- if (LOGD) Log.d(TAG, "mMaxItemId: " + mMaxItemId + " mMaxScreenId: " + mMaxScreenId);
- }
}
/**
diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
index 45a87cc..52668d7 100644
--- a/src/com/android/launcher3/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -291,7 +291,6 @@
public static final String METHOD_DELETE_DB = "delete_db";
public static final String METHOD_LOAD_DEFAULT_FAVORITES = "load_default_favorites";
- public static final String METHOD_MIGRATE_LAUNCHER2_SHORTCUTS = "migrate_l2_shortcuts";
public static final String METHOD_SET_EXTRACTED_COLORS_AND_WALLPAPER_ID =
"set_extracted_colors_and_wallpaper_id_setting";
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 86a1a39..fdca9f2 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -259,9 +259,9 @@
OnClickListener listener = getPageIndicatorClickListener();
if (listener != null) {
- mPageIndicator.getView().setOnClickListener(listener);
+ mPageIndicator.setOnClickListener(listener);
}
- mPageIndicator.getView().setContentDescription(getPageIndicatorDescription());
+ mPageIndicator.setContentDescription(getPageIndicatorDescription());
}
}
@@ -467,7 +467,7 @@
private void updatePageIndicator() {
// Update the page indicator (when we aren't reordering)
if (mPageIndicator != null) {
- mPageIndicator.getView().setContentDescription(getPageIndicatorDescription());
+ mPageIndicator.setContentDescription(getPageIndicatorDescription());
if (!isReordering(false)) {
mPageIndicator.setActiveMarker(getNextPage());
}
diff --git a/src/com/android/launcher3/PinchAnimationManager.java b/src/com/android/launcher3/PinchAnimationManager.java
index 477b92c..c8c8fa4 100644
--- a/src/com/android/launcher3/PinchAnimationManager.java
+++ b/src/com/android/launcher3/PinchAnimationManager.java
@@ -194,7 +194,7 @@
animateShowHideView(INDEX_HOTSEAT, mLauncher.getHotseat(), show);
if (mWorkspace.getPageIndicator() != null) {
// There aren't page indicators in landscape mode on phones, hence the null check.
- animateShowHideView(INDEX_PAGE_INDICATOR, mWorkspace.getPageIndicator().getView(), show);
+ animateShowHideView(INDEX_PAGE_INDICATOR, mWorkspace.getPageIndicator(), show);
}
}
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index e3b959b..00ee387 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -869,6 +869,26 @@
}
/**
+ * Returns true if {@param original} contains all entries defined in {@param updates} and
+ * have the same value.
+ * The comparison uses {@link Object#equals(Object)} to compare the values.
+ */
+ public static boolean containsAll(Bundle original, Bundle updates) {
+ for (String key : updates.keySet()) {
+ Object value1 = updates.get(key);
+ Object value2 = original.get(key);
+ if (value1 == null) {
+ if (value2 != null) {
+ return false;
+ }
+ } else if (!value1.equals(value2)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
* An extension of {@link BitmapDrawable} which returns the bitmap pixel size as intrinsic size.
* This allows the badging to be done based on the action bitmap size rather than
* the scaled bitmap size.
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index f8eff69..62c1bc8 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1275,13 +1275,15 @@
// Update the page indicator progress.
boolean isTransitioning = mIsSwitchingState
|| (getLayoutTransition() != null && getLayoutTransition().isRunning());
- if (mPageIndicator != null && !isTransitioning) {
+ if (!isTransitioning) {
showPageIndicatorAtCurrentScroll();
}
}
private void showPageIndicatorAtCurrentScroll() {
- mPageIndicator.setScroll(getScrollX(), computeMaxScrollX());
+ if (mPageIndicator != null) {
+ mPageIndicator.setScroll(getScrollX(), computeMaxScrollX());
+ }
}
@Override
@@ -1337,7 +1339,7 @@
// different effects based on device performance. On at least one relatively high-end
// device I've tried, translating the launcher causes things to get quite laggy.
setTranslationAndAlpha(mLauncher.getSearchDropTargetBar(), transX, alpha);
- setTranslationAndAlpha(getPageIndicator().getView(), transX, alpha);
+ setTranslationAndAlpha(getPageIndicator(), transX, alpha);
setTranslationAndAlpha(getChildAt(getCurrentPage()), transX, alpha);
setTranslationAndAlpha(mLauncher.getHotseat(), transX, alpha);
@@ -1550,7 +1552,7 @@
}
if (getPageIndicator() != null) {
- getPageIndicator().getView().setTranslationX(translationX);
+ getPageIndicator().setTranslationX(translationX);
}
if (mCustomContentCallbacks != null) {
@@ -1599,7 +1601,7 @@
// attach to window
OnClickListener listener = getPageIndicatorClickListener();
if (listener != null) {
- getPageIndicator().getView().setOnClickListener(listener);
+ getPageIndicator().setOnClickListener(listener);
}
showPageIndicatorAtCurrentScroll();
diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
index 60070a8..e268640 100644
--- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
+++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
@@ -357,7 +357,7 @@
final ViewGroup overviewPanel = mLauncher.getOverviewPanel();
final View hotseat = mLauncher.getHotseat();
- final View pageIndicator = mWorkspace.getPageIndicator().getView();
+ final View pageIndicator = mWorkspace.getPageIndicator();
if (animated) {
LauncherViewPropertyAnimator scale = new LauncherViewPropertyAnimator(mWorkspace);
scale.scaleX(mNewScale)
diff --git a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
index 463278a..ec65c3e 100644
--- a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
+++ b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java
@@ -1,6 +1,8 @@
package com.android.launcher3.compat;
import android.content.Context;
+import android.content.res.Configuration;
+import android.util.Log;
import com.android.launcher3.Utilities;
@@ -8,108 +10,41 @@
import java.lang.reflect.Method;
import java.util.Locale;
-/**
- * Fallback class to support Alphabetic indexing if not supported by the framework.
- * TODO(winsonc): disable for non-english locales
- */
-class BaseAlphabeticIndex {
-
- private static final String BUCKETS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-";
- private static final int UNKNOWN_BUCKET_INDEX = BUCKETS.length() - 1;
-
- public BaseAlphabeticIndex() {}
-
- /**
- * Sets the max number of the label buckets in this index.
- */
- public void setMaxLabelCount(int count) {
- // Not currently supported
- }
-
- /**
- * Returns the index of the bucket in which the given string should appear.
- */
- protected int getBucketIndex(String s) {
- if (s.isEmpty()) {
- return UNKNOWN_BUCKET_INDEX;
- }
- int index = BUCKETS.indexOf(s.substring(0, 1).toUpperCase());
- if (index != -1) {
- return index;
- }
- return UNKNOWN_BUCKET_INDEX;
- }
-
- /**
- * Returns the label for the bucket at the given index (as returned by getBucketIndex).
- */
- protected String getBucketLabel(int index) {
- return BUCKETS.substring(index, index + 1);
- }
-}
-
-/**
- * Reflected libcore.icu.AlphabeticIndex implementation, falls back to the base alphabetic index.
- */
-public class AlphabeticIndexCompat extends BaseAlphabeticIndex {
+public class AlphabeticIndexCompat {
+ private static final String TAG = "AlphabeticIndexCompat";
private static final String MID_DOT = "\u2219";
+ private final BaseIndex mBaseIndex;
+ private final String mDefaultMiscLabel;
- private Object mAlphabeticIndex;
- private Method mAddLabelsMethod;
- private Method mSetMaxLabelCountMethod;
- private Method mGetBucketIndexMethod;
- private Method mGetBucketLabelMethod;
- private boolean mHasValidAlphabeticIndex;
- private String mDefaultMiscLabel;
-
- @SuppressWarnings({"unchecked", "rawtypes"})
public AlphabeticIndexCompat(Context context) {
- super();
- try {
- Locale curLocale = context.getResources().getConfiguration().locale;
- Class clazz = Class.forName("libcore.icu.AlphabeticIndex");
- Constructor ctor = clazz.getConstructor(Locale.class);
- mAddLabelsMethod = clazz.getDeclaredMethod("addLabels", Locale.class);
- mSetMaxLabelCountMethod = clazz.getDeclaredMethod("setMaxLabelCount", int.class);
- mGetBucketIndexMethod = clazz.getDeclaredMethod("getBucketIndex", String.class);
- mGetBucketLabelMethod = clazz.getDeclaredMethod("getBucketLabel", int.class);
- mAlphabeticIndex = ctor.newInstance(curLocale);
- try {
- // Ensure we always have some base English locale buckets
- if (!curLocale.getLanguage().equals(Locale.ENGLISH.getLanguage())) {
- mAddLabelsMethod.invoke(mAlphabeticIndex, Locale.ENGLISH);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (curLocale.getLanguage().equals(Locale.JAPANESE.getLanguage())) {
- // Japanese character 他 ("misc")
- mDefaultMiscLabel = "\u4ed6";
- // TODO(winsonc, omakoto): We need to handle Japanese sections better, especially the kanji
- } else {
- // Dot
- mDefaultMiscLabel = MID_DOT;
- }
- mHasValidAlphabeticIndex = true;
- } catch (Exception e) {
- mHasValidAlphabeticIndex = false;
- }
- }
+ BaseIndex index = null;
- /**
- * Sets the max number of the label buckets in this index.
- * (ICU 51 default is 99)
- */
- public void setMaxLabelCount(int count) {
- if (mHasValidAlphabeticIndex) {
- try {
- mSetMaxLabelCountMethod.invoke(mAlphabeticIndex, count);
- } catch (Exception e) {
- e.printStackTrace();
+ try {
+ if (Utilities.isNycOrAbove()) {
+ index = new AlphabeticIndexVN(context);
}
+ } catch (Exception e) {
+ Log.d(TAG, "Unable to load the system index", e);
+ }
+ if (index == null) {
+ try {
+ index = new AlphabeticIndexV16(context);
+ } catch (Exception e) {
+ Log.d(TAG, "Unable to load the system index", e);
+ }
+ }
+
+ mBaseIndex = index == null ? new BaseIndex() : index;
+
+ if (context.getResources().getConfiguration().locale
+ .getLanguage().equals(Locale.JAPANESE.getLanguage())) {
+ // Japanese character 他 ("misc")
+ mDefaultMiscLabel = "\u4ed6";
+ // TODO(winsonc, omakoto): We need to handle Japanese sections better, especially the kanji
} else {
- super.setMaxLabelCount(count);
+ // Dot
+ mDefaultMiscLabel = MID_DOT;
}
}
@@ -118,7 +53,7 @@
*/
public String computeSectionName(CharSequence cs) {
String s = Utilities.trim(cs);
- String sectionName = getBucketLabel(getBucketIndex(s));
+ String sectionName = mBaseIndex.getBucketLabel(mBaseIndex.getBucketIndex(s));
if (Utilities.trim(sectionName).isEmpty() && s.length() > 0) {
int c = s.codePointAt(0);
boolean startsWithDigit = Character.isDigit(c);
@@ -141,32 +76,150 @@
}
/**
- * Returns the index of the bucket in which {@param s} should appear.
- * Function is synchronized because underlying routine walks an iterator
- * whose state is maintained inside the index object.
+ * Base class to support Alphabetic indexing if not supported by the framework.
+ * TODO(winsonc): disable for non-english locales
*/
- protected int getBucketIndex(String s) {
- if (mHasValidAlphabeticIndex) {
+ private static class BaseIndex {
+
+ private static final String BUCKETS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-";
+ private static final int UNKNOWN_BUCKET_INDEX = BUCKETS.length() - 1;
+
+ /**
+ * Returns the index of the bucket in which the given string should appear.
+ */
+ protected int getBucketIndex(String s) {
+ if (s.isEmpty()) {
+ return UNKNOWN_BUCKET_INDEX;
+ }
+ int index = BUCKETS.indexOf(s.substring(0, 1).toUpperCase());
+ if (index != -1) {
+ return index;
+ }
+ return UNKNOWN_BUCKET_INDEX;
+ }
+
+ /**
+ * Returns the label for the bucket at the given index (as returned by getBucketIndex).
+ */
+ protected String getBucketLabel(int index) {
+ return BUCKETS.substring(index, index + 1);
+ }
+ }
+
+ /**
+ * Reflected libcore.icu.AlphabeticIndex implementation, falls back to the base
+ * alphabetic index.
+ */
+ private static class AlphabeticIndexV16 extends BaseIndex {
+
+ private Object mAlphabeticIndex;
+ private Method mGetBucketIndexMethod;
+ private Method mGetBucketLabelMethod;
+
+ public AlphabeticIndexV16(Context context) throws Exception {
+ Locale curLocale = context.getResources().getConfiguration().locale;
+ Class clazz = Class.forName("libcore.icu.AlphabeticIndex");
+ mGetBucketIndexMethod = clazz.getDeclaredMethod("getBucketIndex", String.class);
+ mGetBucketLabelMethod = clazz.getDeclaredMethod("getBucketLabel", int.class);
+ mAlphabeticIndex = clazz.getConstructor(Locale.class).newInstance(curLocale);
+
+ if (!curLocale.getLanguage().equals(Locale.ENGLISH.getLanguage())) {
+ clazz.getDeclaredMethod("addLabels", Locale.class)
+ .invoke(mAlphabeticIndex, Locale.ENGLISH);
+ }
+ }
+
+ /**
+ * Returns the index of the bucket in which {@param s} should appear.
+ * Function is synchronized because underlying routine walks an iterator
+ * whose state is maintained inside the index object.
+ */
+ protected int getBucketIndex(String s) {
try {
return (Integer) mGetBucketIndexMethod.invoke(mAlphabeticIndex, s);
} catch (Exception e) {
e.printStackTrace();
}
+ return super.getBucketIndex(s);
}
- return super.getBucketIndex(s);
- }
- /**
- * Returns the label for the bucket at the given index (as returned by getBucketIndex).
- */
- protected String getBucketLabel(int index) {
- if (mHasValidAlphabeticIndex) {
+ /**
+ * Returns the label for the bucket at the given index (as returned by getBucketIndex).
+ */
+ protected String getBucketLabel(int index) {
try {
return (String) mGetBucketLabelMethod.invoke(mAlphabeticIndex, index);
} catch (Exception e) {
e.printStackTrace();
}
+ return super.getBucketLabel(index);
}
- return super.getBucketLabel(index);
+ }
+
+ /**
+ * Reflected android.icu.text.AlphabeticIndex implementation, falls back to the base
+ * alphabetic index.
+ */
+ private static class AlphabeticIndexVN extends BaseIndex {
+
+ private Object mAlphabeticIndex;
+ private Method mGetBucketIndexMethod;
+
+ private Method mGetBucketMethod;
+ private Method mGetLabelMethod;
+
+ public AlphabeticIndexVN(Context context) throws Exception {
+ // TODO: Replace this with locale list once available.
+ Object locales = Configuration.class.getDeclaredMethod("getLocales").invoke(
+ context.getResources().getConfiguration());
+ int localeCount = (Integer) locales.getClass().getDeclaredMethod("size").invoke(locales);
+ Method localeGetter = locales.getClass().getDeclaredMethod("get", int.class);
+ Locale primaryLocale = localeCount == 0 ? Locale.ENGLISH :
+ (Locale) localeGetter.invoke(locales, 0);
+
+ Class clazz = Class.forName("android.icu.text.AlphabeticIndex");
+ mAlphabeticIndex = clazz.getConstructor(Locale.class).newInstance(primaryLocale);
+
+ Method addLocales = clazz.getDeclaredMethod("addLabels", Locale[].class);
+ for (int i = 1; i < localeCount; i++) {
+ Locale l = (Locale) localeGetter.invoke(locales, i);
+ addLocales.invoke(mAlphabeticIndex, new Object[]{ new Locale[] {l}});
+ }
+ addLocales.invoke(mAlphabeticIndex, new Object[]{ new Locale[] {Locale.ENGLISH}});
+
+ mAlphabeticIndex = mAlphabeticIndex.getClass()
+ .getDeclaredMethod("buildImmutableIndex")
+ .invoke(mAlphabeticIndex);
+
+ mGetBucketIndexMethod = mAlphabeticIndex.getClass().getDeclaredMethod(
+ "getBucketIndex", CharSequence.class);
+ mGetBucketMethod = mAlphabeticIndex.getClass().getDeclaredMethod("getBucket", int.class);
+ mGetLabelMethod = mGetBucketMethod.getReturnType().getDeclaredMethod("getLabel");
+ }
+
+ /**
+ * Returns the index of the bucket in which {@param s} should appear.
+ */
+ protected int getBucketIndex(String s) {
+ try {
+ return (Integer) mGetBucketIndexMethod.invoke(mAlphabeticIndex, s);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return super.getBucketIndex(s);
+ }
+
+ /**
+ * Returns the label for the bucket at the given index
+ */
+ protected String getBucketLabel(int index) {
+ try {
+ return (String) mGetLabelMethod.invoke(
+ mGetBucketMethod.invoke(mAlphabeticIndex, index));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return super.getBucketLabel(index);
+ }
}
}
diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java
index bb8ca16..d8b83ad 100644
--- a/src/com/android/launcher3/folder/FolderPagedView.java
+++ b/src/com/android/launcher3/folder/FolderPagedView.java
@@ -365,7 +365,7 @@
setEnableOverscroll(getPageCount() > 1);
// Update footer
- mPageIndicator.getView().setVisibility(getPageCount() > 1 ? View.VISIBLE : View.GONE);
+ mPageIndicator.setVisibility(getPageCount() > 1 ? View.VISIBLE : View.GONE);
// Set the gravity as LEFT or RIGHT instead of START, as START depends on the actual text.
mFolder.mFolderName.setGravity(getPageCount() > 1 ?
(mIsRtl ? Gravity.RIGHT : Gravity.LEFT) : Gravity.CENTER_HORIZONTAL);
diff --git a/src/com/android/launcher3/pageindicators/PageIndicator.java b/src/com/android/launcher3/pageindicators/PageIndicator.java
index 77c579c..7c59495 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicator.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicator.java
@@ -1,16 +1,37 @@
package com.android.launcher3.pageindicators;
+import android.content.Context;
+import android.util.AttributeSet;
import android.view.View;
-import java.util.ArrayList;
+/**
+ * Base class for a page indicator.
+ */
+public abstract class PageIndicator extends View {
-public interface PageIndicator {
- View getView();
- void setScroll(int currentScroll, int totalScroll);
+ protected int mNumPages = 1;
- void setActiveMarker(int activePage);
+ public PageIndicator(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
- void addMarker();
- void removeMarker();
- void setMarkersCount(int numMarkers);
+ public abstract void setScroll(int currentScroll, int totalScroll);
+
+ public abstract void setActiveMarker(int activePage);
+
+ public void addMarker() {
+ mNumPages++;
+ onPageCountChanged();
+ }
+
+ public void removeMarker() {
+ mNumPages--;
+ onPageCountChanged();
+ }
+ public void setMarkersCount(int numMarkers) {
+ mNumPages = numMarkers;
+ onPageCountChanged();
+ }
+
+ protected abstract void onPageCountChanged();
}
diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
index 4a1238d..7d84a0c 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
@@ -42,7 +42,7 @@
* {@link PageIndicator} which shows dots per page. The active page is shown with the current
* accent color.
*/
-public class PageIndicatorDots extends View implements PageIndicator {
+public class PageIndicatorDots extends PageIndicator {
private static final float SHIFT_PER_ANIMATION = 0.5f;
private static final float SHIFT_THRESHOLD = 0.1f;
@@ -90,7 +90,6 @@
private final int mInActiveColor;
private final boolean mIsRtl;
- private int mNumPages;
private int mActivePage;
/**
@@ -131,11 +130,6 @@
}
@Override
- public View getView() {
- return this;
- }
-
- @Override
public void setScroll(int currentScroll, int totalScroll) {
if (mNumPages > 1) {
if (mIsRtl) {
@@ -235,20 +229,7 @@
}
@Override
- public void addMarker() {
- mNumPages++;
- requestLayout();
- }
-
- @Override
- public void removeMarker() {
- mNumPages--;
- requestLayout();
- }
-
- @Override
- public void setMarkersCount(int numMarkers) {
- mNumPages = numMarkers;
+ protected void onPageCountChanged() {
requestLayout();
}
diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
index e4816861..a358e7b 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicatorLine.java
@@ -25,7 +25,7 @@
*
* The fraction is 1 / number of pages and the position is based on the progress of the page scroll.
*/
-public class PageIndicatorLine extends View implements PageIndicator {
+public class PageIndicatorLine extends PageIndicator {
private static final String TAG = "PageIndicatorLine";
private static final int LINE_FADE_DURATION = ViewConfiguration.getScrollBarFadeDuration();
@@ -38,7 +38,6 @@
private ValueAnimator mLineAlphaAnimator;
private int mAlpha = 0;
private float mProgress = 0f;
- private int mNumPages = 1;
private Paint mLinePaint;
private static final Property<PageIndicatorLine, Integer> PAINT_ALPHA
@@ -78,8 +77,6 @@
@Override
protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
-
if (mNumPages == 0) {
return;
}
@@ -92,11 +89,6 @@
}
@Override
- public View getView() {
- return this;
- }
-
- @Override
public void setScroll(int currentScroll, int totalScroll) {
if (getAlpha() == 0) {
return;
@@ -115,18 +107,8 @@
}
@Override
- public void addMarker() {
- mNumPages++;
- }
-
- @Override
- public void removeMarker() {
- mNumPages--;
- }
-
- @Override
- public void setMarkersCount(int numMarkers) {
- mNumPages = numMarkers;
+ protected void onPageCountChanged() {
+ invalidate();
}
/**
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src_config/com/android/launcher3/config/FeatureFlags.java
similarity index 100%
rename from src/com/android/launcher3/config/FeatureFlags.java
rename to src_config/com/android/launcher3/config/FeatureFlags.java
diff --git a/src/com/android/launcher3/config/ProviderConfig.java b/src_config/com/android/launcher3/config/ProviderConfig.java
similarity index 100%
rename from src/com/android/launcher3/config/ProviderConfig.java
rename to src_config/com/android/launcher3/config/ProviderConfig.java
diff --git a/update_gallery_files.py b/update_gallery_files.py
deleted file mode 100644
index 738d225..0000000
--- a/update_gallery_files.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# This script is used to pull the most up-to-date files from
-# Gallery into Launcher (we use some code from the Gallery
-# source). The Launcher versions have some small modifications
-# so do this with care, and be sure you are pulling from the
-# latest version of Gallery
-import os
-import sys
-files = """
-src/android/util/Pools.java
-src/com/android/gallery3d/util/IntArray.java
-src/com/android/gallery3d/common/Utils.java
-src/com/android/gallery3d/exif/ByteBufferInputStream.java
-src/com/android/gallery3d/exif/CountedDataInputStream.java
-src/com/android/gallery3d/exif/ExifData.java
-src/com/android/gallery3d/exif/ExifInterface.java
-src/com/android/gallery3d/exif/ExifInvalidFormatException.java
-src/com/android/gallery3d/exif/ExifModifier.java
-src/com/android/gallery3d/exif/ExifOutputStream.java
-src/com/android/gallery3d/exif/ExifParser.java
-src/com/android/gallery3d/exif/ExifReader.java
-src/com/android/gallery3d/exif/ExifTag.java
-src/com/android/gallery3d/exif/IfdData.java
-src/com/android/gallery3d/exif/IfdId.java
-src/com/android/gallery3d/exif/JpegHeader.java
-src/com/android/gallery3d/exif/OrderedDataOutputStream.java
-src/com/android/gallery3d/exif/Rational.java
-src/com/android/gallery3d/glrenderer/BasicTexture.java
-src/com/android/gallery3d/glrenderer/BitmapTexture.java
-src/com/android/gallery3d/glrenderer/GLCanvas.java
-src/com/android/gallery3d/glrenderer/GLES20Canvas.java
-src/com/android/gallery3d/glrenderer/GLES20IdImpl.java
-src/com/android/gallery3d/glrenderer/GLId.java
-src/com/android/gallery3d/glrenderer/GLPaint.java
-src/com/android/gallery3d/glrenderer/RawTexture.java
-src/com/android/gallery3d/glrenderer/Texture.java
-src/com/android/gallery3d/glrenderer/UploadedTexture.java
-src/com/android/photos/BitmapRegionTileSource.java
-src/com/android/photos/views/BlockingGLTextureView.java
-src/com/android/photos/views/TiledImageRenderer.java
-src/com/android/photos/views/TiledImageView.java
-src/com/android/gallery3d/common/BitmapUtils.java
-"""
-
-if len(sys.argv) != 2:
- print "Usage: python update_gallery_files.py <gallery_dir>"
- exit()
-gallery_dir = sys.argv[1]
-for file_path in files.split():
- dir = os.path.dirname(file_path)
- if file_path.find('exif') != -1 or file_path.find('common') != -1:
- file_path = 'gallerycommon/' + file_path
- cmd = 'cp %s/%s WallpaperPicker/%s/' % (gallery_dir, file_path, dir)
- print cmd
- os.system(cmd)
diff --git a/update_system_wallpaper_cropper.py b/update_system_wallpaper_cropper.py
deleted file mode 100644
index 44cbcc9..0000000
--- a/update_system_wallpaper_cropper.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# This script is used to push the most up-to-date files from
-# Launcher into frameworks' version of the WallpaperCropActivity
-# (and supporting files)
-# The framework versions have some small modifications that are
-# necessary so do this with care
-import os
-import sys
-src_dir = "WallpaperPicker/src/"
-files = """
-src/android/util/Pools.java
-com/android/gallery3d/util/IntArray.java
-com/android/gallery3d/common/Utils.java
-com/android/gallery3d/exif/ByteBufferInputStream.java
-com/android/gallery3d/exif/CountedDataInputStream.java
-com/android/gallery3d/exif/ExifData.java
-com/android/gallery3d/exif/ExifInterface.java
-com/android/gallery3d/exif/ExifInvalidFormatException.java
-com/android/gallery3d/exif/ExifModifier.java
-com/android/gallery3d/exif/ExifOutputStream.java
-com/android/gallery3d/exif/ExifParser.java
-com/android/gallery3d/exif/ExifReader.java
-com/android/gallery3d/exif/ExifTag.java
-com/android/gallery3d/exif/IfdData.java
-com/android/gallery3d/exif/IfdId.java
-com/android/gallery3d/exif/JpegHeader.java
-com/android/gallery3d/exif/OrderedDataOutputStream.java
-com/android/gallery3d/exif/Rational.java
-com/android/gallery3d/glrenderer/BasicTexture.java
-com/android/gallery3d/glrenderer/BitmapTexture.java
-com/android/gallery3d/glrenderer/GLCanvas.java
-com/android/gallery3d/glrenderer/GLES20Canvas.java
-com/android/gallery3d/glrenderer/GLES20IdImpl.java
-com/android/gallery3d/glrenderer/GLId.java
-com/android/gallery3d/glrenderer/GLPaint.java
-com/android/gallery3d/glrenderer/RawTexture.java
-com/android/gallery3d/glrenderer/Texture.java
-com/android/gallery3d/glrenderer/UploadedTexture.java
-com/android/photos/BitmapRegionTileSource.java
-com/android/photos/views/BlockingGLTextureView.java
-com/android/photos/views/TiledImageRenderer.java
-com/android/photos/views/TiledImageView.java
-com/android/gallery3d/common/BitmapUtils.java
-com/android/launcher3/CropView.java
-com/android/launcher3/WallpaperCropActivity.java
-"""
-
-if len(sys.argv) != 2:
- print "Usage: python update_sytem_wallpaper_cropper.py <framework_dir>"
- exit()
-framework_dir = sys.argv[1] + "/packages/WallpaperCropper"
-for file_path in files.split():
- file_path = src_dir + file_path
- dir = os.path.dirname(file_path)
- dir = dir.replace("launcher3", "wallpapercropper")
- dir = dir.replace(src_dir, "src/")
- cmd = 'cp %s %s/%s' % (file_path, framework_dir, dir)
- print cmd
- os.system(cmd)