diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index 521d8f4..0d01343 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -66,6 +66,7 @@
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.views.ActivityContext;
+import com.android.launcher3.views.BubbleTextHolder;
 import com.android.launcher3.views.IconLabelDotView;
 
 import java.text.NumberFormat;
@@ -162,7 +163,7 @@
     private HandlerRunnable mIconLoadRequest;
 
     private boolean mEnableIconUpdateAnimation = false;
-    private ItemInfoUpdateReceiver mItemInfoUpdateReceiver;
+    private BubbleTextHolder mBubbleTextHolder;
 
     public BubbleTextView(Context context) {
         this(context, null, 0);
@@ -240,7 +241,6 @@
         mDotParams.scale = 0f;
         mForceHideDot = false;
         setBackground(null);
-        mItemInfoUpdateReceiver = null;
     }
 
     private void cancelDotScaleAnim() {
@@ -340,14 +340,14 @@
 
     private void setItemInfo(ItemInfoWithIcon itemInfo) {
         setTag(itemInfo);
-        if (mItemInfoUpdateReceiver != null) {
-            mItemInfoUpdateReceiver.reapplyItemInfo(itemInfo);
+        if (mBubbleTextHolder != null) {
+            mBubbleTextHolder.onItemInfoUpdated(itemInfo);
         }
     }
 
-    public void setItemInfoUpdateReceiver(
-            ItemInfoUpdateReceiver itemInfoUpdateReceiver) {
-        mItemInfoUpdateReceiver = itemInfoUpdateReceiver;
+    public void setBubbleTextHolder(
+            BubbleTextHolder bubbleTextHolder) {
+        mBubbleTextHolder = bubbleTextHolder;
     }
 
     @UiThread
diff --git a/src/com/android/launcher3/views/BubbleTextHolder.java b/src/com/android/launcher3/views/BubbleTextHolder.java
index 42701c6..1cb27e1 100644
--- a/src/com/android/launcher3/views/BubbleTextHolder.java
+++ b/src/com/android/launcher3/views/BubbleTextHolder.java
@@ -16,14 +16,13 @@
 package com.android.launcher3.views;
 
 import com.android.launcher3.BubbleTextView;
-import com.android.launcher3.icons.IconCache;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 
 /**
  * Views that contain {@link BubbleTextView} should implement this interface.
  */
-public interface BubbleTextHolder extends IconCache.ItemInfoUpdateReceiver {
+public interface BubbleTextHolder {
     BubbleTextView getBubbleText();
 
     /**
@@ -31,6 +30,6 @@
      *
      * @param itemInfo the new itemInfo
      */
-    @Override
-    default void reapplyItemInfo(ItemInfoWithIcon itemInfo){};
+    default void onItemInfoUpdated(ItemInfoWithIcon itemInfo) {
+    }
 }
