From 9fdd7a1340c554d1672523d5776267da297b54e4 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Thu, 9 Mar 2023 13:41:21 +0000 Subject: [PATCH 01/12] Stash taskbar on swipe to go home for 3p fallback launcher. Fix: 269070986 Test: manual. Install launcher3WithoutQuickstepDebug and swipe to home from within an app. Change-Id: I1fe3d48793644d35271440e40dd028dd64e6d0cf --- .../taskbar/FallbackTaskbarUIController.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java index c165750db8..9bcc80405d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java @@ -77,13 +77,14 @@ public class FallbackTaskbarUIController extends TaskbarUIController { /** * Creates an animation to animate the taskbar for the given state (but does not start it). - * Currently this animation just force stashes the taskbar in Overview. */ public Animator createAnimToRecentsState(RecentsState toState, long duration) { - boolean useStashedLauncherState = toState.hasOverviewActions(); - boolean stashedLauncherState = - useStashedLauncherState && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get() - && toState == RecentsState.MODAL_TASK; + // Force stash the taskbar in overview modal state or when going home. + boolean useStashedLauncherState = + toState.hasOverviewActions() || toState == RecentsState.HOME; + boolean stashedLauncherState = useStashedLauncherState && ( + (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get() && toState == RecentsState.MODAL_TASK) + || toState == RecentsState.HOME); TaskbarStashController stashController = mControllers.taskbarStashController; // Set both FLAG_IN_STASHED_LAUNCHER_STATE and FLAG_IN_APP to ensure the state is respected. // For all other states, just use the current stashed-in-app setting (e.g. if long clicked). From 616b46ef2ecddcbc85584bfeb786b370d696d88f Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Fri, 10 Mar 2023 15:35:15 +0000 Subject: [PATCH 02/12] Scale using workspace width for handheld device on swiping from home to overview. Continue to use height to compute scale for two panel home. Fix: 272735870 Test: manual. Swipe from home to overview. Change-Id: If7da8c504c389eab3ca337a69eb60dfe28467ed2 --- .../launcher3/uioverrides/states/OverviewState.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java index d2f9294c5b..214679acbe 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java @@ -75,9 +75,17 @@ public class OverviewState extends LauncherState { @Override public ScaleAndTranslation getWorkspaceScaleAndTranslation(Launcher launcher) { RecentsView recentsView = launcher.getOverviewPanel(); - float workspacePageHeight = launcher.getDeviceProfile().getCellLayoutHeight(); recentsView.getTaskSize(sTempRect); - float scale = (float) sTempRect.height() / workspacePageHeight; + float scale; + DeviceProfile deviceProfile = launcher.getDeviceProfile(); + if (deviceProfile.isTwoPanels) { + // In two panel layout, width does not include both panels or space between them, so + // use height instead. We do not use height for handheld, as cell layout can be + // shorter than a task and we want the workspace to scale down to task size. + scale = (float) sTempRect.height() / deviceProfile.getCellLayoutHeight(); + } else { + scale = (float) sTempRect.width() / deviceProfile.getCellLayoutWidth(); + } float parallaxFactor = 0.5f; return new ScaleAndTranslation(scale, 0, -getDefaultSwipeHeight(launcher) * parallaxFactor); } From 7a68378fe4c8b7b970fae7bdc3f3307c1e01a812 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 22 Feb 2023 17:04:18 -0800 Subject: [PATCH 03/12] Add debug logs for WorkTabExists test Bug: 243688989 Change-Id: Iafec4cae86f1527acac9a25fceb501609ca308f6 --- .../allapps/ActivityAllAppsContainerView.java | 13 ++++++++++++- src/com/android/launcher3/allapps/AllAppsStore.java | 6 ++++++ .../launcher3/allapps/WorkProfileManager.java | 10 ++++++++++ .../launcher3/testing/shared/TestProtocol.java | 1 + .../com/android/launcher3/ui/WorkProfileTest.java | 7 +++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java index 8fbe997995..895020301a 100644 --- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java @@ -19,6 +19,7 @@ import static com.android.launcher3.allapps.ActivityAllAppsContainerView.Adapter import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_COUNT; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_TAP_ON_PERSONAL_TAB; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_TAP_ON_WORK_TAB; +import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; import static com.android.launcher3.util.ScrollableLayoutManager.PREDICTIVE_BACK_MIN_SCALE; import android.animation.Animator; @@ -73,6 +74,7 @@ import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.keyboard.FocusedItemDecorator; import com.android.launcher3.model.StringCache; import com.android.launcher3.model.data.ItemInfo; +import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.Themes; import com.android.launcher3.views.ActivityContext; @@ -183,7 +185,12 @@ public class ActivityAllAppsContainerView mNavBarScrimPaint = new Paint(); mNavBarScrimPaint.setColor(Themes.getAttrColor(context, R.attr.allAppsNavBarScrimColor)); - mAllAppsStore.addUpdateListener(this::onAppsUpdated); + AllAppsStore.OnUpdateListener onAppsUpdated = this::onAppsUpdated; + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "ActivityAllAppsContainer#init registeringListener: " + + onAppsUpdated); + } + mAllAppsStore.addUpdateListener(onAppsUpdated); mActivityContext.addOnDeviceProfileChangeListener(this); // This is a focus listener that proxies focus from a view into the list view. This is to @@ -809,6 +816,10 @@ public class ActivityAllAppsContainerView private void onAppsUpdated() { mHasWorkApps = Stream.of(mAllAppsStore.getApps()).anyMatch(mWorkManager.getMatcher()); + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "ActivityAllAppsContainerView#onAppsUpdated hasWorkApps: " + + mHasWorkApps + " allApps: " + mAllAppsStore.getApps().length); + } if (!isSearching()) { rebindAdapters(); if (mHasWorkApps) { diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java index 7bc3eecfea..a977b3a2d9 100644 --- a/src/com/android/launcher3/allapps/AllAppsStore.java +++ b/src/com/android/launcher3/allapps/AllAppsStore.java @@ -18,7 +18,9 @@ package com.android.launcher3.allapps; import static com.android.launcher3.model.data.AppInfo.COMPONENT_KEY_COMPARATOR; import static com.android.launcher3.model.data.AppInfo.EMPTY_ARRAY; import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_SHOW_DOWNLOAD_PROGRESS_MASK; +import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; +import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -27,6 +29,7 @@ import androidx.annotation.Nullable; import com.android.launcher3.BubbleTextView; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.ItemInfo; +import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.PackageUserKey; @@ -119,6 +122,9 @@ public class AllAppsStore { return; } for (OnUpdateListener listener : mUpdateListeners) { + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "AllAppsStore#notifyUpdate listener: " + listener); + } listener.onAppsUpdated(); } } diff --git a/src/com/android/launcher3/allapps/WorkProfileManager.java b/src/com/android/launcher3/allapps/WorkProfileManager.java index f66ea34d7c..30af50261d 100644 --- a/src/com/android/launcher3/allapps/WorkProfileManager.java +++ b/src/com/android/launcher3/allapps/WorkProfileManager.java @@ -25,6 +25,7 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_HAS_SHORTCUT_PERMISSION; import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_CHANGE_PERMISSION; import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED; +import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import android.os.Build; @@ -46,6 +47,7 @@ import com.android.launcher3.Utilities; import com.android.launcher3.allapps.BaseAllAppsAdapter.AdapterItem; import com.android.launcher3.logging.StatsLogManager; import com.android.launcher3.model.data.ItemInfo; +import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip; import java.lang.annotation.Retention; @@ -137,6 +139,10 @@ public class WorkProfileManager implements PersonalWorkSlidingTabStrip.OnActiveP } private void updateCurrentState(@WorkProfileState int currentState) { + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "WorkProfileManager#updateCurrentState: " + + currentState, new Throwable()); + } mCurrentState = currentState; if (getAH() != null) { getAH().mAppsList.updateAdapterItems(); @@ -155,6 +161,10 @@ public class WorkProfileManager implements PersonalWorkSlidingTabStrip.OnActiveP * Creates and attaches for profile toggle button to {@link ActivityAllAppsContainerView} */ public boolean attachWorkModeSwitch() { + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "ActivityAllAppsContainerView#attachWorkModeSwitch " + + "mWorkModeSwitch: " + mWorkModeSwitch); + } if (!mAllApps.getAppsStore().hasModelFlag( FLAG_HAS_SHORTCUT_PERMISSION | FLAG_QUIET_MODE_CHANGE_PERMISSION)) { Log.e(TAG, "unable to attach work mode switch; Missing required permissions"); diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java index c69ec2cc26..dd035fcd46 100644 --- a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java +++ b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java @@ -156,6 +156,7 @@ public final class TestProtocol { public static final String NPE_TRANSIENT_TASKBAR = "b/257549303"; public static final String FLAKY_BINDING = "b/270216650"; public static final String VIEW_AND_ACTIVITY_LEAKS = "b/260260325"; + public static final String WORK_TAB_MISSING = "b/243688989"; 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/ui/WorkProfileTest.java b/tests/src/com/android/launcher3/ui/WorkProfileTest.java index c7628ccd63..9eeea2425a 100644 --- a/tests/src/com/android/launcher3/ui/WorkProfileTest.java +++ b/tests/src/com/android/launcher3/ui/WorkProfileTest.java @@ -18,6 +18,7 @@ package com.android.launcher3.ui; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.allapps.AllAppsStore.DEFER_UPDATES_TEST; +import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -65,8 +66,13 @@ public class WorkProfileTest extends AbstractLauncherUiTest { String[] tokens = output.split("\\s+"); mProfileUserId = Integer.parseInt(tokens[tokens.length - 1]); output = mDevice.executeShellCommand("am start-user " + mProfileUserId); + StringBuilder logStr = new StringBuilder().append("profileId: ").append(mProfileUserId); + for (String str : tokens) { + logStr.append(str).append("\n"); + } updateWorkProfileSetupSuccessful("am start-user", output); + Log.d(WORK_TAB_MISSING, "workProfileSuccessful? " + mWorkProfileSetupSuccessful); if (!mWorkProfileSetupSuccessful) { return; // no need to setup launcher since all tests will skip. } @@ -99,6 +105,7 @@ public class WorkProfileTest extends AbstractLauncherUiTest { private void waitForWorkTabSetup() { waitForLauncherCondition("Work tab not setup", launcher -> { if (launcher.getAppsView().getContentView() instanceof AllAppsPagedView) { + Log.d(WORK_TAB_MISSING, "Deferring AppsStore updates"); launcher.getAppsView().getAppsStore().enableDeferUpdates(DEFER_UPDATES_TEST); return true; } From 2b3343018e6cc6e509369c79e1f65aad4db62dc0 Mon Sep 17 00:00:00 2001 From: Brandon Dayauon Date: Sun, 12 Mar 2023 18:46:29 -0700 Subject: [PATCH 04/12] Shortcut/people icon horizontal layout polish - allow two line for SearchResultShortcutIcons (also be used in search_result_icon_container) bug: 261047689 test: manual - https://screenshot.googleplex.com/9wwjxp3nqf4iyJr Change-Id: Ie8d1415ea94f843f32abb9e4416064c1b674be6d --- src/com/android/launcher3/BubbleTextView.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 801b740ca1..865edcd3d1 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -665,8 +665,9 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, getPaddingBottom()); } // only apply two line for all_apps - if (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() && (mLastOriginalText != null) - && (mDisplay == DISPLAY_ALL_APPS)) { + if (((FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() && mDisplay == DISPLAY_ALL_APPS) + || (FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get() + && mDisplay == DISPLAY_SEARCH_RESULT)) && (mLastOriginalText != null)) { CharSequence modifiedString = modifyTitleToSupportMultiLine( MeasureSpec.getSize(widthMeasureSpec) - getCompoundPaddingLeft() - getCompoundPaddingRight(), From f262cf989eb0913a7ba4ec713fc95fe5822fec8c Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Tue, 14 Mar 2023 11:04:16 -0700 Subject: [PATCH 05/12] Fix taskbar spring when going from home to overview. Bug: 246660243 Test: go home -> overview Change-Id: Id49d8f7457940ce28684c0259ed1f204b9026609 --- .../quickstep/inputconsumers/TaskbarStashInputConsumer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java index 9982162368..1ddb855ef2 100644 --- a/quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java +++ b/quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java @@ -53,6 +53,7 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { private final float mScreenWidth; private final int mTaskbarNavThreshold; + private final int mTaskbarNavThresholdY; private final boolean mIsTaskbarAllAppsOpen; private boolean mHasPassedTaskbarNavThreshold; @@ -74,6 +75,8 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { Resources res = context.getResources(); mUnstashArea = res.getDimensionPixelSize(R.dimen.taskbar_unstash_input_area); mTaskbarNavThreshold = res.getDimensionPixelSize(R.dimen.taskbar_nav_threshold); + mTaskbarNavThresholdY = taskbarActivityContext.getDeviceProfile().heightPx + - mTaskbarNavThreshold; mIsTaskbarAllAppsOpen = mTaskbarActivityContext != null && mTaskbarActivityContext.isTaskbarAllAppsOpen(); @@ -163,7 +166,7 @@ public class TaskbarStashInputConsumer extends DelegateInputConsumer { } if (dY < 0) { - dY = -OverScroll.dampedScroll(-dY, mTaskbarNavThreshold); + dY = -OverScroll.dampedScroll(-dY, mTaskbarNavThresholdY); if (mTransitionCallback != null && !mIsTaskbarAllAppsOpen) { mTransitionCallback.onActionMove(dY); } From 2b4e19a01aba5eac9848c00c2fa850c68844e639 Mon Sep 17 00:00:00 2001 From: Stefan Andonian Date: Wed, 8 Mar 2023 18:26:32 +0000 Subject: [PATCH 06/12] Enable CONTINUOUS_VIEW_TREE_CAPTURE FeatureFlag. Bug: 224595733 Test: Feature works wonderfully. Change-Id: Idf20cc673d32484eeb4501060c58b1d334dd6ad3 --- src/com/android/launcher3/config/FeatureFlags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index f03be0e193..173680cd8c 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -286,7 +286,7 @@ public final class FeatureFlags { "Use local overrides for search request timeout"); public static final BooleanFlag CONTINUOUS_VIEW_TREE_CAPTURE = getDebugFlag(270395171, - "CONTINUOUS_VIEW_TREE_CAPTURE", false, "Capture View tree every frame"); + "CONTINUOUS_VIEW_TREE_CAPTURE", true, "Capture View tree every frame"); public static final BooleanFlag SECONDARY_DRAG_N_DROP_TO_PIN = getDebugFlag( 270395140, "SECONDARY_DRAG_N_DROP_TO_PIN", false, From 40595ac4c0142ce3d72326fc244293f4f3615167 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 14 Mar 2023 14:10:33 -0700 Subject: [PATCH 07/12] Add debug logging for touch handling for all tests * This information comes up often enough in test failures, good to have at the outset to rule out obvious issues. Bug: 270214626 Change-Id: Iee70fffed7a742565f41d8bf5aa38cdabefca3b4 --- .../OrientationTouchTransformer.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/quickstep/src/com/android/quickstep/OrientationTouchTransformer.java b/quickstep/src/com/android/quickstep/OrientationTouchTransformer.java index 1b05fd272d..84f6b5514f 100644 --- a/quickstep/src/com/android/quickstep/OrientationTouchTransformer.java +++ b/quickstep/src/com/android/quickstep/OrientationTouchTransformer.java @@ -33,6 +33,7 @@ import android.view.Surface; import com.android.launcher3.R; import com.android.launcher3.testing.shared.ResourceUtils; +import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.util.window.CachedDisplayInfo; @@ -119,7 +120,7 @@ class OrientationTouchTransformer { } void setNavigationMode(NavigationMode newMode, Info info, Resources newRes) { - if (DEBUG) { + if (enableLog()) { Log.d(TAG, "setNavigationMode new: " + newMode + " oldMode: " + mMode + " " + this); } if (mMode == newMode) { @@ -206,7 +207,7 @@ class OrientationTouchTransformer { * Ok to call multiple times. */ private void resetSwipeRegions(Info region) { - if (DEBUG) { + if (enableLog()) { Log.d(TAG, "clearing all regions except rotation: " + mCachedDisplayInfo.rotation); } @@ -230,9 +231,11 @@ class OrientationTouchTransformer { } private OrientationRectF createRegionForDisplay(Info display) { - if (DEBUG) { + if (enableLog()) { Log.d(TAG, "creating rotation region for: " + mCachedDisplayInfo.rotation - + " with mode: " + mMode + " displayRotation: " + display.rotation); + + " with mode: " + mMode + " displayRotation: " + display.rotation + + " displaySize: " + display.currentSize + + " navBarHeight: " + mNavBarGesturalHeight); } Point size = display.currentSize; @@ -296,9 +299,8 @@ class OrientationTouchTransformer { } boolean touchInValidSwipeRegions(float x, float y) { - if (DEBUG) { - Log.d(TAG, "touchInValidSwipeRegions " + x + "," + y + " in " - + mLastRectTouched + " this: " + this); + if (enableLog()) { + Log.d(TAG, "touchInValidSwipeRegions " + x + "," + y + " in " + mLastRectTouched); } if (mLastRectTouched != null) { return mLastRectTouched.contains(x, y); @@ -357,11 +359,17 @@ class OrientationTouchTransformer { } case ACTION_POINTER_DOWN: case ACTION_DOWN: { + if (enableLog()) { + Log.d(TAG, "ACTION_DOWN mLastRectTouched: " + mLastRectTouched); + } if (mLastRectTouched != null) { return; } for (OrientationRectF rect : mSwipeTouchRegions.values()) { + if (enableLog()) { + Log.d(TAG, "ACTION_DOWN rect: " + rect); + } if (rect == null) { continue; } @@ -376,7 +384,7 @@ class OrientationTouchTransformer { mQuickStepStartingRotation = mLastRectTouched.getRotation(); resetSwipeRegions(); } - if (DEBUG) { + if (enableLog()) { Log.d(TAG, "set active region: " + rect); } return; @@ -387,6 +395,10 @@ class OrientationTouchTransformer { } } + private boolean enableLog() { + return DEBUG || TestProtocol.sDebugTracing; + } + public void dump(PrintWriter pw) { pw.println("OrientationTouchTransformerState: "); pw.println(" currentActiveRotation=" + getCurrentActiveRotation()); From 068198f8e40462868406754860b08e15ae8859fc Mon Sep 17 00:00:00 2001 From: Federico Baron Date: Tue, 14 Mar 2023 15:24:11 -0700 Subject: [PATCH 08/12] Enable dot pagination for workspace Bug: 262741688 Test: N/A Change-Id: I305cd31381ede212bc242e821fd96a2ff30099c8 --- src/com/android/launcher3/config/FeatureFlags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 173680cd8c..70eb360097 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -348,7 +348,7 @@ public final class FeatureFlags { "ENABLE_APP_ICON_IN_INLINE_SHORTCUTS", false, "Show app icon for inline shortcut"); public static final BooleanFlag SHOW_DOT_PAGINATION = getDebugFlag(270395278, - "SHOW_DOT_PAGINATION", false, "Enable showing dot pagination in workspace"); + "SHOW_DOT_PAGINATION", true, "Enable showing dot pagination in workspace"); public static final BooleanFlag LARGE_SCREEN_WIDGET_PICKER = getDebugFlag(270395809, "LARGE_SCREEN_WIDGET_PICKER", false, "Enable new widget picker that takes " From 17f7406a5e43c2b384cf081f529f17b2afecbfdd Mon Sep 17 00:00:00 2001 From: Manusaran Reddy Avula Date: Wed, 15 Mar 2023 04:42:07 +0000 Subject: [PATCH 09/12] Revert "Enable CONTINUOUS_VIEW_TREE_CAPTURE FeatureFlag." This reverts commit 2b4e19a01aba5eac9848c00c2fa850c68844e639. Reason for revert: b/273614966 Change-Id: I2f16b37d2f18c167012cfb9ec42797a7bef3648d --- src/com/android/launcher3/config/FeatureFlags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 173680cd8c..f03be0e193 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -286,7 +286,7 @@ public final class FeatureFlags { "Use local overrides for search request timeout"); public static final BooleanFlag CONTINUOUS_VIEW_TREE_CAPTURE = getDebugFlag(270395171, - "CONTINUOUS_VIEW_TREE_CAPTURE", true, "Capture View tree every frame"); + "CONTINUOUS_VIEW_TREE_CAPTURE", false, "Capture View tree every frame"); public static final BooleanFlag SECONDARY_DRAG_N_DROP_TO_PIN = getDebugFlag( 270395140, "SECONDARY_DRAG_N_DROP_TO_PIN", false, From 87eda343f9ce78f37bfbeae9b57fe89eb19605d6 Mon Sep 17 00:00:00 2001 From: Nick Chameyev Date: Wed, 15 Mar 2023 11:05:28 +0000 Subject: [PATCH 10/12] [Unfold animation] Restore clippings before clearing registered views When launcher rotates during the fold/unfold animation we clear views registered for the animation but we don't restore the original clipping options that might be set. This causes lost of the original property values as the map that stores original values will store updated values (after the animation preparation). Bug: 273554726 Test: manual Change-Id: I9c44a7ce4867ba0c3d6d1dca728d7c4cd3b378db --- .../android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java b/quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java index 2a8bfa269d..ad11b7e953 100644 --- a/quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java +++ b/quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java @@ -86,6 +86,7 @@ public abstract class BaseUnfoldMoveFromCenterAnimator implements TransitionProg } private void clearRegisteredViews() { + restoreClippings(); mMoveFromCenterAnimation.clearRegisteredViews(); mOriginalClipChildren.clear(); From ae1ce47770f5df78836450901d1cc94708e61bfc Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 15 Mar 2023 09:57:27 -0700 Subject: [PATCH 11/12] Enabling dynamic flag application Bug: 266854800 Test: Verified by changing flags using adb shell Change-Id: I29a8b581c9edb21ed4a7204c33f0e5fe8eef51b9 --- .../com/android/launcher3/uioverrides/flags/FlagsFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java index 888cc9d63a..f748e8a3e8 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java +++ b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java @@ -46,7 +46,7 @@ public class FlagsFactory { private static final String TAG = "FlagsFactory"; private static final FlagsFactory INSTANCE = new FlagsFactory(); - private static final boolean FLAG_AUTO_APPLY_ENABLED = false; + private static final boolean FLAG_AUTO_APPLY_ENABLED = true; public static final String FLAGS_PREF_NAME = "featureFlags"; public static final String NAMESPACE_LAUNCHER = "launcher"; From 880a122e38886c612826932e7e6d928b37ca5e2c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 15 Mar 2023 09:24:27 -0700 Subject: [PATCH 12/12] Restricting owners for Dr.No 1.5 Test: N/A Bug: 273771605 Change-Id: I82b3b9894b1a665b19926cbb2451c0844051a09d --- OWNERS | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/OWNERS b/OWNERS index 2d7a014ce9..4fd6a503f0 100644 --- a/OWNERS +++ b/OWNERS @@ -5,36 +5,12 @@ # adamcohen@google.com -alexchau@google.com -andonian@google.com -awickham@google.com -brdayauon@google.com -brianji@google.com captaincole@google.com -charlander@google.com -fbaron@google.com -ganjam@google.com -hwwang@google.com hyunyoungs@google.com -jagrutdesai@google.com -jeremysim@google.com -jiuyu@google.com -jonmiranda@google.com -kylim@google.com -patmanning@google.com -peanutbutter@google.com -pinyaoting@google.com -randypfohl@google.com -saumyaprakash@google.com -sihua@google.com sunnygoyal@google.com -tracyzhou@google.com -tsuharesu@google.com twickham@google.com vadimt@google.com -victortulias@google.com winsonc@google.com -xuqiu@google.com per-file FeatureFlags.java, globs = set noparent per-file FeatureFlags.java = sunnygoyal@google.com, winsonc@google.com, adamcohen@google.com, hyunyoungs@google.com, captaincole@google.com