diff --git a/res/drawable-hdpi/ic_allapps.png b/res/drawable-hdpi/ic_allapps.png deleted file mode 100644 index 253755ffe2..0000000000 Binary files a/res/drawable-hdpi/ic_allapps.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_allapps_pressed.png b/res/drawable-hdpi/ic_allapps_pressed.png deleted file mode 100644 index 1e644c5d05..0000000000 Binary files a/res/drawable-hdpi/ic_allapps_pressed.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_allapps.png b/res/drawable-mdpi/ic_allapps.png deleted file mode 100644 index 6936b20791..0000000000 Binary files a/res/drawable-mdpi/ic_allapps.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_allapps_pressed.png b/res/drawable-mdpi/ic_allapps_pressed.png deleted file mode 100644 index 850ded6fe0..0000000000 Binary files a/res/drawable-mdpi/ic_allapps_pressed.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_allapps.png b/res/drawable-xhdpi/ic_allapps.png deleted file mode 100644 index c11c1038b9..0000000000 Binary files a/res/drawable-xhdpi/ic_allapps.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_allapps_pressed.png b/res/drawable-xhdpi/ic_allapps_pressed.png deleted file mode 100644 index f319bf1e6d..0000000000 Binary files a/res/drawable-xhdpi/ic_allapps_pressed.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_allapps.png b/res/drawable-xxhdpi/ic_allapps.png deleted file mode 100644 index cf6a2cbc08..0000000000 Binary files a/res/drawable-xxhdpi/ic_allapps.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_allapps_pressed.png b/res/drawable-xxhdpi/ic_allapps_pressed.png deleted file mode 100644 index 379389ac7b..0000000000 Binary files a/res/drawable-xxhdpi/ic_allapps_pressed.png and /dev/null differ diff --git a/res/drawable/all_apps_button_icon.xml b/res/drawable/all_apps_button_icon.xml deleted file mode 100644 index 7c69cad3ac..0000000000 --- a/res/drawable/all_apps_button_icon.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/res/layout/all_apps_button.xml b/res/layout/all_apps_button.xml deleted file mode 100644 index 4bc780a708..0000000000 --- a/res/layout/all_apps_button.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml index b211207587..691219af63 100644 --- a/res/values-sw720dp/dimens.xml +++ b/res/values-sw720dp/dimens.xml @@ -16,7 +16,6 @@ - 8dp 64dp 180dp diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 3bb7a797a7..58fce34826 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -76,7 +76,6 @@ -26dp - 0dp 48dp 30dp 40dp diff --git a/res/xml/dw_phone_hotseat.xml b/res/xml/dw_phone_hotseat.xml index b58994d1d7..c691ebc3da 100644 --- a/res/xml/dw_phone_hotseat.xml +++ b/res/xml/dw_phone_hotseat.xml @@ -16,7 +16,7 @@ - + - + + + + - + - + + + { - if (!mLauncher.isInState(ALL_APPS)) { - mLauncher.getUserEventDispatcher().logActionOnControl(Action.Touch.TAP, - ControlType.ALL_APPS_BUTTON); - mLauncher.getStateManager().goToState(ALL_APPS); - } - }); - allAppsButton.setOnFocusChangeListener(mLauncher.mFocusHandler); - } - - // Note: We do this to ensure that the hotseat is always laid out in the orientation of - // the hotseat in order regardless of which orientation they were added - int x = getCellXFromOrder(allAppsButtonRank); - int y = getCellYFromOrder(allAppsButtonRank); - CellLayout.LayoutParams lp = new CellLayout.LayoutParams(x, y, 1, 1); - lp.canReorder = false; - mContent.addViewToCellLayout(allAppsButton, -1, allAppsButton.getId(), lp, true); - } } @Override diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index 22bc162b65..70845541b8 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -28,7 +28,6 @@ import android.util.Xml; import android.view.Display; import android.view.WindowManager; -import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.util.ConfigMonitor; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.Thunk; @@ -314,17 +313,6 @@ public class InvariantDeviceProfile { return this; } - public int getAllAppsButtonRank() { - if (FeatureFlags.IS_DOGFOOD_BUILD && FeatureFlags.NO_ALL_APPS_ICON) { - throw new IllegalAccessError("Accessing all apps rank when all-apps is disabled"); - } - return numHotseatIcons / 2; - } - - public boolean isAllAppsButtonRank(int rank) { - return rank == getAllAppsButtonRank(); - } - public DeviceProfile getDeviceProfile(Context context) { return context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? landscapeProfile : portraitProfile; diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 37d00561b8..a9979a218b 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2021,22 +2021,8 @@ public class Workspace extends PagedView } public void onNoCellFound(View dropTargetLayout) { - if (mLauncher.isHotseatLayout(dropTargetLayout)) { - Hotseat hotseat = mLauncher.getHotseat(); - boolean droppedOnAllAppsIcon = !FeatureFlags.NO_ALL_APPS_ICON - && mTargetCell != null && !mLauncher.getDeviceProfile().inv.isAllAppsButtonRank( - hotseat.getOrderInHotseat(mTargetCell[0], mTargetCell[1])); - if (!droppedOnAllAppsIcon) { - // Only show message when hotseat is full and drop target was not AllApps button - showOutOfSpaceMessage(true); - } - } else { - showOutOfSpaceMessage(false); - } - } - - private void showOutOfSpaceMessage(boolean isHotseatLayout) { - int strId = (isHotseatLayout ? R.string.hotseat_out_of_space : R.string.out_of_space); + int strId = mLauncher.isHotseatLayout(dropTargetLayout) + ? R.string.hotseat_out_of_space : R.string.out_of_space; Toast.makeText(mLauncher, mLauncher.getString(strId), Toast.LENGTH_SHORT).show(); } diff --git a/src/com/android/launcher3/config/BaseFlags.java b/src/com/android/launcher3/config/BaseFlags.java index f4c6380b74..05fc33f35e 100644 --- a/src/com/android/launcher3/config/BaseFlags.java +++ b/src/com/android/launcher3/config/BaseFlags.java @@ -31,12 +31,8 @@ abstract class BaseFlags { public static final boolean IS_DOGFOOD_BUILD = false; public static final String AUTHORITY = "com.android.launcher3.settings".intern(); - // When enabled allows to use any point on the fast scrollbar to start dragging. - public static final boolean LAUNCHER3_DIRECT_SCROLL = true; // When enabled the promise icon is visible in all apps while installation an app. public static final boolean LAUNCHER3_PROMISE_APPS_IN_ALL_APPS = false; - // When enabled allows use of spring motions on the icons. - public static final boolean LAUNCHER3_SPRING_ICONS = true; // Feature flag to enable moving the QSB on the 0th screen of the workspace. public static final boolean QSB_ON_FIRST_SCREEN = true; diff --git a/src/com/android/launcher3/dragndrop/DragView.java b/src/com/android/launcher3/dragndrop/DragView.java index 551567ae78..b3d9bdd72d 100644 --- a/src/com/android/launcher3/dragndrop/DragView.java +++ b/src/com/android/launcher3/dragndrop/DragView.java @@ -16,6 +16,8 @@ package com.android.launcher3.dragndrop; +import static com.android.launcher3.ItemInfoWithIcon.FLAG_ICON_BADGED; + import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.FloatArrayEvaluator; @@ -57,8 +59,6 @@ import com.android.launcher3.Utilities; import com.android.launcher3.anim.Interpolators; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.ShortcutConfigActivityInfo; -import com.android.launcher3.config.FeatureFlags; -import com.android.launcher3.graphics.IconNormalizer; import com.android.launcher3.graphics.LauncherIcons; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.shortcuts.ShortcutInfoCompat; @@ -70,8 +70,6 @@ import com.android.launcher3.widget.PendingAddShortcutInfo; import java.util.Arrays; import java.util.List; -import static com.android.launcher3.ItemInfoWithIcon.FLAG_ICON_BADGED; - public class DragView extends View { private static final ColorMatrix sTempMatrix1 = new ColorMatrix(); private static final ColorMatrix sTempMatrix2 = new ColorMatrix(); @@ -198,7 +196,7 @@ public class DragView extends View { */ @TargetApi(Build.VERSION_CODES.O) public void setItemInfo(final ItemInfo info) { - if (!(FeatureFlags.LAUNCHER3_SPRING_ICONS && Utilities.ATLEAST_OREO)) { + if (!Utilities.ATLEAST_OREO) { return; } if (info.itemType != LauncherSettings.Favorites.ITEM_TYPE_APPLICATION && diff --git a/src/com/android/launcher3/model/GridSizeMigrationTask.java b/src/com/android/launcher3/model/GridSizeMigrationTask.java index d9b1a3f9e7..12daea50fd 100644 --- a/src/com/android/launcher3/model/GridSizeMigrationTask.java +++ b/src/com/android/launcher3/model/GridSizeMigrationTask.java @@ -138,10 +138,7 @@ public class GridSizeMigrationTask { */ protected boolean migrateHotseat() throws Exception { ArrayList items = loadHotseatEntries(); - - int requiredCount = FeatureFlags.NO_ALL_APPS_ICON ? mDestHotseatSize : mDestHotseatSize - 1; - - while (items.size() > requiredCount) { + while (items.size() > mDestHotseatSize) { // Pick the center item by default. DbEntry toRemove = items.get(items.size() / 2); @@ -171,9 +168,6 @@ public class GridSizeMigrationTask { } newScreenId++; - if (!FeatureFlags.NO_ALL_APPS_ICON && mIdp.isAllAppsButtonRank(newScreenId)) { - newScreenId++; - } } return applyOperations(); diff --git a/src/com/android/launcher3/model/LoaderCursor.java b/src/com/android/launcher3/model/LoaderCursor.java index 6378ea1804..744e98aeaa 100644 --- a/src/com/android/launcher3/model/LoaderCursor.java +++ b/src/com/android/launcher3/model/LoaderCursor.java @@ -24,7 +24,6 @@ import android.content.Intent.ShortcutIconResource; import android.content.pm.LauncherActivityInfo; import android.database.Cursor; import android.database.CursorWrapper; -import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.UserHandle; import android.provider.BaseColumns; @@ -387,15 +386,6 @@ public class LoaderCursor extends CursorWrapper { protected boolean checkItemPlacement(ItemInfo item, ArrayList workspaceScreens) { long containerIndex = item.screenId; if (item.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) { - // Return early if we detect that an item is under the hotseat button - if (!FeatureFlags.NO_ALL_APPS_ICON && - mIDP.isAllAppsButtonRank((int) item.screenId)) { - Log.e(TAG, "Error loading shortcut into hotseat " + item - + " into position (" + item.screenId + ":" + item.cellX + "," - + item.cellY + ") occupied by all apps"); - return false; - } - final GridOccupancy hotseatOccupancy = occupied.get((long) LauncherSettings.Favorites.CONTAINER_HOTSEAT); diff --git a/src/com/android/launcher3/provider/ImportDataTask.java b/src/com/android/launcher3/provider/ImportDataTask.java index b1dd003f81..16c7417aa5 100644 --- a/src/com/android/launcher3/provider/ImportDataTask.java +++ b/src/com/android/launcher3/provider/ImportDataTask.java @@ -308,9 +308,6 @@ public class ImportDataTask { LongArrayMap hotseatItems = GridSizeMigrationTask.removeBrokenHotseatItems(mContext); int myHotseatCount = LauncherAppState.getIDP(mContext).numHotseatIcons; - if (!FeatureFlags.NO_ALL_APPS_ICON) { - myHotseatCount--; - } if (hotseatItems.size() < myHotseatCount) { // Insufficient hotseat items. Add a few more. HotseatParserCallback parserCallback = new HotseatParserCallback( diff --git a/src/com/android/launcher3/util/FocusLogic.java b/src/com/android/launcher3/util/FocusLogic.java index b793f5481f..4f4cccd7a9 100644 --- a/src/com/android/launcher3/util/FocusLogic.java +++ b/src/com/android/launcher3/util/FocusLogic.java @@ -201,10 +201,6 @@ public class FocusLogic { ViewGroup hotseatParent = hotseatLayout.getShortcutsAndWidgets(); boolean isHotseatHorizontal = !dp.isVerticalBarLayout(); - boolean moreIconsInHotseatThanWorkspace = !FeatureFlags.NO_ALL_APPS_ICON && - (isHotseatHorizontal - ? hotseatLayout.getCountX() > iconLayout.getCountX() - : hotseatLayout.getCountY() > iconLayout.getCountY()); int m, n; if (isHotseatHorizontal) { @@ -215,19 +211,7 @@ public class FocusLogic { n = hotseatLayout.getCountY(); } int[][] matrix = createFullMatrix(m, n); - if (moreIconsInHotseatThanWorkspace) { - int allappsiconRank = dp.inv.getAllAppsButtonRank(); - if (isHotseatHorizontal) { - for (int j = 0; j < n; j++) { - matrix[allappsiconRank][j] = ALL_APPS_COLUMN; - } - } else { - for (int j = 0; j < m; j++) { - matrix[j][allappsiconRank] = ALL_APPS_COLUMN; - } - } - } - // Iterate thru the children of the workspace. + // Iterate through the children of the workspace. for (int i = 0; i < iconParent.getChildCount(); i++) { View cell = iconParent.getChildAt(i); if (!cell.isFocusable()) { @@ -235,17 +219,6 @@ public class FocusLogic { } int cx = ((CellLayout.LayoutParams) cell.getLayoutParams()).cellX; int cy = ((CellLayout.LayoutParams) cell.getLayoutParams()).cellY; - if (moreIconsInHotseatThanWorkspace) { - int allappsiconRank = dp.inv.getAllAppsButtonRank(); - if (isHotseatHorizontal && cx >= allappsiconRank) { - // Add 1 to account for the All Apps button. - cx++; - } - if (!isHotseatHorizontal && cy >= allappsiconRank) { - // Add 1 to account for the All Apps button. - cy++; - } - } matrix[cx][cy] = i; } diff --git a/src/com/android/launcher3/views/RecyclerViewFastScroller.java b/src/com/android/launcher3/views/RecyclerViewFastScroller.java index 05bab8b459..ed1cf4f1ed 100644 --- a/src/com/android/launcher3/views/RecyclerViewFastScroller.java +++ b/src/com/android/launcher3/views/RecyclerViewFastScroller.java @@ -224,8 +224,7 @@ public class RecyclerViewFastScroller extends View { } if (isNearThumb(x, y)) { mTouchOffsetY = mDownY - mThumbOffsetY; - } else if (FeatureFlags.LAUNCHER3_DIRECT_SCROLL - && mRv.supportsFastScrolling() + } else if (mRv.supportsFastScrolling() && isNearScrollBar(mDownX)) { calcTouchOffsetAndPrepToFastScroll(mDownY, mLastY); updateFastScrollSectionNameAndThumbOffset(mLastY, y); diff --git a/tests/src/com/android/launcher3/model/GridSizeMigrationTaskTest.java b/tests/src/com/android/launcher3/model/GridSizeMigrationTaskTest.java index b92f61205c..031909fe12 100644 --- a/tests/src/com/android/launcher3/model/GridSizeMigrationTaskTest.java +++ b/tests/src/com/android/launcher3/model/GridSizeMigrationTaskTest.java @@ -16,7 +16,6 @@ import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.LauncherModel; import com.android.launcher3.LauncherProvider; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.model.GridSizeMigrationTask.MultiStepMigrationTask; import com.android.launcher3.util.TestLauncherProvider; @@ -87,13 +86,8 @@ public class GridSizeMigrationTaskTest { mIdp.numHotseatIcons = 3; new GridSizeMigrationTask(mContext, mIdp, mValidPackages, 5, 3) .migrateHotseat(); - if (FeatureFlags.NO_ALL_APPS_ICON) { - // First item is dropped as it has the least weight. - verifyHotseat(hotseatItems[1], hotseatItems[3], hotseatItems[4]); - } else { - // First & last items are dropped as they have the least weight. - verifyHotseat(hotseatItems[1], -1, hotseatItems[3]); - } + // First item is dropped as it has the least weight. + verifyHotseat(hotseatItems[1], hotseatItems[3], hotseatItems[4]); } @Test @@ -109,13 +103,8 @@ public class GridSizeMigrationTaskTest { mIdp.numHotseatIcons = 3; new GridSizeMigrationTask(mContext, mIdp, mValidPackages, 5, 3) .migrateHotseat(); - if (FeatureFlags.NO_ALL_APPS_ICON) { - // First item is dropped as it has the least weight. - verifyHotseat(hotseatItems[1], hotseatItems[3], hotseatItems[4]); - } else { - // First & third items are dropped as they have the least weight. - verifyHotseat(hotseatItems[1], -1, hotseatItems[4]); - } + // First item is dropped as it has the least weight. + verifyHotseat(hotseatItems[1], hotseatItems[3], hotseatItems[4]); } private void verifyHotseat(long... sortedIds) { diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java index f16f514cd1..dd91fe86d2 100644 --- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java +++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java @@ -43,13 +43,11 @@ import com.android.launcher3.MainThreadExecutor; import com.android.launcher3.R; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.compat.LauncherAppsCompat; -import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.testcomponent.AppWidgetNoConfig; import com.android.launcher3.testcomponent.AppWidgetWithConfig; import org.junit.Before; -import java.util.Locale; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -101,19 +99,12 @@ public abstract class AbstractLauncherUiTest { */ protected UiObject2 openAllApps() { mDevice.waitForIdle(); - if (FeatureFlags.NO_ALL_APPS_ICON) { - UiObject2 hotseat = mDevice.wait( - Until.findObject(getSelectorForId(R.id.hotseat)), 2500); - Point start = hotseat.getVisibleCenter(); - int endY = (int) (mDevice.getDisplayHeight() * 0.1f); - // 100 px/step - mDevice.swipe(start.x, start.y, start.x, endY, (start.y - endY) / 100); - - } else { - mDevice.wait(Until.findObject( - By.desc(mTargetContext.getString(R.string.all_apps_button_label))), - DEFAULT_UI_TIMEOUT).click(); - } + UiObject2 hotseat = mDevice.wait( + Until.findObject(getSelectorForId(R.id.hotseat)), 2500); + Point start = hotseat.getVisibleCenter(); + int endY = (int) (mDevice.getDisplayHeight() * 0.1f); + // 100 px/step + mDevice.swipe(start.x, start.y, start.x, endY, (start.y - endY) / 100); return findViewById(R.id.apps_list_view); }