From f591ce5f177cdf47a7c0742ae29db307c1e08e75 Mon Sep 17 00:00:00 2001 From: Himanshu Gupta Date: Mon, 15 Jan 2024 18:14:59 +0530 Subject: [PATCH] Restricting Accessibility flows for Private Profile. Adding PS apps to the home screen is restricted. This CL prevents the same from accessibility drags. Bug: 289223923 Flag: ACONFIG com.android.launcher3.Flags.private_space_restrict_accessibility_drag DEVELOPEMENT Test: Ran Launcher3 Tests. Change-Id: I3e2b7b196b96a4d2ba34d8ece5fd6e0463f17253 --- aconfig/launcher_search.aconfig | 9 ++++++++- .../model/QuickstepModelDelegate.java | 6 +++++- .../LauncherAccessibilityDelegate.java | 4 +++- .../android/launcher3/model/LoaderCursor.java | 6 +++++- .../android/launcher3/model/LoaderTask.java | 2 +- .../android/launcher3/model/data/AppInfo.java | 20 ++++++++++++++----- .../model/data/WorkspaceItemInfo.java | 7 +++++++ .../android/launcher3/model/LoaderTaskTest.kt | 4 ++++ 8 files changed, 48 insertions(+), 10 deletions(-) diff --git a/aconfig/launcher_search.aconfig b/aconfig/launcher_search.aconfig index 97e56b7929..b84660402c 100644 --- a/aconfig/launcher_search.aconfig +++ b/aconfig/launcher_search.aconfig @@ -26,4 +26,11 @@ flag { namespace: "launcher_search" description: "This flag enables addition of App Installer button in Private Space container." bug: "308064949" -} \ No newline at end of file +} + +flag { + name: "private_space_restrict_accessibility_drag" + namespace: "launcher_search" + description: "This flag disables accessibility drag for Private Space Apps." + bug: "289223923" +} diff --git a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java index 667f78498e..0ce1cb835c 100644 --- a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java +++ b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java @@ -68,6 +68,7 @@ import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.FolderInfo; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; +import com.android.launcher3.pm.UserCache; import com.android.launcher3.shortcuts.ShortcutKey; import com.android.launcher3.util.Executors; import com.android.launcher3.util.IntSparseArrayMap; @@ -553,7 +554,10 @@ public class QuickstepModelDelegate extends ModelDelegate { if (lai == null) { return null; } - AppInfo info = new AppInfo(lai, user, mUMS.isUserQuiet(user)); + AppInfo info = new AppInfo( + lai, + UserCache.INSTANCE.get(mAppState.getContext()).getUserInfo(user), + mUMS.isUserQuiet(user)); info.container = mContainer; mAppState.getIconCache().getTitleAndIcon(info, lai, false); mReadCount++; diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java index ac5b528e68..0844275fcd 100644 --- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java @@ -32,6 +32,7 @@ import com.android.launcher3.dragndrop.DragOptions.PreDragCondition; import com.android.launcher3.dragndrop.DragView; import com.android.launcher3.folder.Folder; import com.android.launcher3.keyboard.KeyboardDragAndDropView; +import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.FolderInfo; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.LauncherAppWidgetInfo; @@ -126,7 +127,8 @@ public class LauncherAccessibilityDelegate extends BaseAccessibilityDelegate(MAIN_HANDLE) + `when`(userCache.userProfiles).thenReturn(mockUserHandles) + `when`(userCache.getUserInfo(MAIN_HANDLE)).thenReturn(UserIconInfo(MAIN_HANDLE, 1)) LoaderTask(app, bgAllAppsList, this, modelDelegate, launcherBinder) .runSyncOnBackgroundThread() Truth.assertThat(workspaceItems.size).isAtLeast(25)