android P (9.0) Launcher3 去掉抽屉式,显示所有app

参考:

 android P (9.0) Launcher3 去掉抽屉式,显示所有app

【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏

android 9.0 Launcher3修改PageIndicator

Android 9.0 Launcher源码分析(一)——系统启动Launcher流程

Android 9.0 Launcher源码分析(二)——Launcher应用启动流程,数据加载与绑定

Android 9.0 Launcher源码分析(三)——Launcher的布局与多设备适配

说两个与参考不同的地方

1.新安装的APP 显示到桌面修改

\frameworks\base\services\core\java\com\android\server\pm\PackageInstallerSession.java

+++ b/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
@@ -55,6 +55,11 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import android.util.Pair;
+//oudelin 
+import android.content.pm.ActivityInfo;
+import android.content.pm.LauncherActivityInfo;
+
 
 /**
  * Handles updates due to changes in package manager (app installed/updated/removed)
@@ -159,7 +164,32 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
         //add by delin for singel launcher
         if(FeatureFlags.REMOVE_DRAWER){
          //   updateToWorkSpace(context, app, appsList);
-        }
+                ArrayList<Pair<ItemInfo, Object>> installQueue = new ArrayList<>();
+                       final List<UserHandle> profiles = UserManagerCompat.getInstance(context).getUserProfiles();
+                       ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo> added = new ArrayList<InstallShortcutReceiver.PendingInstallShortcutInfo>();
+                       for (UserHandle user : profiles) {
+                               final List<LauncherActivityInfo> apps = LauncherAppsCompat.getInstance(context).getActivityList(null, user);
+                               
+                               android.util.Log.e("sssssslaunhcer","+++++++++++++++");
+                               synchronized (this) {
+                                       for (LauncherActivityInfo info : apps) {
+                                                       for (AppInfo appInfo : appsList.added) {
+                                                               if(info.getComponentName().equals(appInfo.componentName)){
+                                                                       android.util.Log.e("sssssslaunhcer","+++++++++++++++");
+                                                                       InstallShortcutReceiver.PendingInstallShortcutInfo mPendingInstallShortcutInfo =  new InstallShortcutReceiver.PendingInsta
+                                                                       added.add(mPendingInstallShortcutInfo);
+                                                                       installQueue.add(mPendingInstallShortcutInfo.getItemInfo());
+                                                               }
+                                                       }
+                                       }
+                               }
+                       }
+                       if (!added.isEmpty()) {
+                               android.util.Log.e("sssssslaunhcer","------------------------");
+                       //      app.getModel().addAndBindAddedWorkspaceItems(new LazyShortcutsProvider(context.getApplicationContext(), added));
+                        app.getModel().addAndBindAddedWorkspaceItems(installQueue);
+                       }
+               }

修改桌面 \packages\apps\Launcher3\src\com\android\launcher3\SessionCommitReceiver.java

@Override
    public void onReceive(Context context, Intent intent) {
        Log.d(TAG, "onReceive   start receive  62");
        if (!isEnabled(context) || !Utilities.ATLEAST_OREO) {
            // User has decided to not add icons on homescreen.
			 Log.d(TAG, "User has decided to not add icons on homescree");
            return;
        }

        SessionInfo info = intent.getParcelableExtra(PackageInstaller.EXTRA_SESSION);
        UserHandle user = intent.getParcelableExtra(Intent.EXTRA_USER);

        Log.d(TAG, "onReceive getAppPackageName ="+info.getAppPackageName());

        if (TextUtils.isEmpty(info.getAppPackageName()) ||
                info.getInstallReason() != PackageManager.INSTALL_REASON_USER) {
        //    return; //注释这个
        }
     queueAppIconAddition(context, info.getAppPackageName(), user);
    }

2.所有APP显示到桌面之后,没有名称

 

 

diff --git a/packages/apps/Launcher3/AndroidManifest-common.xml b/packages/apps/Launcher3/AndroidManifest-common.xml
old mode 100644
new mode 100755
diff --git a/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java b/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java
old mode 100644
new mode 100755
index 0f9b57f..b58013d
--- a/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java
+++ b/packages/apps/Launcher3/quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java
@@ -20,7 +20,7 @@ import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.LauncherState.OVERVIEW;
 
 import android.view.MotionEvent;
-
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherState;
@@ -41,6 +41,7 @@ public class OverviewToAllAppsTouchController extends PortraitStatesTouchControl
 
     @Override
     protected boolean canInterceptTouch(MotionEvent ev) {
+		
         if (mCurrentAnimation != null) {
             // If we are already animating from a previous state, we can intercept.
             return true;
@@ -48,6 +49,11 @@ public class OverviewToAllAppsTouchController extends PortraitStatesTouchControl
         if (AbstractFloatingView.getTopOpenView(mLauncher) != null) {
             return false;
         }
+		        //add by yy
+        if(FeatureFlags.REMOVE_DRAWER){
+            return false;
+        }
+        //end add by yy
         if (mLauncher.isInState(ALL_APPS)) {
             // In all-apps only listen if the container cannot scroll itself
             return mLauncher.getAppsView().shouldContainerScroll(ev);
diff --git a/packages/apps/Launcher3/res/values/config.xml b/packages/apps/Launcher3/res/values/config.xml
old mode 100644
new mode 100755
index f2d6c21..465e66d
--- a/packages/apps/Launcher3/res/values/config.xml
+++ b/packages/apps/Launcher3/res/values/config.xml
@@ -1,9 +1,9 @@
 <resources>
 <!-- Miscellaneous -->
     <bool name="config_largeHeap">false</bool>
-    <bool name="is_tablet">false</bool>
+    <bool name="is_tablet">true</bool>
     <bool name="is_large_tablet">false</bool>
-    <bool name="allow_rotation">false</bool>
+    <bool name="allow_rotation">true</bool>
 
     <integer name="extracted_color_gradient_alpha">153</integer>
 
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java b/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
old mode 100644
new mode 100755
index 64a58fb..cd55b67
--- a/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/DeleteDropTarget.java
@@ -22,6 +22,7 @@ import android.util.AttributeSet;
 import android.view.View;
 
 import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.folder.Folder;
 import com.android.launcher3.logging.LoggerUtils;
@@ -84,6 +85,11 @@ public class DeleteDropTarget extends ButtonDropTarget {
             mText = getResources().getString(item.id != ItemInfo.NO_ID
                     ? R.string.remove_drop_target_label
                     : android.R.string.cancel);
+            if(FeatureFlags.REMOVE_DRAWER){
+                mText = getResources().getString(isCanDrop(item)
+                        ? R.string.remove_drop_target_label
+                        : android.R.string.cancel);
+            }
             requestLayout();
         }
     }
@@ -94,8 +100,17 @@ public class DeleteDropTarget extends ButtonDropTarget {
     private void setControlTypeBasedOnDragSource(ItemInfo item) {
         mControlType = item.id != ItemInfo.NO_ID ? ControlType.REMOVE_TARGET
                 : ControlType.CANCEL_TARGET;
-    }
+        if(FeatureFlags.REMOVE_DRAWER) {
+            mControlType = isCanDrop(item) ? ControlType.REMOVE_TARGET
+                    : ControlType.CANCEL_TARGET;
+        }
+
 
+    }
+    private boolean isCanDrop(ItemInfo item){
+        return !(item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
+                item.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER);
+    }
     @Override
     public void completeDrop(DragObject d) {
         ItemInfo item = d.dragInfo;
@@ -112,10 +127,14 @@ 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()
-        mLauncher.removeItem(view, item, true /* deleteFromDb */);
-        mLauncher.getWorkspace().stripEmptyScreens();
-        mLauncher.getDragLayer()
-                .announceForAccessibility(getContext().getString(R.string.item_removed));
+        // add by yy ,cancel to remove app icon and folder
+        if(!FeatureFlags.REMOVE_DRAWER || isCanDrop(item)) {
+            mLauncher.removeItem(view, item, true /* deleteFromDb */);
+            mLauncher.getWorkspace().stripEmptyScreens();
+            mLauncher.getDragLayer()
+                    .announceForAccessibility(getContext().getString(R.string.item_removed));
+        }
+        // end add by yy
     }
 
     @Override
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java b/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
old mode 100644
new mode 100755
index fe8a841..fd70202
--- a/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/InstallShortcutReceiver.java
@@ -323,7 +323,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
         return name;
     }
 
-    private static class PendingInstallShortcutInfo {
+    public static class PendingInstallShortcutInfo {
 
         final LauncherActivityInfo activityInfo;
         final ShortcutInfoCompat shortcutInfo;
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java b/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
old mode 100644
new mode 100755
index 4fe3503..9e66666
--- a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
@@ -791,7 +791,9 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
         // Refresh shortcuts if the permission changed.
         mModel.refreshShortcutsIfRequired();
 
-        DiscoveryBounce.showForHomeIfNeeded(this);
+        if(!FeatureFlags.REMOVE_DRAWER)
+            DiscoveryBounce.showForHomeIfNeeded(this);
+        //end add by yy
         if (mLauncherCallbacks != null) {
             mLauncherCallbacks.onResume();
         }
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/SessionCommitReceiver.java b/packages/apps/Launcher3/src/com/android/launcher3/SessionCommitReceiver.java
old mode 100644
new mode 100755
index b0da6b9..c6c479b
--- a/packages/apps/Launcher3/src/com/android/launcher3/SessionCommitReceiver.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/SessionCommitReceiver.java
@@ -59,17 +59,21 @@ public class SessionCommitReceiver extends BroadcastReceiver {
 
     @Override
     public void onReceive(Context context, Intent intent) {
+        Log.d(TAG, "onReceive   start receive  62");
         if (!isEnabled(context) || !Utilities.ATLEAST_OREO) {
             // User has decided to not add icons on homescreen.
+			 Log.d(TAG, "User has decided to not add icons on homescree");
             return;
         }
 
         SessionInfo info = intent.getParcelableExtra(PackageInstaller.EXTRA_SESSION);
         UserHandle user = intent.getParcelableExtra(Intent.EXTRA_USER);
 
+        Log.d(TAG, "onReceive getAppPackageName ="+info.getAppPackageName());
+
         if (TextUtils.isEmpty(info.getAppPackageName()) ||
                 info.getInstallReason() != PackageManager.INSTALL_REASON_USER) {
-            return;
+        //    return;
         }
 
         queueAppIconAddition(context, info.getAppPackageName(), user);
@@ -80,8 +84,10 @@ public class SessionCommitReceiver extends BroadcastReceiver {
                 .getActivityList(packageName, user);
         if (activities == null || activities.isEmpty()) {
             // no activity found
+			Log.d(TAG, " no activity found");
             return;
         }
+        Log.d(TAG, " queueAppIconAddition  packageName= "+packageName);
         InstallShortcutReceiver.queueActivityInfo(activities.get(0), context);
     }
 
@@ -135,6 +141,7 @@ public class SessionCommitReceiver extends BroadcastReceiver {
 
             Cursor c = null;
             try {
+				Log.d(TAG, " ri.activityInfo.packageName"+ri.activityInfo.packageName);
                 c = mContext.getContentResolver().query(
                         Uri.parse("content://" + ri.activityInfo.packageName
                                 + MARKER_PROVIDER_PREFIX),
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/SettingsActivity.java b/packages/apps/Launcher3/src/com/android/launcher3/SettingsActivity.java
old mode 100644
new mode 100755
index 32c198a..6e8f0c2
--- a/packages/apps/Launcher3/src/com/android/launcher3/SettingsActivity.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/SettingsActivity.java
@@ -118,7 +118,9 @@ public class SettingsActivity extends Activity {
                         iconBadgingPref, resolver, getFragmentManager());
                 mIconBadgingObserver.register(NOTIFICATION_BADGING, NOTIFICATION_ENABLED_LISTENERS);
             }
-
+           getPreferenceScreen().removePreference(
+                        findPreference(SessionCommitReceiver.ADD_ICON_PREFERENCE_KEY));
+						
             Preference iconShapeOverride = findPreference(IconShapeOverride.KEY_PREFERENCE);
             if (iconShapeOverride != null) {
                 if (IconShapeOverride.isSupported(getActivity())) {
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
old mode 100644
new mode 100755
index 24a8d51..3c70a00
--- a/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -30,6 +30,7 @@ import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimationSuccessListener;
 import com.android.launcher3.anim.AnimatorSetBuilder;
 import com.android.launcher3.anim.PropertySetter;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.ScrimView;
 
@@ -151,6 +152,7 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
      */
     @Override
     public void setState(LauncherState state) {
+
         setProgress(state.getVerticalProgress(mLauncher));
         setAlphas(state, null, new AnimatorSetBuilder());
         onProgressAnimationEnd();
@@ -163,6 +165,8 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil
     @Override
     public void setStateWithAnimation(LauncherState toState,
             AnimatorSetBuilder builder, AnimationConfig config) {
+        if(FeatureFlags.REMOVE_DRAWER)
+            return;
         float targetProgress = toState.getVerticalProgress(mLauncher);
         if (Float.compare(mProgress, targetProgress) == 0) {
             setAlphas(toState, config, builder);
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java b/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
old mode 100644
new mode 100755
index f4c6380..5de9e1d
--- a/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
@@ -55,4 +55,6 @@ abstract class BaseFlags {
     // When true, overview shows screenshots in the orientation they were taken rather than
     // trying to make them fit the orientation the device is in.
     public static final boolean OVERVIEW_USE_SCREENSHOT_ORIENTATION = true;
+
+    public static final boolean REMOVE_DRAWER = true;
 }
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java b/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
old mode 100644
new mode 100755
index 8a216fc..6fdccff
--- a/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
@@ -31,13 +31,16 @@ import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.View;
 
+import com.android.launcher3.DeleteDropTarget;
 import com.android.launcher3.DragSource;
 import com.android.launcher3.DropTarget;
 import com.android.launcher3.ItemInfo;
 import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
 import com.android.launcher3.ShortcutInfo;
 import com.android.launcher3.accessibility.DragViewStateAnnouncer;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.ItemInfoMatcher;
 import com.android.launcher3.util.Thunk;
 import com.android.launcher3.util.TouchController;
@@ -601,13 +604,22 @@ public class DragController implements DragDriver.EventListener, TouchController
                     dropTarget.onDrop(mDragObject, mOptions);
                 }
                 accepted = true;
+                //add by yy //2018-11-30 16:05 修改
+                if (FeatureFlags.REMOVE_DRAWER && dropTarget instanceof DeleteDropTarget &&
+                        isNeedCancelDrag(mDragObject.dragInfo)) {
+                    cancelDrag();
+                }
+                //end add by yy
             }
         }
         final View dropTargetAsView = dropTarget instanceof View ? (View) dropTarget : null;
         mLauncher.getUserEventDispatcher().logDragNDrop(mDragObject, dropTargetAsView);
         dispatchDropComplete(dropTargetAsView, accepted);
     }
-
+    private boolean isNeedCancelDrag(ItemInfo item){
+        return (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION ||
+                item.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER);
+    }
     private DropTarget findDropTarget(int x, int y, int[] dropCoordinates) {
         mDragObject.x = x;
         mDragObject.y = y;
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java b/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
old mode 100644
new mode 100755
index fcdc088..875820a
--- a/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java
@@ -25,6 +25,7 @@ import com.android.launcher3.LauncherModel.ModelUpdateTask;
 import com.android.launcher3.LauncherModel.CallbackTask;
 import com.android.launcher3.LauncherModel.Callbacks;
 import com.android.launcher3.ShortcutInfo;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.ItemInfoMatcher;
 import com.android.launcher3.util.MultiHashMap;
@@ -63,7 +64,9 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask {
                 Log.d(TAG, "Ignoring model task since loader is pending=" + this);
             }
             // Loader has not yet run.
-            return;
+            if(!FeatureFlags.REMOVE_DRAWER){
+                return;
+            }
         }
         execute(mApp, mDataModel, mAllAppsList);
     }
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java b/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
old mode 100644
new mode 100755
index 06da843..ec1f58d
--- a/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java
@@ -39,6 +39,7 @@ import android.text.TextUtils;
 import android.util.Log;
 import android.util.LongSparseArray;
 import android.util.MutableInt;
+import android.util.Pair;
 
 import com.android.launcher3.AllAppsList;
 import com.android.launcher3.AppInfo;
@@ -183,7 +184,11 @@ public class LoaderTask implements Runnable {
             // second step
             TraceHelper.partitionSection(TAG, "step 2.1: loading all apps");
             loadAllApps();
-
+            //add by yy
+            if (FeatureFlags.REMOVE_DRAWER) {
+                verifyApplications();
+            }
+            //end add by yy
             TraceHelper.partitionSection(TAG, "step 2.2: Binding all apps");
             verifyNotStopped();
             mResults.bindAllApps();
@@ -225,7 +230,27 @@ public class LoaderTask implements Runnable {
         }
         TraceHelper.endSection(TAG);
     }
-
+    //add by yy
+    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());
+                }
+            }
+            if (!added.isEmpty()) {
+                mApp.getModel().addAndBindAddedWorkspaceItems(installQueue);
+            }
+        }
+    }
+    //end add by yy
     public synchronized void stopLocked() {
         mStopped = true;
         this.notify();
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java b/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
old mode 100644
new mode 100755
index 977dcd7..c3b90ca
--- a/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/model/PackageUpdatedTask.java
@@ -156,6 +156,11 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
 
         final ArrayList<AppInfo> addedOrModified = new ArrayList<>();
         addedOrModified.addAll(appsList.added);
+        //add by yy
+        if(FeatureFlags.REMOVE_DRAWER){
+         //   updateToWorkSpace(context, app, appsList);
+        }
+        //end add by yy
         appsList.added.clear();
         addedOrModified.addAll(appsList.modified);
         appsList.modified.clear();
diff --git a/packages/apps/Launcher3/src_flags/com/android/launcher3/config/FeatureFlags.java b/packages/apps/Launcher3/src_flags/com/android/launcher3/config/FeatureFlags.java
old mode 100644
new mode 100755
diff --git a/packages/apps/Launcher3/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java b/packages/apps/Launcher3/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
old mode 100644
new mode 100755
index e9dc800..0bfe341
--- a/packages/apps/Launcher3/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
+++ b/packages/apps/Launcher3/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
@@ -9,6 +9,7 @@ import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.LauncherStateManager.AnimationComponents;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.touch.AbstractStateChangeTouchController;
 import com.android.launcher3.touch.SwipeDetector;
 import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
@@ -43,6 +44,12 @@ public class AllAppsSwipeController extends AbstractStateChangeTouchController {
         if (mLauncher.isInState(ALL_APPS) && !mLauncher.getAppsView().shouldContainerScroll(ev)) {
             return false;
         }
+       
+        //add by yy
+        if(FeatureFlags.REMOVE_DRAWER){
+            return false;
+        }
+        //end add by yy
         return true;
     }
 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值