Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f591ce5f authored by Himanshu Gupta's avatar Himanshu Gupta
Browse files

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
parent 0e08d300
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -27,3 +27,10 @@ flag {
    description: "This flag enables addition of App Installer button in Private Space container."
    bug: "308064949"
}

flag {
    name: "private_space_restrict_accessibility_drag"
    namespace: "launcher_search"
    description: "This flag disables accessibility drag for Private Space Apps."
    bug: "289223923"
}
+5 −1
Original line number Diff line number Diff line
@@ -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++;
+3 −1
Original line number Diff line number Diff line
@@ -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<Lau
    }

    private boolean supportAddToWorkSpace(ItemInfo item) {
        return (item instanceof WorkspaceItemFactory)
        return ((item instanceof AppInfo)
                    && (((AppInfo) item).runtimeStatusFlags & FLAG_NOT_PINNABLE) == 0)
                || ((item instanceof WorkspaceItemInfo)
                    && (((WorkspaceItemInfo) item).runtimeStatusFlags & FLAG_NOT_PINNABLE) == 0)
                || ((item instanceof PendingAddItemInfo)
+5 −1
Original line number Diff line number Diff line
@@ -50,11 +50,13 @@ import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.IconRequestInfo;
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.ContentWriter;
import com.android.launcher3.util.GridOccupancy;
import com.android.launcher3.util.IntArray;
import com.android.launcher3.util.IntSparseArrayMap;
import com.android.launcher3.util.UserIconInfo;

import java.net.URISyntaxException;
import java.security.InvalidParameterException;
@@ -353,6 +355,8 @@ public class LoaderCursor extends CursorWrapper {
        final WorkspaceItemInfo info = new WorkspaceItemInfo();
        info.user = user;
        info.intent = newIntent;
        UserCache userCache = UserCache.getInstance(mContext);
        UserIconInfo userIconInfo = userCache.getUserInfo(user);

        if (loadIcon) {
            mIconCache.getTitleAndIcon(info, mActivityInfo, useLowResIcon);
@@ -362,7 +366,7 @@ public class LoaderCursor extends CursorWrapper {
        }

        if (mActivityInfo != null) {
            AppInfo.updateRuntimeFlagsForActivityTarget(info, mActivityInfo);
            AppInfo.updateRuntimeFlagsForActivityTarget(info, mActivityInfo, userIconInfo);
        }

        // from the db
+1 −1
Original line number Diff line number Diff line
@@ -655,7 +655,7 @@ public class LoaderTask implements Runnable {
            // Create the ApplicationInfos
            for (int i = 0; i < apps.size(); i++) {
                LauncherActivityInfo app = apps.get(i);
                AppInfo appInfo = new AppInfo(app, user, quietMode);
                AppInfo appInfo = new AppInfo(app, mUserCache.getUserInfo(user), quietMode);
                if (enableSupportForArchiving() && app.getApplicationInfo().isArchived) {
                    // For archived apps, include progress info in case there is a pending
                    // install session post restart of device.
Loading