Loading src/com/android/launcher3/allapps/AlphabeticalAppsList.java +9 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.launcher3.allapps; import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_LEFT; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_RIGHT; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING; Loading Loading @@ -295,6 +296,14 @@ public class AlphabeticalAppsList<T extends Context & ActivityContext> implement if (Flags.enablePrivateSpace()) { position = addPrivateSpaceItems(position); } if (!mFastScrollerSections.isEmpty()) { // After all the adapterItems are added, add a view to the bottom so that user can // scroll all the way down. mAdapterItems.add(new AdapterItem(VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO)); mFastScrollerSections.add(new FastScrollSectionInfo( mFastScrollerSections.get(mFastScrollerSections.size() - 1).sectionName, position++)); } } mAccessibilityResultsCount = (int) mAdapterItems.stream() .filter(AdapterItem::isCountedForAccessibility).count(); Loading src/com/android/launcher3/allapps/BaseAllAppsAdapter.java +5 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,8 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex public static final int VIEW_TYPE_WORK_DISABLED_CARD = 1 << 5; public static final int VIEW_TYPE_PRIVATE_SPACE_HEADER = 1 << 6; public static final int VIEW_TYPE_PRIVATE_SPACE_SYS_APPS_DIVIDER = 1 << 7; public static final int NEXT_ID = 8; public static final int VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO = 1 << 8; public static final int NEXT_ID = 9; // Common view type masks public static final int VIEW_TYPE_MASK_DIVIDER = VIEW_TYPE_ALL_APPS_DIVIDER; Loading Loading @@ -247,6 +248,8 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex case VIEW_TYPE_PRIVATE_SPACE_HEADER: return new ViewHolder(mLayoutInflater.inflate( R.layout.private_space_header, parent, false)); case VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO: return new ViewHolder(new View(mActivityContext)); default: if (mAdapterProvider.isViewSupported(viewType)) { return mAdapterProvider.onCreateViewHolder(mLayoutInflater, parent, viewType); Loading Loading @@ -324,6 +327,7 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex == STATE_DISABLED ? null : new SectionDecorationInfo(mActivityContext, ROUND_NOTHING, true /* decorateTogether */); break; case VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO: case VIEW_TYPE_ALL_APPS_DIVIDER: case VIEW_TYPE_WORK_DISABLED_CARD: // nothing to do Loading tests/multivalentTests/src/com/android/launcher3/allapps/AlphabeticalAppsListTest.java +12 −7 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ public class AlphabeticalAppsListTest { private static final int PRIVATE_SPACE_HEADER_ITEM_COUNT = 1; private static final int MAIN_USER_APP_COUNT = 2; private static final int PRIVATE_USER_APP_COUNT = 2; private static final int VIEW_AT_END_OF_APP_LIST = 1; private static final int NUM_APP_COLS = 4; private static final int NUM_APP_ROWS = 3; private static final int PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT = 1; Loading Loading @@ -107,7 +108,8 @@ public class AlphabeticalAppsListTest { && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + PRIVATE_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); + PRIVATE_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); Loading Loading @@ -136,7 +138,7 @@ public class AlphabeticalAppsListTest { && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT + PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST + PRIVATE_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> Loading Loading @@ -166,7 +168,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT, assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList .getAdapterItems().stream().filter(item -> Loading @@ -187,8 +190,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList .getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); Loading @@ -206,7 +209,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> Loading @@ -222,7 +226,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(2, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.itemInfo != null && item.itemInfo.itemType == VIEW_TYPE_PRIVATE_SPACE_HEADER) Loading tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java +9 −8 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ public class PrivateSpaceHeaderViewTest { private static final String CAMERA_PACKAGE_NAME = "com.android.launcher3.tests.camera"; private static final int CONTAINER_HEADER_ELEMENT_COUNT = 1; private static final int LOCK_UNLOCK_BUTTON_COUNT = 1; private static final int MAIN_USER_APP_COUNT = 1; private static final int VIEW_AT_END_OF_APP_LIST = 1; private static final int PS_SETTINGS_BUTTON_COUNT_VISIBLE = 1; private static final int PS_SETTINGS_BUTTON_COUNT_INVISIBLE = 0; private static final int PS_TRANSITION_IMAGE_COUNT = 1; Loading Loading @@ -300,8 +302,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT); int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -335,8 +337,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT) - 1; int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -370,8 +372,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - BIGGER_PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT); int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -399,8 +401,7 @@ public class PrivateSpaceHeaderViewTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); // The number of adapterItems should be the private space apps + one main app. assertEquals(NUM_PRIVATE_SPACE_APPS + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(SCROLL_NO_WHERE, privateProfileManager.scrollForHeaderToBeVisibleInContainer( new AllAppsRecyclerView(mContext), Loading Loading
src/com/android/launcher3/allapps/AlphabeticalAppsList.java +9 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.launcher3.allapps; import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_LEFT; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_RIGHT; import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING; Loading Loading @@ -295,6 +296,14 @@ public class AlphabeticalAppsList<T extends Context & ActivityContext> implement if (Flags.enablePrivateSpace()) { position = addPrivateSpaceItems(position); } if (!mFastScrollerSections.isEmpty()) { // After all the adapterItems are added, add a view to the bottom so that user can // scroll all the way down. mAdapterItems.add(new AdapterItem(VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO)); mFastScrollerSections.add(new FastScrollSectionInfo( mFastScrollerSections.get(mFastScrollerSections.size() - 1).sectionName, position++)); } } mAccessibilityResultsCount = (int) mAdapterItems.stream() .filter(AdapterItem::isCountedForAccessibility).count(); Loading
src/com/android/launcher3/allapps/BaseAllAppsAdapter.java +5 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,8 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex public static final int VIEW_TYPE_WORK_DISABLED_CARD = 1 << 5; public static final int VIEW_TYPE_PRIVATE_SPACE_HEADER = 1 << 6; public static final int VIEW_TYPE_PRIVATE_SPACE_SYS_APPS_DIVIDER = 1 << 7; public static final int NEXT_ID = 8; public static final int VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO = 1 << 8; public static final int NEXT_ID = 9; // Common view type masks public static final int VIEW_TYPE_MASK_DIVIDER = VIEW_TYPE_ALL_APPS_DIVIDER; Loading Loading @@ -247,6 +248,8 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex case VIEW_TYPE_PRIVATE_SPACE_HEADER: return new ViewHolder(mLayoutInflater.inflate( R.layout.private_space_header, parent, false)); case VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO: return new ViewHolder(new View(mActivityContext)); default: if (mAdapterProvider.isViewSupported(viewType)) { return mAdapterProvider.onCreateViewHolder(mLayoutInflater, parent, viewType); Loading Loading @@ -324,6 +327,7 @@ public abstract class BaseAllAppsAdapter<T extends Context & ActivityContext> ex == STATE_DISABLED ? null : new SectionDecorationInfo(mActivityContext, ROUND_NOTHING, true /* decorateTogether */); break; case VIEW_TYPE_BOTTOM_VIEW_TO_SCROLL_TO: case VIEW_TYPE_ALL_APPS_DIVIDER: case VIEW_TYPE_WORK_DISABLED_CARD: // nothing to do Loading
tests/multivalentTests/src/com/android/launcher3/allapps/AlphabeticalAppsListTest.java +12 −7 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ public class AlphabeticalAppsListTest { private static final int PRIVATE_SPACE_HEADER_ITEM_COUNT = 1; private static final int MAIN_USER_APP_COUNT = 2; private static final int PRIVATE_USER_APP_COUNT = 2; private static final int VIEW_AT_END_OF_APP_LIST = 1; private static final int NUM_APP_COLS = 4; private static final int NUM_APP_ROWS = 3; private static final int PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT = 1; Loading Loading @@ -107,7 +108,8 @@ public class AlphabeticalAppsListTest { && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + PRIVATE_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); + PRIVATE_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); Loading Loading @@ -136,7 +138,7 @@ public class AlphabeticalAppsListTest { && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT + PRIVATE_SPACE_SYS_APP_SEPARATOR_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST + PRIVATE_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> Loading Loading @@ -166,7 +168,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT, assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList .getAdapterItems().stream().filter(item -> Loading @@ -187,8 +190,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList .getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); Loading @@ -206,7 +209,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(MAIN_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> Loading @@ -222,7 +226,8 @@ public class AlphabeticalAppsListTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); assertEquals(2, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item -> item.itemInfo != null && item.itemInfo.itemType == VIEW_TYPE_PRIVATE_SPACE_HEADER) Loading
tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewTest.java +9 −8 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ public class PrivateSpaceHeaderViewTest { private static final String CAMERA_PACKAGE_NAME = "com.android.launcher3.tests.camera"; private static final int CONTAINER_HEADER_ELEMENT_COUNT = 1; private static final int LOCK_UNLOCK_BUTTON_COUNT = 1; private static final int MAIN_USER_APP_COUNT = 1; private static final int VIEW_AT_END_OF_APP_LIST = 1; private static final int PS_SETTINGS_BUTTON_COUNT_VISIBLE = 1; private static final int PS_SETTINGS_BUTTON_COUNT_INVISIBLE = 0; private static final int PS_TRANSITION_IMAGE_COUNT = 1; Loading Loading @@ -300,8 +302,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT); int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -335,8 +337,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT) - 1; int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -370,8 +372,8 @@ public class PrivateSpaceHeaderViewTest { int rows = (int) (ALL_APPS_HEIGHT - BIGGER_PS_HEADER_HEIGHT - HEADER_PROTECTION_HEIGHT); int position = rows * NUM_APP_COLS - (NUM_APP_COLS-1) + 1; // The number of adapterItems should be the private space apps + one main app + header. assertEquals(NUM_PRIVATE_SPACE_APPS + 1 + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + CONTAINER_HEADER_ELEMENT_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(position, privateProfileManager.scrollForHeaderToBeVisibleInContainer( Loading Loading @@ -399,8 +401,7 @@ public class PrivateSpaceHeaderViewTest { mAlphabeticalAppsList.updateItemFilter(info -> info != null && info.user.equals(MAIN_HANDLE)); // The number of adapterItems should be the private space apps + one main app. assertEquals(NUM_PRIVATE_SPACE_APPS + 1, assertEquals(NUM_PRIVATE_SPACE_APPS + MAIN_USER_APP_COUNT + VIEW_AT_END_OF_APP_LIST, mAlphabeticalAppsList.getAdapterItems().size()); assertEquals(SCROLL_NO_WHERE, privateProfileManager.scrollForHeaderToBeVisibleInContainer( new AllAppsRecyclerView(mContext), Loading