Fixing badge bounds incorrectly set when dragging icon

Bug: 64427027
Change-Id: If57bdcab703b2cc30e8ca0c0fba0dd599792bd00
diff --git a/src/com/android/launcher3/dragndrop/DragView.java b/src/com/android/launcher3/dragndrop/DragView.java
index b6e38bb..e81e2a3 100644
--- a/src/com/android/launcher3/dragndrop/DragView.java
+++ b/src/com/android/launcher3/dragndrop/DragView.java
@@ -218,6 +218,12 @@
 
                     Rect bounds = new Rect(0, 0, w, h);
                     bounds.inset(blurMargin, blurMargin);
+                    // Badge is applied after icon normalization so the bounds for badge should not
+                    // be scaled down due to icon normalization.
+                    Rect badgeBounds = new Rect(bounds);
+                    mBadge = getBadge(info, appState, outObj[0]);
+                    mBadge.setBounds(badgeBounds);
+
                     Utilities.scaleRectAboutCenter(bounds,
                             IconNormalizer.getInstance(mLauncher).getScale(dr, null, null, null));
                     AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) dr;
@@ -234,9 +240,6 @@
                     mTranslateY = new SpringFloatValue(DragView.this,
                             h * AdaptiveIconDrawable.getExtraInsetFraction());
 
-                    mBadge = getBadge(info, appState, outObj[0]);
-                    mBadge.setBounds(bounds);
-
                     bounds.inset(
                             (int) (-bounds.width() * AdaptiveIconDrawable.getExtraInsetFraction()),
                             (int) (-bounds.height() * AdaptiveIconDrawable.getExtraInsetFraction())