Merge "Fix TaskViewSimulatorTest to be independent of device it runs on" into main
diff --git a/Android.bp b/Android.bp
index 6cd559b..e658949 100644
--- a/Android.bp
+++ b/Android.bp
@@ -246,6 +246,7 @@
"Launcher3ResLib",
"lottie",
"SystemUISharedLib",
+ "SettingsLibSettingsTheme",
"SystemUI-statsd",
"animationlib",
],
diff --git a/quickstep/res/layout/task.xml b/quickstep/res/layout/task.xml
index 823a86e..9d599c9 100644
--- a/quickstep/res/layout/task.xml
+++ b/quickstep/res/layout/task.xml
@@ -19,6 +19,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/task"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
diff --git a/quickstep/res/layout/task_desktop.xml b/quickstep/res/layout/task_desktop.xml
index fe12bd3..5a39d1c 100644
--- a/quickstep/res/layout/task_desktop.xml
+++ b/quickstep/res/layout/task_desktop.xml
@@ -19,6 +19,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/task"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="true"
diff --git a/quickstep/res/layout/task_grouped.xml b/quickstep/res/layout/task_grouped.xml
index d20afd3..e91e773 100644
--- a/quickstep/res/layout/task_grouped.xml
+++ b/quickstep/res/layout/task_grouped.xml
@@ -24,6 +24,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/task"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml
index 596802f..aa42f2f 100644
--- a/quickstep/res/values-eu/strings.xml
+++ b/quickstep/res/values-eu/strings.xml
@@ -95,8 +95,8 @@
<string name="action_screenshot" msgid="8171125848358142917">"Atera pantaila-argazki bat"</string>
<string name="action_split" msgid="2098009717623550676">"Zatitu"</string>
<string name="toast_split_select_app" msgid="8464310533320556058">"Sakatu beste aplikazio bat pantaila zatitzeko"</string>
- <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Irten Pantaila zatitzea eginbidearen hautapenetik"</string>
- <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pantaila zatitua ikusteko, aukeratu beste aplikazio bat"</string>
+ <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Irten pantaila zatituaren hautapenetik"</string>
+ <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pantaila zatitzeko, aukeratu beste aplikazio bat"</string>
<string name="blocked_by_policy" msgid="2071401072261365546">"Aplikazioak edo erakundeak ez du eman ekintza hori gauzatzeko baimena"</string>
<string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Nabigazio-tutoriala saltatu nahi duzu?"</string>
<string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioan dago eskuragarri tutoriala"</string>
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
index 881f5c4..0b52195 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
@@ -41,7 +41,7 @@
import com.android.launcher3.DeviceProfile
import com.android.launcher3.R
import com.android.launcher3.anim.AlphaUpdateListener
-import com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NO_RECREATION
+import com.android.launcher3.config.FeatureFlags.enableTaskbarNoRecreate
import com.android.launcher3.taskbar.TaskbarControllers.LoggableTaskbarController
import com.android.launcher3.util.DisplayController
import java.io.PrintWriter
@@ -99,7 +99,7 @@
}
windowLayoutParams.providedInsets =
- if (ENABLE_TASKBAR_NO_RECREATION.get()) {
+ if (enableTaskbarNoRecreate()) {
getProvidedInsets(controllers.sharedState!!.insetsFrameProviders!!,
insetsRoundedCornerFlag)
} else {
@@ -225,7 +225,6 @@
provider.insetsSize = Insets.of(0, 0, rightIndexInset, 0)
}
-
// When in gesture nav, report the stashed height to the IME, to allow hiding the
// IME navigation bar.
val imeInsetsSize = if (ENABLE_HIDE_IME_CAPTION_BAR && context.isGestureNav) {
@@ -236,6 +235,12 @@
val imeInsetsSizeOverride =
arrayOf(
InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
+ InsetsFrameProvider.InsetsSizeOverride(TYPE_VOICE_INTERACTION,
+ // No-op override to keep the size and types in sync with the
+ // override below (insetsSizeOverrides must have the same length and
+ // types after the window is added according to
+ // WindowManagerService#relayoutWindow)
+ provider.insetsSize)
)
// Use 0 tappableElement insets for the VoiceInteractionWindow when gesture nav is enabled.
val visInsetsSizeForTappableElement =
@@ -244,8 +249,7 @@
val insetsSizeOverrideForTappableElement =
arrayOf(
InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
- InsetsFrameProvider.InsetsSizeOverride(
- TYPE_VOICE_INTERACTION,
+ InsetsFrameProvider.InsetsSizeOverride(TYPE_VOICE_INTERACTION,
visInsetsSizeForTappableElement
),
)
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index 0d06088..0780cf8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -714,13 +714,19 @@
continue;
}
- int positionInHotseat;
- if (isAllAppsButton || isTaskbarDividerView) {
- // Note that there is no All Apps button or taskbar divider view in the hotseat,
+ float positionInHotseat;
+ if (isAllAppsButton) {
+ // Note that there is no All Apps button in the hotseat,
// this position is only used as its convenient for animation purposes.
positionInHotseat = Utilities.isRtl(child.getResources())
? taskbarDp.numShownHotseatIcons
: -1;
+ } else if (isTaskbarDividerView) {
+ // Note that there is no taskbar divider view in the hotseat,
+ // this position is only used as its convenient for animation purposes.
+ positionInHotseat = Utilities.isRtl(child.getResources())
+ ? taskbarDp.numShownHotseatIcons - 0.5f
+ : -0.5f;
} else if (child.getTag() instanceof ItemInfo) {
positionInHotseat = ((ItemInfo) child.getTag()).screenId;
} else {
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java b/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
index ed0a0d5..3767cce 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
@@ -121,13 +121,13 @@
@Override
public int getFloatingSearchBarRestingMarginStart(Launcher launcher) {
DeviceProfile dp = launcher.getDeviceProfile();
- return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+ return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(launcher);
}
@Override
public int getFloatingSearchBarRestingMarginEnd(Launcher launcher) {
DeviceProfile dp = launcher.getDeviceProfile();
- return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+ return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(launcher);
}
@Override
diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java
index 038a022..5147538 100644
--- a/quickstep/src/com/android/quickstep/SystemUiProxy.java
+++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java
@@ -17,6 +17,8 @@
import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE;
+import static com.android.launcher3.testing.shared.TestProtocol.SPLIT_LEAK;
+import static com.android.launcher3.testing.shared.TestProtocol.testLogD;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
import static com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
@@ -270,6 +272,7 @@
*/
@MainThread
public void clearProxy() {
+ testLogD(SPLIT_LEAK, "systemUiProxy clearingProxy");
setProxy(null, null, null, null, null, null, null, null, null, null, null, null, null);
}
diff --git a/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java b/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java
index f6368b0..f51f286 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java
@@ -92,7 +92,7 @@
startTestActivity(2);
startTestActivity(3);
- if (mLauncher.isTablet()) {
+ if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
mLauncher.goHome().switchToOverview().getOverviewActions()
.clickSplit()
.getTestActivityTask(2)
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
index d45c225..1899472 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
@@ -179,6 +179,8 @@
@PortraitLandscape
@PlatinumTest(focusArea = "launcher")
public void testOverviewActions() throws Exception {
+ assumeFalse("Skipping Overview Actions tests for grid only overview",
+ mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled());
// Experimenting for b/165029151:
final Overview overview = mLauncher.goHome().switchToOverview();
if (overview.hasTasks()) overview.dismissAllTasks();
@@ -377,7 +379,9 @@
// Test opening the task.
overview.getCurrentTask().open();
assertTrue("Test activity didn't open from Overview",
- mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text("TestActivity10")),
+ mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text(
+ mLauncher.isGridOnlyOverviewEnabled() ? "TestActivity12"
+ : "TestActivity13")),
DEFAULT_UI_TIMEOUT));
// Scroll the task offscreen as it is now first
@@ -398,16 +402,17 @@
(Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
launcher)) <= 1)));
- // Test dismissing more tasks.
- assertTrue("Launcher internal state didn't remain in Overview",
- isInState(() -> LauncherState.OVERVIEW));
- overview.getCurrentTask().dismiss();
- assertTrue("Launcher internal state didn't remain in Overview",
- isInState(() -> LauncherState.OVERVIEW));
- overview.getCurrentTask().dismiss();
- executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
- (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
- launcher)) <= 1)));
+ // TODO(b/308841019): Re-enable after fixing Overview jank when dismiss
+// // Test dismissing more tasks.
+// assertTrue("Launcher internal state didn't remain in Overview",
+// isInState(() -> LauncherState.OVERVIEW));
+// overview.getCurrentTask().dismiss();
+// assertTrue("Launcher internal state didn't remain in Overview",
+// isInState(() -> LauncherState.OVERVIEW));
+// overview.getCurrentTask().dismiss();
+// executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
+// (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
+// launcher)) <= 1)));
// Test dismissing all tasks.
mLauncher.goHome().switchToOverview().dismissAllTasks();
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java b/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
index acbb58f..ee0fbb8 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
@@ -143,7 +143,7 @@
startTestActivity(2);
startTestActivity(3);
- if (mLauncher.isTablet()) {
+ if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
mLauncher.goHome().switchToOverview().getOverviewActions()
.clickSplit()
.getTestActivityTask(2)
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5379644..dc57332 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Deursoek jou foon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Deursoek jou tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Misluk: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privaat ruimte"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 861eedb..4bfea99 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ስልክዎን ይፈልጉ"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ጡባዊዎን ይፈልጉ"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"አልተሳካም፦ <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"የግል ቦታ"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0d67010..9cbfbfa 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"البحث في هاتفك"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"البحث في جهازك اللوحي"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"تعذَّر <xliff:g id="WHAT">%1$s</xliff:g>."</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"مساحة خاصة"</string>
</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 6c3b1f0..6368312 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"আপোনাৰ ফ’নৰ বস্তু সন্ধান কৰক"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"আপোনাৰ টেবলেটৰ বস্তু সন্ধান কৰক"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"বিফল: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ব্যক্তিগত স্পে’চ"</string>
</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index cbbb75c..2ec448d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Telefonunuzu axtarın"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Planşetinizi axtarın"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Alınmadı: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Şəxsi yer"</string>
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 43c0f3a..81da8a8 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Pretražite telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretražite tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Nije uspelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privatni prostor"</string>
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 2e9c337..5bbac0f 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Пошук на тэлефоне"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пошук на планшэце"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Не ўдалося: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Прыватная вобласць"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 9daf8c2..bdae209 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Търсене в телефона ви"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Търсене в таблета ви"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Неуспешно: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Лично пространство"</string>
</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index f9185ab..3a57581 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ফোনে সার্চ করে দেখুন"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"আপনার ট্যাবলেটে সার্চ করুন"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"কাজটি করা যায়নি: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ব্যক্তিগত স্পেস"</string>
</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index e54b0c8..e453982 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Pretražite telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretražite tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Nije uspjelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privatan prostor"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index a4de31c..b03b4ec 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Cerca al telèfon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Cerca a la tauleta"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espai privat"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0a4b6f5..a39a1d5 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Prohledávání telefonu"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Vyhledávání na tabletu"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Selhalo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Soukromý prostor"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index d9bf566..faebb41 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Søg på din telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Søg på din tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Mislykket: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privat rum"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index be01e8b..61e4859 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -100,8 +100,7 @@
<string name="folder_renamed" msgid="1794088362165669656">"Ordner umbenannt in <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="folder_name_format_exact" msgid="8626242716117004803">"Ordner: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> Elemente"</string>
<string name="folder_name_format_overflow" msgid="4270108890534995199">"Ordner: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> oder mehr Elemente"</string>
- <!-- no translation found for app_pair_name_format (8134106404716224054) -->
- <skip />
+ <string name="app_pair_name_format" msgid="8134106404716224054">"App-Paar: <xliff:g id="APP1">%1$s</xliff:g> und <xliff:g id="APP2">%2$s</xliff:g>"</string>
<string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hintergrund und Stil"</string>
<string name="edit_home_screen" msgid="8947858375782098427">"Startbildschirm bearbeiten"</string>
<string name="settings_button_text" msgid="8873672322605444408">"Einstellungen"</string>
@@ -176,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Auf dem Smartphone suchen"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Auf dem Tablet suchen"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Fehler: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privater Bereich"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index e64bdcb..b98ae4f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Αναζήτηση στο τηλέφωνό σας"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Αναζήτηση στο tablet σας"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Αποτυχία: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Ιδιωτικός χώρος"</string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 4988d5b..8e55910 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 4988d5b..8e55910 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 4988d5b..8e55910 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 6c13cde..b8d213b 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Busca tu teléfono"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Busca en tu tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espacio privado"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 90e4f57..c13ce1a 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Busca en tu teléfono"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Buscar en tu tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Se ha producido un error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espacio privado"</string>
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 53ae15f..76bd494 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Otsimine telefonist"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Otsimine tahvelarvutist"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Nurjus: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privaatne ruum"</string>
</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 3d17eb0..d73c885 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -27,7 +27,7 @@
<string name="safemode_widget_error" msgid="4863470563535682004">"Widgetak desgaitu egin dira modu seguruan"</string>
<string name="shortcut_not_available" msgid="2536503539825726397">"Lasterbideak ez daude erabilgarri"</string>
<string name="home_screen" msgid="5629429142036709174">"Hasierako pantaila"</string>
- <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Zatitu pantaila"</string>
+ <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantaila zatitzea"</string>
<string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s aplikazioari buruzko informazioa"</string>
<string name="save_app_pair" msgid="5647523853662686243">"Gorde aplikazio parea"</string>
<string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Bilatu telefonoan"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Bilatu tabletan"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Huts egin du: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Eremu pribatua"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index d4621e6..fc42f54 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"جستجوی تلفن"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"جستجوی رایانه لوحی"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ناموفق بود: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"فضای خصوصی"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 0eade4c..a567eba 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Hae puhelimesta"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Hae tabletilta"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Epäonnistui: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Yksityinen tila"</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 9325eb9..a6f5053 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Rechercher sur votre téléphone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Rechercher sur votre tablette"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Échec : <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espace privé"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 2a5aae0..9e09a5c 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Rechercher sur votre téléphone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Rechercher sur votre tablette"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Échec : <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espace privé"</string>
</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 1afe581..41c30c2 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Buscar no teléfono"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Facer buscas na tableta"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Erro: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espazo privado"</string>
</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 5394262..71aebc4 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"તમારો ફોન શોધો"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"તમારું ટૅબ્લેટ શોધો"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"નિષ્ફળ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ખાનગી સ્પેસ"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index d42cdf4..a9f9ecd 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"अपने फ़ोन में खोजें"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"अपने टैबलेट में खोजें"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"पूरा नहीं हुआ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"प्राइवेट स्पेस"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 01b2b6f..757f335 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Pretraživanje telefona"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretraživanje tableta"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Nije uspjelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privatni prostor"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f818626..6c43388 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Keresés a telefonon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Keresés a táblagépen"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Sikertelen: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privát terület"</string>
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 15933c6..6eae2b6 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Որոնում հեռախոսում"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Որոնում պլանշետում"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Չհաջողվեց կատարել գործողությունը (<xliff:g id="WHAT">%1$s</xliff:g>)"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Անձնական տարածք"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 00b2d33..a47ec3b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Telusuri di ponsel"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Telusuri di tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Gagal: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Ruang pribadi"</string>
</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index ae4e0e9..9e9be03 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Leita í símanum"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Leita í spjaldtölvunni"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Mistókst: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Einkarými"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9351747..407a492 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Ricerche sul telefono"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Ricerche sul tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Operazione non riuscita: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Spazio privato"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 89ef74b..e87cfaf 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"חיפוש בטלפון"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"חיפוש בטאבלט"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"הפעולה נכשלה: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"מרחב פרטי"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c716e46..e8a72eb 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"スマートフォンを検索"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"タブレットを探す"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"失敗: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"プライベート スペース"</string>
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index d137f99..ab6e962 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"მოიძიეთ თქვენს ტელეფონში"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ძიება თქვენს ტაბლეტში"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ვერ მოხერხდა: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"პირადი სივრცე"</string>
</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index a86e412..c18a43f 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Телефоннан іздеу"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Планшеттен іздеу"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Қате шықты: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Жеке бөлме"</string>
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 3fed253..4aa1878 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ស្វែងរកក្នុងទូរសព្ទរបស់អ្នក"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ស្វែងរកក្នុងថេប្លេតរបស់អ្នក"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"បានបរាជ័យ៖ <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"បន្ទប់ឯកជន"</string>
</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 8e63126..39f1477 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಹುಡುಕಿ"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಹುಡುಕಿ"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ವಿಫಲವಾಗಿದೆ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index f455df6..7803d09 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"휴대전화 속 항목 검색"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"태블릿 속 항목 검색"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"실패: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"비공개 스페이스"</string>
</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index c7d8c9b..a9da5b8 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Телефондо издөө"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Планшетте издөө"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Аткарылган жок: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Жеке чөйрө"</string>
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index ae3b839..1dc9a91 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ຊອກຫາໂທລະສັບຂອງທ່ານ"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ຊອກຫາແທັບເລັດຂອງທ່ານ"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ບໍ່ສຳເລັດ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ພື້ນທີ່ສ່ວນຕົວ"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 136547d..1666f47 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Paieška telefone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Paieška planšetiniame kompiuteryje"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Nepavyko: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privati erdvė"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index f10ce8b..420d3d6 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Meklēšana tālrunī"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Meklēšana planšetdatorā"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Neizdevās: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privātā telpa"</string>
</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index de009f5..841aba7 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Пребарување низ телефонот"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пребарување низ таблетот"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Не успеа: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Приватен простор"</string>
</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index e95172a..df39e74 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"നിങ്ങളുടെ ഫോണിലുള്ളവ തിരയുക"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"നിങ്ങളുടെ ടാബ്ലെറ്റിലുള്ളവ തിരയുക"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"പരാജയപ്പെട്ടു: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"സ്വകാര്യ സ്പേസ്"</string>
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 650c40d..ad89209 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Утаснаасаа хайх"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Таблетнаасаа хайх"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Амжилтгүй болсон: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Хувийн орон зай"</string>
</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 5867d2b..a14459c 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"तुमच्या फोनमध्ये शोधा"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"तुमच्या टॅबलेटमध्ये शोधा"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"हे करता आले नाही: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"खाजगी स्पेस"</string>
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index c251c11..75a50b0 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Cari pada telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Cari pada tablet anda"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Gagal: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Ruang peribadi"</string>
</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index e08ad1a..a4d2417 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"သင့်ဖုန်းတွင် ရှာခြင်း"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"သင့်တက်ဘလက်ကို ရှာခြင်း"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"မအောင်မြင်ပါ− <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"သီးသန့်ချတ်ခန်း"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 7dae364..aea53fa 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Søk på telefonen"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Søk på nettbrettet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Mislyktes: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privat område"</string>
</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index e341a56..b5760d7 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"आफ्नो फोन खोज्नुहोस्"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"आफ्नो ट्याबलेटमा खोज्नुहोस्"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"कार्य पूरा गर्न सकिएन: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"निजी स्पेस"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 8f207bc..7f362ec 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Zoeken op je telefoon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Zoeken op je tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Mislukt: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privéruimte"</string>
</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 806e09a..406b176 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ଆପଣଙ୍କ ଫୋନରେ ସନ୍ଧାନ କରନ୍ତୁ"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ଆପଣଙ୍କ ଟାବଲେଟରେ ସନ୍ଧାନ କରନ୍ତୁ"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ବିଫଳ ହୋଇଛି: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string>
</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index dc09269..837eba0 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ਆਪਣਾ ਫ਼ੋਨ ਖੋਜੋ"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ਆਪਣਾ ਟੈਬਲੈੱਟ ਖੋਜੋ"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ਇਹ ਕਾਰਵਾਈ ਅਸਫਲ ਹੋਈ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ਨਿੱਜੀ ਸਪੇਸ"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 25c37de..24f09f9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Przeszukuj telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Przeszukuj tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Niepowodzenie: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Obszar prywatny"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 4456fc9..0febbd1 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Pesquise no telemóvel"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pesquise no tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Falhou: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espaço privado"</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 1027979..ad8e0c0 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Pesquisar no smartphone"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pesquisar no tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Falha: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Espaço particular"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index dcdf3f2..46f5b40 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Caută pe telefon"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Caută pe tabletă"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Eșuare: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Spațiu privat"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b517c3a..79e1781 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Поиск на телефоне"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Поиск на планшете"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Не удалось выполнить действие (<xliff:g id="WHAT">%1$s</xliff:g>)."</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Личное пространство"</string>
</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 7db8a48..72c0491 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ඔබගේ දුරකථනය සොයන්න"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ඔබගේ ටැබ්ලටය සොයන්න"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"අසාර්ථකයි: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"පෞද්ගලික ඉඩ"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 5e71837..bf01b32 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Vyhľadávanie v telefóne"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Vyhľadávanie v tablete"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Zlyhalo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Súkromný priestor"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 76ab45a..52d8584 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Iskanje po telefonu"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Iskanje po tabličnem računalniku"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Ni uspelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Zasebni prostor"</string>
</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 4f23e76..2c072ee 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Kërko në telefonin tënd"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Kërko në tabletin tënd"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Dështoi: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Hapësira private"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index baabfd2..ee66f12 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Претражите телефон"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Претражите таблет"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Није успело: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Приватни простор"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 37eff1c..57fb8be 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Sök på telefonen"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Sök på surfplattan"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Misslyckades: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Privat rum"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 9546ee0..b735318 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Tafuta kwenye simu yako"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tafuta kwenye kompyuta kibao yako"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Hitilafu: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Nafasi ya faragha"</string>
</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 905a29c..85a7a66 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"உங்கள் மொபைலில் தேடுதல்"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"உங்கள் டேப்லெட்டில் தேடுதல்"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"தோல்வி: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"தனிப்பட்ட சேமிப்பிடம்"</string>
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index db20c4a..ee4d7ca 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"మీ ఫోన్లో సెర్చ్ చేయండి"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"మీ టాబ్లెట్లో సెర్చ్ చేయండి"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"విఫలమైంది: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"ప్రైవేట్ స్పేస్"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d691de9..047e2b1 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"ค้นหาในโทรศัพท์"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ค้นหาในแท็บเล็ต"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ไม่สำเร็จ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"พื้นที่ส่วนตัว"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 840f376..e17abc8 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Maghanap sa iyong telepono"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Maghanap sa iyong tablet"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Hindi nagawa: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Pribadong space"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 064c3b1..9994adf 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"telefonunuzda arama yapmak"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tabletinizde arama yapma"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Başarısız: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Gizli alan"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e5104f5..a638609 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Пошук на телефоні"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пошук на планшеті"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Не вдалося <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Приватний простір"</string>
</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 644aa7c..92b8b41 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"اپنے فون پر تلاش کریں"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"اپنے ٹیبلیٹ پر تلاش کریں"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"ناکام ہو گيا: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"نجی اسپیس"</string>
</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 3325a97..2e3bfed 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Telefondan qidirish"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Planshetingizni qidiring"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Xato: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Shaxsiy xona"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 02dcb68..85f48a6 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Tìm trên điện thoại"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tìm kiếm trong máy tính bảng của bạn"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Không thực hiện được thao tác: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Không gian riêng tư"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ac4b02b..69f6bcf 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"手机内搜索"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"平板电脑内搜索"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"失败:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"私密空间"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b7bf927..1af7766 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"搜尋手機內容"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"搜尋平板電腦內容"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"操作失敗:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"私人空間"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 6fa1ae0..47d6f14 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"搜尋手機內容"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"搜尋平板電腦內容"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"失敗:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"私人空間"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 4e2d970..4871d8f 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -175,6 +175,5 @@
<string name="search_pref_screen_title" msgid="3258959643336315962">"Sesha ifoni yakho"</string>
<string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Sesha ithebulethi yakho"</string>
<string name="remote_action_failed" msgid="1383965239183576790">"Yehlulekile: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
- <!-- no translation found for private_space_label (2359721649407947001) -->
- <skip />
+ <string name="private_space_label" msgid="2359721649407947001">"Isikhala esiyimfihlo"</string>
</resources>
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index bdffe46..73cd8c4 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -235,14 +235,13 @@
// All apps
public Point allAppsBorderSpacePx;
public int allAppsShiftRange;
- public int allAppsTopPadding;
+ public Rect allAppsPadding = new Rect();
public int allAppsOpenDuration;
public int allAppsCloseDuration;
public int allAppsCellHeightPx;
public int allAppsCellWidthPx;
public int allAppsIconSizePx;
public int allAppsIconDrawablePaddingPx;
- public int allAppsLeftRightPadding;
public int allAppsLeftRightMargin;
public final int numShownAllAppsColumns;
public float allAppsIconTextSizePx;
@@ -678,10 +677,10 @@
res.getDimensionPixelOffset(R.dimen.bottom_sheet_handle_area_height);
int contentHeight = heightPx - collapseHandleHeight - hotseatQsbHeight;
int targetContentHeight = (int) (allAppsCellHeightPx * ALL_APPS_TABLET_MAX_ROWS);
- allAppsTopPadding = Math.max(mInsets.top, contentHeight - targetContentHeight);
- allAppsShiftRange = heightPx - allAppsTopPadding;
+ allAppsPadding.top = Math.max(mInsets.top, contentHeight - targetContentHeight);
+ allAppsShiftRange = heightPx - allAppsPadding.top;
} else {
- allAppsTopPadding = 0;
+ allAppsPadding.top = 0;
allAppsShiftRange =
res.getDimensionPixelSize(R.dimen.all_apps_starting_vertical_translate);
}
@@ -718,7 +717,7 @@
* reasonable over estimation is fine.
*/
public int getMaxAllAppsRowCount() {
- return (int) (Math.ceil((availableHeightPx - allAppsTopPadding)
+ return (int) (Math.ceil((availableHeightPx - allAppsPadding.top)
/ (float) allAppsCellHeightPx));
}
@@ -1259,7 +1258,8 @@
allAppsCellHeightPx = mAllAppsResponsiveHeightSpec.getCellSizePx()
+ mAllAppsResponsiveHeightSpec.getGutterPx();
allAppsCellWidthPx = mAllAppsResponsiveWidthSpec.getCellSizePx();
- allAppsLeftRightPadding = mAllAppsResponsiveWidthSpec.getStartPaddingPx();
+ allAppsPadding.left = mAllAppsResponsiveWidthSpec.getStartPaddingPx();
+ allAppsPadding.right = mAllAppsResponsiveWidthSpec.getEndPaddingPx();
}
/**
@@ -1278,10 +1278,10 @@
if (isTablet) {
int usedWidth = (allAppsCellWidthPx * numShownAllAppsColumns)
+ (allAppsBorderSpacePx.x * (numShownAllAppsColumns - 1))
- + allAppsLeftRightPadding * 2;
+ + allAppsPadding.left + allAppsPadding.right;
allAppsLeftRightMargin = Math.max(1, (availableWidthPx - usedWidth) / 2);
} else {
- allAppsLeftRightPadding =
+ allAppsPadding.left = allAppsPadding.right =
Math.max(0, desiredWorkspaceHorizontalMarginPx + cellLayoutHorizontalPadding
- (allAppsBorderSpacePx.x / 2));
}
@@ -1292,7 +1292,7 @@
inv.allAppsStyle != INVALID_RESOURCE_HANDLE ? inv.allAppsStyle
: R.style.AllAppsStyleDefault, R.styleable.AllAppsStyle);
- allAppsLeftRightPadding = allAppsStyle.getDimensionPixelSize(
+ allAppsPadding.left = allAppsPadding.right = allAppsStyle.getDimensionPixelSize(
R.styleable.AllAppsStyle_horizontalPadding, 0);
allAppsStyle.recycle();
}
@@ -1699,13 +1699,14 @@
}
/** The margin between the edge of all apps and the edge of the first icon. */
- public int getAllAppsIconStartMargin() {
+ public int getAllAppsIconStartMargin(Context context) {
int allAppsSpacing;
if (isVerticalBarLayout()) {
// On phones, the landscape layout uses a different setup.
allAppsSpacing = workspacePadding.left + workspacePadding.right;
} else {
- allAppsSpacing = allAppsLeftRightPadding * 2 + allAppsLeftRightMargin * 2;
+ allAppsSpacing =
+ allAppsPadding.left + allAppsPadding.right + allAppsLeftRightMargin * 2;
}
int cellWidth = DeviceProfile.calculateCellWidth(
@@ -1714,7 +1715,9 @@
numShownAllAppsColumns);
int iconVisibleSize = Math.round(ICON_VISIBLE_AREA_FACTOR * allAppsIconSizePx);
int iconAlignmentMargin = (cellWidth - iconVisibleSize) / 2;
- return allAppsLeftRightPadding + iconAlignmentMargin;
+
+ return (Utilities.isRtl(context.getResources()) ? allAppsPadding.right
+ : allAppsPadding.left) + iconAlignmentMargin;
}
private int getAdditionalQsbSpace() {
@@ -1963,7 +1966,6 @@
writer.println(prefix + "\tbottomSheetDepth: " + bottomSheetDepth);
writer.println(prefix + pxToDpStr("allAppsShiftRange", allAppsShiftRange));
- writer.println(prefix + pxToDpStr("allAppsTopPadding", allAppsTopPadding));
writer.println(prefix + "\tallAppsOpenDuration: " + allAppsOpenDuration);
writer.println(prefix + "\tallAppsCloseDuration: " + allAppsCloseDuration);
writer.println(prefix + pxToDpStr("allAppsIconSizePx", allAppsIconSizePx));
@@ -1975,7 +1977,9 @@
writer.println(prefix + pxToDpStr("allAppsBorderSpacePxX", allAppsBorderSpacePx.x));
writer.println(prefix + pxToDpStr("allAppsBorderSpacePxY", allAppsBorderSpacePx.y));
writer.println(prefix + "\tnumShownAllAppsColumns: " + numShownAllAppsColumns);
- writer.println(prefix + pxToDpStr("allAppsLeftRightPadding", allAppsLeftRightPadding));
+ writer.println(prefix + pxToDpStr("allAppsPadding.top", allAppsPadding.top));
+ writer.println(prefix + pxToDpStr("allAppsPadding.left", allAppsPadding.left));
+ writer.println(prefix + pxToDpStr("allAppsPadding.right", allAppsPadding.right));
writer.println(prefix + pxToDpStr("allAppsLeftRightMargin", allAppsLeftRightMargin));
writer.println(prefix + pxToDpStr("hotseatBarSizePx", hotseatBarSizePx));
diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
index 105d5f3..34ebaf2 100644
--- a/src/com/android/launcher3/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -19,8 +19,13 @@
import android.database.sqlite.SQLiteDatabase;
import android.provider.BaseColumns;
+import androidx.annotation.NonNull;
+
import com.android.launcher3.model.data.ItemInfo;
+import java.util.LinkedHashMap;
+import java.util.stream.Collectors;
+
/**
* Settings related utilities.
*/
@@ -289,28 +294,51 @@
public static void addTableToDb(SQLiteDatabase db, long myProfileId, boolean optional,
String tableName) {
- String ifNotExists = optional ? " IF NOT EXISTS " : "";
- db.execSQL("CREATE TABLE " + ifNotExists + tableName + " (" +
- "_id INTEGER PRIMARY KEY," +
- "title TEXT," +
- "intent TEXT," +
- "container INTEGER," +
- "screen INTEGER," +
- "cellX INTEGER," +
- "cellY INTEGER," +
- "spanX INTEGER," +
- "spanY INTEGER," +
- "itemType INTEGER," +
- "appWidgetId INTEGER NOT NULL DEFAULT -1," +
- "icon BLOB," +
- "appWidgetProvider TEXT," +
- "modified INTEGER NOT NULL DEFAULT 0," +
- "restored INTEGER NOT NULL DEFAULT 0," +
- "profileId INTEGER DEFAULT " + myProfileId + "," +
- "rank INTEGER NOT NULL DEFAULT 0," +
- "options INTEGER NOT NULL DEFAULT 0," +
- APPWIDGET_SOURCE + " INTEGER NOT NULL DEFAULT " + CONTAINER_UNKNOWN +
- ");");
+ db.execSQL("CREATE TABLE " + (optional ? " IF NOT EXISTS " : "") + tableName + " ("
+ + getJoinedColumnsToTypes(myProfileId) + ");");
+ }
+
+ // LinkedHashMap maintains Order of Insertion
+ @NonNull
+ private static LinkedHashMap<String, String> getColumnsToTypes(long profileId) {
+ final LinkedHashMap<String, String> columnsToTypes = new LinkedHashMap<>();
+ columnsToTypes.put(_ID, "INTEGER PRIMARY KEY");
+ columnsToTypes.put(TITLE, "TEXT");
+ columnsToTypes.put(INTENT, "TEXT");
+ columnsToTypes.put(CONTAINER, "INTEGER");
+ columnsToTypes.put(SCREEN, "INTEGER");
+ columnsToTypes.put(CELLX, "INTEGER");
+ columnsToTypes.put(CELLY, "INTEGER");
+ columnsToTypes.put(SPANX, "INTEGER");
+ columnsToTypes.put(SPANY, "INTEGER");
+ columnsToTypes.put(ITEM_TYPE, "INTEGER");
+ columnsToTypes.put(APPWIDGET_ID, "INTEGER NOT NULL DEFAULT -1");
+ columnsToTypes.put(ICON, "BLOB");
+ columnsToTypes.put(APPWIDGET_PROVIDER, "TEXT");
+ columnsToTypes.put(MODIFIED, "INTEGER NOT NULL DEFAULT 0");
+ columnsToTypes.put(RESTORED, "INTEGER NOT NULL DEFAULT 0");
+ columnsToTypes.put(PROFILE_ID, "INTEGER DEFAULT " + profileId);
+ columnsToTypes.put(RANK, "INTEGER NOT NULL DEFAULT 0");
+ columnsToTypes.put(OPTIONS, "INTEGER NOT NULL DEFAULT 0");
+ columnsToTypes.put(APPWIDGET_SOURCE, "INTEGER NOT NULL DEFAULT -1");
+ return columnsToTypes;
+ }
+
+ private static String getJoinedColumnsToTypes(long profileId) {
+ return getColumnsToTypes(profileId)
+ .entrySet()
+ .stream()
+ .map(it -> it.getKey() + " " + it.getValue())
+ .collect(Collectors.joining(", "));
+ }
+
+ /**
+ * Returns an ordered list of columns in the Favorites table as one string, ready to use in
+ * an SQL statement.
+ */
+ @NonNull
+ public static String getColumns(long profileId) {
+ return String.join(", ", getColumnsToTypes(profileId).keySet());
}
}
diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
index 61ca95b..72c6cb8 100644
--- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
@@ -797,7 +797,7 @@
*/
public int getFloatingSearchBarRestingMarginStart() {
DeviceProfile dp = mActivityContext.getDeviceProfile();
- return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+ return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(mActivityContext);
}
/**
@@ -810,7 +810,7 @@
*/
public int getFloatingSearchBarRestingMarginEnd() {
DeviceProfile dp = mActivityContext.getDeviceProfile();
- return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+ return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(mActivityContext);
}
private void layoutBelowSearchContainer(View v, boolean includeTabsMargin) {
@@ -1101,7 +1101,7 @@
if (grid.isVerticalBarLayout()) {
setPadding(grid.workspacePadding.left, 0, grid.workspacePadding.right, 0);
} else {
- int topPadding = grid.allAppsTopPadding;
+ int topPadding = grid.allAppsPadding.top;
if (isSearchBarFloating() && !grid.isTablet) {
topPadding += getResources().getDimensionPixelSize(
R.dimen.all_apps_additional_top_padding_floating_search);
@@ -1162,8 +1162,8 @@
int bottomPadding = Math.max(mInsets.bottom, mNavBarScrimHeight);
mAH.forEach(adapterHolder -> {
adapterHolder.mPadding.bottom = bottomPadding;
- adapterHolder.mPadding.left =
- adapterHolder.mPadding.right = grid.allAppsLeftRightPadding;
+ adapterHolder.mPadding.left = grid.allAppsPadding.left;
+ adapterHolder.mPadding.right = grid.allAppsPadding.right;
adapterHolder.applyPadding();
});
}
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index 330d13d..1ba5f8e 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -451,9 +451,9 @@
@Override
public void setInsets(Rect insets) {
- int leftRightPadding = ActivityContext.lookupContext(getContext())
- .getDeviceProfile().allAppsLeftRightPadding;
- setPadding(leftRightPadding, getPaddingTop(), leftRightPadding, getPaddingBottom());
+ Rect allAppsPadding = ActivityContext.lookupContext(getContext())
+ .getDeviceProfile().allAppsPadding;
+ setPadding(allAppsPadding.left, getPaddingTop(), allAppsPadding.right, getPaddingBottom());
}
public <T extends FloatingHeaderRow> T findFixedRowByType(Class<T> type) {
diff --git a/src/com/android/launcher3/allapps/WorkModeSwitch.java b/src/com/android/launcher3/allapps/WorkModeSwitch.java
index 144381c..48400b2 100644
--- a/src/com/android/launcher3/allapps/WorkModeSwitch.java
+++ b/src/com/android/launcher3/allapps/WorkModeSwitch.java
@@ -117,12 +117,13 @@
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
View parent = (View) getParent();
- int allAppsLeftRightPadding = mActivityContext.getDeviceProfile().allAppsLeftRightPadding;
+ boolean isRtl = Utilities.isRtl(getResources());
+ Rect allAppsPadding = mActivityContext.getDeviceProfile().allAppsPadding;
int size = parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight()
- - 2 * allAppsLeftRightPadding;
+ - (allAppsPadding.left + allAppsPadding.right);
int tabWidth = getTabWidth(getContext(), size);
- int shift = (size - tabWidth) / 2 + allAppsLeftRightPadding;
- setTranslationX(Utilities.isRtl(getResources()) ? shift : -shift);
+ int shift = (size - tabWidth) / 2 + (isRtl ? allAppsPadding.left : allAppsPadding.right);
+ setTranslationX(isRtl ? shift : -shift);
}
@Override
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index 4e7ec0b..c783ee1 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -276,7 +276,7 @@
// TODO(Block 17): Clean up flags
public static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(270396583,
- "ENABLE_TASKBAR_PINNING", DISABLED,
+ "ENABLE_TASKBAR_PINNING", TEAMFOOD,
"Enables taskbar pinning to allow user to switch between transient and persistent "
+ "taskbar flavors");
diff --git a/src/com/android/launcher3/provider/LauncherDbUtils.java b/src/com/android/launcher3/provider/LauncherDbUtils.java
index 575551b..30958d9 100644
--- a/src/com/android/launcher3/provider/LauncherDbUtils.java
+++ b/src/com/android/launcher3/provider/LauncherDbUtils.java
@@ -16,6 +16,7 @@
package com.android.launcher3.provider;
+import static com.android.launcher3.LauncherSettings.Favorites.getColumns;
import static com.android.launcher3.icons.IconCache.EXTRA_SHORTCUT_BADGE_OVERRIDE_PACKAGE;
import android.content.ContentValues;
@@ -48,7 +49,6 @@
* A set of utility methods for Launcher DB used for DB updates and migration.
*/
public class LauncherDbUtils {
-
/**
* Returns a string which can be used as a where clause for DB query to match the given itemId
*/
@@ -90,10 +90,12 @@
if (fromDb != toDb) {
toDb.execSQL("ATTACH DATABASE '" + fromDb.getPath() + "' AS from_db");
toDb.execSQL(
- "INSERT INTO " + toTable + " SELECT * FROM from_db." + fromTable);
+ "INSERT INTO " + toTable + " SELECT " + getColumns(userSerial)
+ + " FROM from_db." + fromTable);
toDb.execSQL("DETACH DATABASE 'from_db'");
} else {
- toDb.execSQL("INSERT INTO " + toTable + " SELECT * FROM " + fromTable);
+ toDb.execSQL("INSERT INTO " + toTable + " SELECT " + getColumns(userSerial) + " FROM "
+ + fromTable);
}
}
diff --git a/tests/assets/databases/v30_workspace_items.sql b/tests/assets/databases/v30_workspace_items.sql
new file mode 100644
index 0000000..fcf5788
--- /dev/null
+++ b/tests/assets/databases/v30_workspace_items.sql
@@ -0,0 +1,5 @@
+DROP TABLE IF EXISTS 'favorites';
+CREATE TABLE favorites (_id INTEGER PRIMARY KEY,title TEXT,intent TEXT,container INTEGER,screen INTEGER,cellX INTEGER,cellY INTEGER,spanX INTEGER,spanY INTEGER,itemType INTEGER,appWidgetId INTEGER NOT NULL DEFAULT -1,iconPackage TEXT,iconResource TEXT,icon BLOB,appWidgetProvider TEXT,modified INTEGER NOT NULL DEFAULT 0,restored INTEGER NOT NULL DEFAULT 0,profileId INTEGER DEFAULT 0,rank INTEGER NOT NULL DEFAULT 0,options INTEGER NOT NULL DEFAULT 0,appWidgetSource INTEGER NOT NULL DEFAULT -1);
+INSERT INTO 'favorites' VALUES(1,'Phone','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.dialer/.extensions.GoogleDialtactsActivity;end',-101,0,0,0,1,1,0,-1,"iconPackage1","iconResource1",NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(2,'Messages','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.messaging/.ui.ConversationListActivity;end',-101,1,1,0,1,1,0,-1,"iconPackage2","iconResource2",NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(3,'Play Store','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.vending/.AssetBrowserActivity;end',-101,2,2,0,1,1,0,-1,"iconPackage3","iconResource3",NULL,NULL,0,0,0,0,0,-1);
\ No newline at end of file
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt
index 82e46f4..6c3fa5e 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 1.0
bottomSheetDepth: 0.0
allAppsShiftRange: 788.0px (300.1905dp)
- allAppsTopPadding: 0.0px (0.0dp)
allAppsOpenDuration: 600
allAppsCloseDuration: 300
allAppsIconSizePx: 147.0px (56.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 5
- allAppsLeftRightPadding: 0.0px (0.0dp)
+ allAppsPadding.top: 0.0px (0.0dp)
+ allAppsPadding.left: 0.0px (0.0dp)
+ allAppsPadding.right: 0.0px (0.0dp)
allAppsLeftRightMargin: 0.0px (0.0dp)
hotseatBarSizePx: 273.0px (104.0dp)
inv.hotseatColumnSpan: 5
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt
index 674d68c..cd06ed9 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 1.0
bottomSheetDepth: 0.0
allAppsShiftRange: 788.0px (300.1905dp)
- allAppsTopPadding: 0.0px (0.0dp)
allAppsOpenDuration: 600
allAppsCloseDuration: 300
allAppsIconSizePx: 147.0px (56.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 5
- allAppsLeftRightPadding: 0.0px (0.0dp)
+ allAppsPadding.top: 0.0px (0.0dp)
+ allAppsPadding.left: 0.0px (0.0dp)
+ allAppsPadding.right: 0.0px (0.0dp)
allAppsLeftRightMargin: 0.0px (0.0dp)
hotseatBarSizePx: 294.0px (112.0dp)
inv.hotseatColumnSpan: 5
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt
index 1c30c15..cd19907 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 1.0
bottomSheetDepth: 0.0
allAppsShiftRange: 788.0px (300.1905dp)
- allAppsTopPadding: 0.0px (0.0dp)
allAppsOpenDuration: 600
allAppsCloseDuration: 300
allAppsIconSizePx: 147.0px (56.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 5
- allAppsLeftRightPadding: 0.0px (0.0dp)
+ allAppsPadding.top: 0.0px (0.0dp)
+ allAppsPadding.left: 0.0px (0.0dp)
+ allAppsPadding.right: 0.0px (0.0dp)
allAppsLeftRightMargin: 0.0px (0.0dp)
hotseatBarSizePx: 252.0px (96.0dp)
inv.hotseatColumnSpan: 5
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt
index 52142a0..8850583 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 1.0
bottomSheetDepth: 0.0
allAppsShiftRange: 788.0px (300.1905dp)
- allAppsTopPadding: 0.0px (0.0dp)
allAppsOpenDuration: 600
allAppsCloseDuration: 300
allAppsIconSizePx: 147.0px (56.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 5
- allAppsLeftRightPadding: 0.0px (0.0dp)
+ allAppsPadding.top: 0.0px (0.0dp)
+ allAppsPadding.left: 0.0px (0.0dp)
+ allAppsPadding.right: 0.0px (0.0dp)
allAppsLeftRightMargin: 0.0px (0.0dp)
hotseatBarSizePx: 252.0px (96.0dp)
inv.hotseatColumnSpan: 5
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt
index 8e0818d..26b86dc 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 0.0
allAppsShiftRange: 1496.0px (748.0dp)
- allAppsTopPadding: 104.0px (52.0dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 120.0px (60.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 32.0px (16.0dp)
allAppsBorderSpacePxY: 32.0px (16.0dp)
numShownAllAppsColumns: 6
- allAppsLeftRightPadding: 32.0px (16.0dp)
+ allAppsPadding.top: 104.0px (52.0dp)
+ allAppsPadding.left: 32.0px (16.0dp)
+ allAppsPadding.right: 32.0px (16.0dp)
allAppsLeftRightMargin: 412.0px (206.0dp)
hotseatBarSizePx: 200.0px (100.0dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt
index ab13e50..5778306 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 0.0
allAppsShiftRange: 1496.0px (748.0dp)
- allAppsTopPadding: 104.0px (52.0dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 120.0px (60.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 32.0px (16.0dp)
allAppsBorderSpacePxY: 32.0px (16.0dp)
numShownAllAppsColumns: 6
- allAppsLeftRightPadding: 32.0px (16.0dp)
+ allAppsPadding.top: 104.0px (52.0dp)
+ allAppsPadding.left: 32.0px (16.0dp)
+ allAppsPadding.right: 32.0px (16.0dp)
allAppsLeftRightMargin: 412.0px (206.0dp)
hotseatBarSizePx: 200.0px (100.0dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt
index e2b1f69..9e943ae 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 0.0
allAppsShiftRange: 2019.0px (1009.5dp)
- allAppsTopPadding: 541.0px (270.5dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 120.0px (60.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 16.0px (8.0dp)
allAppsBorderSpacePxY: 32.0px (16.0dp)
numShownAllAppsColumns: 6
- allAppsLeftRightPadding: 32.0px (16.0dp)
+ allAppsPadding.top: 541.0px (270.5dp)
+ allAppsPadding.left: 32.0px (16.0dp)
+ allAppsPadding.right: 32.0px (16.0dp)
allAppsLeftRightMargin: 152.0px (76.0dp)
hotseatBarSizePx: 272.0px (136.0dp)
inv.hotseatColumnSpan: 6
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt
index e838c06..f159b85 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 0.0
allAppsShiftRange: 2019.0px (1009.5dp)
- allAppsTopPadding: 541.0px (270.5dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 120.0px (60.0dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 16.0px (8.0dp)
allAppsBorderSpacePxY: 32.0px (16.0dp)
numShownAllAppsColumns: 6
- allAppsLeftRightPadding: 32.0px (16.0dp)
+ allAppsPadding.top: 541.0px (270.5dp)
+ allAppsPadding.left: 32.0px (16.0dp)
+ allAppsPadding.right: 32.0px (16.0dp)
allAppsLeftRightMargin: 152.0px (76.0dp)
hotseatBarSizePx: 272.0px (136.0dp)
inv.hotseatColumnSpan: 6
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt
index 903235a..55e9880 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 1.0
allAppsShiftRange: 1730.0px (659.0476dp)
- allAppsTopPadding: 110.0px (41.904762dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 141.0px (53.714287dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 8
- allAppsLeftRightPadding: 42.0px (16.0dp)
+ allAppsPadding.top: 110.0px (41.904762dp)
+ allAppsPadding.left: 42.0px (16.0dp)
+ allAppsPadding.right: 42.0px (16.0dp)
allAppsLeftRightMargin: 183.0px (69.71429dp)
hotseatBarSizePx: 267.0px (101.71429dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt
index d3c3458..a2f0aa2 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 1.0
allAppsShiftRange: 1730.0px (659.0476dp)
- allAppsTopPadding: 110.0px (41.904762dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 141.0px (53.714287dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 8
- allAppsLeftRightPadding: 42.0px (16.0dp)
+ allAppsPadding.top: 110.0px (41.904762dp)
+ allAppsPadding.left: 42.0px (16.0dp)
+ allAppsPadding.right: 42.0px (16.0dp)
allAppsLeftRightMargin: 183.0px (69.71429dp)
hotseatBarSizePx: 267.0px (101.71429dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt
index 64b3721..ca42cda 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 1.0
allAppsShiftRange: 2075.0px (790.4762dp)
- allAppsTopPadding: 133.0px (50.666668dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 141.0px (53.714287dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 8
- allAppsLeftRightPadding: 42.0px (16.0dp)
+ allAppsPadding.top: 133.0px (50.666668dp)
+ allAppsPadding.left: 42.0px (16.0dp)
+ allAppsPadding.right: 42.0px (16.0dp)
allAppsLeftRightMargin: 1.0px (0.3809524dp)
hotseatBarSizePx: 267.0px (101.71429dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt
index 584a3b5..d53badc 100644
--- a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt
@@ -55,7 +55,6 @@
bottomSheetWorkspaceScale: 0.97
bottomSheetDepth: 1.0
allAppsShiftRange: 2075.0px (790.4762dp)
- allAppsTopPadding: 133.0px (50.666668dp)
allAppsOpenDuration: 500
allAppsCloseDuration: 500
allAppsIconSizePx: 141.0px (53.714287dp)
@@ -66,7 +65,9 @@
allAppsBorderSpacePxX: 42.0px (16.0dp)
allAppsBorderSpacePxY: 42.0px (16.0dp)
numShownAllAppsColumns: 8
- allAppsLeftRightPadding: 42.0px (16.0dp)
+ allAppsPadding.top: 133.0px (50.666668dp)
+ allAppsPadding.left: 42.0px (16.0dp)
+ allAppsPadding.right: 42.0px (16.0dp)
allAppsLeftRightMargin: 1.0px (0.3809524dp)
hotseatBarSizePx: 267.0px (101.71429dp)
inv.hotseatColumnSpan: 4
diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
index 3e80e6b..eb45ded 100644
--- a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
+++ b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
@@ -158,6 +158,7 @@
public static final String PERMANENT_DIAG_TAG = "TaplTarget";
public static final String TWO_TASKBAR_LONG_CLICKS = "b/262282528";
public static final String ICON_MISSING = "b/282963545";
+ public static final String SPLIT_LEAK = "b/302551868";
public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
diff --git a/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt b/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt
new file mode 100644
index 0000000..c9ea421
--- /dev/null
+++ b/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt
@@ -0,0 +1,79 @@
+package com.android.launcher3.model
+
+import android.database.sqlite.SQLiteDatabase
+import android.os.UserHandle
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME
+import com.android.launcher3.LauncherSettings.Favorites.TMP_TABLE
+import com.android.launcher3.LauncherSettings.Favorites.addTableToDb
+import com.android.launcher3.pm.UserCache
+import com.android.launcher3.provider.LauncherDbUtils
+import java.util.function.ToLongFunction
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertFalse
+import org.junit.Test
+import org.junit.runner.RunWith
+
+private const val INSERTION_SQL = "databases/v30_workspace_items.sql"
+
+private const val ICON_PACKAGE = "iconPackage"
+private const val ICON_RESOURCE = "iconResource"
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class DatabaseHelperTest {
+
+ /**
+ * b/304687723 occurred when a return was accidentally added to a case statement in
+ * DatabaseHelper.onUpgrade, which stopped the final data migration from successfully occurring.
+ * This test loads an in-memory db from a text file containing SQL statements, and then performs
+ * the migration on the db, and verifies that the correct columns have been deleted.
+ */
+ @Test
+ fun onUpgrade_to_version_32_from_30() {
+ val context = InstrumentationRegistry.getInstrumentation().targetContext
+ val userSerialProvider =
+ ToLongFunction<UserHandle> {
+ UserCache.INSTANCE.get(context).getSerialNumberForUser(it)
+ }
+ val dbHelper = DatabaseHelper(context, null, userSerialProvider) {}
+ val db = FactitiousDbController(context, INSERTION_SQL).inMemoryDb
+
+ dbHelper.onUpgrade(db, 30, 32)
+
+ assertFalse(hasFavoritesColumn(db, ICON_PACKAGE))
+ assertFalse(hasFavoritesColumn(db, ICON_RESOURCE))
+ }
+
+ /**
+ * b/304687723 causes a crash due to copying a table with 21 columns to a table with 19 columns.
+ * This test loads an in-memory db from a text file containing SQL statements, and then copies
+ * data from the created table into a temporary one, and verifies that no exception is thrown.
+ */
+ @Test
+ fun after_migrating_from_db_v30_to_v32_copy_table() {
+ val context = InstrumentationRegistry.getInstrumentation().targetContext
+ val db = FactitiousDbController(context, INSERTION_SQL).inMemoryDb // v30 - 21 columns
+
+ addTableToDb(db, 1, true, TMP_TABLE)
+ LauncherDbUtils.copyTable(db, TABLE_NAME, db, TMP_TABLE, context)
+
+ val c1 = db.query(TABLE_NAME, null, null, null, null, null, null)
+ val c2 = db.query(TMP_TABLE, null, null, null, null, null, null)
+
+ assertEquals(21, c1.columnCount)
+ assertEquals(19, c2.columnCount)
+ assertEquals(c1.count, c2.count)
+
+ c1.close()
+ c2.close()
+ }
+
+ private fun hasFavoritesColumn(db: SQLiteDatabase, columnName: String): Boolean {
+ db.query(TABLE_NAME, null, null, null, null, null, null).use { c ->
+ return c.getColumnIndex(columnName) >= 0
+ }
+ }
+}
diff --git a/tests/src/com/android/launcher3/model/FactitiousDbController.kt b/tests/src/com/android/launcher3/model/FactitiousDbController.kt
index 664f23e..711e1d2 100644
--- a/tests/src/com/android/launcher3/model/FactitiousDbController.kt
+++ b/tests/src/com/android/launcher3/model/FactitiousDbController.kt
@@ -29,18 +29,14 @@
"options",
"appWidgetSource"
)
-private const val INSERTION_STATEMENT_FILE = "databases/workspace_items.sql"
-class FactitiousDbController(context: Context) : ModelDbController(context) {
+class FactitiousDbController(context: Context, insertFile: String) : ModelDbController(context) {
- private val inMemoryDb: SQLiteDatabase by lazy {
+ val inMemoryDb: SQLiteDatabase by lazy {
SQLiteDatabase.createInMemory(SQLiteDatabase.OpenParams.Builder().build()).also { db ->
BufferedReader(
InputStreamReader(
- InstrumentationRegistry.getInstrumentation()
- .context
- .assets
- .open(INSERTION_STATEMENT_FILE)
+ InstrumentationRegistry.getInstrumentation().context.assets.open(insertFile)
)
)
.lines()
diff --git a/tests/src/com/android/launcher3/model/LoaderTaskTest.kt b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt
index 1421087..036f2d8 100644
--- a/tests/src/com/android/launcher3/model/LoaderTaskTest.kt
+++ b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt
@@ -26,6 +26,8 @@
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
+private const val INSERTION_STATEMENT_FILE = "databases/workspace_items.sql"
+
@SmallTest
@RunWith(AndroidJUnit4::class)
class LoaderTaskTest {
@@ -55,7 +57,8 @@
`when`(app.model).thenReturn(launcherModel)
`when`(launcherModel.beginLoader(any(LoaderTask::class.java))).thenReturn(transaction)
`when`(app.iconCache).thenReturn(iconCache)
- `when`(launcherModel.modelDbController).thenReturn(FactitiousDbController(context))
+ `when`(launcherModel.modelDbController)
+ .thenReturn(FactitiousDbController(context, INSERTION_STATEMENT_FILE))
`when`(app.invariantDeviceProfile).thenReturn(idp)
`when`(launcherBinder.newIdleLock(any(LoaderTask::class.java))).thenReturn(idleLock)
`when`(idleLock.awaitLocked(1000)).thenReturn(false)
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
index 669aaab..4184868 100644
--- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
+++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
@@ -15,6 +15,8 @@
*/
package com.android.launcher3.ui;
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+
import static androidx.test.InstrumentationRegistry.getInstrumentation;
import static com.android.launcher3.testing.shared.TestProtocol.ICON_MISSING;
@@ -89,7 +91,7 @@
import java.util.function.Supplier;
/**
- * Base class for all instrumentation tests providing various utility methods. RUN 4
+ * Base class for all instrumentation tests providing various utility methods.
*/
public abstract class AbstractLauncherUiTest {
@@ -204,13 +206,7 @@
public ScreenRecordRule mScreenRecordRule = new ScreenRecordRule();
@Rule
- public SetFlagsRule mSetFlagsRule = getFlagsRule();
-
- private SetFlagsRule getFlagsRule() {
- SetFlagsRule flagsRule = new SetFlagsRule();
- flagsRule.initAllFlagsToReleaseConfigDefault();
- return flagsRule;
- }
+ public SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
protected void clearPackageData(String pkg) throws IOException, InterruptedException {
final CountDownLatch count = new CountDownLatch(2);
diff --git a/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java b/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
index 0d15300..58af51c 100644
--- a/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
+++ b/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
@@ -63,7 +63,8 @@
*/
public class BubbleTextViewTest {
- @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Rule public final SetFlagsRule mSetFlagsRule =
+ new SetFlagsRule(SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
private static final StringMatcherUtility.StringMatcher
MATCHER = StringMatcherUtility.StringMatcher.getInstance();
private static final UserHandle WORK_HANDLE = new UserHandle(13);
@@ -99,7 +100,6 @@
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mSetFlagsRule.initAllFlagsToReleaseConfigDefault();
Utilities.enableRunningInTestHarnessForTests();
mContext = new ActivityContextWrapper(getApplicationContext());
mBubbleTextView = new BubbleTextView(mContext);
diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java
index 8713b68..7c76f3c 100644
--- a/tests/tapl/com/android/launcher3/tapl/Background.java
+++ b/tests/tapl/com/android/launcher3/tapl/Background.java
@@ -18,6 +18,7 @@
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
+import static com.android.launcher3.tapl.BaseOverview.TASK_RES_ID;
import static com.android.launcher3.tapl.OverviewTask.TASK_START_EVENT;
import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL;
@@ -118,10 +119,10 @@
// non-tablet overview, snapshots can be on either side of the swiped
// task, but we still check that they become visible after swiping and
// pausing.
- mLauncher.waitForOverviewObject("snapshot");
+ mLauncher.waitForOverviewObject(TASK_RES_ID);
if (mLauncher.isTablet()) {
List<UiObject2> tasks = mLauncher.getDevice().findObjects(
- mLauncher.getOverviewObjectSelector("snapshot"));
+ mLauncher.getOverviewObjectSelector(TASK_RES_ID));
final int centerX = mLauncher.getDevice().getDisplayWidth() / 2;
mLauncher.assertTrue(
"All tasks not to the left of the swiped task",
diff --git a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
index a85b6bd..f874cc5 100644
--- a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
+++ b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
@@ -33,6 +33,7 @@
*/
public class BaseOverview extends LauncherInstrumentation.VisibleContainer {
private static final int FLINGS_FOR_DISMISS_LIMIT = 40;
+ protected static final String TASK_RES_ID = "task";
BaseOverview(LauncherInstrumentation launcher) {
super(launcher);
@@ -201,7 +202,8 @@
OverviewTask task = getCurrentTask();
mLauncher.assertNotNull("current task is null", task);
mLauncher.scrollLeftByDistance(verifyActiveContainer(),
- task.getVisibleWidth() + mLauncher.getOverviewPageSpacing());
+ mLauncher.getRealDisplaySize().x - task.getUiObject().getVisibleBounds().left
+ + mLauncher.getOverviewPageSpacing());
try (LauncherInstrumentation.Closable c2 =
mLauncher.addContextLayer("scrolled task off screen")) {
@@ -231,14 +233,24 @@
final List<UiObject2> taskViews = getTasks();
mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());
- // taskViews contains up to 3 task views: the 'main' (having the widest visible part) one
- // in the center, and parts of its right and left siblings. Find the main task view by
- // its width.
- final UiObject2 widestTask = Collections.max(taskViews,
- (t1, t2) -> Integer.compare(mLauncher.getVisibleBounds(t1).width(),
- mLauncher.getVisibleBounds(t2).width()));
+ // The widest, and most top-right task should be the current task
+ final UiObject2 currentTask = Collections.max(taskViews, (t1, t2) -> {
+ Rect t1Bounds = mLauncher.getVisibleBounds(t1);
+ Rect t2Bounds = mLauncher.getVisibleBounds(t2);
- return new OverviewTask(mLauncher, widestTask, this);
+ int result = Integer.compare(t1Bounds.width(), t2Bounds.width());
+ if (result != 0) {
+ return result;
+ }
+
+ result = Integer.compare(t1Bounds.left, t2Bounds.left);
+ if (result != 0) {
+ return result;
+ }
+
+ return Integer.compare(t2Bounds.top, t1Bounds.top);
+ });
+ return new OverviewTask(mLauncher, currentTask, this);
}
/** Returns an overview task matching TestActivity {@param activityNumber}. */
@@ -251,7 +263,7 @@
UiObject2 task = null;
for (UiObject2 taskView : taskViews) {
// TODO(b/239452415): Use equals instead of descEndsWith
- if (taskView.getParent().hasObject(By.descEndsWith(activityName))) {
+ if (taskView.hasObject(By.descEndsWith(activityName))) {
task = taskView;
break;
}
@@ -282,7 +294,7 @@
"want to get overview tasks")) {
verifyActiveContainer();
return mLauncher.getDevice().findObjects(
- mLauncher.getOverviewObjectSelector("snapshot"));
+ mLauncher.getOverviewObjectSelector(TASK_RES_ID));
}
}
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 307f192..9998f52 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -1608,8 +1608,11 @@
scroll(
container,
Direction.LEFT,
- new Rect(leftGestureMargin, 0,
- containerRect.width() - distance - rightGestureMarginInContainer, 0),
+ new Rect(leftGestureMargin,
+ 0,
+ Math.max(containerRect.width() - distance - leftGestureMargin,
+ rightGestureMarginInContainer),
+ 0),
10,
true);
}
@@ -1782,7 +1785,7 @@
TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
- boolean isGridOnlyOverviewEnabled() {
+ public boolean isGridOnlyOverviewEnabled() {
return getTestInfo(TestProtocol.REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW).getBoolean(
TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
index 06fac48..9d128a0 100644
--- a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
+++ b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
@@ -66,17 +66,16 @@
return getCombinedSplitTaskHeight();
}
- return mTask.getVisibleBounds().height();
+ UiObject2 taskSnapshot1 = findObjectInTask(TASK_SNAPSHOT_1);
+ return taskSnapshot1.getVisibleBounds().height();
}
/**
* Calculates the visible height for split tasks, containing 2 snapshot tiles and a divider.
*/
private int getCombinedSplitTaskHeight() {
- UiObject2 taskSnapshot1 =
- mLauncher.findObjectInContainer(mTask.getParent(), TASK_SNAPSHOT_1);
- UiObject2 taskSnapshot2 =
- mLauncher.findObjectInContainer(mTask.getParent(), TASK_SNAPSHOT_2);
+ UiObject2 taskSnapshot1 = findObjectInTask(TASK_SNAPSHOT_1);
+ UiObject2 taskSnapshot2 = findObjectInTask(TASK_SNAPSHOT_2);
int top = Math.min(
taskSnapshot1.getVisibleBounds().top, taskSnapshot2.getVisibleBounds().top);
@@ -102,10 +101,8 @@
* Calculates the visible width for split tasks, containing 2 snapshot tiles and a divider.
*/
private int getCombinedSplitTaskWidth() {
- UiObject2 taskSnapshot1 =
- mLauncher.findObjectInContainer(mTask.getParent(), TASK_SNAPSHOT_1);
- UiObject2 taskSnapshot2 =
- mLauncher.findObjectInContainer(mTask.getParent(), TASK_SNAPSHOT_2);
+ UiObject2 taskSnapshot1 = findObjectInTask(TASK_SNAPSHOT_1);
+ UiObject2 taskSnapshot2 = findObjectInTask(TASK_SNAPSHOT_2);
int left = Math.min(
taskSnapshot1.getVisibleBounds().left, taskSnapshot2.getVisibleBounds().left);
@@ -144,7 +141,8 @@
boolean taskWasFocused = mLauncher.isTablet() && getVisibleHeight() == mLauncher
.getFocusedTaskHeightForTablet();
- List<Integer> originalTasksCenterX = getCurrentTasksCenterXList();
+ List<Integer> originalTasksCenterX =
+ getCurrentTasksCenterXList().stream().sorted().toList();
boolean isClearAllVisibleBeforeDismiss = mOverview.isClearAllVisible();
dismissBySwipingUp();
@@ -155,7 +153,8 @@
mOverview.getFocusedTaskForTablet());
}
if (!isClearAllVisibleBeforeDismiss) {
- List<Integer> currentTasksCenterX = getCurrentTasksCenterXList();
+ List<Integer> currentTasksCenterX =
+ getCurrentTasksCenterXList().stream().sorted().toList();
if (originalTasksCenterX.size() == currentTasksCenterX.size()) {
// Check for the same number of visible tasks before and after to
// avoid asserting on cases of shifting all tasks to close the distance
@@ -173,7 +172,7 @@
// Dismiss the task via flinging it up.
final Rect taskBounds = mLauncher.getVisibleBounds(mTask);
final int centerX = taskBounds.centerX();
- final int centerY = taskBounds.centerY();
+ final int centerY = taskBounds.bottom - 1;
mLauncher.executeAndWaitForLauncherEvent(
() -> mLauncher.linearGesture(centerX, centerY, centerX, 0, 10, false,
LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER),
@@ -200,7 +199,7 @@
() -> mLauncher.clickLauncherObject(mTask),
event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
() -> "Launching task didn't open a new window: "
- + mTask.getParent().getContentDescription(),
+ + mTask.getContentDescription(),
"clicking an overview task");
if (mOverview.getContainerType()
== LauncherInstrumentation.ContainerType.SPLIT_SCREEN_SELECT) {
@@ -227,7 +226,7 @@
LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
"want to tap the task menu")) {
mLauncher.clickLauncherObject(
- mLauncher.waitForObjectInContainer(mTask.getParent(), "icon"));
+ mLauncher.waitForObjectInContainer(mTask, "icon"));
try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
"tapped the task menu")) {
@@ -243,7 +242,7 @@
LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
"want to tap the split task's menu")) {
mLauncher.clickLauncherObject(
- mLauncher.waitForObjectInContainer(mTask.getParent(), "bottomRight_icon"));
+ mLauncher.waitForObjectInContainer(mTask, "bottomRight_icon"));
try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
"tapped the split task's menu")) {
@@ -253,6 +252,10 @@
}
boolean isTaskSplit() {
- return mLauncher.findObjectInContainer(mTask.getParent(), "bottomright_snapshot") != null;
+ return findObjectInTask(TASK_SNAPSHOT_2) != null;
+ }
+
+ private UiObject2 findObjectInTask(String resName) {
+ return mTask.findObject(mLauncher.getOverviewObjectSelector(resName));
}
}