diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 344c389..78ef074 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1529,9 +1529,11 @@
 
     private void setHotseatAlphaAtIndex(float alpha, int index) {
         mHotseatAlpha[index] = alpha;
-        float finalAlpha = mHotseatAlpha[0] * mHotseatAlpha[1] * mHotseatAlpha[2];
+        final float hotseatAlpha = mHotseatAlpha[0] * mHotseatAlpha[1] * mHotseatAlpha[2];
+        final float pageIndicatorAlpha = mHotseatAlpha[0] * mHotseatAlpha[2];
 
-        mLauncher.getHotseat().setAlpha(finalAlpha);
+        mLauncher.getHotseat().setAlpha(hotseatAlpha);
+        mPageIndicator.setAlpha(pageIndicatorAlpha);
     }
 
     public ValueAnimator createHotseatAlphaAnimator(float finalValue) {
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index 85af60e..6518ab1 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -5,7 +5,6 @@
 import android.animation.AnimatorSet;
 import android.animation.ArgbEvaluator;
 import android.animation.ObjectAnimator;
-import android.graphics.Color;
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.View;
diff --git a/src/com/android/launcher3/pageindicators/CaretDrawable.java b/src/com/android/launcher3/pageindicators/CaretDrawable.java
index 3a7fc42..8971323 100644
--- a/src/com/android/launcher3/pageindicators/CaretDrawable.java
+++ b/src/com/android/launcher3/pageindicators/CaretDrawable.java
@@ -53,6 +53,10 @@
 
     @Override
     public void draw(Canvas canvas) {
+        if (Float.compare(mPaint.getAlpha(), 0f) == 0) {
+            return;
+        }
+
         final float width = getBounds().width();
         final float height = getBounds().height();
         final float left = getBounds().left;
@@ -78,12 +82,13 @@
 
     @Override
     public int getOpacity() {
-        return PixelFormat.OPAQUE;
+        return PixelFormat.TRANSLUCENT;
     }
 
     @Override
     public void setAlpha(int alpha) {
-        // no-op
+        mPaint.setAlpha(alpha);
+        invalidateSelf();
     }
 
     @Override
