Also reset mBadgeScale to 0 when recycling view.

When left as 1f, the drawBadgeIfNecessary thinks that there
is still a badge -- which results in a NPE when trying to draw
the badge.

Bug: 68324671
Change-Id: I4eedb5825b3a6429c99de0466a77d368a39b1951
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index f20baea..5bdc4ed 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -183,6 +183,7 @@
     public void reset() {
         mBadgeInfo = null;
         mBadgePalette = null;
+        mBadgeScale = 0f;
         mForceHideBadge = false;
     }
 
diff --git a/src/com/android/launcher3/badge/BadgeRenderer.java b/src/com/android/launcher3/badge/BadgeRenderer.java
index c2cc215..6ce334e 100644
--- a/src/com/android/launcher3/badge/BadgeRenderer.java
+++ b/src/com/android/launcher3/badge/BadgeRenderer.java
@@ -26,6 +26,7 @@
 import android.graphics.Rect;
 import android.graphics.Shader;
 import android.support.annotation.Nullable;
+import android.util.Log;
 import android.util.SparseArray;
 
 import com.android.launcher3.R;
@@ -38,6 +39,8 @@
  */
 public class BadgeRenderer {
 
+    private static final String TAG = "BadgeRenderer";
+
     private static final boolean DOTS_ONLY = true;
 
     // The badge sizes are defined as percentages of the app icon size.
@@ -95,6 +98,10 @@
      */
     public void draw(Canvas canvas, IconPalette palette, @Nullable BadgeInfo badgeInfo,
             Rect iconBounds, float badgeScale, Point spaceForOffset) {
+        if (palette == null || iconBounds == null || spaceForOffset == null) {
+            Log.e(TAG, "Invalid null argument(s) passed in call to draw.");
+            return;
+        }
         mTextPaint.setColor(palette.textColor);
         IconDrawer iconDrawer = badgeInfo != null && badgeInfo.isIconLarge()
                 ? mLargeIconDrawer : mSmallIconDrawer;