diff --git a/res/values/dimens.xml b/res/values/dimens.xml index d265790ba6..fddd2c45a2 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -494,6 +494,7 @@ 40dp 89dp 16dp + 16dp 20dp 20dp 10dp diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java index fbeab4efd0..2e25b0a657 100644 --- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java @@ -18,6 +18,7 @@ package com.android.launcher3.allapps; import static com.android.launcher3.Flags.enableExpandingPauseWorkButton; import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.MAIN; import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.SEARCH; +import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE_SPACE_HEADER; import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_WORK_DISABLED_CARD; import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_WORK_EDU_CARD; import static com.android.launcher3.config.FeatureFlags.ALL_APPS_GONE_VISIBILITY; @@ -97,6 +98,7 @@ import com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Optional; import java.util.function.Predicate; import java.util.stream.Stream; @@ -158,6 +160,7 @@ public class ActivityAllAppsContainerView }; private final Paint mNavBarScrimPaint; private final int mHeaderProtectionColor; + private final int mPrivateSpaceBottomExtraSpace; private final Path mTmpPath = new Path(); private final RectF mTmpRectF = new RectF(); protected AllAppsPagedView mViewPager; @@ -222,6 +225,8 @@ public class ActivityAllAppsContainerView this, mActivityContext.getStatsLogManager(), UserCache.INSTANCE.get(mActivityContext)); + mPrivateSpaceBottomExtraSpace = context.getResources().getDimensionPixelSize( + R.dimen.ps_extra_bottom_padding); mAH = Arrays.asList(null, null, null); mNavBarScrimPaint = new Paint(); mNavBarScrimPaint.setColor(Themes.getNavBarScrimColor(mActivityContext)); @@ -1566,6 +1571,14 @@ public class ActivityAllAppsContainerView int bottomOffset = 0; if (isWork() && mWorkManager.getWorkModeSwitch() != null) { bottomOffset = mInsets.bottom + mWorkManager.getWorkModeSwitch().getHeight(); + } else if (isMain() && mPrivateProfileManager != null) { + Optional privateSpaceHeaderItem = mAppsList.getAdapterItems() + .stream() + .filter(item -> item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER) + .findFirst(); + if (privateSpaceHeaderItem.isPresent()) { + bottomOffset = mPrivateSpaceBottomExtraSpace; + } } if (isSearchBarFloating()) { bottomOffset += mSearchContainer.getHeight(); @@ -1582,5 +1595,9 @@ public class ActivityAllAppsContainerView private boolean isSearch() { return mType == SEARCH; } + + private boolean isMain() { + return mType == MAIN; + } } }