manual merge due to conflicts
Change-Id: I9f18e1a426be7945c159262f79201832c3474a60
diff --git a/res/drawable-hdpi/focused_application_background.9.png b/res/drawable-hdpi/focused_application_background.9.png
index 7bf37ef..1b11492 100644
--- a/res/drawable-hdpi/focused_application_background.9.png
+++ b/res/drawable-hdpi/focused_application_background.9.png
Binary files differ
diff --git a/res/drawable-hdpi/pressed_application_background.9.png b/res/drawable-hdpi/pressed_application_background.9.png
index a6cbe94..ece27fd 100644
--- a/res/drawable-hdpi/pressed_application_background.9.png
+++ b/res/drawable-hdpi/pressed_application_background.9.png
Binary files differ
diff --git a/res/drawable-mdpi/focused_application_background.9.png b/res/drawable-mdpi/focused_application_background.9.png
index 9d09b41..b27d693 100644
--- a/res/drawable-mdpi/focused_application_background.9.png
+++ b/res/drawable-mdpi/focused_application_background.9.png
Binary files differ
diff --git a/res/drawable-mdpi/pressed_application_background.9.png b/res/drawable-mdpi/pressed_application_background.9.png
index b79536a..1fd727e 100644
--- a/res/drawable-mdpi/pressed_application_background.9.png
+++ b/res/drawable-mdpi/pressed_application_background.9.png
Binary files differ
diff --git a/res/drawable/pressed_application_background.9.png b/res/drawable/pressed_application_background.9.png
index b09f595..754af48 100644
--- a/res/drawable/pressed_application_background.9.png
+++ b/res/drawable/pressed_application_background.9.png
Binary files differ
diff --git a/res/layout-xlarge/all_apps_paged_view_application.xml b/res/layout-xlarge/all_apps_paged_view_application.xml
index 48b5712..a080bcec 100644
--- a/res/layout-xlarge/all_apps_paged_view_application.xml
+++ b/res/layout-xlarge/all_apps_paged_view_application.xml
@@ -28,4 +28,4 @@
android:layout_height="match_parent"
android:gravity="center_horizontal"
- style="@style/WorkspaceIcon.Portrait" />
+ style="@style/WorkspaceIcon.AllApps" />
diff --git a/res/values-id/strings.xml b/res/values-in/strings.xml
similarity index 100%
rename from res/values-id/strings.xml
rename to res/values-in/strings.xml
diff --git a/res/values-he/strings.xml b/res/values-iw/strings.xml
similarity index 100%
rename from res/values-he/strings.xml
rename to res/values-iw/strings.xml
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 3305299..1e2dba2 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -49,6 +49,10 @@
<item name="android:paddingRight">5dip</item>
</style>
+ <style name="WorkspaceIcon.AllApps">
+ <item name="android:background">@null</item>
+ </style>
+
<style name="WorkspaceIcon.Portrait">
<item name="android:drawablePadding">5dip</item>
<item name="android:paddingTop">4dip</item>
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 89a6303..113f35d 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -26,7 +26,6 @@
import android.graphics.drawable.Drawable;
import android.text.Layout;
import android.util.AttributeSet;
-import android.view.View.MeasureSpec;
import com.android.launcher.R;
@@ -40,8 +39,6 @@
static final float PADDING_H = 8.0f;
static final float PADDING_V = 3.0f;
- private int mAppCellWidth;
-
private final RectF mRect = new RectF();
private Paint mPaint;
private float mBubbleColorAlpha;
@@ -78,7 +75,6 @@
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setColor(bubbleColor);
mBubbleColorAlpha = Color.alpha(bubbleColor) / 255.0f;
- mAppCellWidth = (int) res.getDimension(R.dimen.app_icon_size);
final float scale = res.getDisplayMetrics().density;
mCornerRadius = CORNER_RADIUS * scale;
@@ -166,20 +162,6 @@
}
@Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- if (w > 0 && h > 0) {
- // Temporary Workaround: We need to set padding to compress the text so that we can draw
- // a hotdog around it. Currently, the background images prevent us from applying the
- // padding in XML, so we are doing this programmatically
- int d = w - mAppCellWidth;
- int pL = d - (d / 2);
- int pR = d - pL;
- setPadding(pL, getPaddingTop(), pR, getPaddingBottom());
- }
- super.onSizeChanged(w, h, oldw, oldh);
- }
-
- @Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
if (mBackground != null) mBackground.setCallback(this);
diff --git a/src/com/android/launcher2/CacheableTextView.java b/src/com/android/launcher2/CacheableTextView.java
index eba29ec..50da7cd 100644
--- a/src/com/android/launcher2/CacheableTextView.java
+++ b/src/com/android/launcher2/CacheableTextView.java
@@ -18,9 +18,10 @@
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Paint;
-import android.graphics.Bitmap.Config;
+import android.graphics.Rect;
import android.text.Layout;
import android.util.AttributeSet;
import android.widget.TextView;
@@ -66,7 +67,13 @@
}
public void buildAndEnableCache() {
- if (getLayout() == null) {
+ // Defers building the cache until the next draw to allow measuring
+ // and laying out.
+ buildAndEnableCache(false);
+ }
+
+ public void buildAndEnableCache(boolean isImmediate) {
+ if (getLayout() == null || !isImmediate) {
mWaitingToGenerateCache = true;
return;
}
@@ -94,8 +101,20 @@
int height = (int) (textCacheBottom - mTextCacheTop);
if (width != 0 && height != 0) {
- mCache = Bitmap.createBitmap(width, height, Config.ARGB_8888);
- mCacheCanvas.setBitmap(mCache);
+ if (mCache != null) {
+ if (mCache.getWidth() != width || mCache.getHeight() != height) {
+ mCache.recycle();
+ mCache = null;
+ }
+ }
+ if (mCache == null) {
+ mCache = Bitmap.createBitmap(width, height, Config.ARGB_8888);
+ mCacheCanvas.setBitmap(mCache);
+ } else {
+ mCacheCanvas.drawColor(0x00000000);
+ }
+
+ mCacheCanvas.save();
mCacheCanvas.translate(-mTextCacheLeft, -mTextCacheTop);
mIsBuildingCache = true;
@@ -103,6 +122,7 @@
draw(mCacheCanvas);
setAlpha(prevAlpha);
mIsBuildingCache = false;
+ mCacheCanvas.restore();
// 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
@@ -114,10 +134,10 @@
public void draw(Canvas canvas) {
if (mWaitingToGenerateCache && !mIsBuildingCache) {
- buildAndEnableCache();
+ buildAndEnableCache(true);
mWaitingToGenerateCache = false;
}
- if (mCache != null) {
+ if (mCache != null && !mIsBuildingCache) {
canvas.drawBitmap(mCache, mTextCacheLeft - mTextCacheScrollX + mScrollX,
mTextCacheTop, mCachePaint);
}