Merge "Fix Folder text animation bugs." into ub-launcher3-dorval-polish
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index aad8123..3c7c698 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -791,6 +791,7 @@
         if (mFolderIcon != null) {
             mFolderIcon.setVisibility(View.VISIBLE);
             if (FeatureFlags.LAUNCHER3_NEW_FOLDER_ANIMATION) {
+                mFolderIcon.mFolderName.setTextVisibility(true);
                 mFolderIcon.setBackgroundVisible(true);
                 mFolderIcon.mBackground.fadeInBackgroundShadow();
             }
diff --git a/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java b/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java
index 9c8457a..c0b5fe1 100644
--- a/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java
+++ b/src/com/android/launcher3/views/DoubleShadowBubbleTextView.java
@@ -19,7 +19,9 @@
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.Region;
+import android.support.v4.graphics.ColorUtils;
 import android.util.AttributeSet;
 
 import com.android.launcher3.BubbleTextView;
@@ -45,18 +47,20 @@
         mShadowInfo = new ShadowInfo(context, attrs, defStyle);
         setShadowLayer(mShadowInfo.ambientShadowBlur, 0, 0, mShadowInfo.ambientShadowColor);
     }
+
     @Override
     public void onDraw(Canvas canvas) {
         // If text is transparent, don't draw any shadow
-        if ((getCurrentTextColor() >> 24) == 0) {
+        int alpha = Color.alpha(getCurrentTextColor());
+        if (alpha == 0) {
             getPaint().clearShadowLayer();
             super.onDraw(canvas);
             return;
         }
 
         // We enhance the shadow by drawing the shadow twice
-        getPaint().setShadowLayer(
-                mShadowInfo.ambientShadowBlur, 0, 0, mShadowInfo.ambientShadowColor);
+        getPaint().setShadowLayer(mShadowInfo.ambientShadowBlur, 0, 0,
+                ColorUtils.setAlphaComponent(mShadowInfo.ambientShadowColor, alpha));
 
         drawWithoutBadge(canvas);
         canvas.save(Canvas.CLIP_SAVE_FLAG);
@@ -64,8 +68,8 @@
                 getScrollX() + getWidth(),
                 getScrollY() + getHeight(), Region.Op.INTERSECT);
 
-        getPaint().setShadowLayer(mShadowInfo.keyShadowBlur, 0.0f,
-                mShadowInfo.keyShadowOffset, mShadowInfo.keyShadowColor);
+        getPaint().setShadowLayer(mShadowInfo.keyShadowBlur, 0.0f, mShadowInfo.keyShadowOffset,
+                ColorUtils.setAlphaComponent(mShadowInfo.keyShadowColor, alpha));
         drawWithoutBadge(canvas);
         canvas.restore();