Let's remove vulgarity
patches:
-
patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/MemberCheckResult;->isPassed()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/MemberCheckResult;->getVipEnable()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/MemberCheckResult;->getVipPayEnable()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/MemberInfo;->isActive()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/MemberInfo;->getMemberType()I" replacement: | const/4 v0, 0x2 # PREMIUM_MEMBER_TYPE = 2 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/bean/MemberBriefInfo;->isActive()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/bean/MemberBriefInfo;->getMemberType()I" replacement: | const/4 v0, 0x2 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->b()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->g()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->h()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->B()Z" replacement: | const/4 v0, 0x1 return v0
- patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->D()I" replacement: | const/4 v0, 0x5 # PARALLEL_DOWNLOAD_TASKS = 5 return v0
- patch_type: smali_ast_patch target: "Lcom/transsion/member/MemberProvider;->z()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->b()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->j()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->u()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->f()I" replacement: | const/32 v0, 0x7fffffff # UNLIMITED = Int.MAX_VALUE return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->t()I" replacement: | const/32 v0, 0x7fffffff return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->w()I" replacement: | const/32 v0, 0x7fffffff return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->x()I" replacement: | const/32 v0, 0x7fffffff return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->h()I" replacement: | const/4 v0, 0x5 # DOWNLOAD_RESOLUTIONS = 5 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/member/premium/PremiumProvider;->n()I" replacement: | const/16 v0, 0x270f # DAYS_LEFT = 9999 return v0
- patch_type: smali_ast_patch target: "Lcom/transsion/memberapi/PremiumV2CheckAccessDto;->getHasAccess()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/db/member/MemberResolutionBean;->isUnlock()Z" replacement: | const/4 v0, 0x1 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/db/member/MemberResolutionBean;->getVipResolutionTip()Z" replacement: | const/4 v0, 0x0 return v0
- patch_type: smali_ast_patch target: "Lcom/transsion/member/ObserveLoginAction;->onLogout()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/db/download/DownloadBean;->getRequireMemberType()I" replacement: | const/4 v0, 0x0 # FREE = 0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/db/download/VipInfo;->getRequireMemberType()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/moviedetailapi/DownloadItem;->getRequireMemberType()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/shorttv/bean/DownloadItem;->getRequireMemberType()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/shorttv_pugc/bean/DownloadItem;->getRequireMemberType()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/shorttv/bean/ShortTVItem;->getNeedPaid()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/shorttv/bean/Subject;->getNeedPaid()I" replacement: | const/4 v0, 0x0 return v0
- patch_type: smali_ast_patch target: "Lkk/t;->b()Z" replacement: | const/4 v0, 0x1 return v0
- patch_type: smali_ast_patch target: "Lqi/f;->c()Z" replacement: | const/4 v0, 0x1 return v0
- patch_type: smali_ast_patch target: "Lcom/transsion/ad/scene/a;->t()I" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/hisavana/mintegral/executer/MintegralVideo;->initVideo()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/hisavana/mintegral/executer/MintegralBanner;->showBanner()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/hisavana/mintegral/executer/MintegralNative;->initNative()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/hisavana/mintegral/executer/MintegralInterstitial;->initInterstitial()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/hisavana/mintegral/executer/MintegralSplash;->onSplashStartLoad()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/net/AppLifeStatusInterceptor;->i()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/net/AppLifeStatusInterceptor;->j()V" replacement: | return-void
-
patch_type: smali_ast_patch target: "Lcom/transsion/baselib/net/AppLifeStatusInterceptor;->k()V" replacement: | return-void
- patch_type: smali_ast_patch target: "Lcom/transsion/baselib/net/AppLifeStatusInterceptor;->n()Z" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/version/update/RemoteVersionInfo;->getForceUpdate()Z" replacement: | const/4 v0, 0x0 return v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/version/update/RemoteVersionInfo;->getHasUpdate()Z" replacement: | const/4 v0, 0x0 return v0
-
patch_type: inject_smali_class class_name: "com/moviebox/ContentFilter" smali_code: | .class public Lcom/moviebox/ContentFilter; .super Ljava/lang/Object;
.method public static filter(Ljava/lang/String;)Ljava/lang/String; .locals 5 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V
# Block adult/vulgar/anime keywords const-string v1, "adult" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "vulgar" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "18+" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "anime" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "hentai" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "objectification" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "mature" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "ecchi" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "nude" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "sex" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked const-string v1, "nsfw" invoke-virtual {p0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :blocked # If no blocked keywords, return original return-object p0 :blocked const-string v1, "Clean Content" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0.end method
-
patch_type: smali_ast_patch target: "Lcom/moviebox/ui/activity/DetailActivity;->setTitle(Ljava/lang/String;)V" replacement: | .locals 3 invoke-static {p1}, Lcom/moviebox/ContentFilter;->filter(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-super {p0, v0}, Landroid/app/Activity;->setTitle(Ljava/lang/CharSequence;)V return-void
-
patch_type: smali_ast_patch target: "Lcom/moviebox/ui/adapter/MovieAdapter;->onBindViewHolder(Landroidx.recyclerview.widget.RecyclerView$ViewHolder;I)V" replacement: | .locals 5 invoke-static {p1}, Lcom/moviebox/ContentFilter;->filter(Ljava/lang/String;)Ljava/lang/String; move-result-object v0
return-void
- patch_type: smali_ast_patch target: "Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V" replacement: | .locals 3 invoke-static {p1}, Lcom/moviebox/ContentFilter;->filter(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-super {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V return-void
-
patch_type: binary_resource_patch resource_id: 0x7f050001 # Replace with actual ID for vulgar strings new_value: "Clean Content"
-
patch_type: binary_resource_patch resource_id: 0x7f050002 # Replace with actual ID for "18+" new_value: "Family-Friendly"
- patch_type: smali_ast_patch target: "Lcom/moviebox/ui/adapter/MovieAdapter;->loadThumbnail(Ljava/lang/String;)Landroid/graphics/Bitmap;" replacement: | .locals 3 new-instance v0, Landroid/graphics/Bitmap; const/4 v1, 0x1 # Width const/4 v2, 0x1 # Height invoke-direct {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(II)Landroid/graphics/Bitmap; return-object v0
-
patch_type: smali_ast_patch target: "Lcom/moviebox/ui/HomeActivity;->loadRecommendations()V" replacement: | .locals 1 return-void
-
patch_type: smali_ast_patch target: "Lcom/moviebox/ui/adapter/RecommendationAdapter;->onBindViewHolder(Landroidx.recyclerview.widget.RecyclerView$ViewHolder;I)V" replacement: | .locals 3 return-void
-
patch_type: smali_ast_patch target: "Lcom/moviebox/ui/fragment/RecommendationFragment;->onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;" replacement: | .locals 5 const/4 v0, 0x0 return-object v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/api/gateway/utils/DeviceUtils;->getSimOperator()Ljava/lang/String;" replacement: | const-string v0, "" return-object v0
-
patch_type: smali_ast_patch target: "Lcom/transsion/core/deviceinfo/DeviceInfo;->f()Ljava/lang/String;" replacement: | const-string v0, "" return-object v0
-
patch_type: smali_ast_patch target: "Loh/b;->o()Ljava/lang/String;" replacement: | const-string v0, "" return-object v0