Android11去除抽屉模式

diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
old mode 100644
new mode 100755
index 9a03d92e488..c4003f8454f
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
@@ -229,8 +229,12 @@ public class QuickstepLauncher extends BaseQuickstepLauncher {
             }
             case OVERVIEW_STATE_ORDINAL: {
                 RecentsView recentsView = getOverviewPanel();
-                DiscoveryBounce.showForOverviewIfNeeded(this,
-                        recentsView.getPagedOrientationHandler());
+                // add start
+                if(!FeatureFlags.REMOVE_DRAWER){
+                    DiscoveryBounce.showForOverviewIfNeeded(this,
+                            recentsView.getPagedOrientationHandler());
+                }
+                // add end
                 RecentsView rv = getOverviewPanel();
                 sendCustomAccessibilityEvent(
                         rv.getPageAt(rv.getCurrentPage()), TYPE_VIEW_FOCUSED, null);
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/OverviewToAllAppsTouchController.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/OverviewToAllAppsTouchController.java
old mode 100644
new mode 100755
index 90911684ecf..ec7432714cf
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/OverviewToAllAppsTouchController.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/OverviewToAllAppsTouchController.java
@@ -29,6 +29,7 @@ import com.android.launcher3.userevent.nano.LauncherLogProto;
 import com.android.quickstep.TouchInteractionService;
 import com.android.quickstep.views.RecentsView;
 
+import com.android.launcher3.config.FeatureFlags; // add start
 /**
  * Touch controller from going from OVERVIEW to ALL_APPS.
  *
@@ -42,6 +43,11 @@ public class OverviewToAllAppsTouchController extends PortraitStatesTouchControl
 
     @Override
     protected boolean canInterceptTouch(MotionEvent ev) {
+        // add start
+        if(FeatureFlags.REMOVE_DRAWER){
+            return false;
+        }
+        // add end
         if (mCurrentAnimation != null) {
             // If we are already animating from a previous state, we can intercept.
             return true;
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/Launch
erActivityInterface.java
old mode 100644
new mode 100755
index edefbe1252d..ff658b2693a
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java
@@ -59,6 +59,7 @@ import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
 
+import com.android.launcher3.config.FeatureFlags; // add start
 /**
  * {@link BaseActivityInterface} for the in-launcher recents.
  */
@@ -90,8 +91,12 @@ public final class LauncherActivityInterface extends
         Launcher launcher = getCreatedActivity();
         if (launcher != null) {
             RecentsView recentsView = launcher.getOverviewPanel();
-            DiscoveryBounce.showForOverviewIfNeeded(launcher,
-                    recentsView.getPagedOrientationHandler());
+            // add start
+            if(!FeatureFlags.REMOVE_DRAWER){
+                DiscoveryBounce.showForOverviewIfNeeded(launcher,
+                        recentsView.getPagedOrientationHandler());
+            }
+            // add end
         }
     }
 
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/tou
chcontrollers/PortraitStatesTouchController.java
old mode 100644
new mode 100755
index 20ee61db9b9..6a589a2e9b4
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
@@ -56,6 +56,8 @@ import com.android.quickstep.TouchInteractionService;
 import com.android.quickstep.util.LayoutUtils;
 import com.android.quickstep.views.RecentsView;
 
+import com.android.launcher3.config.FeatureFlags; // add start
+
 /**
  * Touch controller for handling various state transitions in portrait UI.
  */
@@ -118,6 +120,11 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr
                 return false;
             }
         } else {
+            // add start
+            if (FeatureFlags.REMOVE_DRAWER) {
+                return false;
+            }
+            // add end
             // If we are swiping to all apps instead of overview, allow it from anywhere.
             boolean interceptAnywhere = mLauncher.isInState(NORMAL) && !mAllowDragToOverview;
             // For all other states, only listen if the event originated below the hotseat height
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/BubbleTextView.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/BubbleTextView.java
old mode 100644
new mode 100755
index 60b6da67f9f..45dea013f9e
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/BubbleTextView.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/BubbleTextView.java
@@ -167,16 +167,29 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
         mDisplay = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE);
         final int defaultIconSize;
         if (mDisplay == DISPLAY_WORKSPACE) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx);
-            setCompoundDrawablePadding(grid.iconDrawablePaddingPx);
+            // add start
+            //setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx);
+            //setCompoundDrawablePadding(grid.iconDrawablePaddingPx);
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.folderChildTextSizePx);
+            setCompoundDrawablePadding(0);
+            // add end
+
             defaultIconSize = grid.iconSizePx;
         } else if (mDisplay == DISPLAY_ALL_APPS) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx);
-            setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx);
+            // add start
+            //setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx);
+            //setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx);
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.folderChildTextSizePx);
+            setCompoundDrawablePadding(0);
+            // add end
+
             defaultIconSize = grid.allAppsIconSizePx;
         } else if (mDisplay == DISPLAY_FOLDER) {
             setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.folderChildTextSizePx);
-            setCompoundDrawablePadding(grid.folderChildDrawablePaddingPx);
+            // add start
+            //setCompoundDrawablePadding(grid.folderChildDrawablePaddingPx);
+            setCompoundDrawablePadding(0);
+            // add end
             defaultIconSize = grid.folderChildIconSizePx;
         } else {
             // widget_selection or shortcut_popup
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
old mode 100644
new mode 100755
index 28574972ad6..8f81f475c0b
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
@@ -39,6 +39,8 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ControlType;
 import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
 import com.android.launcher3.views.Snackbar;
 
+import com.android.launcher3.config.FeatureFlags; // add start
+
 public class DeleteDropTarget extends ButtonDropTarget {
 
     private final StatsLogManager mStatsLogManager;
@@ -102,6 +104,15 @@ public class DeleteDropTarget extends ButtonDropTarget {
             mText = getResources().getString(canRemove(item)
                     ? R.string.remove_drop_target_label
                     : android.R.string.cancel);
+
+            // add start
+            if(FeatureFlags.REMOVE_DRAWER){
+                mText = getResources().getString(isCanDrop(item)
+                        ? R.string.remove_drop_target_label
+                        : android.R.string.cancel);
+            }
+            // add end
+
             setContentDescription(mText);
             requestLayout();
         }
@@ -117,6 +128,13 @@ public class DeleteDropTarget extends ButtonDropTarget {
     private void setControlTypeBasedOnDragSource(ItemInfo item) {
         mControlType = item.id != ItemInfo.NO_ID ? ControlType.REMOVE_TARGET
                 : ControlType.CANCEL_TARGET;
+
+        // add start
+        if(FeatureFlags.REMOVE_DRAWER) {
+            mControlType = isCanDrop(item) ? ControlType.REMOVE_TARGET
+                    : ControlType.CANCEL_TARGET;
+        }
+        // add end
     }
 
     @Override
@@ -156,11 +174,23 @@ public class DeleteDropTarget extends ButtonDropTarget {
         // Remove the item from launcher and the db, we can ignore the containerInfo in this call
         // because we already remove the drag view from the folder (if the drag originated from
         // a folder) in Folder.beginDrag()
+
+        // add start
+        if(!FeatureFlags.REMOVE_DRAWER || isCanDrop(item)) {
         mLauncher.removeItem(view, item, true /* deleteFromDb */);
         mLauncher.getWorkspace().stripEmptyScreens();
         mLauncher.getDragLayer()
                 .announceForAccessibility(getContext().getString(R.string.item_removed));
+        }
+        // add end
+    }
+
+    // add start
+    private boolean isCanDrop(ItemInfo item){
+        return !(item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
+                item.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER);
     }
+    // add end
 
     @Override
     public Target getDropTargetForLogging() {
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java
old mode 100644
new mode 100755
index 49caa93e612..930a575c474
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java
@@ -391,7 +391,9 @@ public class DeviceProfile {
             hotseatBarSizePx = iconSizePx + hotseatBarSidePaddingStartPx
                     + hotseatBarSidePaddingEndPx;
         }
-        hotseatCellHeightPx = iconSizePx;
+        // add start
+        hotseatCellHeightPx = iconSizePx + 30;
+        // add end
 
         if (!isVerticalLayout) {
             int expectedWorkspaceHeight = availableHeightPx - hotseatBarSizePx
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
old mode 100644
new mode 100755
index 62c9b4dc934..e61a7da68c1
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
@@ -315,7 +315,10 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
         return name;
     }
 
-    private static class PendingInstallShortcutInfo {
+    // add start
+    //private static class PendingInstallShortcutInfo {
+    public static class PendingInstallShortcutInfo {
+    // add end
 
         final boolean isActivity;
         @Nullable final ShortcutInfo shortcutInfo;
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
old mode 100644
new mode 100755
index 0970dae4790..043b14cc5ca
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
@@ -920,7 +920,11 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
         // Set the notification listener and fetch updated notifications when we resume
         NotificationListener.setNotificationsChangedListener(mPopupDataProvider);
 
-        DiscoveryBounce.showForHomeIfNeeded(this);
+        // add start
+        if(!FeatureFlags.REMOVE_DRAWER){
+            DiscoveryBounce.showForHomeIfNeeded(this);
+        }
+        // add end
     }
 
 
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/WorkspaceLayoutManager.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/WorkspaceLayoutManager.java
old mode 100644
new mode 100755
index c3d4aeb745b..47a8645a422
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/WorkspaceLayoutManager.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/WorkspaceLayoutManager.java
@@ -91,7 +91,10 @@ public interface WorkspaceLayoutManager {
 
             // Hide folder title in the hotseat
             if (child instanceof FolderIcon) {
-                ((FolderIcon) child).setTextVisible(false);
+                // add start
+                //((FolderIcon) child).setTextVisible(false);
+                ((FolderIcon) child).setTextVisible(true);
+                // add end
             }
         } else {
             // Show folder title if not in the hotseat
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
old mode 100644
new mode 100755
index a9b030e056a..e1166cc7664
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -40,6 +40,8 @@ import com.android.launcher3.views.ScrimView;
 import com.android.systemui.plugins.AllAppsSearchPlugin;
 import com.android.systemui.plugins.PluginListener;
 
+import com.android.launcher3.config.FeatureFlags; // add start
+
 /**
  * Handles AllApps view transition.
  * 1) Slides all apps view using direct manipulation
@@ -157,6 +159,12 @@ public class AllAppsTransitionController implements StateHandler<LauncherState>,
     @Override
     public void setStateWithAnimation(LauncherState toState,
             StateAnimationConfig config, PendingAnimation builder) {
+
+        // add start
+        if(FeatureFlags.REMOVE_DRAWER)
+            return;
+        // add end
+
         float targetProgress = toState.getVerticalProgress(mLauncher);
         if (Float.compare(mProgress, targetProgress) == 0) {
             if (!config.onlyPlayAtomicComponent()) {
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/DiscoveryBounce.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/DiscoveryBounce.java
old mode 100644
new mode 100755
index b4ff5ea19a7..4f206c51255
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/DiscoveryBounce.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/DiscoveryBounce.java
@@ -37,6 +37,8 @@ import com.android.launcher3.statemanager.StateManager.StateListener;
 import com.android.launcher3.touch.PagedOrientationHandler;
 import com.android.launcher3.util.OnboardingPrefs;
 
+import com.android.launcher3.config.FeatureFlags; // add start
+
 /**
  * Abstract base class of floating view responsible for showing discovery bounce animation
  */
@@ -132,10 +134,17 @@ public class DiscoveryBounce extends AbstractFloatingView {
     }
 
     public static void showForHomeIfNeeded(Launcher launcher) {
+       // add start
+       if(!FeatureFlags.REMOVE_DRAWER){
         showForHomeIfNeeded(launcher, true);
+        }
+        // add end
     }
 
     private static void showForHomeIfNeeded(Launcher launcher, boolean withDelay) {
+        // add start
+        if(!FeatureFlags.REMOVE_DRAWER){
+
         OnboardingPrefs onboardingPrefs = launcher.getOnboardingPrefs();
         if (!launcher.isInState(NORMAL)
                 || onboardingPrefs.getBoolean(OnboardingPrefs.HOME_BOUNCE_SEEN)
@@ -152,15 +161,23 @@ public class DiscoveryBounce extends AbstractFloatingView {
         onboardingPrefs.incrementEventCount(OnboardingPrefs.HOME_BOUNCE_COUNT);
 
         new DiscoveryBounce(launcher, 0).show(HOTSEAT);
+        }
+        // add end
     }
 
     public static void showForOverviewIfNeeded(Launcher launcher,
                                                PagedOrientationHandler orientationHandler) {
+        // add start
+        if(!FeatureFlags.REMOVE_DRAWER){
         showForOverviewIfNeeded(launcher, true, orientationHandler);
+        }
+        // add end
     }
 
     private static void showForOverviewIfNeeded(Launcher launcher, boolean withDelay,
                                                 PagedOrientationHandler orientationHandler) {
+        // add start
+        if(!FeatureFlags.REMOVE_DRAWER){
         OnboardingPrefs onboardingPrefs = launcher.getOnboardingPrefs();
         if (!launcher.isInState(OVERVIEW)
                 || !launcher.hasBeenResumed()
@@ -185,6 +202,8 @@ public class DiscoveryBounce extends AbstractFloatingView {
 
         new DiscoveryBounce(launcher, (1 - OVERVIEW.getVerticalProgress(launcher)))
                 .show(PREDICTION);
+        }
+        // add end
     }
 
     /**
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
old mode 100644
new mode 100755
index 5c4a4922fdc..823ee74668a
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
@@ -48,6 +48,10 @@ public final class FeatureFlags {
      */
     public static final boolean IS_STUDIO_BUILD = BuildConfig.DEBUG;
 
+    // add start
+    public static final boolean REMOVE_DRAWER = true;
+    // add end
+
     /**
      * Enable moving the QSB on the 0th screen of the workspace. This is not a configuration feature
      * and should be modified at a project level.
@@ -65,7 +69,7 @@ public final class FeatureFlags {
      */
     // When enabled the promise icon is visible in all apps while installation an app.
     public static final BooleanFlag PROMISE_APPS_IN_ALL_APPS = getDebugFlag(
-            "PROMISE_APPS_IN_ALL_APPS", false, "Add promise icon in all-apps");
+            "PROMISE_APPS_IN_ALL_APPS", true, "Add promise icon in all-apps"); // add start
 
     // When enabled a promise icon is added to the home screen when install session is active.
     public static final BooleanFlag PROMISE_APPS_NEW_INSTALLS = getDebugFlag(
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
old mode 100644
new mode 100755
index 03028d3a869..74a4b8864b7
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
@@ -47,6 +47,12 @@ import com.android.launcher3.util.TouchController;
 
 import java.util.ArrayList;
 
+// add start
+import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.DeleteDropTarget;
+import com.android.launcher3.LauncherSettings;
+// add end
+
 /**
  * Class for initiating a drag within a view or across multiple views.
  */
@@ -541,6 +547,14 @@ public class DragController implements DragDriver.EventListener, TouchController
                     dropTarget.onDrop(mDragObject, mOptions);
                 }
                 accepted = true;
+
+                // add start
+                if (FeatureFlags.REMOVE_DRAWER && dropTarget instanceof DeleteDropTarget &&
+                        isNeedCancelDrag(mDragObject.dragInfo)) {
+                    cancelDrag();
+                }
+                // add end
+
             }
         }
         final View dropTargetAsView = dropTarget instanceof View ? (View) dropTarget : null;
@@ -548,6 +562,13 @@ public class DragController implements DragDriver.EventListener, TouchController
         dispatchDropComplete(dropTargetAsView, accepted);
     }
 
+    // add start
+    private boolean isNeedCancelDrag(ItemInfo item){
+        return (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
+            item.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER);
+    }
+    // add end
+
     private DropTarget findDropTarget(int x, int y, int[] dropCoordinates) {
         mDragObject.x = x;
         mDragObject.y = y;
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
old mode 100644
new mode 100755
index c236fa6decd..870ef4daaa4
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
@@ -78,9 +78,11 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask {
                     }
 
                     // b/139663018 Short-circuit this logic if the icon is a system app
-                    if (PackageManagerHelper.isSystemApp(app.getContext(), item.getIntent())) {
-                        continue;
-                    }
+                    // add start
+                    //if (PackageManagerHelper.isSystemApp(app.getContext(), item.getIntent())) {
+                    //    continue;
+                    //}
+                    // add end
                 }
 
                 if (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) {
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AllAppsList.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AllAppsList.java
old mode 100644
new mode 100755
index eb5d1068acc..713a46b61cc
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AllAppsList.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/AllAppsList.java
@@ -64,6 +64,9 @@ public class AllAppsList {
 
     /** The list off all apps. */
     public final ArrayList<AppInfo> data = new ArrayList<>(DEFAULT_APPLICATIONS_NUMBER);
+    // add start
+    public ArrayList<AppInfo> added = new ArrayList<>(DEFAULT_APPLICATIONS_NUMBER);
+    // add end
 
     private IconCache mIconCache;
     private AppFilter mAppFilter;
@@ -142,6 +145,9 @@ public class AllAppsList {
         info.sectionName = mIndex.computeSectionName(info.title);
 
         data.add(info);
+        // add start
+        added.add(info);
+        // add end
         mDataChanged = true;
     }
 
@@ -155,6 +161,9 @@ public class AllAppsList {
             info.sectionName = mIndex.computeSectionName(info.title);
 
             data.add(info);
+            // add start
+            added.add(info);
+            // add end
             mDataChanged = true;
         }
     }
@@ -189,6 +198,9 @@ public class AllAppsList {
 
     public void clear() {
         data.clear();
+        // add start
+        added.clear();
+        // add end
         mDataChanged = false;
         // Reset the index as locales might have changed
         mIndex = new AlphabeticIndexCompat(LocaleList.getDefault());
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
old mode 100644
new mode 100755
index 9013cba54ff..26f09e8cc2f
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
@@ -32,6 +32,8 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.concurrent.Executor;
 
+import com.android.launcher3.config.FeatureFlags;      //andy
+
 /**
  * Extension of {@link ModelUpdateTask} with some utility methods
  */
@@ -62,7 +64,12 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask {
                 Log.d(TAG, "Ignoring model task since loader is pending=" + this);
             }
             // Loader has not yet run.
-            return;
+            // add start
+            // return;
+            if(!FeatureFlags.REMOVE_DRAWER){
+                return;
+            }
+            // add end
         }
         execute(mApp, mDataModel, mAllAppsList);
     }
@@ -115,10 +122,12 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask {
     }
 
     public void bindApplicationsIfNeeded() {
-        if (mAllAppsList.getAndResetChangeFlag()) {
+        // add start
+        /*if (mAllAppsList.getAndResetChangeFlag()) {*/
             AppInfo[] apps = mAllAppsList.copyData();
             int flags = mAllAppsList.getFlags();
             scheduleCallbackTask(c -> c.bindAllApplications(apps, flags));
-        }
+        // }
+        // add end
     }
 }
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
old mode 100644
new mode 100755
index 102ec31e1c8..e9c45ea52ed
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
@@ -98,7 +98,9 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CancellationException;
-
+// add start
+import android.util.Pair;
+// add end
 /**
  * Runnable for the thread that loads the contents of the launcher:
  *   - workspace icons
@@ -207,6 +209,12 @@ public class LoaderTask implements Runnable {
             List<LauncherActivityInfo> allActivityList = loadAllApps();
             logger.addSplit("loadAllApps");
 
+            // add start
+            if (FeatureFlags.REMOVE_DRAWER) {
+                verifyApplications();
+            }
+            // add end
+
             verifyNotStopped();
             mResults.bindAllApps();
             logger.addSplit("bindAllApps");
@@ -285,6 +293,30 @@ public class LoaderTask implements Runnable {
         TraceHelper.INSTANCE.endSection(traceToken);
     }
 
+    // add start
+    private void verifyApplications() {
+        final Context context = mApp.getContext();
+        ArrayList<Pair<ItemInfo, Object>> installQueue = new ArrayList<>();
+        final List<UserHandle> profiles = mUserManager.getUserProfiles();
+        for (UserHandle user : profiles) {
+            final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user);
+            ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo> added = new ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo>();
+            synchronized (this) {
+                for (LauncherActivityInfo app : apps) {
+                    InstallShortcutReceiver.PendingInstallShortcutInfo pendingInstallShortcutInfo = new InstallShortcutReceiver.PendingInstallShortcutInfo(app, context);
+                    added.add(pendingInstallShortcutInfo);
+                    installQueue.add(pendingInstallShortcutInfo.getItemInfo());
+                    Log.e("joyar","LoaderTask------pendingInstallShortcutInfo.getItemInfo()="+pendingInstallShortcutInfo.getItemInfo());
+                }
+            }
+            Log.e("joyar","LoaderTask------added="+added+",installQueue="+installQueue);
+            if (!added.isEmpty()) {
+                LauncherAppState.getInstance(context).getModel().addAndBindAddedWorkspaceItems(installQueue);
+            }
+        }
+    }
+    // add end
+
     public synchronized void stopLocked() {
         mStopped = true;
         this.notify();
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
old mode 100644
new mode 100755
index 7cd467efd6a..fdf381a8cb0
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
@@ -57,6 +57,12 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 
+// add start
+import android.util.Pair;
+import android.content.pm.LauncherActivityInfo;
+import java.util.List;
+import com.android.launcher3.model.data.AppInfo;
+// add end
 /**
  * Handles updates due to changes in package manager (app installed/updated/removed)
  * or when a user availability changes.
@@ -85,6 +91,33 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
         mPackages = packages;
     }
 
+    // add start
+    public void updateToWorkSpace( Context context, LauncherAppState app , AllAppsList appsList){
+        if(FeatureFlags.REMOVE_DRAWER){
+            ArrayList<Pair<ItemInfo, Object>> installQueue = new ArrayList<>();
+            final List<UserHandle> profiles = UserCache.INSTANCE.get(context).getUserProfiles();
+            ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo> added = new ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo>();
+            for (UserHandle user : profiles) {
+                final List<LauncherActivityInfo> apps = context.getSystemService(LauncherApps.class).getActivityList(null, user);
+                synchronized (this) {
+                    for (LauncherActivityInfo info : apps) {
+                        for (AppInfo appInfo : appsList.added) {
+                            if(info.getComponentName().equals(appInfo.componentName)){
+                                InstallShortcutReceiver.PendingInstallShortcutInfo mPendingInstallShortcutInfo =  new InstallShortcutReceiver.PendingInstallShortcutInfo(info,context);
+                                added.add(mPendingInstallShortcutInfo);
+                                installQueue.add(mPendingInstallShortcutInfo.getItemInfo());
+                            }
+                        }
+                    }
+                }
+            }
+            if (!added.isEmpty()) {
+                LauncherAppState.getInstance(context).getModel().addAndBindAddedWorkspaceItems(installQueue);
+            }
+        }
+    }
+    // add end
+
     @Override
     public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList appsList) {
         final Context context = app.getContext();
@@ -170,6 +203,14 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
 
         bindApplicationsIfNeeded();
 
+        // add start
+        final ArrayList<AppInfo> addedOrModified = new ArrayList<>();
+        addedOrModified.addAll(appsList.added);
+        if(FeatureFlags.REMOVE_DRAWER){
+            updateToWorkSpace(context, app, appsList);
+        }
+        // add end
+
         final IntSparseArrayMap<Boolean> removedShortcuts = new IntSparseArrayMap<>();
 
         // Update shortcut infos
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/settings/SettingsActivity.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/settings/SettingsActivity.java
old mode 100644
new mode 100755
index d3213a18717..f2c6937064c
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/settings/SettingsActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/settings/SettingsActivity.java
@@ -198,7 +198,10 @@ public class SettingsActivity extends FragmentActivity
                     }
                     // Initialize the UI once
                     preference.setDefaultValue(getAllowRotationDefaultValue());
-                    return true;
+                    // add start
+                    //return true;
+                    return false;
+                    // add end
 
                 case FLAGS_PREFERENCE_KEY:
                     // Only show flag toggler UI if this build variant implements that.
diff --git a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/touch/AllAppsSwipeController.java b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/touch/AllAppsSwipeController.java
old mode 100644
new mode 100755
index 4a202b65d86..cb37496afb6
--- a/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/touch/AllAppsSwipeController.java
+++ b/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/touch/AllAppsSwipeController.java
@@ -26,6 +26,8 @@ import com.android.launcher3.LauncherState;
 import com.android.launcher3.states.StateAnimationConfig.AnimationFlags;
 import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
 
+import com.android.launcher3.config.FeatureFlags; // add start
+
 /**
  * TouchController to switch between NORMAL and ALL_APPS state.
  */
@@ -56,6 +58,11 @@ public class AllAppsSwipeController extends AbstractStateChangeTouchController {
         if (mLauncher.isInState(ALL_APPS) && !mLauncher.getAppsView().shouldContainerScroll(ev)) {
             return false;
         }
+        // add start
+        if(FeatureFlags.REMOVE_DRAWER){
+            return false;
+        }
+        // add end
         return true;
     }
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340