Merge commit 'd5c6745b' into klp-dev-plus-aosp
Conflicts: res/values-ar/strings.xml res/values-de/strings.xml res/values-fa/strings.xml res/values-iw/strings.xml
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.launcher3">
|
||||
<uses-sdk android:targetSdkVersion="19" android:minSdkVersion="16"/>
|
||||
|
||||
<permission
|
||||
android:name="com.android.launcher3.permission.PRELOAD_WORKSPACE"
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
public void onClickAllAppsButton(android.view.View);
|
||||
public void onClickAppMarketButton(android.view.View);
|
||||
public void dismissFirstRunCling(android.view.View);
|
||||
public void dismissMigrationClingCopyApps(android.view.View);
|
||||
public void dismissMigrationClingUseDefault(android.view.View);
|
||||
public void dismissMigrationWorkspaceCling(android.view.View);
|
||||
public void dismissWorkspaceCling(android.view.View);
|
||||
public void dismissAllAppsCling(android.view.View);
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<com.android.launcher3.Cling
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
launcher:drawIdentifier="migration_landscape">
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top"
|
||||
android:gravity="center"
|
||||
android:text="@string/first_run_cling_title"
|
||||
android:textSize="42dp"
|
||||
android:textColor="#FFffffff" />
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="0dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/on_boarding_welcome" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/cling_arrow_up" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="25dp"
|
||||
android:layout_marginRight="25dp"
|
||||
android:paddingLeft="25dp"
|
||||
android:paddingRight="25dp"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/cling">
|
||||
<TextView
|
||||
style="@style/ClingTitleText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_title" />
|
||||
<TextView
|
||||
style="@style/ClingText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_description" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginLeft="25dp"
|
||||
android:layout_marginRight="25dp"
|
||||
android:layout_marginBottom="25dp"
|
||||
android:orientation="vertical">
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_copy_apps"
|
||||
android:onClick="dismissMigrationClingCopyApps" />
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_use_default"
|
||||
android:onClick="dismissMigrationClingUseDefault" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</com.android.launcher3.Cling>
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<com.android.launcher3.Cling
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
launcher:drawIdentifier="migration_workspace_landscape">
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:id="@+id/migration_workspace_cling_bubble"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:paddingLeft="20dp"
|
||||
android:paddingRight="20dp"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/cling">
|
||||
<TextView
|
||||
style="@style/ClingTitleText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/workspace_cling_title" />
|
||||
<TextView
|
||||
style="@style/ClingText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/workspace_cling_move_item" />
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/cling_arrow_down" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:onClick="dismissMigrationWorkspaceCling" />
|
||||
</FrameLayout>
|
||||
</com.android.launcher3.Cling>
|
||||
@@ -73,6 +73,16 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone" />
|
||||
<include layout="@layout/migration_cling"
|
||||
android:id="@+id/migration_cling"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone" />
|
||||
<include layout="@layout/migration_workspace_cling"
|
||||
android:id="@+id/migration_workspace_cling"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone" />
|
||||
<include layout="@layout/workspace_cling"
|
||||
android:id="@+id/workspace_cling"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<com.android.launcher3.Cling
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
launcher:drawIdentifier="migration_portrait">
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top"
|
||||
android:gravity="center"
|
||||
android:text="@string/first_run_cling_title"
|
||||
android:textSize="42dp"
|
||||
android:textColor="#FFffffff" />
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="0dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/on_boarding_welcome" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/cling_arrow_up" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="25dp"
|
||||
android:layout_marginRight="25dp"
|
||||
android:paddingLeft="25dp"
|
||||
android:paddingRight="25dp"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/cling">
|
||||
<TextView
|
||||
style="@style/ClingTitleText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_title" />
|
||||
<TextView
|
||||
style="@style/ClingText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_description" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginLeft="25dp"
|
||||
android:layout_marginRight="25dp"
|
||||
android:layout_marginBottom="25dp"
|
||||
android:orientation="vertical">
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_copy_apps"
|
||||
android:onClick="dismissMigrationClingCopyApps" />
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/migration_cling_use_default"
|
||||
android:onClick="dismissMigrationClingUseDefault" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</com.android.launcher3.Cling>
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<com.android.launcher3.Cling
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
launcher:drawIdentifier="migration_workspace_portrait">
|
||||
<FrameLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:id="@+id/migration_workspace_cling_bubble"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:paddingLeft="20dp"
|
||||
android:paddingRight="20dp"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/cling">
|
||||
<TextView
|
||||
style="@style/ClingTitleText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/workspace_cling_title" />
|
||||
<TextView
|
||||
style="@style/ClingText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/workspace_cling_move_item" />
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/cling_arrow_down" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
style="@style/ClingButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:onClick="dismissMigrationWorkspaceCling" />
|
||||
</FrameLayout>
|
||||
</com.android.launcher3.Cling>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Tuisskerm %1$d van %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Programme-bladsy %1$d van %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Legstukke-bladsy %1$d van %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Welkom!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Welkom"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Maak jouself tuis."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Skep meer skerms vir programme en vouers"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopieer jou program-ikone"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Voer ikone en vouers vanaf jou ou tuisskerms in?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIEER IKONE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"BEGIN VAN NUUTS AF"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiseer jou spasie"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Raak en hou agtergrond om muurpapier, legstukke en instellings te bestuur."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Kies \'n paar programme"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"መነሻ ማያ ገጽ %1$d ከ%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"የመተግበሪያዎች ገጽ %1$d ከ%2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"የመግብሮች ገጽ %1$d ከ%2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"እንኳን ደህና መጡ!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"እንኳን በደህና መጡ"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"ልክ እቤትዎ እንዳሉ ሆነው ዘና ይበሉ።"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"ለመተግበሪያዎች እና አቃፊዎች ተጨማሪ ማያ ገጾችን ይፍጠሩ"</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_title" msgid="5626202359865825661">"ቦታዎን ያደራጁ"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"የግድግዳ ወረቀት፣ ምግብሮችን እና ቅንብሮችን ለማቀናበር ጀርባውን ይንኩ እና ይያዙት።"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"አንዳንድ መተግበሪያዎችን ይምረጡ"</string>
|
||||
|
||||
@@ -91,16 +91,20 @@
|
||||
<string name="uninstall_system_app_text" msgid="4172046090762920660">"هذا تطبيق نظام وتتعذر إزالته."</string>
|
||||
<string name="dream_name" msgid="1530253749244328964">"قاذفة صواريخ"</string>
|
||||
<string name="folder_hint_text" msgid="6617836969016293992">"مجلد بدون اسم"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"الشاشة الرئيسية %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"الصفحة %1$d من %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"الشاشة الرئيسية %1$d من %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحة التطبيقات %1$d من %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحة الأدوات %1$d من %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"مرحبًا!"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"الشاشة الرئيسية %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"الصفحة %1$d من %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"الشاشة الرئيسية %1$d من %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحة التطبيقات %1$d من %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحة الأدوات %1$d من %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"مرحبًا"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"تصرف على راحتك."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"إنشاء المزيد من الشاشات للتطبيقات والمجلدات"</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_title" msgid="5626202359865825661">"تنظيم مساحتك"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"المس مع الاستمرار الجزء الخلفي من صورة الشاشة لإدارة الخلفية والأدوات والإعدادات."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"اختيار بعض التطبيقات"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Начален екран %1$d от %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Страница с приложения %1$d от %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Страница с приспособления %1$d от %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Добре дошли!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Персонализиране и приспособяване."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Създаване на още екрани за приложения и папки"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Организиране на мястото ви"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Докоснете и задръжте фона, за да управлявате тапета, приспособленията и настройките."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Изберете някои приложения"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Pantalla d\'inici %1$d de %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Pàgina d\'aplicacions %1$d de %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Pàgina de widgets %1$d de %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Hola!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Us donem la benvinguda"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Personalitza la pantalla d\'inici"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Crea més pantalles per a aplicacions i carpetes"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiar les icones d\'aplicació"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importar icones i carpetes de pantalles d\'inici anteriors?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIA LES ICONES."</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"NOU COMENÇAMENT"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organitza el teu espai"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Toca i mantén premut el fons per gestionar el fons de pantalla, els widgets i la configuració."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Tria unes quantes aplicacions"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Plocha %1$d z %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Stránka aplikací %1$d z %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Stránka widgetů %1$d z %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Vítejte!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Vítejte"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Udělejte si pohodlí."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Vytvořte několik obrazovek pro aplikace a složky"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Zkopírování ikon aplikací"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Chcete importovat ikony a složky ze svých starých ploch?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"ZKOPÍROVAT IKONY"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"ZAČÍT S VÝCHOZÍM ROZVRŽENÍM"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizace prostoru"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Chcete-li spravovat tapetu, widgety a nastavení, dotkněte se pozadí a přidržte je."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Vyberte nějaké aplikace"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startskærm %1$d ud af %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Apps-side %1$d ud af %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgets-side %1$d ud af %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Velkommen"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Velkommen"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Føl dig hjemme."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Opret flere skærme til apps og mapper"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiér dine appikoner"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Vil du importere ikoner og mapper fra gamle startskærme?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIÉR IKONER"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"START PÅ EN FRISK"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiser din arbejdsplads"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Tryk på en baggrund, og hold fingeren nede for at administrere baggrunde, widgets og indstillinger."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Vælge nogle apps"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startbildschirm %1$d von %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Apps-Seite %1$d von %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgets-Seite %1$d von %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Willkommen!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Willkommen"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Gerät personalisieren"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Weitere Bildschirme für Apps und Ordner erstellen"</string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Mehr Bildschirme für Apps und Ordner erstellen"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"App-Symbole kopieren"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Symbole und Ordner alter Startbildschirme importieren?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"Symbole kopieren"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"Standardübersicht verwenden"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Arbeitsbereich organisieren"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Hintergrund berühren und halten, um Hintergrund, Widgets und Einstellungen zu verwalten"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Apps auswählen"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Αρχική οθόνη %1$d από %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Σελίδα εφαρμογών %1$d από %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Σελίδα γραφικών στοιχείων %1$d από %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Καλώς ορίσατε!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Καλώς ορίσατε"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Νιώστε σαν στο σπίτι σας."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Δημιουργία περισσότερων οθονών για εφαρμογές και φακέλους"</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_title" msgid="5626202359865825661">"Οργανώστε το χώρο σας"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Αγγίξτε παρατεταμένα το φόντο για να διαχειριστείτε την ταπετσαρία, τα γραφικά στοιχεία και τις ρυθμίσεις."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Επιλέξτε ορισμένες εφαρμογές"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Home screen %1$d of %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Apps page %1$d of %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgets page %1$d of %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Welcome!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Welcome"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Make yourself at home."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Create more screens for apps and folders"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copy your app icons"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Import icons and folders from your old Home screens?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPY ICONS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"START AFRESH"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organise your space"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Touch & hold background to manage wallpaper, widgets and settings."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Choose some apps"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Home screen %1$d of %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Apps page %1$d of %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgets page %1$d of %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Welcome!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Welcome"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Make yourself at home."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Create more screens for apps and folders"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copy your app icons"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Import icons and folders from your old Home screens?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPY ICONS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"START AFRESH"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organise your space"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Touch & hold background to manage wallpaper, widgets and settings."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Choose some apps"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Pantalla principal %1$d de %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Página de aplicaciones %1$d de %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Página de widgets %1$d de %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"¡Bienvenido/a!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Te damos la bienvenida"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Siéntete como en casa."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Crea más pantallas para aplicaciones y carpetas."</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiar íconos de aplicaciones"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"¿Importar íconos y carpetas de pantallas princip. antiguas?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAR ÍCONOS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"EMPEZAR DE CERO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiza tu espacio"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Mantén presionado el fondo para administrar el fondo de pantalla, los widgets y la configuración."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Elige algunas aplicaciones"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Pantalla de inicio %1$d de %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Página de aplicaciones %1$d de %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Página de widgets %1$d de %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Te damos la bienvenida"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Te damos la bienvenida"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Personaliza tu pantalla de inicio."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Crea más pantallas para aplicaciones y carpetas"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiar iconos de aplicaciones"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"¿Importar iconos y carpetas de pantallas de inicio antiguas?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAR ICONOS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"INICIAR ACTUALIZACIÓN"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiza tu espacio"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Mantén pulsado el fondo para gestionar el fondo de pantalla, los widgets y los ajustes."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Selecciona algunas aplicaciones"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Avaekraan %1$d/%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Rakenduste leht %1$d/%2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Vidinate leht %1$d/%2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Tere tulemast!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Tere tulemast"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Tundke end nagu kodus."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Looge rakenduste ja kaustade jaoks rohkem ekraanikuvasid"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopeerige rakenduste ikoonid"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Kas importida vanade avaekraanide ikoonid ja kaustad?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPEERI IKOONID"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"ALUSTA ALGUSEST"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Korraldage oma ruumi"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Taustapildi, vidinate ja seadete haldamiseks puudutage tausta ning hoidke seda all."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Valige mõned rakendused"</string>
|
||||
|
||||
@@ -91,16 +91,20 @@
|
||||
<string name="uninstall_system_app_text" msgid="4172046090762920660">"این برنامه سیستمی است و حذف نصب نمیشود."</string>
|
||||
<string name="dream_name" msgid="1530253749244328964">"Rocket Launcher"</string>
|
||||
<string name="folder_hint_text" msgid="6617836969016293992">"پوشه بینام"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"صفحه اصلی %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"صفحه %1$d از %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"صفحه اصلی %1$d از %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحه برنامهها %1$d از %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحه ابزارکها %1$d از %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"خوش آمدید!"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"صفحه اصلی %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"صفحه %1$d از %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"صفحه اصلی %1$d از %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"صفحه برنامهها %1$d از %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"صفحه ابزارکها %1$d از %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"خوش آمدید"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"راحت باشید."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"صفحات بیشتری را برای برنامهها و پوشهها ایجاد کنید"</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_title" msgid="5626202359865825661">"فضای خود را سازماندهی کنید"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"برای مدیریت کاغذدیواری، ابزارکها و تنظیمات، پسزمینه را لمس کرده و نگهدارید."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"چند برنامه انتخاب کنید"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Aloitusruutu %1$d/%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Apps-sivu %1$d / %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgetit-sivu %1$d / %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Tervetuloa!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Tervetuloa"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Ole kuin kotonasi."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Luo lisää ruutuja sovelluksille ja kansioille"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopioi sovelluskuvakkeet"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Tuodaanko kuvakkeet ja kansiot vanhoista aloitusruuduista?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIOI KUVAKKEET"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"ALOITA ALUSTA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Järjestä tilasi"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Hallitse taustakuvaa, widgetejä ja asetuksia koskettamalla taustaa pitkään."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Valitse joitakin sovelluksia"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Écran d\'accueil %1$d sur %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Page des applications : %1$d sur %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Page des widgets : %1$d sur %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Bienvenue!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Bienvenue"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Faites comme chez vous."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Créer plus d\'écrans pour les applications et les dossiers"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copier les icônes de vos applis"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importer les icônes et dossiers des anciens écrans d\'accueil?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIER LES ICÔNES"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"DISPOSITION PAR DÉFAUT"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiser son espace personnel"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Maintenez votre doigt sur l\'arrière-plan pour gérer les fonds d\'écran, les widgets et les paramètres."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Sélectionner des applications"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Écran d\'accueil %1$d sur %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Page des applications %1$d sur %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Page des widgets %1$d sur %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Bienvenue !"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Bienvenue"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Familiarisez-vous avec l\'écran d\'accueil."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Créez des écrans personnalisés pour vos applis et dossiers"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copier les icônes de vos applis"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importer les icônes et dossiers des anciens écrans d\'accueil ?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIER LES ICÔNES"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"DISPOSITION PAR DÉFAUT"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organisez votre espace"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Appuyez de manière prolongée sur l\'arrière-plan pour gérer les fonds d\'écran, les widgets et les paramètres."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Sélectionner des applications"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"होम स्क्रीन %2$d में से %1$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"एप्लिकेशन पृष्ठ %2$d में से %1$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"विजेट पृष्ठ %2$d में से %1$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"स्वागत है!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"स्वागत है"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"जैसा चाहें वैसा उपयोग करें."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"एप्लिकेशन और फ़ोल्डर के लिए और अधिक स्क्रीन बनाएं"</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_title" msgid="5626202359865825661">"अपने स्थान को व्यवस्थित करें"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"वॉलपेपर, विजेट और सेटिंग प्रबंधित करने के लिए पृष्ठभूमि को स्पर्श करके रखें."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"कुछ एप्लिकेशन चुनें"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Početni zaslon %1$d od %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Stranica aplikacija %1$d od %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Stranica widgeta %1$d od %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Dobro došli!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Dobro došli"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Osjećajte se kao kod kuće."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Izradite više zaslona za aplikacije i mape"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiranje ikona aplikacija"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Želite li uvesti ikone i mape sa starih početnih zaslona?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIRAJ IKONE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"POKRENI NOVO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizirajte svoj prostor"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Dodirnite i držite pozadinu da biste upravljali pozadinskom slikom, widgetima i postavkama."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Odaberite neke aplikacije"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"%2$d/%1$d. kezdőképernyő"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"%2$d/%1$d. alkalmazásoldal"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"%2$d/%1$d. moduloldal"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Üdvözöljük!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Üdvözöljük!"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Varázsolja egyedivé készülékét."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Hozzon létre további képernyőket az alkalmazásoknak és mappáknak"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Alkalmazásikonok másolása"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importálja ikonjait és mappáit régi kezdőképernyőiről?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"IKONOK MÁSOLÁSA"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"TELJESEN ÚJ"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Munkaterület rendezése"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Érintse meg és tartsa lenyomva a hátteret a háttérkép, modulok és beállítások kezeléséhez."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Válasszon ki néhány alkalmazást"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Հիմնական էկրան %1$d` %2$d-ից"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Ծրագրերի էջերը՝ %1$d %2$d-ից"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Վիջեթների էջերը՝ %1$d %2$d-ից"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Բարի գալուստ:"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Բարի գալուստ"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Զգացեք ձեզ ինչպես տանը:"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Ստեղծեք նոր էկրաններ ծրագրերի և թղթապանակների համար"</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_title" msgid="5626202359865825661">"Կառավարեք ձեր տարածությունը"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Հպեք և պահեք հետնաշերտի վրա՝ պաստառները, վիջեթներն ու կարգավորումները կառավարելու համար:"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Ընտրեք ինչ-որ ծրագիր"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Layar utama %1$d dari %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Laman aplikasi %1$d dari %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Laman widget %1$d dari %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Selamat datang!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Selamat Datang"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Serasa di rumah sendiri."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Buat lebih banyak layar untuk aplikasi dan folder"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Salin ikon aplikasi Anda"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Impor ikon dan folder dari layar Utama lama Anda?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"IKON SALIN"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"MULAI DARI AWAL"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Kelola ruang Anda"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Sentuh lama latar belakang untuk mengelola wallpaper, widget, dan setelan."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Pilih beberapa aplikasi"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Schermata Home %1$d di %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Pagina di applicazioni %1$d di %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Pagina di widget %1$d di %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Benvenuto!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Benvenuto"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Personalizza la schermata Home."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Creare più schermate per app e cartelle"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copia le icone delle tue app"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importare icone e cartelle dalle schermate Home precedenti?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIA ICONE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"RICOMINCIA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizza il tuo spazio"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Tocca e tieni premuto lo sfondo per gestire sfondi, widget e impostazioni."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Scegli alcune applicazioni"</string>
|
||||
|
||||
@@ -91,16 +91,20 @@
|
||||
<string name="uninstall_system_app_text" msgid="4172046090762920660">"זוהי אפליקציית מערכת ולא ניתן להסיר את התקנתה."</string>
|
||||
<string name="dream_name" msgid="1530253749244328964">"Rocket Launcher"</string>
|
||||
<string name="folder_hint_text" msgid="6617836969016293992">"תיקיה ללא שם"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"מסך דף הבית %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"דף %1$d מתוך %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"מסך דף הבית %1$d מתוך %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"דף אפליקציות %1$d מתוך %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"דף רכיבי ווידג\'ט %1$d מתוך %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"ברוך הבא!"</string>
|
||||
<string name="workspace_description_format" msgid="2950174241104043327">"מסך דף הבית %1$d"</string>
|
||||
<string name="default_scroll_format" msgid="7475544710230993317">"דף %1$d מתוך %2$d"</string>
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"מסך דף הבית %1$d מתוך %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"דף אפליקציות %1$d מתוך %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"דף רכיבי ווידג\'ט %1$d מתוך %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"ברוכים הבאים"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"להרגיש בבית."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"צור מסכים נוספים עבור אפליקציות ותיקיות"</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_title" msgid="5626202359865825661">"ארגן את אזור העבודה שלך"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"גע נגיעה רציפה ברקע כדי לנהל את הטפט, רכיבי הווידג\'ט וההגדרות."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"בחר כמה אפליקציות"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"ホーム画面: %1$d/%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"アプリの%1$d/%2$dページ"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"ウィジェットの%1$d/%2$dページ"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"ようこそ!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"ホームをカスタマイズします。"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"アプリとフォルダの画面をもっと作成します"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"スペースを整理"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"壁紙、ウィジェット、設定を管理するには、背景を押し続けます。"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"アプリの選択"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"მთავარი ეკრანი %1$d, %2$d-დან"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"აპების გვერდი %1$d, %2$d-დან"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"ვიჯეტების გვერდი %1$d, %2$d-დან"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"კეთილი იყოს თქვენი მობრძანება!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"მოგესალმებით"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"იგრძენით თავი საკუთარ სახლში"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"აპებისა და საქაღალდეებისთვის კიდევ ერთი ეკრანის შექმნა"</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_title" msgid="5626202359865825661">"თქვენი სივრცის ორგანიზება"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"თუ გსურთ ფონების, ვიჯეტების და პარამეტრების მართვა, შეეხეთ და არ აუშვათ ფონს."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"აირჩიეთ რამდენიმე აპი"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"អេក្រង់ដើម %1$d នៃ %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"ទំព័រកម្មវិធី %1$d នៃ %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"ទំព័រធាតុក្រាហ្វិក %1$d នៃ %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"សូមស្វាគមន៍!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"សូមស្វាគមន៍"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"ធ្វើដោយខ្លួនឯងនៅលើអេក្រង់ដើម។"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"បង្កើតអេក្រង់ច្រើនសម្រាប់កម្មវិធី និងថតឯកសារ"</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_title" msgid="5626202359865825661">"រៀបចំចន្លោះរបស់អ្នក"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"ប៉ះ & សង្កត់លើផ្ទៃខាងក្រោម ដើម្បីគ្រប់គ្រងផ្ទាំងរូបភាព, ធាតុក្រាហ្វិក និងការកំណត់។"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"ជ្រើសកម្មវិធីមួយចំនួន"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"홈 화면 %1$d/%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"앱 페이지 %1$d/%2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"위젯 페이지 %1$d/%2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"환영합니다!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"환영합니다."</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"편리한 사용 환경을 만드세요."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"앱 및 폴더를 표시할 화면 더 만들기"</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_title" msgid="5626202359865825661">"공간 관리하기"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"배경화면, 위젯, 설정을 관리하려면 백그라운드를 길게 터치합니다."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"앱 선택하기"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"ໜ້າຈໍຫຼັກ %1$d ໃນ %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"ແອັບຯໜ້າ %1$d ໃນ %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"ວິດເຈັດໜ້າ %1$d ໃນ %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"ຍິນດີຕ້ອນຮັບ!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"ຍິນດີຕ້ອນຮັບ"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"ເຮັດໂຕໃຫ້ຄືຢູ່ໃນບ້ານ"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"ສ້າງຈໍເພີ່ມເຕີມສຳລັບແອັບຯ ແລະໂຟນເດີ"</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_title" msgid="5626202359865825661">"ຈັດການພື້ນທີ່ຂອງທ່ານ"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"ແຕະຄ້າງໄວ້ທີ່ພາບພື້ນຫຼັງເພື່ອຈັດການພາບພື້ນຫຼັງ, ວິດເຈັດແລະການຕັ້ງຄ່າ."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"ເລືອກແອັບຯ"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"%1$d pagrindinis ekranas iš %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"%1$d programų psl. iš %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"%1$d valdiklių psl. iš %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Sveiki!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Sveiki"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Jauskitės kaip namie."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Sukurkite daugiau programų ir aplankų ekrano kopijų"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Programų piktogramų kopij."</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importuoti piktogramas ir aplankus iš senų pagr. ekranų?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIJUOTI PIKTOGRAMAS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"PRADĖTI IŠ NAUJO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Tvarkykite savo vietą"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Palieskite ir laikykite foną, jei norite tvarkyti ekrano foną, valdiklius ir nustatymus."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Pasirinkite kelias programas"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Sākuma ekrāns: %1$d no %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"%1$d. lietotņu lapa no %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"%1$d. logrīku lapa no %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Laipni lūdzam!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Laipni lūdzam!"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Informācija par pamatfunkcijām"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Izveidojiet vairāk ekrānu lietotnēm un mapēm."</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Lietotņu ikonu kopēšana"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Vai importēt ikonas, mapes no iepriekšējiem sākuma ekrāniem?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPĒT IKONAS"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"SĀKT NO SĀKUMA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Kārtojiet savu darbvietu"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Pieskarieties fonam un turiet to, lai pārvaldītu fona tapeti, logrīkus un iestatījumus."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Izvēlieties dažas lietotnes"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"%2$d-н Нүүр дэлгэц %1$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"%2$d-н %1$d апп хуудас"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"%2$d-н %1$d виджет хуудас"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Тавтай морилно уу!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Тавтай морилно уу"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Гэртээ байгаа мэт тухлаарай."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Апп болон фолдеруудад зориулан өөр дэлгэцүүд үүсгээрэй"</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_title" msgid="5626202359865825661">"Өөрийнхөө зайг тохируулаарай"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Арын дэвсгэр дээр хүрээд & дарснаар ханын зураг, виджет болон тохиргоог өөрчилж болно."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Апп сонгоно уу"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Skrin Laman Utama %1$d daripada %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Halaman apl %1$d daripada %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Halaman widget %1$d daripada %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Selamat datang!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Selamat datang"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Buat seperti berada di rumah sendiri."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Buat lebih banyak skrin untuk apl dan folder"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Salin ikon apl anda"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Import ikon dan folder dari skrin Laman Utama anda?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"SALIN IKON"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"MULAKAN YANG BAHARU"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Susun ruang anda"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Sentuh & tahan latar belakang untuk mengurus kertas dinding, widget dan tetapan."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Pilih beberapa apl"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startside %1$d av %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Appside %1$d av %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Modulside %1$d av %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Velkommen!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Velkommen"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Føl deg som hjemme."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Opprett flere sider for apper og mapper"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiér appikonene dine"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Vil du importere ikoner og mapper fra de gamle startsidene?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIÉR IKONENE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"START PÅ NYTT"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organiser plassen din"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Trykk og hold på bakgrunnen for å administrere bakgrunnen, moduler og innstillinger."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Velg noen apper"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startscherm %1$d van %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"App-pagina %1$d van %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widgetpagina %1$d van %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Welkom!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Welkom"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Personaliseer uw startscherm."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Meer schermen maken voor apps en mappen"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Uw app-pictogrammen kopiëren"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Pictogrammen en mappen importeren uit uw oude startschermen?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"PICTOGRAMMEN KOPIËREN"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"OPNIEUW BEGINNEN"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Uw ruimte indelen"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Blijf de achtergrond aanraken om de achtergrond, widgets en instellingen te beheren."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Selecteer een aantal apps"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Ekran główny %1$d z %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Strona aplikacji: %1$d z %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Strona widżetów: %1$d z %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Witamy"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Witamy"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Poczuj się jak u siebie."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Dodaj więcej ekranów na aplikacje i foldery"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiuj ikony aplikacji"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Zaimportować ikony i foldery ze starych ekranów głównych?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIUJ IKONY"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"ZACZNIJ OD NOWA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Uporządkuj obszar roboczy"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Kliknij i przytrzymaj tło, by zmienić tapetę, widżety lub ustawienia."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Wybierz kilka aplikacji"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Ecrã principal %1$d de %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Página de aplicações %1$d de %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Página de widgets %1$d de %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Bem-vindo(a)!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Bem-vindo(a)"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Sinta-se em casa."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Crie mais ecrãs para aplicações e pastas"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiar ícones das aplicações"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importar ícones e pastas dos ecrãs principais antigos?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAR ÍCONES"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"COMEÇAR DO INÍCIO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizar o seu espaço"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Toque sem soltar no fundo para gerir a imagem de fundo, os widgets e as definições."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Escolher algumas aplicações"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Tela inicial %1$d de %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Página de aplicativos, %1$d de %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Página de widgets, %1$d de %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Bem-vindo!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Bem-vindo"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Fique à vontade."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Crie mais telas para aplicativos e pastas"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiar ícones de aplicativos"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Importar ícones e pastas de suas telas iniciais antigas?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAR ÍCONES"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"COMEÇAR DO ZERO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organize seu espaço"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Toque e mantenha pressionada a tela de fundo para gerenciar o plano de fundo, os widgets e as configurações."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Escolha alguns aplicativos"</string>
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
<skip />
|
||||
<!-- no translation found for apps_customize_widgets_scroll_format (3106209519974971521) -->
|
||||
<skip />
|
||||
<!-- no translation found for first_run_cling_title (7257389003637362144) -->
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<!-- no translation found for first_run_cling_description (6447072552696253358) -->
|
||||
<skip />
|
||||
@@ -173,6 +173,14 @@
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<!-- no translation found for first_run_cling_create_screens_hint (6950729526680114157) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<!-- no translation found for workspace_cling_title (5626202359865825661) -->
|
||||
<skip />
|
||||
<!-- no translation found for workspace_cling_move_item (528201129978005352) -->
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Ecranul de pornire %1$d din %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Pagina de aplicații %1$d din %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Pagina de widgeturi %1$d din %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Bun venit!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Bun venit"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Simțiți-vă ca acasă."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Creați mai multe ecrane pentru aplicații și dosare"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Copiați pictogr. aplicațiilor"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Import. pictogr. și dosare de pe ecranele de pornire anter.?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"COPIAȚI PICTOGRAMELE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"REÎNCEPEȚI"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizați-vă spațiul"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Atingeți lung fundalul pentru a gestiona imaginea de fundal, widgeturile și setările."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Alegeți unele aplicații"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Главные экран %1$d из %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Приложения: стр. %1$d из %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Виджеты: стр. %1$d из %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Добро пожаловать!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Будьте как дома"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Создание дополнительных экранов для приложений и папок"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Организация рабочего пространства"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Чтобы перейти к управлению обоями, виджетами и настройками, нажмите на фоновое изображение и удерживайте его."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Выберите приложения"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Plocha %1$d z %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Stránka aplikácií %1$d z %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Stránka miniaplikácií %1$d z %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Vitajte!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Cíťte sa tu ako doma."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Vytvorte viac obrazoviek pre aplikácie a priečinky"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Usporiadajte svoj priestor"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Ak chcete spravovať tapetu, miniaplikácie a nastavenia, dotknite sa pozadia a podržte."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Vyberte niektoré aplikácie"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Začetni zaslon %1$d od %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Stran aplikacij %1$d od %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Stran pripomočkov %1$d od %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Pozdravljeni!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Pozdravljeni"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Počutite se kot doma."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Ustvarite več zaslonov za aplikacije in mape"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiranje ikon aplikacij"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Želite uvoziti ikone in mape iz starih začetnih zaslonov?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIRAJ IKONE"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"SVEŽ ZAČETEK"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organizirajte svoj prostor"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Če želite upravljati ozadje, pripomočke in nastavitve, se dotaknite ozadja in ga pridržite."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Izberite nekaj aplikacij"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"%1$d. почетни екран од %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"%1$d. страница апликација од %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"%1$d. страница виџета од %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Добро дошли!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Добро дошли"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Осећајте се као код куће."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Направите још екрана за апликације и директоријуме"</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_title" msgid="5626202359865825661">"Организујте простор"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Додирните позадину и задржите да бисте управљали позадином, виџетима и подешавањима."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Изаберите неколико апликација"</string>
|
||||
|
||||
@@ -96,17 +96,21 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Startskärmen %1$d av %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Appsida %1$d av %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widget-sida %1$d av %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Välkommen!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Välkommen"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Känn dig som hemma."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Skapa fler skärmar för appar och mappar"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopiera appikoner"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Vill du importera ikoner och mappar från gamla startskärmar?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPIERA IKONER"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"BÖRJA OM"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Organisera ditt utrymme"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Tryck länge på bakgrunden om du vill hantera bakgrundsbilder, widgetar och inställningar."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Välj några appar"</string>
|
||||
<string name="all_apps_cling_add_item" msgid="400866858451850784">"Om du vill lägga till en app på startskärmen trycker du länge på den."</string>
|
||||
<string name="folder_cling_title" msgid="3894908818693254164">"Det här är en mapp"</string>
|
||||
<string name="folder_cling_create_folder" msgid="6158215559475836131">"Om du vill skapa en till mapp av det här slaget trycker du länge på en app och drar den sedan ovanpå en annan."</string>
|
||||
<string name="folder_cling_create_folder" msgid="6158215559475836131">"Skapa en till mapp av det här slaget genom att trycka och hålla ned en app och sedan dra den ovanpå en annan."</string>
|
||||
<string name="cling_dismiss" msgid="8962359497601507581">"OK"</string>
|
||||
<string name="folder_opened" msgid="94695026776264709">"Mappen är öppen, <xliff:g id="WIDTH">%1$d</xliff:g> gånger <xliff:g id="HEIGHT">%2$d</xliff:g>"</string>
|
||||
<string name="folder_tap_to_close" msgid="1884479294466410023">"Tryck om du vill stänga mappen"</string>
|
||||
|
||||
@@ -98,11 +98,15 @@
|
||||
<skip />
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Ukurasa wa programu %1$d ya %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Ukurasa wa wijeti %1$d ya %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Karibu!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Karibu"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Jisikie huru."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Unda skrini zaidi za programu na folda"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Nakili ikoni za programu yako"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Je, ungependa kuingiza ikoni na folda kutoka kwa skrini zako za Mwanzo za zamani?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"NAKILI IKONI"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"ANZA UPYA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Panga nafasi yako"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Gusa na ushikile mandharinyuma ili udhibiti mandhari, wijeti, na mipangilio."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Chagua programu kadhaa"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"หน้าจอหลัก %1$d จาก %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"แอปหน้า %1$d จาก %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"วิดเจ็ตหน้า %1$d จาก %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"ยินดีต้อนรับ!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"ยินดีต้อนรับ"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"ทำตัวตามสบาย"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"สร้างหน้าจอเพิ่มสำหรับแอปและโฟลเดอร์"</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_title" msgid="5626202359865825661">"จัดระเบียบพื้นที่ของคุณ"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"แตะพื้นหลังค้างไว้เพื่อจัดการวอลเปเปอร์ วิดเจ็ต และการตั้งค่า"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"เลือกบางแอป"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Home screen %1$d ng %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Pahina ng apps %1$d ng %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Pahina ng widget %1$d ng %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Maligayang pagdating!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Maligayang Pagdating"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Gawing kumportable ang iyong sarili."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Gumawa ng higit pang mga screen para sa apps at mga folder"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopyahin ang mga icon ng app"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"I-import ang icon at folder mula sa luma mong Home screen?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPYAHIN ANG MGA ICON"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"MAGSIMULA NANG BAGO"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Ayusin ang iyong espasyo"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Pindutin nang matagal ang background upang pamahalaan ang wallpaper, mga widget at setting"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Pumili ng ilang apps"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Ana ekran %1$d / %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Uygulama sayfası %1$d / %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Widget sayfası %1$d / %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Hoş geldiniz!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Rahatınıza bakın."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Uygulamalar ve klasörler için daha fazla ekran oluşturun"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Alanınızı düzenleyin"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Duvar kağıdını, widget\'ları ve ayarları yönetmek için arka plana uzun basın."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"İstediğiniz uygulamaları seçin"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Головний екран %1$d з %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Сторінка програм %1$d з %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Сторінка віджетів %1$d з %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Вітаємо!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Вітаємо"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Будьте як удома."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Створюйте нові екрани для програм і папок"</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_title" msgid="5626202359865825661">"Організуйте робочий простір"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Натисніть і утримуйте фон, щоб керувати фоновим малюнком, віджетами та налаштуваннями."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Виберіть програми"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Màn hình chính %1$d / %2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Trang ứng dụng %1$d / %2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Trang tiện ích con %1$d / %2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Xin chào!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Chào mừng"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Tự nhiên như ở nhà."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Tạo thêm màn hình cho ứng dụng và thư mục"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Sao chép biểu tượng ứng dụng của bạn"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Nhập biểu tượng và thư mục từ Màn hình chính cũ của bạn?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"BIỂU TƯỢNG SAO CHÉP"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"BẮT ĐẦU LÀM MỚI"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Sắp xếp không gian của bạn"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Chạm và giữ nền để quản lý hình nền, tiện ích con và cài đặt."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Chọn một số ứng dụng"</string>
|
||||
|
||||
@@ -96,11 +96,20 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"主屏幕:第%1$d屏,共%2$d屏"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"应用:第%1$d页,共%2$d页"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"小部件:第%1$d页,共%2$d页"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"欢迎!"</string>
|
||||
<!-- no translation found for first_run_cling_title (2459738000155917941) -->
|
||||
<skip />
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"您的主屏幕您做主。"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"添加更多屏幕来容纳应用和文件夹"</string>
|
||||
<!-- no translation found for migration_cling_title (9181776667882933767) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_description (2752413805582227644) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_copy_apps (946331230090919440) -->
|
||||
<skip />
|
||||
<!-- no translation found for migration_cling_use_default (2626475813981258626) -->
|
||||
<skip />
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"整理您的空间"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"触摸并按住背景,即可管理壁纸、小部件和设置。"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"选择一些应用"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"主畫面 %1$d,共 %2$d 個"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"第 %1$d 個應用程式頁面,共 %2$d 頁"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"第 %1$d 個小工具頁面,共 %2$d 頁"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"歡迎!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"歡迎"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"自訂主畫面。"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"建立更多應用程式和資料夾的畫面"</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_title" msgid="5626202359865825661">"管理您的空間"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"輕觸並按住背景,即可管理桌布、小工具和設定。"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"選擇一些應用程式"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"主螢幕:第 %1$d 頁,共 %2$d 頁"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"應用程式:第 %1$d 頁,共 %2$d 頁"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"小工具:第 %1$d 頁,共 %2$d 頁"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"歡迎使用!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"歡迎使用"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"主螢幕由您作主。"</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"建立更多畫面容納應用程式和資料夾"</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_title" msgid="5626202359865825661">"管理您的空間"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"輕觸並按住背景,即可管理桌布、小工具和設定。"</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"選擇一些應用程式"</string>
|
||||
|
||||
@@ -96,11 +96,15 @@
|
||||
<string name="workspace_scroll_format" msgid="8458889198184077399">"Isikrini sasekhaya esingu-%1$d se-%2$d"</string>
|
||||
<string name="apps_customize_apps_scroll_format" msgid="370005296147130238">"Ikhasi lezinhlelo zokusebenza elingu-%1$d le-%2$d"</string>
|
||||
<string name="apps_customize_widgets_scroll_format" msgid="3106209519974971521">"Ikhasi lamawijethi elingu-%1$d le-%2$d"</string>
|
||||
<string name="first_run_cling_title" msgid="7257389003637362144">"Siyakwamukela!"</string>
|
||||
<string name="first_run_cling_title" msgid="2459738000155917941">"Siyakwamukela"</string>
|
||||
<string name="first_run_cling_description" msgid="6447072552696253358">"Zizwe usekhaya."</string>
|
||||
<string name="first_run_cling_custom_content_hint" msgid="6090628589029352439"></string>
|
||||
<string name="first_run_cling_search_bar_hint" msgid="5909062802402452582"></string>
|
||||
<string name="first_run_cling_create_screens_hint" msgid="6950729526680114157">"Dala izikrini eziningi zezinhlelo zokusebenza namafolda"</string>
|
||||
<string name="migration_cling_title" msgid="9181776667882933767">"Kopisha izithonjana zakho zohlelo lokusebenza"</string>
|
||||
<string name="migration_cling_description" msgid="2752413805582227644">"Ngenisa izithonjana namafolda kusukela kuzikrini zakho ezindala zasekhaya?"</string>
|
||||
<string name="migration_cling_copy_apps" msgid="946331230090919440">"KOPISHA IZITHONJANA"</string>
|
||||
<string name="migration_cling_use_default" msgid="2626475813981258626">"QALISA KABUSHA"</string>
|
||||
<string name="workspace_cling_title" msgid="5626202359865825661">"Hlela isikhala sakho"</string>
|
||||
<string name="workspace_cling_move_item" msgid="528201129978005352">"Thinta uphinde ubambe okungemuva ukuze uphathe isithombe sangemuva, amawijethi nezilungiselelo."</string>
|
||||
<string name="all_apps_cling_title" msgid="34929250753095858">"Khetha izinhlelo zokusebenza ezithile"</string>
|
||||
|
||||
@@ -94,4 +94,7 @@
|
||||
filter the activities shown in the launcher. Can be empty. -->
|
||||
<string name="app_filter_class" translatable="false"></string>
|
||||
|
||||
<!-- Name of a subclass of com.android.launcher3.BuildInfo used to
|
||||
get build information. Can be empty. -->
|
||||
<string name="build_info_class" translatable="false"></string>
|
||||
</resources>
|
||||
|
||||
@@ -207,7 +207,7 @@ s -->
|
||||
|
||||
<!-- Clings -->
|
||||
<!-- The title text for the workspace cling [CHAR_LIMIT=30] -->
|
||||
<string name="first_run_cling_title">Welcome!</string>
|
||||
<string name="first_run_cling_title">Welcome</string>
|
||||
<!-- The description of how to use the workspace [CHAR_LIMIT=60] -->
|
||||
<string name="first_run_cling_description">Make yourself at home.</string>
|
||||
<!-- The description of how to use the workspace [CHAR_LIMIT=60] -->
|
||||
@@ -216,6 +216,14 @@ s -->
|
||||
<string name="first_run_cling_search_bar_hint"></string>
|
||||
<!-- The description of how to use the workspace [CHAR_LIMIT=60] -->
|
||||
<string name="first_run_cling_create_screens_hint">Create more screens for apps and folders</string>
|
||||
<!-- The title text for the migration cling [CHAR_LIMIT=30] -->
|
||||
<string name="migration_cling_title">Copy your app icons</string>
|
||||
<!-- The description of what migration does [CHAR_LIMIT=70] -->
|
||||
<string name="migration_cling_description">Import icons and folders from your old Home screens?</string>
|
||||
<!-- The description of the button to migrate apps from another launcher [CHAR_LIMIT=30] -->
|
||||
<string name="migration_cling_copy_apps">COPY ICONS</string>
|
||||
<!-- The description of the button to use the default launcher layout [CHAR_LIMIT=30] -->
|
||||
<string name="migration_cling_use_default">START FRESH</string>
|
||||
<!-- The title text for the workspace cling [CHAR_LIMIT=30] -->
|
||||
<string name="workspace_cling_title">Organize your space</string>
|
||||
<!-- The description of how to use the workspace [CHAR_LIMIT=70] -->
|
||||
|
||||
@@ -199,8 +199,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
private AccelerateInterpolator mAlphaInterpolator = new AccelerateInterpolator(0.9f);
|
||||
private DecelerateInterpolator mLeftScreenAlphaInterpolator = new DecelerateInterpolator(4);
|
||||
|
||||
public static boolean DISABLE_ALL_APPS = false;
|
||||
|
||||
// Previews & outlines
|
||||
ArrayList<AppsCustomizeAsyncTask> mRunningTasks;
|
||||
private static final int sPageSleepDelay = 200;
|
||||
@@ -427,7 +425,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
int width = MeasureSpec.getSize(widthMeasureSpec);
|
||||
int height = MeasureSpec.getSize(heightMeasureSpec);
|
||||
if (!isDataReady()) {
|
||||
if ((DISABLE_ALL_APPS || !mApps.isEmpty()) && !mWidgets.isEmpty()) {
|
||||
if ((LauncherAppState.isDisableAllApps() || !mApps.isEmpty()) && !mWidgets.isEmpty()) {
|
||||
setDataIsReady();
|
||||
setMeasuredDimension(width, height);
|
||||
onDataReady(width, height);
|
||||
@@ -1558,7 +1556,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
}
|
||||
|
||||
public void setApps(ArrayList<AppInfo> list) {
|
||||
if (!DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
mApps = list;
|
||||
Collections.sort(mApps, LauncherModel.getAppNameComparator());
|
||||
updatePageCountsAndInvalidateData();
|
||||
@@ -1576,7 +1574,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
}
|
||||
}
|
||||
public void addApps(ArrayList<AppInfo> list) {
|
||||
if (!DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
addAppsWithoutInvalidate(list);
|
||||
updatePageCountsAndInvalidateData();
|
||||
}
|
||||
@@ -1604,7 +1602,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
}
|
||||
}
|
||||
public void removeApps(ArrayList<AppInfo> appInfos) {
|
||||
if (!DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
removeAppsWithoutInvalidate(appInfos);
|
||||
updatePageCountsAndInvalidateData();
|
||||
}
|
||||
@@ -1613,7 +1611,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
// We remove and re-add the updated applications list because it's properties may have
|
||||
// changed (ie. the title), and this will ensure that the items will be in their proper
|
||||
// place in the list.
|
||||
if (!DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
removeAppsWithoutInvalidate(list);
|
||||
addAppsWithoutInvalidate(list);
|
||||
updatePageCountsAndInvalidateData();
|
||||
@@ -1727,4 +1725,4 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
|
||||
return String.format(getContext().getString(stringId), page + 1, count);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -407,7 +407,7 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona
|
||||
}
|
||||
|
||||
// Dismiss the workspace cling
|
||||
l.dismissWorkspaceCling(null);
|
||||
l.getLauncherClings().dismissWorkspaceCling(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.android.launcher3;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
public class BuildInfo {
|
||||
private static final boolean DBG = false;
|
||||
private static final String TAG = "BuildInfo";
|
||||
|
||||
public boolean isDogfoodBuild() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static BuildInfo loadByName(String className) {
|
||||
if (TextUtils.isEmpty(className)) return new BuildInfo();
|
||||
|
||||
if (DBG) Log.d(TAG, "Loading BuildInfo: " + className);
|
||||
try {
|
||||
Class<?> cls = Class.forName(className);
|
||||
return (BuildInfo) cls.newInstance();
|
||||
} catch (ClassNotFoundException e) {
|
||||
Log.e(TAG, "Bad BuildInfo class", e);
|
||||
} catch (InstantiationException e) {
|
||||
Log.e(TAG, "Bad BuildInfo class", e);
|
||||
} catch (IllegalAccessException e) {
|
||||
Log.e(TAG, "Bad BuildInfo class", e);
|
||||
} catch (ClassCastException e) {
|
||||
Log.e(TAG, "Bad BuildInfo class", e);
|
||||
}
|
||||
return new BuildInfo();
|
||||
}
|
||||
}
|
||||
@@ -37,10 +37,6 @@ import android.widget.TextView;
|
||||
public class Cling extends FrameLayout implements Insettable, View.OnClickListener,
|
||||
View.OnLongClickListener, View.OnTouchListener {
|
||||
|
||||
static final String FIRST_RUN_CLING_DISMISSED_KEY = "cling_gel.first_run.dismissed";
|
||||
static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
|
||||
static final String FOLDER_CLING_DISMISSED_KEY = "cling_gel.folder.dismissed";
|
||||
|
||||
private static String FIRST_RUN_PORTRAIT = "first_run_portrait";
|
||||
private static String FIRST_RUN_LANDSCAPE = "first_run_landscape";
|
||||
|
||||
@@ -49,6 +45,12 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
private static String WORKSPACE_LARGE = "workspace_large";
|
||||
private static String WORKSPACE_CUSTOM = "workspace_custom";
|
||||
|
||||
private static String MIGRATION_PORTRAIT = "migration_portrait";
|
||||
private static String MIGRATION_LANDSCAPE = "migration_landscape";
|
||||
|
||||
private static String MIGRATION_WORKSPACE_PORTRAIT = "migration_workspace_portrait";
|
||||
private static String MIGRATION_WORKSPACE_LANDSCAPE = "migration_workspace_landscape";
|
||||
|
||||
private static String FOLDER_PORTRAIT = "folder_portrait";
|
||||
private static String FOLDER_LANDSCAPE = "folder_landscape";
|
||||
private static String FOLDER_LARGE = "folder_large";
|
||||
@@ -57,6 +59,8 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
private static float WORKSPACE_INNER_CIRCLE_RADIUS_DPS = 50;
|
||||
private static float WORKSPACE_OUTER_CIRCLE_RADIUS_DPS = 60;
|
||||
private static float WORKSPACE_CIRCLE_Y_OFFSET_DPS = 30;
|
||||
private static float MIGRATION_WORKSPACE_INNER_CIRCLE_RADIUS_DPS = 42;
|
||||
private static float MIGRATION_WORKSPACE_OUTER_CIRCLE_RADIUS_DPS = 46;
|
||||
|
||||
private Launcher mLauncher;
|
||||
private boolean mIsInitialized;
|
||||
@@ -70,6 +74,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
private Rect mFocusedHotseatAppBounds;
|
||||
|
||||
private Paint mErasePaint;
|
||||
private Paint mBorderPaint;
|
||||
private Paint mBubblePaint;
|
||||
private Paint mDotPaint;
|
||||
|
||||
@@ -112,6 +117,10 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
mErasePaint.setAlpha(0);
|
||||
mErasePaint.setAntiAlias(true);
|
||||
|
||||
mBorderPaint = new Paint();
|
||||
mBorderPaint.setColor(0xFFFFFFFF);
|
||||
mBorderPaint.setAntiAlias(true);
|
||||
|
||||
int circleColor = getResources().getColor(
|
||||
R.color.first_run_cling_circle_background_color);
|
||||
mBubblePaint = new Paint();
|
||||
@@ -166,13 +175,30 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
}
|
||||
}
|
||||
|
||||
void updateMigrationWorkspaceBubblePosition() {
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
mLauncher.getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||
|
||||
// Get the page indicator bounds
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
Rect pageIndicatorBounds = grid.getWorkspacePageIndicatorBounds(mInsets);
|
||||
|
||||
View bubble = findViewById(R.id.migration_workspace_cling_bubble);
|
||||
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) bubble.getLayoutParams();
|
||||
lp.bottomMargin = grid.heightPx - pageIndicatorBounds.top;
|
||||
bubble.requestLayout();
|
||||
}
|
||||
|
||||
void show(boolean animate, int duration) {
|
||||
setVisibility(View.VISIBLE);
|
||||
setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
||||
if (mDrawIdentifier.equals(WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LARGE) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_CUSTOM)) {
|
||||
mDrawIdentifier.equals(WORKSPACE_CUSTOM) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
|
||||
View content = getContent();
|
||||
content.setAlpha(0f);
|
||||
content.animate()
|
||||
@@ -218,7 +244,9 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
|
||||
void hide(final int duration, final Runnable postCb) {
|
||||
if (mDrawIdentifier.equals(FIRST_RUN_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(FIRST_RUN_LANDSCAPE)) {
|
||||
mDrawIdentifier.equals(FIRST_RUN_LANDSCAPE) ||
|
||||
mDrawIdentifier.equals(MIGRATION_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(MIGRATION_LANDSCAPE)) {
|
||||
View content = getContent();
|
||||
content.animate()
|
||||
.alpha(0f)
|
||||
@@ -340,7 +368,7 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
intent.setComponent(mFocusedHotseatAppComponent);
|
||||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
mLauncher.startActivity(intent, null);
|
||||
mLauncher.dismissWorkspaceCling(this);
|
||||
mLauncher.getLauncherClings().dismissWorkspaceCling(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -350,7 +378,11 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
if (mDrawIdentifier.equals(WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LARGE)) {
|
||||
mLauncher.dismissWorkspaceCling(null);
|
||||
mLauncher.getLauncherClings().dismissWorkspaceCling(null);
|
||||
return true;
|
||||
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
|
||||
mLauncher.getLauncherClings().dismissMigrationWorkspaceCling(null);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -361,6 +393,11 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
if (mIsInitialized) {
|
||||
canvas.save();
|
||||
|
||||
// Get the page indicator bounds
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
Rect pageIndicatorBounds = grid.getWorkspacePageIndicatorBounds(mInsets);
|
||||
|
||||
// Get the background override if there is one
|
||||
if (mBackground == null) {
|
||||
if (mDrawIdentifier.equals(WORKSPACE_CUSTOM)) {
|
||||
@@ -378,7 +415,9 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
mBackground.draw(canvas);
|
||||
} else if (mDrawIdentifier.equals(WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LARGE)) {
|
||||
mDrawIdentifier.equals(WORKSPACE_LARGE) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
|
||||
// Initialize the draw buffer (to allow punching through)
|
||||
eraseBg = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(),
|
||||
Bitmap.Config.ARGB_8888);
|
||||
@@ -412,11 +451,13 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
mDrawIdentifier.equals(WORKSPACE_LANDSCAPE) ||
|
||||
mDrawIdentifier.equals(WORKSPACE_LARGE)) {
|
||||
int offset = DynamicGrid.pxFromDp(WORKSPACE_CIRCLE_Y_OFFSET_DPS, metrics);
|
||||
mErasePaint.setAlpha((int) (128));
|
||||
// Draw the outer circle
|
||||
mErasePaint.setAlpha(128);
|
||||
eraseCanvas.drawCircle(metrics.widthPixels / 2,
|
||||
metrics.heightPixels / 2 - offset,
|
||||
DynamicGrid.pxFromDp(WORKSPACE_OUTER_CIRCLE_RADIUS_DPS, metrics),
|
||||
mErasePaint);
|
||||
// Draw the inner circle
|
||||
mErasePaint.setAlpha(0);
|
||||
eraseCanvas.drawCircle(metrics.widthPixels / 2,
|
||||
metrics.heightPixels / 2 - offset,
|
||||
@@ -434,8 +475,24 @@ public class Cling extends FrameLayout implements Insettable, View.OnClickListen
|
||||
mFocusedHotseatApp.setAlpha((int) (255 * alpha));
|
||||
mFocusedHotseatApp.draw(canvas);
|
||||
}
|
||||
} else if (mDrawIdentifier.equals(MIGRATION_WORKSPACE_PORTRAIT) ||
|
||||
mDrawIdentifier.equals(MIGRATION_WORKSPACE_LANDSCAPE)) {
|
||||
int offset = DynamicGrid.pxFromDp(WORKSPACE_CIRCLE_Y_OFFSET_DPS, metrics);
|
||||
// Draw the outer circle
|
||||
eraseCanvas.drawCircle(pageIndicatorBounds.centerX(),
|
||||
pageIndicatorBounds.centerY(),
|
||||
DynamicGrid.pxFromDp(MIGRATION_WORKSPACE_OUTER_CIRCLE_RADIUS_DPS, metrics),
|
||||
mBorderPaint);
|
||||
// Draw the inner circle
|
||||
mErasePaint.setAlpha(0);
|
||||
eraseCanvas.drawCircle(pageIndicatorBounds.centerX(),
|
||||
pageIndicatorBounds.centerY(),
|
||||
DynamicGrid.pxFromDp(MIGRATION_WORKSPACE_INNER_CIRCLE_RADIUS_DPS, metrics),
|
||||
mErasePaint);
|
||||
canvas.drawBitmap(eraseBg, 0, 0, null);
|
||||
eraseCanvas.setBitmap(null);
|
||||
eraseBg = null;
|
||||
}
|
||||
|
||||
canvas.restore();
|
||||
}
|
||||
|
||||
|
||||
@@ -146,12 +146,12 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
if (!LauncherAppState.isDisableAllApps() &&
|
||||
item.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
if (!LauncherAppState.isDisableAllApps() &&
|
||||
item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION &&
|
||||
item instanceof AppInfo) {
|
||||
AppInfo appInfo = (AppInfo) info;
|
||||
@@ -160,7 +160,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
|
||||
if (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION &&
|
||||
item instanceof ShortcutInfo) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
ShortcutInfo shortcutInfo = (ShortcutInfo) info;
|
||||
return (shortcutInfo.flags & AppInfo.DOWNLOADED_FLAG) != 0;
|
||||
} else {
|
||||
@@ -174,7 +174,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
@Override
|
||||
public void onDragStart(DragSource source, Object info, int dragAction) {
|
||||
boolean isVisible = true;
|
||||
boolean useUninstallLabel = !AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
boolean useUninstallLabel = !LauncherAppState.isDisableAllApps() &&
|
||||
isAllAppsApplication(source, info);
|
||||
boolean useDeleteLabel = !useUninstallLabel && source.supportsDeleteDropTarget();
|
||||
|
||||
@@ -264,7 +264,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
}
|
||||
|
||||
private boolean isUninstallFromWorkspace(DragObject d) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS && isWorkspaceOrFolderApplication(d)) {
|
||||
if (LauncherAppState.isDisableAllApps() && isWorkspaceOrFolderApplication(d)) {
|
||||
ShortcutInfo shortcut = (ShortcutInfo) d.dragInfo;
|
||||
// Only allow manifest shortcuts to initiate an un-install.
|
||||
return !InstallShortcutReceiver.isValidShortcutLaunchIntent(shortcut.intent);
|
||||
|
||||
@@ -126,7 +126,7 @@ public class DeviceProfile {
|
||||
DeviceProfile(String n, float w, float h, float r, float c,
|
||||
float is, float its, float hs, float his) {
|
||||
// Ensure that we have an odd number of hotseat items (since we need to place all apps)
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS && hs % 2 == 0) {
|
||||
if (!LauncherAppState.isDisableAllApps() && hs % 2 == 0) {
|
||||
throw new RuntimeException("All Device Profiles must have an odd number of hotseat spaces");
|
||||
}
|
||||
|
||||
@@ -475,6 +475,14 @@ public class DeviceProfile {
|
||||
return bounds;
|
||||
}
|
||||
|
||||
/** Returns the bounds of the workspace page indicators. */
|
||||
Rect getWorkspacePageIndicatorBounds(Rect insets) {
|
||||
Rect workspacePadding = getWorkspacePadding();
|
||||
int pageIndicatorTop = heightPx - insets.bottom - workspacePadding.bottom;
|
||||
return new Rect(workspacePadding.left, pageIndicatorTop,
|
||||
widthPx - workspacePadding.right, pageIndicatorTop + pageIndicatorHeightPx);
|
||||
}
|
||||
|
||||
/** Returns the workspace padding in the specified orientation */
|
||||
Rect getWorkspacePadding() {
|
||||
return getWorkspacePadding(isLandscape ? CellLayout.LANDSCAPE : CellLayout.PORTRAIT);
|
||||
|
||||
@@ -168,7 +168,8 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
|
||||
}
|
||||
|
||||
Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
|
||||
if (currentFolder != null && !mLauncher.isFolderClingVisible() && intercept) {
|
||||
if (currentFolder != null && !mLauncher.getLauncherClings().isFolderClingVisible() &&
|
||||
intercept) {
|
||||
if (currentFolder.isEditingName()) {
|
||||
if (!isEventOverFolderTextRegion(currentFolder, ev)) {
|
||||
currentFolder.dismissEditingName();
|
||||
|
||||
@@ -56,7 +56,7 @@ public class DynamicGrid {
|
||||
DisplayMetrics dm = resources.getDisplayMetrics();
|
||||
ArrayList<DeviceProfile> deviceProfiles =
|
||||
new ArrayList<DeviceProfile>();
|
||||
boolean hasAA = !AppsCustomizePagedView.DISABLE_ALL_APPS;
|
||||
boolean hasAA = !LauncherAppState.isDisableAllApps();
|
||||
DEFAULT_ICON_SIZE_PX = pxFromDp(DEFAULT_ICON_SIZE_DP, dm);
|
||||
// Our phone profiles include the bar sizes in each orientation
|
||||
deviceProfiles.add(new DeviceProfile("Super Short Stubby",
|
||||
|
||||
@@ -146,7 +146,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
|
||||
Resources res = getResources();
|
||||
mMaxCountX = (int) grid.numColumns;
|
||||
// Allow scrolling folders when DISABLE_ALL_APPS is true.
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
mMaxCountY = mMaxNumItems = Integer.MAX_VALUE;
|
||||
} else {
|
||||
mMaxCountY = (int) grid.numRows;
|
||||
@@ -238,7 +238,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
|
||||
return false;
|
||||
}
|
||||
|
||||
mLauncher.dismissFolderCling(null);
|
||||
mLauncher.getLauncherClings().dismissFolderCling(null);
|
||||
|
||||
mLauncher.getWorkspace().onDragStartedWithItem(v);
|
||||
mLauncher.getWorkspace().beginDragShared(v, this);
|
||||
@@ -466,7 +466,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
mState = STATE_OPEN;
|
||||
setLayerType(LAYER_TYPE_NONE, null);
|
||||
Cling cling = mLauncher.showFirstRunFoldersCling();
|
||||
Cling cling = mLauncher.getLauncherClings().showFoldersCling();
|
||||
if (cling != null) {
|
||||
cling.bringScrimToFront();
|
||||
bringToFront();
|
||||
@@ -1018,7 +1018,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
|
||||
int contentAreaHeightSpec = MeasureSpec.makeMeasureSpec(getContentAreaHeight(),
|
||||
MeasureSpec.EXACTLY);
|
||||
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
// Don't cap the height of the content to allow scrolling.
|
||||
mContent.setFixedSize(getContentAreaWidth(), mContent.getDesiredHeight());
|
||||
} else {
|
||||
@@ -1107,7 +1107,10 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
|
||||
if (getItemCount() <= 1) {
|
||||
// Remove the folder
|
||||
LauncherModel.deleteItemFromDatabase(mLauncher, mInfo);
|
||||
cellLayout.removeView(mFolderIcon);
|
||||
if (cellLayout != null) {
|
||||
// b/12446428 -- sometimes the cell layout has already gone away?
|
||||
cellLayout.removeView(mFolderIcon);
|
||||
}
|
||||
if (mFolderIcon instanceof DropTarget) {
|
||||
mDragController.removeDropTarget((DropTarget) mFolderIcon);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class Hotseat extends FrameLayout {
|
||||
return hasVerticalHotseat() ? (mContent.getCountY() - (rank + 1)) : 0;
|
||||
}
|
||||
public boolean isAllAppsButtonRank(int rank) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
return false;
|
||||
} else {
|
||||
return rank == mAllAppsButtonRank;
|
||||
@@ -142,7 +142,7 @@ public class Hotseat extends FrameLayout {
|
||||
void resetLayout() {
|
||||
mContent.removeAllViewsInLayout();
|
||||
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
// Add the Apps button
|
||||
Context context = getContext();
|
||||
|
||||
@@ -189,7 +189,7 @@ public class Hotseat extends FrameLayout {
|
||||
void addAllAppsFolder(IconCache iconCache,
|
||||
ArrayList<AppInfo> allApps, ArrayList<ComponentName> onWorkspace,
|
||||
Launcher launcher, Workspace workspace) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
FolderInfo fi = new FolderInfo();
|
||||
|
||||
fi.cellX = getCellXFromOrder(mAllAppsButtonRank);
|
||||
@@ -219,7 +219,7 @@ public class Hotseat extends FrameLayout {
|
||||
}
|
||||
|
||||
void addAppsToAllAppsFolder(ArrayList<AppInfo> apps) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
View v = mContent.getChildAt(getCellXFromOrder(mAllAppsButtonRank), getCellYFromOrder(mAllAppsButtonRank));
|
||||
FolderIcon fi = null;
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
|
||||
final Intent intent = pendingInfo.launchIntent;
|
||||
final String name = pendingInfo.name;
|
||||
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS && !isValidShortcutLaunchIntent(intent)) {
|
||||
if (LauncherAppState.isDisableAllApps() && !isValidShortcutLaunchIntent(intent)) {
|
||||
if (DBG) Log.d(TAG, "Ignoring shortcut with launchIntent:" + intent);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
|
||||
package com.android.launcher3;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.AnimatorSet;
|
||||
@@ -43,6 +41,7 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.ResolveInfo;
|
||||
@@ -87,7 +86,6 @@ import android.view.ViewTreeObserver;
|
||||
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||
import android.view.WindowManager;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.animation.AccelerateDecelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
@@ -115,6 +113,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
|
||||
/**
|
||||
* Default launcher application.
|
||||
*/
|
||||
@@ -130,6 +129,8 @@ public class Launcher extends Activity
|
||||
static final boolean DEBUG_RESUME_TIME = false;
|
||||
static final boolean DEBUG_DUMP_LOG = 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_APPLICATION = 6;
|
||||
@@ -155,6 +156,7 @@ public class Launcher extends Activity
|
||||
// adb shell setprop log.tag.PROPERTY_NAME [VERBOSE | SUPPRESS]
|
||||
static final String FORCE_ENABLE_ROTATION_PROPERTY = "launcher_force_rotate";
|
||||
static final String DUMP_STATE_PROPERTY = "launcher_dump_state";
|
||||
static final String DISABLE_ALL_APPS_PROPERTY = "launcher_noallapps";
|
||||
|
||||
// The Intent extra that defines whether to ignore the launch animation
|
||||
static final String INTENT_EXTRA_IGNORE_LAUNCH_ANIMATION =
|
||||
@@ -199,6 +201,8 @@ public class Launcher extends Activity
|
||||
public static final String SHOW_WEIGHT_WATCHER = "debug.show_mem";
|
||||
public static final boolean SHOW_WEIGHT_WATCHER_DEFAULT = false;
|
||||
|
||||
public static final String USER_HAS_MIGRATED = "launcher.user_migrated_from_old_data";
|
||||
|
||||
/** The different states that Launcher can be in. */
|
||||
private enum State { NONE, WORKSPACE, APPS_CUSTOMIZE, APPS_CUSTOMIZE_SPRING_LOADED };
|
||||
private State mState = State.WORKSPACE;
|
||||
@@ -207,8 +211,6 @@ public class Launcher extends Activity
|
||||
static final int APPWIDGET_HOST_ID = 1024;
|
||||
public static final int EXIT_SPRINGLOADED_MODE_SHORT_TIMEOUT = 300;
|
||||
private static final int ON_ACTIVITY_RESULT_ANIMATION_DELAY = 500;
|
||||
private static final int SHOW_CLING_DURATION = 250;
|
||||
private static final int DISMISS_CLING_DURATION = 200;
|
||||
|
||||
private static final Object sLock = new Object();
|
||||
private static int sScreen = DEFAULT_SCREEN;
|
||||
@@ -229,9 +231,11 @@ public class Launcher extends Activity
|
||||
|
||||
private Workspace mWorkspace;
|
||||
private View mLauncherView;
|
||||
private View mPageIndicators;
|
||||
private DragLayer mDragLayer;
|
||||
private DragController mDragController;
|
||||
private View mWeightWatcher;
|
||||
private LauncherClings mLauncherClings;
|
||||
|
||||
private AppWidgetManager mAppWidgetManager;
|
||||
private LauncherAppWidgetHost mAppWidgetHost;
|
||||
@@ -284,8 +288,6 @@ public class Launcher extends Activity
|
||||
private boolean mVisible = false;
|
||||
private boolean mHasFocus = false;
|
||||
private boolean mAttached = false;
|
||||
private static final boolean DISABLE_CLINGS = false;
|
||||
private static final boolean DISABLE_CUSTOM_CLINGS = true;
|
||||
|
||||
private static LocaleConfiguration sLocaleConfiguration = null;
|
||||
|
||||
@@ -341,9 +343,6 @@ public class Launcher extends Activity
|
||||
|
||||
private BubbleTextView mWaitingForResume;
|
||||
|
||||
private HideFromAccessibilityHelper mHideFromAccessibilityHelper
|
||||
= new HideFromAccessibilityHelper();
|
||||
|
||||
private Runnable mBuildLayersRunnable = new Runnable() {
|
||||
public void run() {
|
||||
if (mWorkspace != null) {
|
||||
@@ -368,7 +367,7 @@ public class Launcher extends Activity
|
||||
|
||||
private Stats mStats;
|
||||
|
||||
private static boolean isPropertyEnabled(String propertyName) {
|
||||
static boolean isPropertyEnabled(String propertyName) {
|
||||
return Log.isLoggable(propertyName, Log.VERBOSE);
|
||||
}
|
||||
|
||||
@@ -418,6 +417,7 @@ public class Launcher extends Activity
|
||||
mIconCache = app.getIconCache();
|
||||
mIconCache.flushInvalidIcons(grid);
|
||||
mDragController = new DragController(this);
|
||||
mLauncherClings = new LauncherClings(this);
|
||||
mInflater = getLayoutInflater();
|
||||
|
||||
mStats = new Stats(this);
|
||||
@@ -479,8 +479,19 @@ public class Launcher extends Activity
|
||||
// On large interfaces, we want the screen to auto-rotate based on the current orientation
|
||||
unlockScreenOrientation(true);
|
||||
|
||||
// The two first run cling paths are mutually exclusive, if the launcher is preinstalled
|
||||
// on the device, then we always show the first run cling experience (or if there is no
|
||||
// launcher2). Otherwise, we prompt the user upon started for migration
|
||||
showFirstRunActivity();
|
||||
showFirstRunCling();
|
||||
if (mLauncherClings.shouldShowFirstRunOrMigrationClings()) {
|
||||
if (mModel.canMigrateFromOldLauncherDb(this)) {
|
||||
mLauncherClings.showMigrationCling();
|
||||
} else {
|
||||
mLauncherClings.showFirstRunCling();
|
||||
}
|
||||
} else {
|
||||
mLauncherClings.removeFirstRunAndMigrationClings();
|
||||
}
|
||||
}
|
||||
|
||||
protected void onUserLeaveHint() {
|
||||
@@ -673,10 +684,6 @@ public class Launcher extends Activity
|
||||
return mInflater;
|
||||
}
|
||||
|
||||
public DragLayer getDragLayer() {
|
||||
return mDragLayer;
|
||||
}
|
||||
|
||||
boolean isDraggingEnabled() {
|
||||
// We prevent dragging when we are loading the workspace as it is possible to pick up a view
|
||||
// that is subsequently removed from the workspace in startBinding().
|
||||
@@ -1227,6 +1234,7 @@ public class Launcher extends Activity
|
||||
mLauncherView = findViewById(R.id.launcher);
|
||||
mDragLayer = (DragLayer) findViewById(R.id.drag_layer);
|
||||
mWorkspace = (Workspace) mDragLayer.findViewById(R.id.workspace);
|
||||
mPageIndicators = mDragLayer.findViewById(R.id.page_indicator);
|
||||
|
||||
mLauncherView.setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||
@@ -1570,6 +1578,15 @@ public class Launcher extends Activity
|
||||
} else if (Intent.ACTION_USER_PRESENT.equals(action)) {
|
||||
mUserPresent = true;
|
||||
updateRunning();
|
||||
} else if (ENABLE_DEBUG_INTENTS && DebugIntents.DELETE_DATABASE.equals(action)) {
|
||||
mModel.resetLoadedState(false, true);
|
||||
mModel.startLoader(false, 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(false, PagedView.INVALID_RESTORE_PAGE,
|
||||
LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE
|
||||
| LauncherModel.LOADER_FLAG_MIGRATE_SHORTCUTS);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1582,6 +1599,10 @@ public class Launcher extends Activity
|
||||
final IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
filter.addAction(Intent.ACTION_USER_PRESENT);
|
||||
if (ENABLE_DEBUG_INTENTS) {
|
||||
filter.addAction(DebugIntents.DELETE_DATABASE);
|
||||
filter.addAction(DebugIntents.MIGRATE_DATABASE);
|
||||
}
|
||||
registerReceiver(mReceiver, filter);
|
||||
FirstFrameAnimatorHelper.initializeDrawListener(getWindow().getDecorView());
|
||||
mAttached = true;
|
||||
@@ -1721,6 +1742,26 @@ public class Launcher extends Activity
|
||||
Toast.makeText(this, getString(strId), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
public DragLayer getDragLayer() {
|
||||
return mDragLayer;
|
||||
}
|
||||
|
||||
public Workspace getWorkspace() {
|
||||
return mWorkspace;
|
||||
}
|
||||
|
||||
public Hotseat getHotseat() {
|
||||
return mHotseat;
|
||||
}
|
||||
|
||||
public View getOverviewPanel() {
|
||||
return mOverviewPanel;
|
||||
}
|
||||
|
||||
public SearchDropTargetBar getSearchBar() {
|
||||
return mSearchDropTargetBar;
|
||||
}
|
||||
|
||||
public LauncherAppWidgetHost getAppWidgetHost() {
|
||||
return mAppWidgetHost;
|
||||
}
|
||||
@@ -1729,6 +1770,14 @@ public class Launcher extends Activity
|
||||
return mModel;
|
||||
}
|
||||
|
||||
public LauncherClings getLauncherClings() {
|
||||
return mLauncherClings;
|
||||
}
|
||||
|
||||
protected SharedPreferences getSharedPrefs() {
|
||||
return mSharedPrefs;
|
||||
}
|
||||
|
||||
public void closeSystemDialogs() {
|
||||
getWindow().closeAllPanels();
|
||||
|
||||
@@ -2690,7 +2739,7 @@ public class Launcher extends Activity
|
||||
closeFolder(folder);
|
||||
|
||||
// Dismiss the folder cling
|
||||
dismissFolderCling(null);
|
||||
mLauncherClings.dismissFolderCling(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2766,15 +2815,6 @@ public class Launcher extends Activity
|
||||
return mHotseat != null && layout != null &&
|
||||
(layout instanceof CellLayout) && (layout == mHotseat.getLayout());
|
||||
}
|
||||
Hotseat getHotseat() {
|
||||
return mHotseat;
|
||||
}
|
||||
View getOverviewPanel() {
|
||||
return mOverviewPanel;
|
||||
}
|
||||
SearchDropTargetBar getSearchBar() {
|
||||
return mSearchDropTargetBar;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the CellLayout of the specified container at the specified screen.
|
||||
@@ -2791,10 +2831,6 @@ public class Launcher extends Activity
|
||||
}
|
||||
}
|
||||
|
||||
Workspace getWorkspace() {
|
||||
return mWorkspace;
|
||||
}
|
||||
|
||||
public boolean isAllAppsVisible() {
|
||||
return (mState == State.APPS_CUSTOMIZE) || (mOnResumeState == State.APPS_CUSTOMIZE);
|
||||
}
|
||||
@@ -2925,7 +2961,7 @@ public class Launcher extends Activity
|
||||
// Shrink workspaces away if going to AppsCustomize from workspace
|
||||
Animator workspaceAnim =
|
||||
mWorkspace.getChangeStateAnimation(Workspace.State.SMALL, animated);
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS
|
||||
if (!LauncherAppState.isDisableAllApps()
|
||||
|| contentType == AppsCustomizePagedView.ContentType.Widgets) {
|
||||
// Set the content type for the all apps/widgets space
|
||||
mAppsCustomizeTabHost.setContentTypeImmediate(contentType);
|
||||
@@ -3796,7 +3832,7 @@ public class Launcher extends Activity
|
||||
// Remove the extra empty screen
|
||||
mWorkspace.removeExtraEmptyScreen(false, null);
|
||||
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
if (!LauncherAppState.isDisableAllApps() &&
|
||||
addedApps != null && mAppsCustomizeContent != null) {
|
||||
mAppsCustomizeContent.addApps(addedApps);
|
||||
}
|
||||
@@ -4063,7 +4099,7 @@ public class Launcher extends Activity
|
||||
* Implementation of the method from LauncherModel.Callbacks.
|
||||
*/
|
||||
public void bindAllApplications(final ArrayList<AppInfo> apps) {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
if (mIntentsOnWorkspaceFromUpgradePath != null) {
|
||||
if (LauncherModel.UPGRADE_USE_MORE_APPS_FOLDER) {
|
||||
getHotseat().addAllAppsFolder(mIconCache, apps,
|
||||
@@ -4103,7 +4139,7 @@ public class Launcher extends Activity
|
||||
mWorkspace.updateShortcuts(apps);
|
||||
}
|
||||
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
if (!LauncherAppState.isDisableAllApps() &&
|
||||
mAppsCustomizeContent != null) {
|
||||
mAppsCustomizeContent.updateApps(apps);
|
||||
}
|
||||
@@ -4140,7 +4176,7 @@ public class Launcher extends Activity
|
||||
mDragController.onAppsRemoved(packageNames, appInfos);
|
||||
|
||||
// Update AllApps
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
if (!LauncherAppState.isDisableAllApps() &&
|
||||
mAppsCustomizeContent != null) {
|
||||
mAppsCustomizeContent.removeApps(appInfos);
|
||||
}
|
||||
@@ -4225,244 +4261,27 @@ public class Launcher extends Activity
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldRunFirstRunActivity() {
|
||||
return !ActivityManager.isRunningInTestHarness();
|
||||
}
|
||||
|
||||
/* Cling related */
|
||||
private boolean isClingsEnabled() {
|
||||
if (DISABLE_CLINGS) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// For now, limit only to phones
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
if (grid.isTablet()) {
|
||||
return false;
|
||||
}
|
||||
if (grid.isLandscape) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// disable clings when running in a test harness
|
||||
if(ActivityManager.isRunningInTestHarness()) return false;
|
||||
|
||||
// Disable clings for accessibility when explore by touch is enabled
|
||||
final AccessibilityManager a11yManager = (AccessibilityManager) getSystemService(
|
||||
ACCESSIBILITY_SERVICE);
|
||||
if (a11yManager.isTouchExplorationEnabled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Restricted secondary users (child mode) will potentially have very few apps
|
||||
// seeded when they start up for the first time. Clings won't work well with that
|
||||
// boolean supportsLimitedUsers =
|
||||
// android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
|
||||
// Account[] accounts = AccountManager.get(this).getAccounts();
|
||||
// if (supportsLimitedUsers && accounts.length == 0) {
|
||||
// UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
|
||||
// Bundle restrictions = um.getUserRestrictions();
|
||||
// if (restrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false)) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
return true;
|
||||
}
|
||||
|
||||
private Cling initCling(int clingId, int scrimId, boolean animate,
|
||||
boolean dimNavBarVisibilty) {
|
||||
Cling cling = (Cling) findViewById(clingId);
|
||||
View scrim = null;
|
||||
if (scrimId > 0) {
|
||||
scrim = findViewById(R.id.cling_scrim);
|
||||
}
|
||||
if (cling != null) {
|
||||
cling.init(this, scrim);
|
||||
cling.show(animate, SHOW_CLING_DURATION);
|
||||
|
||||
if (dimNavBarVisibilty) {
|
||||
cling.setSystemUiVisibility(cling.getSystemUiVisibility() |
|
||||
View.SYSTEM_UI_FLAG_LOW_PROFILE);
|
||||
}
|
||||
}
|
||||
return cling;
|
||||
}
|
||||
|
||||
private void dismissCling(final Cling cling, final Runnable postAnimationCb,
|
||||
final String flag, int duration, boolean restoreNavBarVisibilty) {
|
||||
// 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.cleanup();
|
||||
SharedPreferences.Editor editor = mSharedPrefs.edit();
|
||||
editor.putBoolean(flag, true);
|
||||
editor.apply();
|
||||
if (postAnimationCb != null) {
|
||||
postAnimationCb.run();
|
||||
}
|
||||
}
|
||||
};
|
||||
if (duration <= 0) {
|
||||
cleanUpClingCb.run();
|
||||
} else {
|
||||
cling.hide(duration, cleanUpClingCb);
|
||||
}
|
||||
mHideFromAccessibilityHelper.restoreImportantForAccessibility(mDragLayer);
|
||||
|
||||
if (restoreNavBarVisibilty) {
|
||||
cling.setSystemUiVisibility(cling.getSystemUiVisibility() &
|
||||
~View.SYSTEM_UI_FLAG_LOW_PROFILE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void removeCling(int id) {
|
||||
final View cling = findViewById(id);
|
||||
if (cling != null) {
|
||||
final ViewGroup parent = (ViewGroup) cling.getParent();
|
||||
parent.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
parent.removeView(cling);
|
||||
}
|
||||
});
|
||||
mHideFromAccessibilityHelper.restoreImportantForAccessibility(mDragLayer);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean skipCustomClingIfNoAccounts() {
|
||||
Cling cling = (Cling) findViewById(R.id.workspace_cling);
|
||||
boolean customCling = cling.getDrawIdentifier().equals("workspace_custom");
|
||||
if (customCling) {
|
||||
AccountManager am = AccountManager.get(this);
|
||||
if (am == null) return false;
|
||||
Account[] accounts = am.getAccountsByType("com.google");
|
||||
return accounts.length == 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void updateCustomContentHintVisibility() {
|
||||
Cling cling = (Cling) findViewById(R.id.first_run_cling);
|
||||
String ccHintStr = getFirstRunCustomContentHint();
|
||||
|
||||
if (mWorkspace.hasCustomContent()) {
|
||||
// Show the custom content hint if ccHintStr is not empty
|
||||
if (cling != null) {
|
||||
setCustomContentHintVisibility(cling, ccHintStr, true, true);
|
||||
}
|
||||
} else {
|
||||
// Hide the custom content hint
|
||||
if (cling != null) {
|
||||
setCustomContentHintVisibility(cling, ccHintStr, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setCustomContentHintVisibility(Cling cling, String ccHintStr, boolean visible,
|
||||
boolean animate) {
|
||||
final TextView ccHint = (TextView) cling.findViewById(R.id.custom_content_hint);
|
||||
if (ccHint != null) {
|
||||
if (visible && !ccHintStr.isEmpty()) {
|
||||
ccHint.setText(ccHintStr);
|
||||
ccHint.setVisibility(View.VISIBLE);
|
||||
if (animate) {
|
||||
ccHint.setAlpha(0f);
|
||||
ccHint.animate().alpha(1f)
|
||||
.setDuration(SHOW_CLING_DURATION)
|
||||
.start();
|
||||
} else {
|
||||
ccHint.setAlpha(1f);
|
||||
}
|
||||
} else {
|
||||
if (animate) {
|
||||
ccHint.animate().alpha(0f)
|
||||
.setDuration(SHOW_CLING_DURATION)
|
||||
.setListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
ccHint.setVisibility(View.GONE);
|
||||
}
|
||||
})
|
||||
.start();
|
||||
} else {
|
||||
ccHint.setAlpha(0f);
|
||||
ccHint.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showFirstRunActivity() {
|
||||
if (shouldRunFirstRunActivity() && hasFirstRunActivity()
|
||||
&& !mSharedPrefs.getBoolean(FIRST_RUN_ACTIVITY_DISPLAYED, false)) {
|
||||
Intent firstRunIntent = getFirstRunActivity();
|
||||
if (firstRunIntent != null) {
|
||||
startActivity(firstRunIntent);
|
||||
markFirstRunActivityShown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void markFirstRunActivityShown() {
|
||||
SharedPreferences.Editor editor = mSharedPrefs.edit();
|
||||
editor.putBoolean(FIRST_RUN_ACTIVITY_DISPLAYED, true);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public void showFirstRunCling() {
|
||||
if (isClingsEnabled() &&
|
||||
!mSharedPrefs.getBoolean(Cling.FIRST_RUN_CLING_DISMISSED_KEY, false) &&
|
||||
!skipCustomClingIfNoAccounts() ) {
|
||||
|
||||
|
||||
// If we're not using the default workspace layout, replace workspace cling
|
||||
// with a custom workspace cling (usually specified in an overlay)
|
||||
// For now, only do this on tablets
|
||||
if (!DISABLE_CUSTOM_CLINGS) {
|
||||
if (mSharedPrefs.getInt(LauncherProvider.DEFAULT_WORKSPACE_RESOURCE_ID, 0) != 0 &&
|
||||
getResources().getBoolean(R.bool.config_useCustomClings)) {
|
||||
// Use a custom cling
|
||||
View cling = findViewById(R.id.workspace_cling);
|
||||
ViewGroup clingParent = (ViewGroup) cling.getParent();
|
||||
int clingIndex = clingParent.indexOfChild(cling);
|
||||
clingParent.removeViewAt(clingIndex);
|
||||
View customCling = mInflater.inflate(R.layout.custom_workspace_cling, clingParent, false);
|
||||
clingParent.addView(customCling, clingIndex);
|
||||
customCling.setId(R.id.workspace_cling);
|
||||
}
|
||||
}
|
||||
Cling cling = (Cling) findViewById(R.id.first_run_cling);
|
||||
if (cling != null) {
|
||||
String sbHintStr = getFirstRunClingSearchBarHint();
|
||||
String ccHintStr = getFirstRunCustomContentHint();
|
||||
if (!sbHintStr.isEmpty()) {
|
||||
TextView sbHint = (TextView) cling.findViewById(R.id.search_bar_hint);
|
||||
sbHint.setText(sbHintStr);
|
||||
sbHint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
setCustomContentHintVisibility(cling, ccHintStr, true, false);
|
||||
}
|
||||
initCling(R.id.first_run_cling, 0, false, true);
|
||||
} else {
|
||||
removeCling(R.id.first_run_cling);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the SearchBar hint should be changed.
|
||||
*
|
||||
* @param hint the hint to be displayed in the search bar.
|
||||
*/
|
||||
protected void onSearchBarHintChanged(String hint) {
|
||||
Cling cling = (Cling) findViewById(R.id.first_run_cling);
|
||||
if (cling != null && cling.getVisibility() == View.VISIBLE && !hint.isEmpty()) {
|
||||
TextView sbHint = (TextView) cling.findViewById(R.id.search_bar_hint);
|
||||
sbHint.setText(hint);
|
||||
sbHint.setVisibility(View.VISIBLE);
|
||||
mLauncherClings.updateSearchBarHint(hint);
|
||||
}
|
||||
|
||||
protected boolean isLauncherPreinstalled() {
|
||||
PackageManager pm = getPackageManager();
|
||||
try {
|
||||
ApplicationInfo ai = pm.getApplicationInfo(getComponentName().getPackageName(), 0);
|
||||
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4488,80 +4307,61 @@ public class Launcher extends Activity
|
||||
return "";
|
||||
}
|
||||
|
||||
public void showFirstRunWorkspaceCling() {
|
||||
// Enable the clings only if they have not been dismissed before
|
||||
if (isClingsEnabled() &&
|
||||
!mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, false)) {
|
||||
Cling c = initCling(R.id.workspace_cling, 0, false, true);
|
||||
|
||||
// Set the focused hotseat app if there is one
|
||||
c.setFocusedHotseatApp(getFirstRunFocusedHotseatAppDrawableId(),
|
||||
getFirstRunFocusedHotseatAppRank(),
|
||||
getFirstRunFocusedHotseatAppComponentName(),
|
||||
getFirstRunFocusedHotseatAppBubbleTitle(),
|
||||
getFirstRunFocusedHotseatAppBubbleDescription());
|
||||
} else {
|
||||
removeCling(R.id.workspace_cling);
|
||||
}
|
||||
}
|
||||
public Cling showFirstRunFoldersCling() {
|
||||
// Enable the clings only if they have not been dismissed before
|
||||
if (isClingsEnabled() &&
|
||||
!mSharedPrefs.getBoolean(Cling.FOLDER_CLING_DISMISSED_KEY, false)) {
|
||||
Cling cling = initCling(R.id.folder_cling, R.id.cling_scrim,
|
||||
true, true);
|
||||
return cling;
|
||||
} else {
|
||||
removeCling(R.id.folder_cling);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
protected SharedPreferences getSharedPrefs() {
|
||||
return mSharedPrefs;
|
||||
}
|
||||
public boolean isFolderClingVisible() {
|
||||
Cling cling = (Cling) findViewById(R.id.folder_cling);
|
||||
if (cling != null) {
|
||||
return cling.getVisibility() == View.VISIBLE;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void dismissFirstRunCling(View v) {
|
||||
Cling cling = (Cling) findViewById(R.id.first_run_cling);
|
||||
Runnable cb = new Runnable() {
|
||||
public void run() {
|
||||
// Show the workspace cling next
|
||||
showFirstRunWorkspaceCling();
|
||||
}
|
||||
};
|
||||
dismissCling(cling, cb, Cling.FIRST_RUN_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, false);
|
||||
|
||||
// Fade out the search bar for the workspace cling coming up
|
||||
mSearchDropTargetBar.hideSearchBar(true);
|
||||
mLauncherClings.dismissFirstRunCling(v);
|
||||
}
|
||||
public void dismissMigrationClingCopyApps(View v) {
|
||||
mLauncherClings.dismissMigrationClingCopyApps(v);
|
||||
}
|
||||
public void dismissMigrationClingUseDefault(View v) {
|
||||
mLauncherClings.dismissMigrationClingUseDefault(v);
|
||||
}
|
||||
public void dismissMigrationWorkspaceCling(View v) {
|
||||
mLauncherClings.dismissMigrationWorkspaceCling(v);
|
||||
}
|
||||
public void dismissWorkspaceCling(View v) {
|
||||
Cling cling = (Cling) findViewById(R.id.workspace_cling);
|
||||
Runnable cb = null;
|
||||
if (v == null) {
|
||||
cb = new Runnable() {
|
||||
public void run() {
|
||||
mWorkspace.enterOverviewMode();
|
||||
}
|
||||
};
|
||||
}
|
||||
dismissCling(cling, cb, Cling.WORKSPACE_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, true);
|
||||
|
||||
// Fade in the search bar
|
||||
mSearchDropTargetBar.showSearchBar(true);
|
||||
mLauncherClings.dismissWorkspaceCling(v);
|
||||
}
|
||||
public void dismissFolderCling(View v) {
|
||||
Cling cling = (Cling) findViewById(R.id.folder_cling);
|
||||
dismissCling(cling, null, Cling.FOLDER_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, true);
|
||||
mLauncherClings.dismissFolderCling(v);
|
||||
}
|
||||
|
||||
private boolean shouldRunFirstRunActivity() {
|
||||
return !ActivityManager.isRunningInTestHarness();
|
||||
}
|
||||
|
||||
public void showFirstRunActivity() {
|
||||
if (shouldRunFirstRunActivity() && hasFirstRunActivity()
|
||||
&& !mSharedPrefs.getBoolean(FIRST_RUN_ACTIVITY_DISPLAYED, false)) {
|
||||
Intent firstRunIntent = getFirstRunActivity();
|
||||
if (firstRunIntent != null) {
|
||||
startActivity(firstRunIntent);
|
||||
markFirstRunActivityShown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void markFirstRunActivityShown() {
|
||||
SharedPreferences.Editor editor = mSharedPrefs.edit();
|
||||
editor.putBoolean(FIRST_RUN_ACTIVITY_DISPLAYED, true);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
void showWorkspaceSearchAndHotseat() {
|
||||
mWorkspace.setAlpha(1f);
|
||||
mHotseat.setAlpha(1f);
|
||||
mPageIndicators.setAlpha(1f);
|
||||
mSearchDropTargetBar.showSearchBar(false);
|
||||
}
|
||||
|
||||
void hideWorkspaceSearchAndHotseat() {
|
||||
mWorkspace.setAlpha(0f);
|
||||
mHotseat.setAlpha(0f);
|
||||
mPageIndicators.setAlpha(0f);
|
||||
mSearchDropTargetBar.hideSearchBar(false);
|
||||
}
|
||||
|
||||
|
||||
public ItemInfo createAppDragInfo(Intent appLaunchIntent) {
|
||||
ResolveInfo ri = getPackageManager().resolveActivity(appLaunchIntent, 0);
|
||||
if (ri == null) {
|
||||
@@ -4703,3 +4503,8 @@ interface LauncherTransitionable {
|
||||
void onLauncherTransitionStep(Launcher l, float t);
|
||||
void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace);
|
||||
}
|
||||
|
||||
interface DebugIntents {
|
||||
static final String DELETE_DATABASE = "com.android.launcher3.action.DELETE_DATABASE";
|
||||
static final String MIGRATE_DATABASE = "com.android.launcher3.action.MIGRATE_DATABASE";
|
||||
}
|
||||
|
||||
@@ -30,9 +30,10 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
|
||||
private static final String TAG = "LauncherAppState";
|
||||
private static final String SHARED_PREFERENCES_KEY = "com.android.launcher3.prefs";
|
||||
|
||||
private final AppFilter mAppFilter;
|
||||
private final BuildInfo mBuildInfo;
|
||||
private LauncherModel mModel;
|
||||
private IconCache mIconCache;
|
||||
private AppFilter mAppFilter;
|
||||
private WidgetPreviewLoader.CacheDb mWidgetPreviewCacheDb;
|
||||
private boolean mIsScreenLarge;
|
||||
private float mScreenDensity;
|
||||
@@ -87,6 +88,7 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
|
||||
mIconCache = new IconCache(sContext);
|
||||
|
||||
mAppFilter = AppFilter.loadByName(sContext.getString(R.string.app_filter_class));
|
||||
mBuildInfo = BuildInfo.loadByName(sContext.getString(R.string.build_info_class));
|
||||
mModel = new LauncherModel(this, mIconCache, mAppFilter);
|
||||
|
||||
// Register intent receivers
|
||||
@@ -230,4 +232,10 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
|
||||
public void onAvailableSizeChanged(DeviceProfile grid) {
|
||||
Utilities.setIconSize(grid.iconSizePx);
|
||||
}
|
||||
|
||||
public static boolean isDisableAllApps() {
|
||||
// Returns false on non-dogfood builds.
|
||||
return getInstance().mBuildInfo.isDogfoodBuild() &&
|
||||
Launcher.isPropertyEnabled(Launcher.DISABLE_ALL_APPS_PROPERTY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,456 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.launcher3;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.TextView;
|
||||
|
||||
class LauncherClings {
|
||||
private static final String FIRST_RUN_CLING_DISMISSED_KEY = "cling_gel.first_run.dismissed";
|
||||
private static final String MIGRATION_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
|
||||
private static final String MIGRATION_WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
|
||||
private static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
|
||||
private static final String FOLDER_CLING_DISMISSED_KEY = "cling_gel.folder.dismissed";
|
||||
|
||||
private static final boolean DISABLE_CLINGS = false;
|
||||
private static final boolean DISABLE_CUSTOM_CLINGS = true;
|
||||
|
||||
private static final int SHOW_CLING_DURATION = 250;
|
||||
private static final int DISMISS_CLING_DURATION = 200;
|
||||
|
||||
private Launcher mLauncher;
|
||||
private LayoutInflater mInflater;
|
||||
private HideFromAccessibilityHelper mHideFromAccessibilityHelper
|
||||
= new HideFromAccessibilityHelper();
|
||||
|
||||
/** Ctor */
|
||||
public LauncherClings(Launcher launcher) {
|
||||
mLauncher = launcher;
|
||||
mInflater = mLauncher.getLayoutInflater();
|
||||
}
|
||||
|
||||
/** Initializes a cling */
|
||||
private Cling initCling(int clingId, int scrimId, boolean animate,
|
||||
boolean dimNavBarVisibilty) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(clingId);
|
||||
View scrim = null;
|
||||
if (scrimId > 0) {
|
||||
scrim = mLauncher.findViewById(R.id.cling_scrim);
|
||||
}
|
||||
if (cling != null) {
|
||||
cling.init(mLauncher, scrim);
|
||||
cling.show(animate, SHOW_CLING_DURATION);
|
||||
|
||||
if (dimNavBarVisibilty) {
|
||||
cling.setSystemUiVisibility(cling.getSystemUiVisibility() |
|
||||
View.SYSTEM_UI_FLAG_LOW_PROFILE);
|
||||
}
|
||||
}
|
||||
return cling;
|
||||
}
|
||||
|
||||
/** Returns whether the clings are enabled or should be shown */
|
||||
private boolean isClingsEnabled() {
|
||||
if (DISABLE_CLINGS) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// For now, limit only to phones
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
if (grid.isTablet()) {
|
||||
return false;
|
||||
}
|
||||
if (grid.isLandscape) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// disable clings when running in a test harness
|
||||
if(ActivityManager.isRunningInTestHarness()) return false;
|
||||
|
||||
// Disable clings for accessibility when explore by touch is enabled
|
||||
final AccessibilityManager a11yManager = (AccessibilityManager) mLauncher.getSystemService(
|
||||
Launcher.ACCESSIBILITY_SERVICE);
|
||||
if (a11yManager.isTouchExplorationEnabled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Restricted secondary users (child mode) will potentially have very few apps
|
||||
// seeded when they start up for the first time. Clings won't work well with that
|
||||
boolean supportsLimitedUsers =
|
||||
android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
|
||||
Account[] accounts = AccountManager.get(mLauncher).getAccounts();
|
||||
if (supportsLimitedUsers && accounts.length == 0) {
|
||||
UserManager um = (UserManager) mLauncher.getSystemService(Context.USER_SERVICE);
|
||||
Bundle restrictions = um.getUserRestrictions();
|
||||
if (restrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Returns whether the folder cling is visible. */
|
||||
public boolean isFolderClingVisible() {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.folder_cling);
|
||||
if (cling != null) {
|
||||
return cling.getVisibility() == View.VISIBLE;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean skipCustomClingIfNoAccounts() {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.workspace_cling);
|
||||
boolean customCling = cling.getDrawIdentifier().equals("workspace_custom");
|
||||
if (customCling) {
|
||||
AccountManager am = AccountManager.get(mLauncher);
|
||||
if (am == null) return false;
|
||||
Account[] accounts = am.getAccountsByType("com.google");
|
||||
return accounts.length == 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Updates the first run cling custom content hint */
|
||||
private void setCustomContentHintVisibility(Cling cling, String ccHintStr, boolean visible,
|
||||
boolean animate) {
|
||||
final TextView ccHint = (TextView) cling.findViewById(R.id.custom_content_hint);
|
||||
if (ccHint != null) {
|
||||
if (visible && !ccHintStr.isEmpty()) {
|
||||
ccHint.setText(ccHintStr);
|
||||
ccHint.setVisibility(View.VISIBLE);
|
||||
if (animate) {
|
||||
ccHint.setAlpha(0f);
|
||||
ccHint.animate().alpha(1f)
|
||||
.setDuration(SHOW_CLING_DURATION)
|
||||
.start();
|
||||
} else {
|
||||
ccHint.setAlpha(1f);
|
||||
}
|
||||
} else {
|
||||
if (animate) {
|
||||
ccHint.animate().alpha(0f)
|
||||
.setDuration(SHOW_CLING_DURATION)
|
||||
.setListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
ccHint.setVisibility(View.GONE);
|
||||
}
|
||||
})
|
||||
.start();
|
||||
} else {
|
||||
ccHint.setAlpha(0f);
|
||||
ccHint.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Updates the first run cling custom content hint */
|
||||
public void updateCustomContentHintVisibility() {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.first_run_cling);
|
||||
String ccHintStr = mLauncher.getFirstRunCustomContentHint();
|
||||
|
||||
if (mLauncher.getWorkspace().hasCustomContent()) {
|
||||
// Show the custom content hint if ccHintStr is not empty
|
||||
if (cling != null) {
|
||||
setCustomContentHintVisibility(cling, ccHintStr, true, true);
|
||||
}
|
||||
} else {
|
||||
// Hide the custom content hint
|
||||
if (cling != null) {
|
||||
setCustomContentHintVisibility(cling, ccHintStr, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Updates the first run cling search bar hint. */
|
||||
public void updateSearchBarHint(String hint) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.first_run_cling);
|
||||
if (cling != null && cling.getVisibility() == View.VISIBLE && !hint.isEmpty()) {
|
||||
TextView sbHint = (TextView) cling.findViewById(R.id.search_bar_hint);
|
||||
sbHint.setText(hint);
|
||||
sbHint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean shouldShowFirstRunOrMigrationClings() {
|
||||
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
|
||||
return isClingsEnabled() &&
|
||||
!sharedPrefs.getBoolean(FIRST_RUN_CLING_DISMISSED_KEY, false) &&
|
||||
!sharedPrefs.getBoolean(MIGRATION_CLING_DISMISSED_KEY, false);
|
||||
}
|
||||
|
||||
public void removeFirstRunAndMigrationClings() {
|
||||
removeCling(R.id.first_run_cling);
|
||||
removeCling(R.id.migration_cling);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the first run cling.
|
||||
*
|
||||
* This flow is mutually exclusive with showMigrationCling, and only runs if this Launcher
|
||||
* package was preinstalled or there is no db to migrate from.
|
||||
*/
|
||||
public void showFirstRunCling() {
|
||||
if (!skipCustomClingIfNoAccounts()) {
|
||||
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
|
||||
// If we're not using the default workspace layout, replace workspace cling
|
||||
// with a custom workspace cling (usually specified in an overlay)
|
||||
// For now, only do this on tablets
|
||||
if (!DISABLE_CUSTOM_CLINGS) {
|
||||
if (sharedPrefs.getInt(LauncherProvider.DEFAULT_WORKSPACE_RESOURCE_ID, 0) != 0 &&
|
||||
mLauncher.getResources().getBoolean(R.bool.config_useCustomClings)) {
|
||||
// Use a custom cling
|
||||
View cling = mLauncher.findViewById(R.id.workspace_cling);
|
||||
ViewGroup clingParent = (ViewGroup) cling.getParent();
|
||||
int clingIndex = clingParent.indexOfChild(cling);
|
||||
clingParent.removeViewAt(clingIndex);
|
||||
View customCling = mInflater.inflate(R.layout.custom_workspace_cling,
|
||||
clingParent, false);
|
||||
clingParent.addView(customCling, clingIndex);
|
||||
customCling.setId(R.id.workspace_cling);
|
||||
}
|
||||
}
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.first_run_cling);
|
||||
if (cling != null) {
|
||||
String sbHintStr = mLauncher.getFirstRunClingSearchBarHint();
|
||||
String ccHintStr = mLauncher.getFirstRunCustomContentHint();
|
||||
if (!sbHintStr.isEmpty()) {
|
||||
TextView sbHint = (TextView) cling.findViewById(R.id.search_bar_hint);
|
||||
sbHint.setText(sbHintStr);
|
||||
sbHint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
setCustomContentHintVisibility(cling, ccHintStr, true, false);
|
||||
}
|
||||
initCling(R.id.first_run_cling, 0, false, true);
|
||||
} else {
|
||||
removeFirstRunAndMigrationClings();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.hideWorkspaceSearchAndHotseat();
|
||||
|
||||
Cling c = initCling(R.id.migration_cling, 0, false, true);
|
||||
c.bringScrimToFront();
|
||||
c.bringToFront();
|
||||
}
|
||||
|
||||
public void showMigrationWorkspaceCling() {
|
||||
// Enable the clings only if they have not been dismissed before
|
||||
if (isClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
|
||||
MIGRATION_WORKSPACE_CLING_DISMISSED_KEY, false)) {
|
||||
Cling c = initCling(R.id.migration_workspace_cling, 0, false, true);
|
||||
c.updateMigrationWorkspaceBubblePosition();
|
||||
c.bringScrimToFront();
|
||||
c.bringToFront();
|
||||
} else {
|
||||
removeCling(R.id.migration_workspace_cling);
|
||||
}
|
||||
}
|
||||
|
||||
public void showWorkspaceCling() {
|
||||
// Enable the clings only if they have not been dismissed before
|
||||
if (isClingsEnabled() && !mLauncher.getSharedPrefs().getBoolean(
|
||||
WORKSPACE_CLING_DISMISSED_KEY, false)) {
|
||||
Cling c = initCling(R.id.workspace_cling, 0, false, true);
|
||||
|
||||
// Set the focused hotseat app if there is one
|
||||
c.setFocusedHotseatApp(mLauncher.getFirstRunFocusedHotseatAppDrawableId(),
|
||||
mLauncher.getFirstRunFocusedHotseatAppRank(),
|
||||
mLauncher.getFirstRunFocusedHotseatAppComponentName(),
|
||||
mLauncher.getFirstRunFocusedHotseatAppBubbleTitle(),
|
||||
mLauncher.getFirstRunFocusedHotseatAppBubbleDescription());
|
||||
} else {
|
||||
removeCling(R.id.workspace_cling);
|
||||
}
|
||||
}
|
||||
public Cling showFoldersCling() {
|
||||
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
|
||||
// Enable the clings only if they have not been dismissed before
|
||||
if (isClingsEnabled() &&
|
||||
!sharedPrefs.getBoolean(FOLDER_CLING_DISMISSED_KEY, false) &&
|
||||
!sharedPrefs.getBoolean(Launcher.USER_HAS_MIGRATED, false)) {
|
||||
Cling cling = initCling(R.id.folder_cling, R.id.cling_scrim,
|
||||
true, true);
|
||||
return cling;
|
||||
} else {
|
||||
removeCling(R.id.folder_cling);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/** Removes the cling outright from the DragLayer */
|
||||
private void removeCling(int id) {
|
||||
final View cling = mLauncher.findViewById(id);
|
||||
if (cling != null) {
|
||||
final ViewGroup parent = (ViewGroup) cling.getParent();
|
||||
parent.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
parent.removeView(cling);
|
||||
}
|
||||
});
|
||||
mHideFromAccessibilityHelper.restoreImportantForAccessibility(mLauncher.getDragLayer());
|
||||
}
|
||||
}
|
||||
|
||||
/** Hides the specified Cling */
|
||||
private void dismissCling(final Cling cling, final Runnable postAnimationCb,
|
||||
final String flag, int duration, boolean restoreNavBarVisibilty) {
|
||||
// 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.cleanup();
|
||||
SharedPreferences.Editor editor = mLauncher.getSharedPrefs().edit();
|
||||
editor.putBoolean(flag, true);
|
||||
editor.apply();
|
||||
if (postAnimationCb != null) {
|
||||
postAnimationCb.run();
|
||||
}
|
||||
}
|
||||
};
|
||||
if (duration <= 0) {
|
||||
cleanUpClingCb.run();
|
||||
} else {
|
||||
cling.hide(duration, cleanUpClingCb);
|
||||
}
|
||||
mHideFromAccessibilityHelper.restoreImportantForAccessibility(mLauncher.getDragLayer());
|
||||
|
||||
if (restoreNavBarVisibilty) {
|
||||
cling.setSystemUiVisibility(cling.getSystemUiVisibility() &
|
||||
~View.SYSTEM_UI_FLAG_LOW_PROFILE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void dismissFirstRunCling(View v) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.first_run_cling);
|
||||
Runnable cb = new Runnable() {
|
||||
public void run() {
|
||||
// Show the workspace cling next
|
||||
showWorkspaceCling();
|
||||
}
|
||||
};
|
||||
dismissCling(cling, cb, FIRST_RUN_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, false);
|
||||
|
||||
// Fade out the search bar for the workspace cling coming up
|
||||
mLauncher.getSearchBar().hideSearchBar(true);
|
||||
}
|
||||
|
||||
private void dismissMigrationCling() {
|
||||
mLauncher.showWorkspaceSearchAndHotseat();
|
||||
Runnable dismissCb = new Runnable() {
|
||||
public void run() {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.migration_cling);
|
||||
Runnable cb = new Runnable() {
|
||||
public void run() {
|
||||
// Show the migration workspace cling next
|
||||
showMigrationWorkspaceCling();
|
||||
}
|
||||
};
|
||||
dismissCling(cling, cb, WORKSPACE_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, true);
|
||||
}
|
||||
};
|
||||
mLauncher.getWorkspace().post(dismissCb);
|
||||
}
|
||||
|
||||
private void dismissAnyWorkspaceCling(Cling cling, View v) {
|
||||
Runnable cb = null;
|
||||
if (v == null) {
|
||||
cb = new Runnable() {
|
||||
public void run() {
|
||||
mLauncher.getWorkspace().enterOverviewMode();
|
||||
}
|
||||
};
|
||||
}
|
||||
dismissCling(cling, cb, WORKSPACE_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, true);
|
||||
|
||||
// Fade in the search bar
|
||||
mLauncher.getSearchBar().showSearchBar(true);
|
||||
}
|
||||
|
||||
public void dismissMigrationClingCopyApps(View v) {
|
||||
// Copy the shortcuts from the old database
|
||||
LauncherModel model = mLauncher.getModel();
|
||||
model.resetLoadedState(false, true);
|
||||
model.startLoader(false, PagedView.INVALID_RESTORE_PAGE,
|
||||
LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE
|
||||
| LauncherModel.LOADER_FLAG_MIGRATE_SHORTCUTS);
|
||||
|
||||
// Set the flag to skip the folder cling
|
||||
String spKey = LauncherAppState.getSharedPreferencesKey();
|
||||
SharedPreferences sp = mLauncher.getSharedPreferences(spKey, Context.MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = sp.edit();
|
||||
editor.putBoolean(Launcher.USER_HAS_MIGRATED, true);
|
||||
editor.apply();
|
||||
|
||||
// Disable the migration cling
|
||||
dismissMigrationCling();
|
||||
}
|
||||
|
||||
public void dismissMigrationClingUseDefault(View v) {
|
||||
// Clear the workspace
|
||||
LauncherModel model = mLauncher.getModel();
|
||||
model.resetLoadedState(false, true);
|
||||
model.startLoader(false, PagedView.INVALID_RESTORE_PAGE,
|
||||
LauncherModel.LOADER_FLAG_CLEAR_WORKSPACE);
|
||||
|
||||
// Disable the migration cling
|
||||
dismissMigrationCling();
|
||||
}
|
||||
|
||||
public void dismissMigrationWorkspaceCling(View v) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.migration_workspace_cling);
|
||||
dismissAnyWorkspaceCling(cling, v);
|
||||
}
|
||||
|
||||
public void dismissWorkspaceCling(View v) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.workspace_cling);
|
||||
dismissAnyWorkspaceCling(cling, v);
|
||||
}
|
||||
|
||||
public void dismissFolderCling(View v) {
|
||||
Cling cling = (Cling) mLauncher.findViewById(R.id.folder_cling);
|
||||
dismissCling(cling, null, FOLDER_CLING_DISMISSED_KEY,
|
||||
DISMISS_CLING_DURATION, true);
|
||||
}
|
||||
}
|
||||
@@ -75,9 +75,15 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
// false = strew non-workspace apps across the workspace on upgrade
|
||||
public static final boolean UPGRADE_USE_MORE_APPS_FOLDER = false;
|
||||
|
||||
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;
|
||||
|
||||
private final boolean mAppsCanBeOnRemoveableStorage;
|
||||
private final boolean mOldContentProviderExists;
|
||||
|
||||
private final LauncherAppState mApp;
|
||||
private final Object mLock = new Object();
|
||||
@@ -181,9 +187,12 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
}
|
||||
|
||||
LauncherModel(LauncherAppState app, IconCache iconCache, AppFilter appFilter) {
|
||||
final Context context = app.getContext();
|
||||
Context context = app.getContext();
|
||||
ContentResolver contentResolver = context.getContentResolver();
|
||||
|
||||
mAppsCanBeOnRemoveableStorage = Environment.isExternalStorageRemovable();
|
||||
mOldContentProviderExists = (contentResolver.acquireContentProviderClient(
|
||||
LauncherSettings.Favorites.OLD_CONTENT_URI) != null);
|
||||
mApp = app;
|
||||
mBgAllAppsList = new AllAppsList(iconCache, appFilter);
|
||||
mIconCache = iconCache;
|
||||
@@ -218,6 +227,10 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
}
|
||||
}
|
||||
|
||||
boolean canMigrateFromOldLauncherDb(Launcher launcher) {
|
||||
return mOldContentProviderExists && !launcher.isLauncherPreinstalled() ;
|
||||
}
|
||||
|
||||
static boolean findNextAvailableIconSpaceInScreen(ArrayList<ItemInfo> items, int[] xy,
|
||||
long screen) {
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
@@ -1193,6 +1206,10 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
}
|
||||
|
||||
public void startLoader(boolean isLaunching, int synchronousBindPage) {
|
||||
startLoader(isLaunching, synchronousBindPage, LOADER_FLAG_NONE);
|
||||
}
|
||||
|
||||
public void startLoader(boolean isLaunching, int synchronousBindPage, int loadFlags) {
|
||||
synchronized (mLock) {
|
||||
if (DEBUG_LOADERS) {
|
||||
Log.d(TAG, "startLoader isLaunching=" + isLaunching);
|
||||
@@ -1207,7 +1224,7 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
// If there is already one running, tell it to stop.
|
||||
// also, don't downgrade isLaunching if we're already running
|
||||
isLaunching = isLaunching || stopLoaderLocked();
|
||||
mLoaderTask = new LoaderTask(mApp.getContext(), isLaunching);
|
||||
mLoaderTask = new LoaderTask(mApp.getContext(), isLaunching, loadFlags);
|
||||
if (synchronousBindPage != PagedView.INVALID_RESTORE_PAGE
|
||||
&& mAllAppsLoaded && mWorkspaceLoaded) {
|
||||
mLoaderTask.runBindSynchronousPage(synchronousBindPage);
|
||||
@@ -1298,13 +1315,15 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
private boolean mIsLoadingAndBindingWorkspace;
|
||||
private boolean mStopped;
|
||||
private boolean mLoadAndBindStepFinished;
|
||||
private int mFlags;
|
||||
|
||||
private HashMap<Object, CharSequence> mLabelCache;
|
||||
|
||||
LoaderTask(Context context, boolean isLaunching) {
|
||||
LoaderTask(Context context, boolean isLaunching, int flags) {
|
||||
mContext = context;
|
||||
mIsLaunching = isLaunching;
|
||||
mLabelCache = new HashMap<Object, CharSequence>();
|
||||
mFlags = flags;
|
||||
}
|
||||
|
||||
boolean isLaunching() {
|
||||
@@ -1466,7 +1485,7 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
sBgDbIconCache.clear();
|
||||
}
|
||||
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
// Ensure that all the applications that are in the system are
|
||||
// represented on the home screen.
|
||||
if (!UPGRADE_USE_MORE_APPS_FOLDER || !isUpgrade) {
|
||||
@@ -1651,7 +1670,7 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
}
|
||||
}
|
||||
|
||||
/** Returns whether this is an upgradge path */
|
||||
/** Returns whether this is an upgrade path */
|
||||
private boolean loadWorkspace() {
|
||||
// Log to disk
|
||||
Launcher.addDumpLog(TAG, "11683562 - loadWorkspace()", true);
|
||||
@@ -1669,8 +1688,20 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
int countX = (int) grid.numColumns;
|
||||
int countY = (int) grid.numRows;
|
||||
|
||||
// Make sure the default workspace is loaded, if needed
|
||||
LauncherAppState.getLauncherProvider().loadDefaultFavoritesIfNecessary(0);
|
||||
if ((mFlags & LOADER_FLAG_CLEAR_WORKSPACE) != 0) {
|
||||
Launcher.addDumpLog(TAG, "loadWorkspace: resetting launcher database", true);
|
||||
LauncherAppState.getLauncherProvider().deleteDatabase();
|
||||
}
|
||||
|
||||
if ((mFlags & LOADER_FLAG_MIGRATE_SHORTCUTS) != 0) {
|
||||
// append the user's Launcher2 shortcuts
|
||||
Launcher.addDumpLog(TAG, "loadWorkspace: migrating from launcher2", true);
|
||||
LauncherAppState.getLauncherProvider().migrateLauncher2Shortcuts();
|
||||
} else {
|
||||
// Make sure the default workspace is loaded
|
||||
Launcher.addDumpLog(TAG, "loadWorkspace: loading default favorites", false);
|
||||
LauncherAppState.getLauncherProvider().loadDefaultFavoritesIfNecessary(0);
|
||||
}
|
||||
|
||||
// Check if we need to do any upgrade-path logic
|
||||
// (Includes having just imported default favorites)
|
||||
@@ -2564,7 +2595,7 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
if (added != null) {
|
||||
// Ensure that we add all the workspace applications to the db
|
||||
Callbacks cb = mCallbacks != null ? mCallbacks.get() : null;
|
||||
if (!AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (!LauncherAppState.isDisableAllApps()) {
|
||||
addAndBindAddedApps(context, new ArrayList<ItemInfo>(), cb, added);
|
||||
} else {
|
||||
final ArrayList<ItemInfo> addedInfos = new ArrayList<ItemInfo>(added);
|
||||
|
||||
@@ -55,9 +55,11 @@ import com.android.launcher3.config.ProviderConfig;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
public class LauncherProvider extends ContentProvider {
|
||||
@@ -72,7 +74,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
static final String AUTHORITY = ProviderConfig.AUTHORITY;
|
||||
|
||||
// Should we attempt to load anything from the com.android.launcher2 provider?
|
||||
static final boolean IMPORT_LAUNCHER2_DATABASE = true;
|
||||
static final boolean IMPORT_LAUNCHER2_DATABASE = false;
|
||||
|
||||
static final String TABLE_FAVORITES = "favorites";
|
||||
static final String TABLE_WORKSPACE_SCREENS = "workspaceScreens";
|
||||
@@ -133,6 +135,9 @@ public class LauncherProvider extends ContentProvider {
|
||||
|
||||
private static long dbInsertAndCheck(DatabaseHelper helper,
|
||||
SQLiteDatabase db, String table, String nullColumnHack, ContentValues values) {
|
||||
if (values == null) {
|
||||
throw new RuntimeException("Error: attempting to insert null values");
|
||||
}
|
||||
if (!values.containsKey(LauncherSettings.Favorites._ID)) {
|
||||
throw new RuntimeException("Error: attempting to add item without specifying an id");
|
||||
}
|
||||
@@ -287,8 +292,13 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
}
|
||||
|
||||
public void migrateLauncher2Shortcuts() {
|
||||
mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(),
|
||||
LauncherSettings.Favorites.OLD_CONTENT_URI);
|
||||
}
|
||||
|
||||
private static int getDefaultWorkspaceResourceId() {
|
||||
if (AppsCustomizePagedView.DISABLE_ALL_APPS) {
|
||||
if (LauncherAppState.isDisableAllApps()) {
|
||||
return R.xml.default_workspace_no_all_apps;
|
||||
} else {
|
||||
return R.xml.default_workspace;
|
||||
@@ -306,6 +316,15 @@ public class LauncherProvider extends ContentProvider {
|
||||
return !isTablet && IMPORT_LAUNCHER2_DATABASE;
|
||||
}
|
||||
|
||||
public void deleteDatabase() {
|
||||
// Are you sure? (y/n)
|
||||
final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
|
||||
final String dbFile = db.getPath();
|
||||
mOpenHelper.close();
|
||||
SQLiteDatabase.deleteDatabase(new File(dbFile));
|
||||
mOpenHelper = new DatabaseHelper(getContext());
|
||||
}
|
||||
|
||||
private static class DatabaseHelper extends SQLiteOpenHelper {
|
||||
private static final String TAG_FAVORITES = "favorites";
|
||||
private static final String TAG_FAVORITE = "favorite";
|
||||
@@ -1431,6 +1450,209 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
public 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 iconTypeIndex
|
||||
= c.getColumnIndexOrThrow(LauncherSettings.Favorites.ICON_TYPE);
|
||||
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 uriIndex
|
||||
= c.getColumnIndexOrThrow(LauncherSettings.Favorites.URI);
|
||||
final int displayModeIndex
|
||||
= c.getColumnIndexOrThrow(LauncherSettings.Favorites.DISPLAY_MODE);
|
||||
|
||||
int i = 0;
|
||||
int curX = 0;
|
||||
int curY = 0;
|
||||
|
||||
final LauncherAppState app = LauncherAppState.getInstance();
|
||||
final DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
final int width = (int) grid.numColumns;
|
||||
final int height = (int) grid.numRows;
|
||||
final int hotseatWidth = (int) grid.numHotseatIcons;
|
||||
|
||||
final HashSet<String> seenIntents = new HashSet<String>(c.getCount());
|
||||
|
||||
final ContentValues[] rows = new ContentValues[c.getCount()];
|
||||
|
||||
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);
|
||||
Launcher.addDumpLog(TAG, "migrating \""
|
||||
+ c.getString(titleIndex) + "\": " + intentStr, true);
|
||||
|
||||
if (itemType != Favorites.ITEM_TYPE_FOLDER) {
|
||||
if (TextUtils.isEmpty(intentStr)) {
|
||||
// no intent? no icon
|
||||
Launcher.addDumpLog(TAG, "skipping empty intent", true);
|
||||
continue;
|
||||
} else {
|
||||
try {
|
||||
// Canonicalize
|
||||
final Intent intent = Intent.parseUri(intentStr, 0);
|
||||
// the Play Store sets the package parameter, but Launcher
|
||||
// does not, so we clear that out to keep them the same
|
||||
intent.setPackage(null);
|
||||
final String key = intent.toUri(0);
|
||||
if (seenIntents.contains(key)) {
|
||||
Launcher.addDumpLog(TAG, "skipping duplicate", true);
|
||||
continue;
|
||||
} else {
|
||||
seenIntents.add(key);
|
||||
}
|
||||
} catch (URISyntaxException e) {
|
||||
// bogus intent?
|
||||
Launcher.addDumpLog(TAG,
|
||||
"skipping invalid intent uri", true);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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_TYPE,
|
||||
c.getInt(iconTypeIndex));
|
||||
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.URI, c.getString(uriIndex));
|
||||
values.put(LauncherSettings.Favorites.DISPLAY_MODE,
|
||||
c.getInt(displayModeIndex));
|
||||
|
||||
if (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT
|
||||
&& screen >= hotseatWidth) {
|
||||
// no room for you in the hotseat? it's off to the desktop with you
|
||||
container = Favorites.CONTAINER_DESKTOP;
|
||||
}
|
||||
|
||||
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 {
|
||||
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 screen 0
|
||||
if (curScreen == 0 && curY == height - 1 || curY == height) {
|
||||
curScreen = (int) generateNewScreenId();
|
||||
curY = 0;
|
||||
}
|
||||
}
|
||||
|
||||
values.put(LauncherSettings.Favorites.CONTAINER, container);
|
||||
|
||||
rows[i++] = values;
|
||||
}
|
||||
|
||||
if (i > 0) {
|
||||
db.beginTransaction();
|
||||
try {
|
||||
final int N = rows.length;
|
||||
for (i = 0; i < N; i++) {
|
||||
if (rows[i] == null) continue;
|
||||
if (dbInsertAndCheck(this, db, TABLE_FAVORITES, null, rows[i])
|
||||
< 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, TABLE_WORKSPACE_SCREENS, null, values)
|
||||
< 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
db.setTransactionSuccessful();
|
||||
} finally {
|
||||
db.endTransaction();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
c.close();
|
||||
}
|
||||
}
|
||||
|
||||
Launcher.addDumpLog(TAG, "migrated " + count + " icons from Launcher2 into "
|
||||
+ (curScreen+1) + " screens", true);
|
||||
|
||||
// ensure that new screens are created to hold these icons
|
||||
setFlagJustLoadedOldDb();
|
||||
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.content.Intent;
|
||||
|
||||
public class WallpaperChangedReceiver extends BroadcastReceiver {
|
||||
public void onReceive(Context context, Intent data) {
|
||||
LauncherAppState.setApplicationContext(context.getApplicationContext());
|
||||
LauncherAppState appState = LauncherAppState.getInstance();
|
||||
appState.onWallpaperChanged();
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ public class Workspace extends SmoothPagedView
|
||||
mDefaultPage = mOriginalDefaultPage + 1;
|
||||
|
||||
// Update the custom content hint
|
||||
mLauncher.updateCustomContentHintVisibility();
|
||||
mLauncher.getLauncherClings().updateCustomContentHintVisibility();
|
||||
if (mRestorePage != INVALID_RESTORE_PAGE) {
|
||||
mRestorePage = mRestorePage + 1;
|
||||
} else {
|
||||
@@ -608,7 +608,7 @@ public class Workspace extends SmoothPagedView
|
||||
mDefaultPage = mOriginalDefaultPage - 1;
|
||||
|
||||
// Update the custom content hint
|
||||
mLauncher.updateCustomContentHintVisibility();
|
||||
mLauncher.getLauncherClings().updateCustomContentHintVisibility();
|
||||
if (mRestorePage != INVALID_RESTORE_PAGE) {
|
||||
mRestorePage = mRestorePage - 1;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user