参考:
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;
}