diff --git a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java b/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
index 4f6a29f..d38790f 100644
--- a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
+++ b/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
@@ -15,9 +15,6 @@
  */
 package com.android.customization.model.theme;
 
-import static com.google.android.apps.wallpaper.model.Action.getActionIconForType;
-import static com.google.android.apps.wallpaper.model.Action.getActionLabelForType;
-
 import android.app.Activity;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
@@ -34,8 +31,6 @@
 import com.android.wallpaper.model.InlinePreviewIntentFactory;
 import com.android.wallpaper.model.WallpaperInfo;
 
-import com.google.android.apps.wallpaper.model.Action.ActionType;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -125,11 +120,6 @@
     }
 
     @Override
-    public int getActionLabelRes(Context context) {
-        return getActionLabelForType(getActionType(context));
-    }
-
-    @Override
     public Asset getAsset(Context context) {
         if (mAsset == null) {
             Resources res = getPackageResources(context);
@@ -145,11 +135,6 @@
     }
 
     @Override
-    public int getActionIconRes(Context context) {
-        return getActionIconForType(getActionType(context));
-    }
-
-    @Override
     public void showPreview(Activity srcActivity, InlinePreviewIntentFactory factory,
             int requestCode) {
         try {
@@ -174,10 +159,6 @@
         return mResName;
     }
 
-    private int getActionType(Context context) {
-        return ActionType.EXPLORE;
-    }
-
     /**
      * Returns the {@link Resources} instance for the theme bundles stub APK.
      */
