summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/cyanogenmod/trebuchet/Launcher.java7
-rw-r--r--src/com/cyanogenmod/trebuchet/Workspace.java3
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();
}