Fix all apps becoming clipped when screen is rotated with all apps opened.
b/30040068 Change-Id: I5e89a82310fddd5aa89a8f5d855b2efa526f8244
This commit is contained in:
@@ -252,7 +252,10 @@ public class LauncherStateTransitionAnimation {
|
||||
playCommonTransitionAnimations(toWorkspaceState, fromView, toView,
|
||||
animated, initialized, animation, revealDuration, layerViews);
|
||||
if (!animated || !initialized) {
|
||||
|
||||
if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP &&
|
||||
toWorkspaceState == Workspace.State.NORMAL_HIDDEN) {
|
||||
mAllAppsController.finishPullUp();
|
||||
}
|
||||
toView.setTranslationX(0.0f);
|
||||
toView.setTranslationY(0.0f);
|
||||
toView.setScaleX(1.0f);
|
||||
@@ -672,7 +675,8 @@ public class LauncherStateTransitionAnimation {
|
||||
playCommonTransitionAnimations(toWorkspaceState, fromView, toView,
|
||||
animated, initialized, animation, revealDuration, layerViews);
|
||||
if (!animated || !initialized) {
|
||||
if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP) {
|
||||
if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP &&
|
||||
fromWorkspaceState == Workspace.State.NORMAL_HIDDEN) {
|
||||
mAllAppsController.finishPullDown();
|
||||
}
|
||||
fromView.setVisibility(View.GONE);
|
||||
|
||||
@@ -397,14 +397,13 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
updatePaddingsAndMargins();
|
||||
mContentBounds.set(mHorizontalPadding, 0,
|
||||
MeasureSpec.getSize(widthMeasureSpec) - mHorizontalPadding,
|
||||
MeasureSpec.getSize(heightMeasureSpec));
|
||||
int widthPx = MeasureSpec.getSize(widthMeasureSpec);
|
||||
int heightPx = MeasureSpec.getSize(heightMeasureSpec);
|
||||
updatePaddingsAndMargins(widthPx, heightPx);
|
||||
mContentBounds.set(mHorizontalPadding, 0, widthPx - mHorizontalPadding, heightPx);
|
||||
|
||||
DeviceProfile grid = mLauncher.getDeviceProfile();
|
||||
int availableWidth = (!mContentBounds.isEmpty() ? mContentBounds.width() :
|
||||
MeasureSpec.getSize(widthMeasureSpec))
|
||||
int availableWidth = (!mContentBounds.isEmpty() ? mContentBounds.width() : widthPx)
|
||||
- 2 * mAppsRecyclerView.getMaxScrollbarWidth();
|
||||
grid.updateAppsViewNumCols(getResources(), availableWidth);
|
||||
if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP) {
|
||||
@@ -470,7 +469,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
||||
* container view, we inset the background and padding of the recycler view to allow for the
|
||||
* recycler view to handle touch events (for fast scrolling) all the way to the edge.
|
||||
*/
|
||||
private void updatePaddingsAndMargins() {
|
||||
private void updatePaddingsAndMargins(int widthPx, int heightPx) {
|
||||
Rect bgPadding = new Rect();
|
||||
getRevealView().getBackground().getPadding(bgPadding);
|
||||
|
||||
@@ -497,11 +496,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
||||
// Clip the view to the left and right edge of the background to
|
||||
// to prevent shadows from rendering beyond the edges
|
||||
final Rect newClipBounds = new Rect(
|
||||
bgPadding.left,
|
||||
0,
|
||||
getWidth() - bgPadding.right,
|
||||
getHeight()
|
||||
);
|
||||
bgPadding.left, 0, widthPx - bgPadding.right, heightPx);
|
||||
setClipBounds(newClipBounds);
|
||||
|
||||
// Allow the overscroll effect to reach the edges of the view
|
||||
|
||||
@@ -256,7 +256,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
|
||||
}
|
||||
|
||||
private void updateLightStatusBar(float progress) {
|
||||
boolean enable = (progress < mStatusBarHeight / 2);
|
||||
boolean enable = progress <= mStatusBarHeight / 2;
|
||||
// Do not modify status bar on landscape as all apps is not full bleed.
|
||||
if (mLauncher.getDeviceProfile().isVerticalBarLayout()) {
|
||||
return;
|
||||
@@ -404,7 +404,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
|
||||
}
|
||||
}
|
||||
|
||||
private void finishPullUp() {
|
||||
public void finishPullUp() {
|
||||
mHotseat.setVisibility(View.INVISIBLE);
|
||||
setProgress(0f);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user