summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-01-18 14:02:47 -0800
committerSunny Goyal <sunnygoyal@google.com>2018-01-18 14:03:19 -0800
commitce8809a5883bb869e8b1fb991821876b498c18c5 (patch)
treecbe995e903b46545697f1d9dc0235bf1e5a7e885 /src
parentf12cfaa1563856710f390b245acb88fc96c80036 (diff)
downloadandroid_packages_apps_Trebuchet-ce8809a5883bb869e8b1fb991821876b498c18c5.tar.gz
android_packages_apps_Trebuchet-ce8809a5883bb869e8b1fb991821876b498c18c5.tar.bz2
android_packages_apps_Trebuchet-ce8809a5883bb869e8b1fb991821876b498c18c5.zip
Reapplying state UI when the insets change
Change-Id: Ief9588400f332b2c5b084a8a11c3102b2c20c4ea
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherRootView.java4
-rw-r--r--src/com/android/launcher3/LauncherStateManager.java8
-rw-r--r--src/com/android/launcher3/PagedView.java12
-rw-r--r--src/com/android/launcher3/Workspace.java12
4 files changed, 34 insertions, 2 deletions
diff --git a/src/com/android/launcher3/LauncherRootView.java b/src/com/android/launcher3/LauncherRootView.java
index 1a1bec684..290c51734 100644
--- a/src/com/android/launcher3/LauncherRootView.java
+++ b/src/com/android/launcher3/LauncherRootView.java
@@ -66,6 +66,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) {
@@ -77,6 +78,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);
}