Use original BubbleTextView icon for legacy stamped forced adaptive icons.

Bug: 129297366
Change-Id: Ic71c42e603cc361b716ba65067a772d19ef394f7
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index 77f278a..faa9f40 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -72,6 +72,7 @@
     public static final float SHAPE_PROGRESS_DURATION = 0.15f;
     private static final int FADE_DURATION_MS = 200;
     private static final Rect sTmpRect = new Rect();
+    private static final Object[] sTmpObjArray = new Object[1];
 
     private Runnable mEndRunnable;
     private CancellationSignal mLoadIconSignal;
@@ -208,10 +209,7 @@
         Drawable drawable = null;
         boolean supportsAdaptiveIcons = ADAPTIVE_ICON_WINDOW_ANIM.get()
                 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O;
-        if (!supportsAdaptiveIcons && v instanceof BubbleTextView) {
-            // Similar to DragView, we simply use the BubbleTextView icon here.
-            drawable = ((BubbleTextView) v).getIcon();
-        }
+        Drawable btvIcon = v instanceof BubbleTextView ? ((BubbleTextView) v).getIcon() : null;
         if (info instanceof SystemShortcut) {
             if (v instanceof ImageView) {
                 drawable = ((ImageView) v).getDrawable();
@@ -220,10 +218,24 @@
             } else {
                 drawable = v.getBackground();
             }
-        }
-        if (drawable == null) {
-            drawable = Utilities.getFullDrawable(launcher, info, lp.width, lp.height,
-                    false, new Object[1]);
+        } else {
+            if (supportsAdaptiveIcons) {
+                drawable = Utilities.getFullDrawable(launcher, info, lp.width, lp.height,
+                        false, sTmpObjArray);
+                if (!(drawable instanceof AdaptiveIconDrawable)) {
+                    // The drawable we get back is not an adaptive icon, so we need to use the
+                    // BubbleTextView icon that is already legacy treated.
+                    drawable = btvIcon;
+                }
+            } else {
+                if (v instanceof BubbleTextView) {
+                    // Similar to DragView, we simply use the BubbleTextView icon here.
+                    drawable = btvIcon;
+                } else {
+                    drawable = Utilities.getFullDrawable(launcher, info, lp.width, lp.height,
+                            false, sTmpObjArray);
+                }
+            }
         }
 
         Drawable finalDrawable = drawable == null ? null