diff options
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Launcher.java | 7 | ||||
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Workspace.java | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java index c565207b8..920afe110 100644 --- a/src/com/cyanogenmod/trebuchet/Launcher.java +++ b/src/com/cyanogenmod/trebuchet/Launcher.java @@ -607,7 +607,12 @@ public final class Launcher extends Activity if (mFirstTime) { mFirstTime = false; } else { - workspace.post(mBuildLayersRunnable); + // We delay the layer building a bit in order to give + // other message processing a time to run. In particular + // this avoids a delay in hiding the IME if it was + // currently shown, because doing that may involve + // some communication back with the app. + workspace.postDelayed(mBuildLayersRunnable, 500); observer.removeOnPreDrawListener(this); } return true; diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index 94c80fea2..16d92c380 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -2057,7 +2057,7 @@ public class Workspace extends PagedView invalidate(); for (int i = 0; i < getChildCount(); i++) { final CellLayout cl = (CellLayout) getPageAt(i); - cl.fastInvalidate(); + cl.invalidate(); cl.setFastTranslationX(a * mOldTranslationXs[i] + b * mNewTranslationXs[i]); cl.setFastTranslationY(a * mOldTranslationYs[i] + b * mNewTranslationYs[i]); cl.setFastScaleX(a * mOldScaleXs[i] + b * mNewScaleXs[i]); @@ -2067,6 +2067,7 @@ public class Workspace extends PagedView cl.setBackgroundAlphaMultiplier(a * mOldBackgroundAlphaMultipliers[i] + b * mNewBackgroundAlphaMultipliers[i]); cl.setFastAlpha(a * mOldAlphas[i] + b * mNewAlphas[i]); + cl.invalidate(); } syncChildrenLayersEnabledOnVisiblePages(); } |