Merge "Import revised translations." into honeycomb
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 4d1dbf8..9f0e5fb 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -118,7 +118,6 @@
                 new FastBitmapDrawable(b),
                 null, null);
         setText(info.title);
-        buildAndEnableCache();
         setTag(info);
     }
 
diff --git a/src/com/android/launcher2/CacheableTextView.java b/src/com/android/launcher2/CacheableTextView.java
index da2f302..167133d 100644
--- a/src/com/android/launcher2/CacheableTextView.java
+++ b/src/com/android/launcher2/CacheableTextView.java
@@ -18,10 +18,9 @@
 
 import android.content.Context;
 import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
 import android.graphics.Canvas;
-import android.graphics.Color;
 import android.graphics.Paint;
+import android.graphics.Bitmap.Config;
 import android.text.Layout;
 import android.util.AttributeSet;
 import android.widget.TextView;
@@ -39,7 +38,7 @@
 
     private int mPrevAlpha = -1;
     private boolean mIsBuildingCache;
-    boolean mWaitingToGenerateCache;
+    boolean mIsTextCacheDirty;
     float mTextCacheLeft;
     float mTextCacheTop;
     float mTextCacheScrollX;
@@ -73,18 +72,12 @@
         return 0;
     }
 
-    public void buildAndEnableCache() {
-        // Defers building the cache until the next draw to allow measuring
-        // and laying out.
-        buildAndEnableCache(false);
+    public void setText(CharSequence text, BufferType type) {
+        super.setText(text, type);
+        mIsTextCacheDirty = true;
     }
 
-    public void buildAndEnableCache(boolean isImmediate) {
-        if (getLayout() == null || !isImmediate) {
-            mWaitingToGenerateCache = true;
-            return;
-        }
-
+    private void buildAndUpdateCache() {
         final Layout layout = getLayout();
         final int left = getCompoundPaddingLeft();
         final int top = getExtendedPaddingTop();
@@ -133,8 +126,7 @@
 
             // A hack-- we set the text to be one space (we don't make it empty just to avoid any
             // potential issues with text measurement, like line height, etc.) so that the text view
-            // doesn't draw it anymore, since it's been cached. We have to manually rebuild
-            // the cache whenever the text is changed (which is never in Launcher)
+            // doesn't draw it anymore, since it's been cached.
             mText = getText();
             setText(" ");
         }
@@ -145,9 +137,9 @@
     }
 
     public void draw(Canvas canvas) {
-        if (mWaitingToGenerateCache && !mIsBuildingCache) {
-            buildAndEnableCache(true);
-            mWaitingToGenerateCache = false;
+        if (mIsTextCacheDirty && !mIsBuildingCache) {
+            buildAndUpdateCache();
+            mIsTextCacheDirty = false;
         }
         if (mCache != null && !mIsBuildingCache) {
             canvas.drawBitmap(mCache, mTextCacheLeft - mTextCacheScrollX + mScrollX,
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index 6ce308b..90cff97 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -143,7 +143,6 @@
         mIcon = info.iconBitmap;
         setCompoundDrawablesWithIntrinsicBounds(null, new FastBitmapDrawable(mIcon), null, null);
         setText(info.title);
-        buildAndEnableCache();
         setTag(info);
 
         if (createHolographicOutlines) {
@@ -160,7 +159,6 @@
                 modelIconCache.getFullResIcon(info, packageManager), mContext);
         setCompoundDrawablesWithIntrinsicBounds(null, new FastBitmapDrawable(mIcon), null, null);
         setText(info.loadLabel(packageManager));
-        buildAndEnableCache();
         setTag(info);
 
         if (createHolographicOutlines) {