diff --git a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java index 8f4e3770f..6b361bb61 100644 --- a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java @@ -14,7 +14,8 @@ public final class FeedItemsFilter { new StoryFilter(), new ImageVideoFilter(), new ViewCountFilter(), - new LikeCountFilter() + new LikeCountFilter(), + new ShopFilter() ); public static void filter(FeedItemList feedItemList) { diff --git a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ShopFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ShopFilter.java new file mode 100644 index 000000000..f134dc1bd --- /dev/null +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ShopFilter.java @@ -0,0 +1,17 @@ +package app.revanced.extension.tiktok.feedfilter; + +import app.revanced.extension.tiktok.settings.Settings; +import com.ss.android.ugc.aweme.feed.model.Aweme; + +public class ShopFilter implements IFilter { + private static final String SHOP_INFO = "placeholder_product_id"; + @Override + public boolean getEnabled() { + return Settings.HIDE_SHOP.get(); + } + + @Override + public boolean getFiltered(Aweme item) { + return item.getShareUrl().contains(SHOP_INFO); + } +} diff --git a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java index 58e3df369..3af58c5f3 100644 --- a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java @@ -11,6 +11,7 @@ import app.revanced.extension.shared.settings.StringSetting; public class Settings extends BaseSettings { public static final BooleanSetting REMOVE_ADS = new BooleanSetting("remove_ads", TRUE, true); public static final BooleanSetting HIDE_LIVE = new BooleanSetting("hide_live", FALSE, true); + public static final BooleanSetting HIDE_SHOP = new BooleanSetting("hide_shop", FALSE, true); public static final BooleanSetting HIDE_STORY = new BooleanSetting("hide_story", FALSE, true); public static final BooleanSetting HIDE_IMAGE = new BooleanSetting("hide_image", FALSE, true); public static final StringSetting MIN_MAX_VIEWS = new StringSetting("min_max_views", "0-" + Long.MAX_VALUE, true); diff --git a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java index bcd56bc7e..938d20e63 100644 --- a/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java @@ -26,6 +26,11 @@ public class FeedFilterPreferenceCategory extends ConditionalPreferenceCategory "Remove feed ads", "Remove ads from feed.", Settings.REMOVE_ADS )); + addPreference(new TogglePreference( + context, + "Hide TikTok Shop", "Hide TikTok shop from feed.", + Settings.HIDE_SHOP + )); addPreference(new TogglePreference( context, "Hide livestreams", "Hide livestreams from feed.", diff --git a/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java b/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java index e1ea9af6c..a950b0905 100644 --- a/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java +++ b/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java @@ -33,4 +33,8 @@ public class Aweme { public AwemeStatistics getStatistics() { throw new UnsupportedOperationException("Stub"); } + + public String getShareUrl() { + throw new UnsupportedOperationException("Stub"); + } }