diff --git a/quickstep/res/values-am/strings.xml b/quickstep/res/values-am/strings.xml
index 0ac7ee54c1..2742bfcd0d 100644
--- a/quickstep/res/values-am/strings.xml
+++ b/quickstep/res/values-am/strings.xml
@@ -78,10 +78,8 @@
"ሁሉም ዝግጁ!"
"ወደ መነሻ ለመሄድ በጣት ወደ ላይ ማንሸራተት"
"ወደ መነሻ ማያ ገጽዎ ለመሄድ የመነሻ አዝራሩን መታ ያድርጉ"
-
-
-
-
+ "የእርስዎን %1$s መጠቀም ለመጀመር ዝግጁ ነዎት"
+ "መሣሪያ"
"የስርዓት አሰሳ ቅንብሮች"
"አጋራ"
"ቅጽበታዊ ገጽ እይታ"
@@ -94,8 +92,7 @@
"ይቅር"
"ዝለል"
"ማያ ገጹን አዙር"
-
-
+ "የተግባር አሞሌ ትምህርት"
"የተግባር አሞሌ ትምህርት ይታያል"
"የተግባር አሞሌ ትምህርት ተዘግቷል"
"መተግበሪያዎችን ለመቀየር የተግባር አሞሌውን ይጠቀሙ"
@@ -112,10 +109,8 @@
"የቅርብ ጊዜዎቹ"
"ማሳወቂያዎች"
"ፈጣን ቅንብሮች"
-
-
-
-
+ "የተግባር አሞሌ"
+ "የአሰሳ አሞሌ"
"ወደ ላይ/ግራ ይውሰዱ"
"ወደ ታች/ቀኝ ይውሰዱ"
diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml
index fe7645300d..041fe2422b 100644
--- a/quickstep/res/values-ar/strings.xml
+++ b/quickstep/res/values-ar/strings.xml
@@ -78,10 +78,8 @@
"اكتملت عملية الإعداد"
"مرِّر سريعًا للأعلى للانتقال إلى الشاشة الرئيسية."
"انقر على زر الشاشة الرئيسية للانتقال إلى الشاشة الرئيسية."
-
-
-
-
+ "يمكنك الآن بدء استخدام \"%1$s\"."
+ "الجهاز"
"إعدادات التنقّل داخل النظام"
"مشاركة"
"لقطة شاشة"
@@ -94,8 +92,7 @@
"إلغاء"
"التخطي"
"تدوير الشاشة"
-
-
+ "التعريف بشريط التطبيقات"
"ظهرت لوحة تعليم استخدام شريط المهام."
"تم إغلاق لوحة تعليم استخدام شريط المهام."
"يمكنك استخدام شريط المهام للتبديل بين التطبيقات."
@@ -112,10 +109,8 @@
"الأحدث"
"الإشعارات"
"إعدادات سريعة"
-
-
-
-
+ "شريط التطبيقات"
+ "شريط التنقل"
"الانتقال إلى يمين الشاشة أو أعلاها"
"الانتقال إلى يسار الشاشة أو أسفلها"
diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml
index 8fa85337e5..80286774d1 100644
--- a/quickstep/res/values-eu/strings.xml
+++ b/quickstep/res/values-eu/strings.xml
@@ -78,10 +78,8 @@
"Dena prest!"
"Pasatu hatza gora hasierako pantailara joateko"
"Hasierako pantailara joateko, sakatu Hasiera botoia"
-
-
-
-
+ "Prest zaude %1$s erabiltzen hasteko"
+ "gailua"
"Sisteman nabigatzeko ezarpenak"
"Partekatu"
"Atera pantaila-argazki bat"
@@ -94,8 +92,7 @@
"Utzi"
"Saltatu"
"Biratu pantaila"
-
-
+ "Zereginen barra erabiltzeko argibideak"
"Agertu egin da zereginen barraren tutoriala"
"Itxi egin da zereginen barraren tutoriala"
"Erabili zereginen barra aplikazioz aldatzeko"
@@ -112,10 +109,8 @@
"Azkenak"
"Jakinarazpenak"
"Ezarpen bizkorrak"
-
-
-
-
+ "Zereginen barra"
+ "Nabigazio-barra"
"Eraman gora, ezkerretara"
"Eraman behera, eskuinetara"
diff --git a/quickstep/res/values-gu/strings.xml b/quickstep/res/values-gu/strings.xml
index c52f39c9dd..0c0ec88234 100644
--- a/quickstep/res/values-gu/strings.xml
+++ b/quickstep/res/values-gu/strings.xml
@@ -78,10 +78,8 @@
"બધું સેટ થઈ ગયું!"
"હોમપેજ પર જવા માટે ઉપરની તરફ સ્વાઇપ કરો"
"તમારી હોમ સ્ક્રીન પર જવા માટે હોમ બટન ટૅપ કરો"
-
-
-
-
+ "તમે તમારા %1$sનો ઉપયોગ કરવાનું શરૂ કરવા માટે તૈયાર છો"
+ "ડિવાઇસ"
"સિસ્ટમના નૅવિગેશન સેટિંગ"
"શેર કરો"
"સ્ક્રીનશૉટ"
@@ -94,8 +92,7 @@
"રદ કરો"
"છોડો"
"સ્ક્રીન ફેરવો"
-
-
+ "ટાસ્કબાર વિશે શિક્ષણ"
"ટાસ્કબારનું શિક્ષણ આપતી પૅનલ દેખાય છે"
"ટાસ્કબારનું શિક્ષણ આપતી પૅનલ બંધ થઈ છે"
"ઍપ સ્વિચ કરવા માટે, ટાસ્કબારનો ઉપયોગ કરો"
@@ -112,10 +109,8 @@
"તાજેતરના"
"નોટિફિકેશન"
"ઝડપી સેટિંગ"
-
-
-
-
+ "ટાસ્કબાર"
+ "નૅવિગેશન બાર"
"સૌથી ઉપર ડાબી બાજુએ ખસેડો"
"સૌથી નીચે જમણી બાજુએ ખસેડો"
diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml
index 825a263531..8fcb464490 100644
--- a/quickstep/res/values-my/strings.xml
+++ b/quickstep/res/values-my/strings.xml
@@ -78,10 +78,8 @@
"အားလုံး အဆင်သင့်ပါ။"
"ပင်မစာမျက်နှာသို့သွားရန် အပေါ်သို့ ပွတ်ဆွဲပါ"
"ပင်မစာမျက်နှာသို့ သွားရန် ပင်မခလုတ်ကို တို့ပါ"
-
-
-
-
+ "%1$s ကို စသုံးရန် အသင့်ဖြစ်ပါပြီ"
+ "စက်"
"စနစ် လမ်းညွှန် ဆက်တင်များ"
"မျှဝေရန်"
"ဖန်သားပြင်ဓာတ်ပုံ"
@@ -94,8 +92,7 @@
"မလုပ်တော့"
"ကျော်ရန်"
"ဖန်သားပြင်လှည့်ရန်"
-
-
+ "လုပ်ဆောင်စရာဘား ပညာပေး"
"ပညာရေး လုပ်ဆောင်စရာဘား ပြထားသည်"
"ပညာရေး လုပ်ဆောင်စရာဘား ပိတ်ထားသည်"
"အက်ပ်များပြောင်းရန် လုပ်ဆောင်စရာဘားကို သုံးပါ"
@@ -112,10 +109,8 @@
"လတ်တလောများ"
"အကြောင်းကြားချက်"
"အမြန်ဆက်တင်များ"
-
-
-
-
+ "လုပ်ဆောင်စရာဘား"
+ "လမ်းညွှန်ဘား"
"အပေါ်/ဘယ်ဘက်သို့ ရွှေ့ရန်"
"အောက်ခြေ/ညာဘက်သို့ ရွှေ့ရန်"
diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml
index 4b2bc9c7fa..a0f8221c26 100644
--- a/quickstep/res/values-pt/strings.xml
+++ b/quickstep/res/values-pt/strings.xml
@@ -78,10 +78,8 @@
"Tudo pronto!"
"Deslize para cima para acessar a tela inicial"
"Toque no botão home para ir para a tela inicial"
-
-
-
-
+ "Você já pode começar a usar seu %1$s"
+ "dispositivo"
"Configurações de navegação do sistema"
"Compartilhar"
"Capturar tela"
@@ -94,8 +92,7 @@
"Cancelar"
"Pular"
"Girar a tela"
-
-
+ "Informações sobre a barra de tarefas"
"As dicas sobre a barra de tarefas foram abertas"
"As dicas sobre a barra de tarefas foram fechadas"
"Use a barra de tarefas para alternar entre apps"
@@ -112,10 +109,8 @@
"Recentes"
"Notificações"
"Config. rápidas"
-
-
-
-
+ "Barra de tarefas"
+ "Barra de navegação"
"Mover para cima/para a esquerda"
"Mover para baixo/para a direita"
diff --git a/quickstep/res/values-sw/strings.xml b/quickstep/res/values-sw/strings.xml
index 09263ea9c9..8283a04995 100644
--- a/quickstep/res/values-sw/strings.xml
+++ b/quickstep/res/values-sw/strings.xml
@@ -78,10 +78,8 @@
"Tayari!"
"Telezesha kidole juu ili uende kwenye skrini ya kwanza"
"Gusa kitufe cha ukurasa wa mwanzo ili uende kwenye skrini ya kwanza"
-
-
-
-
+ "Uko tayari kuanza kutumia %1$s yako"
+ "kifaa"
"Mipangilio ya usogezaji kwenye mfumo"
"Shiriki"
"Picha ya skrini"
@@ -94,8 +92,7 @@
"Ghairi"
"Ruka"
"Zungusha skrini"
-
-
+ "Elimu ya Upauzana"
"Paneli ya elimu kwenye upau wa shughuli inaonyeshwa"
"Paneli ya elimu kwenye upau wa shughuli imefungwa"
"Tumia upau wa shughuli kubadilisha programu"
@@ -112,10 +109,8 @@
"Vilivyotumika majuzi"
"Arifa"
"Mipangilio ya Haraka"
-
-
-
-
+ "Upauzana"
+ "Sehemu ya viungo muhimu"
"Sogeza juu/kushoto"
"Sogeza chini/kulia"
diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml
index 76422a4698..d85ccca08a 100644
--- a/quickstep/res/values-uk/strings.xml
+++ b/quickstep/res/values-uk/strings.xml
@@ -78,10 +78,8 @@
"Готово."
"Щоб перейти на головний екран, проведіть пальцем угору"
"Натисніть кнопку головного екрана, щоб відкрити його"
-
-
-
-
+ "Тепер ви можете користуватися цим пристроєм: %1$s"
+ "пристрій"
"Системні налаштування навігації"
"Поділитися"
"Знімок екрана"
@@ -94,8 +92,7 @@
"Скасувати"
"Пропустити"
"Обернути екран"
-
-
+ "Панель завдань Education"
"Панель завдань Education відкрито"
"Панель завдань Education закрито"
"Переходьте між додатками за допомогою панелі завдань"
@@ -112,10 +109,8 @@
"Нещодавні"
"Сповіщення"
"Швидкі налаштув."
-
-
-
-
+ "Панель завдань"
+ "Панель навігації"
"Перемістити вгору або вліво"
"Перемістити вниз або вправо"
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index a82e7be8b9..3d98f6edc6 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -19,6 +19,7 @@ import static android.view.HapticFeedbackConstants.LONG_PRESS;
import static com.android.launcher3.anim.Interpolators.FINAL_FRAME;
import static com.android.launcher3.anim.Interpolators.INSTANT;
+import static com.android.launcher3.config.FeatureFlags.FORCE_PERSISTENT_TASKBAR;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_LONGPRESS_HIDE;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_LONGPRESS_SHOW;
import static com.android.launcher3.taskbar.Utilities.appendFlag;
@@ -241,8 +242,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
// it to work properly for tests that recreate taskbar. This check is here just to ensure
// that taskbar unstashes when going to 3 button mode (supportsVisualStashing() false).
boolean isManuallyStashedInApp = supportsVisualStashing()
- && mPrefs.getBoolean(SHARED_PREFS_STASHED_KEY, DEFAULT_STASHED_PREF)
- && !isTransientTaskbar;
+ && !isTransientTaskbar
+ && !FORCE_PERSISTENT_TASKBAR.get()
+ && mPrefs.getBoolean(SHARED_PREFS_STASHED_KEY, DEFAULT_STASHED_PREF);
boolean isInSetup = !mActivity.isUserSetupComplete() || setupUIVisible;
updateStateForFlag(FLAG_STASHED_IN_APP_MANUAL, isManuallyStashedInApp);
updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, isTransientTaskbar);
@@ -270,6 +272,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
* Returns whether the user can manually stash the taskbar based on the current device state.
*/
protected boolean supportsManualStashing() {
+ if (FORCE_PERSISTENT_TASKBAR.get()) {
+ return false;
+ }
return supportsVisualStashing()
&& isInApp()
&& (!Utilities.IS_RUNNING_IN_TEST_HARNESS || mEnableManualStashingDuringTests)
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index fd670c1707..483309d1cf 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2392,10 +2392,10 @@ public class Workspace extends PagedView
mDragTargetLayout.visualizeDropLocation(mTargetCell[0], mTargetCell[1],
item.spanX, item.spanY, d);
} else if ((mDragMode == DRAG_MODE_NONE || mDragMode == DRAG_MODE_REORDER)
- && !mReorderAlarm.alarmPending()
&& (mLastReorderX != reorderX || mLastReorderY != reorderY)
&& targetCellDistance < mDragTargetLayout.getReorderRadius(mTargetCell, item.spanX,
item.spanY)) {
+ mReorderAlarm.cancelAlarm();
mLastReorderX = reorderX;
mLastReorderY = reorderY;
mDragTargetLayout.performReorder((int) mDragViewVisualCenter[0],
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index 88654b735d..f9883e379c 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -338,6 +338,10 @@ public final class FeatureFlags {
"ENABLE_TASKBAR_REVISED_THRESHOLDS", false,
"Uses revised thresholds for transient taskbar.");
+ public static final BooleanFlag FORCE_PERSISTENT_TASKBAR = getDebugFlag(
+ "FORCE_PERSISTENT_TASKBAR", false, "Forces taskbar to be persistent, even in gesture"
+ + " nav mode and when transient taskbar is enabled.");
+
public static final BooleanFlag ENABLE_TRANSIENT_TASKBAR = getDebugFlag(
"ENABLE_TRANSIENT_TASKBAR", false, "Enables transient taskbar.");
diff --git a/src/com/android/launcher3/util/DisplayController.java b/src/com/android/launcher3/util/DisplayController.java
index 226f2d93c7..9ca0dd195c 100644
--- a/src/com/android/launcher3/util/DisplayController.java
+++ b/src/com/android/launcher3/util/DisplayController.java
@@ -21,6 +21,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
import static com.android.launcher3.Utilities.dpiFromPx;
import static com.android.launcher3.config.FeatureFlags.ENABLE_TRANSIENT_TASKBAR;
+import static com.android.launcher3.config.FeatureFlags.FORCE_PERSISTENT_TASKBAR;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.PackageManagerHelper.getPackageFilter;
import static com.android.launcher3.util.window.WindowManagerProxy.MIN_TABLET_WIDTH;
@@ -130,6 +131,9 @@ public class DisplayController implements ComponentCallbacks, SafeCloseable {
* Returns whether taskbar is transient.
*/
public static boolean isTransientTaskbar(Context context) {
+ if (FORCE_PERSISTENT_TASKBAR.get()) {
+ return false;
+ }
return getNavigationMode(context) == NavigationMode.NO_BUTTON
&& (Utilities.IS_RUNNING_IN_TEST_HARNESS
? sTransientTaskbarStatusForTests
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java b/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java
index d3b6d379a4..a8753ed135 100644
--- a/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java
+++ b/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java
@@ -41,7 +41,6 @@ import com.android.launcher3.widget.LauncherAppWidgetHostView;
import org.junit.Assume;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -145,28 +144,24 @@ public class ReorderWidgets extends AbstractLauncherUiTest {
runTestCase(testCaseMap.get(iconGridDimensions));
}
- @Ignore //b/261178121
@Test
- public void simpleReorder() throws ExecutionException, InterruptedException {
+ public void simpleReorder() throws ExecutionException, InterruptedException {
runTestCaseMap(SimpleReorderCase.TEST_BY_GRID_SIZE,
SimpleReorderCase.class.getSimpleName());
}
- @Ignore //b/261178121
@Test
- public void pushTest() throws ExecutionException, InterruptedException {
+ public void pushTest() throws ExecutionException, InterruptedException {
runTestCaseMap(PushReorderCase.TEST_BY_GRID_SIZE, PushReorderCase.class.getSimpleName());
}
- @Ignore //b/261178121
@Test
- public void fullReorder() throws ExecutionException, InterruptedException {
+ public void fullReorder() throws ExecutionException, InterruptedException {
runTestCaseMap(FullReorderCase.TEST_BY_GRID_SIZE, FullReorderCase.class.getSimpleName());
}
- @Ignore //b/261178121
@Test
- public void moveOutReorder() throws ExecutionException, InterruptedException {
+ public void moveOutReorder() throws ExecutionException, InterruptedException {
runTestCaseMap(MoveOutReorderCase.TEST_BY_GRID_SIZE,
MoveOutReorderCase.class.getSimpleName());
}
diff --git a/tests/src/com/android/launcher3/celllayout/testcases/FullReorderCase.java b/tests/src/com/android/launcher3/celllayout/testcases/FullReorderCase.java
index a98882cc7f..d68d2ede61 100644
--- a/tests/src/com/android/launcher3/celllayout/testcases/FullReorderCase.java
+++ b/tests/src/com/android/launcher3/celllayout/testcases/FullReorderCase.java
@@ -81,8 +81,29 @@ public class FullReorderCase {
MOVE_TO_4x4,
END_BOARD_STR_4x4);
+ /** 4x4 Test
+ **/
+ private static final String START_BOARD_STR_4x5 = ""
+ + "xxxx\n"
+ + "22mm\n"
+ + "iimm\n"
+ + "ii11\n"
+ + "ii11";
+ private static final Point MOVE_TO_4x5 = new Point(0, 3);
+ private static final String END_BOARD_STR_4x5 = ""
+ + "xxxx\n"
+ + "22ii\n"
+ + "mmii\n"
+ + "mm11\n"
+ + "ii11";
+
+ private static final ReorderTestCase TEST_CASE_4x5 = new ReorderTestCase(START_BOARD_STR_4x5,
+ MOVE_TO_4x5,
+ END_BOARD_STR_4x5);
+
public static final Map TEST_BY_GRID_SIZE =
Map.of(new Point(5, 5), TEST_CASE_5x5,
new Point(6, 5), TEST_CASE_6x5,
- new Point(4, 4), TEST_CASE_4x4);
+ new Point(4, 4), TEST_CASE_4x4,
+ new Point(4, 5), TEST_CASE_4x5);
}