diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-01-18 23:05:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-01-18 23:05:51 +0000 |
commit | 234b92d4ece44c3447953a71b51d7b5b7241dd08 (patch) | |
tree | 36be81e8aa00132e9762c7a64e72f1c21afc4071 | |
parent | dbcd632214d59e7e1d1103e20cee1c7ac91b4e5a (diff) | |
parent | ce8809a5883bb869e8b1fb991821876b498c18c5 (diff) | |
download | android_packages_apps_Trebuchet-234b92d4ece44c3447953a71b51d7b5b7241dd08.tar.gz android_packages_apps_Trebuchet-234b92d4ece44c3447953a71b51d7b5b7241dd08.tar.bz2 android_packages_apps_Trebuchet-234b92d4ece44c3447953a71b51d7b5b7241dd08.zip |
Merge "Reapplying state UI when the insets change" into ub-launcher3-master
-rw-r--r-- | quickstep/src/com/android/launcher3/uioverrides/OverviewState.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherRootView.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherStateManager.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 12 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 12 |
5 files changed, 36 insertions, 4 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java index d2057cf74..68f6eedc2 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java @@ -100,12 +100,12 @@ public class OverviewState extends LauncherState { float scale = pageRect.height() / childHeight; Rect insets = launcher.getDragLayer().getInsets(); - float halfHeight = ws.getHeight() / 2; + float halfHeight = ws.getExpectedHeight() / 2; float childTop = halfHeight - scale * (halfHeight - ws.getPaddingTop() - insets.top); float translationY = pageRect.top - childTop; // Align the workspace horizontally centered with the task rect - float halfWidth = ws.getWidth() / 2; + float halfWidth = ws.getExpectedWidth() / 2; float childCenter = halfWidth - scale * (halfWidth - ws.getPaddingLeft() - insets.left - childWidth / 2); float translationX = pageRect.exactCenterX() - childCenter; diff --git a/src/com/android/launcher3/LauncherRootView.java b/src/com/android/launcher3/LauncherRootView.java index c2c8a7c96..18d52343c 100644 --- a/src/com/android/launcher3/LauncherRootView.java +++ b/src/com/android/launcher3/LauncherRootView.java @@ -68,6 +68,7 @@ public class LauncherRootView extends InsettableFrameLayout { // Update device profile before notifying th children. mLauncher.getDeviceProfile().updateInsets(insets); + boolean resetState = !insets.equals(mInsets); setInsets(insets); if (mAlignedView != null) { @@ -79,6 +80,9 @@ public class LauncherRootView extends InsettableFrameLayout { mAlignedView.setLayoutParams(lp); } } + if (resetState) { + mLauncher.getStateManager().reapplyState(); + } return true; // I'll take it from here } diff --git a/src/com/android/launcher3/LauncherStateManager.java b/src/com/android/launcher3/LauncherStateManager.java index bcb6252b3..8eeeec3df 100644 --- a/src/com/android/launcher3/LauncherStateManager.java +++ b/src/com/android/launcher3/LauncherStateManager.java @@ -146,6 +146,14 @@ public class LauncherStateManager { goToState(state, true, delay, null); } + public void reapplyState() { + if (mConfig.mCurrentAnimation == null) { + for (StateHandler handler : getStateHandlers()) { + handler.setState(mState); + } + } + } + private void goToState(LauncherState state, boolean animated, long delay, Runnable onCompleteRunnable) { if (mLauncher.isInState(state) && mConfig.mCurrentAnimation == null) { diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 4c3085331..ad94a6b5f 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -563,13 +563,21 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc computeScrollHelper(); } + public int getExpectedHeight() { + return getMeasuredHeight(); + } + public int getNormalChildHeight() { - return getMeasuredHeight() - getPaddingTop() - getPaddingBottom() + return getExpectedHeight() - getPaddingTop() - getPaddingBottom() - mInsets.top - mInsets.bottom; } + public int getExpectedWidth() { + return getMeasuredWidth(); + } + public int getNormalChildWidth() { - return getMeasuredWidth() - getPaddingLeft() - getPaddingRight() + return getExpectedWidth() - getPaddingLeft() - getPaddingRight() - mInsets.left - mInsets.right; } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index de3b09a4a..c946a4479 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -3447,6 +3447,18 @@ public class Workspace extends PagedView } @Override + public int getExpectedHeight() { + return getMeasuredHeight() <= 0 + ? mLauncher.getDeviceProfile().heightPx : getMeasuredHeight(); + } + + @Override + public int getExpectedWidth() { + return getMeasuredWidth() <= 0 + ? mLauncher.getDeviceProfile().widthPx : getMeasuredWidth(); + } + + @Override protected String getPageIndicatorDescription() { return getResources().getString(R.string.all_apps_button_label); } |