# game_sdk
-keep class g.toutiao.** {*;}
-keep class com.ss.android.socialbase.downloader.model.DownloadInfo {*;}

-keep class com.ss.android.vesdk.** { *; }
-keep class com.ss.ttuploader.** { *; }

-keep class com.bytedance.ttgame.module.rn.GReactNativeActivity {*;}
-keep class com.bytedance.ttgame.channel.smartRouter.NotifyRouter {*;}


# download库
-keep class com.ss.android.downloadlib.** { *; }
-keep class com.ss.android.download.api.** { *; }
-keep class com.ss.android.downloadad.api.** { *; }

-keep interface com.ss.android.downloadlib.** { *; }
-keep interface com.ss.android.download.api.** { *; }
-keep interface com.ss.android.downloadad.api.** { *; }

# appdownloader
-keep class com.ss.android.socialbase.appdownloader.** { *; }
-keep class com.ss.android.socialbase.downloader.** { *; }

-keep interface com.ss.android.socialbase.appdownloader.** { *; }
-keep interface com.ss.android.socialbase.downloader.** { *; }


# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

#VK混淆规则
-keep class com.vk.** { *; }
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# kakao sdk
-keep class com.kakao.** { *; }
-keepattributes Signature
-keepclassmembers class * {
  public static <fields>;
  public *;
}
-dontwarn android.support.v4.**,com.ning.http.client.**,org.jboss.netty.**, org.slf4j.**, com.fasterxml.jackson.databind.**, com.google.android.gms.**
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keep class com.bytedance.android.pipopay.PipoPay { *; }
-keep class com.android.vending.billing.**
-keep class com.android.billingclient.api.PipoBillingFlowParams
-keep class com.android.billingclient.api.PipoPayBillingClientImpl
-keep class com.bytedance.android.pipopay.impl.net.entity.** { *; }

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

-keep class com.bytedance.ttgame.sdk.module.account.api.** { *; }

-keep class com.tencent.** {*;}
-keep class com.tencent.**$* {*;}
-keep class com.bytedance.sdk.share.keep.impl.** {*;}
-keep class com.bytedance.sdk.share.api.** {*;}
-keep class com.bytedance.sdk.share.partner.** {*;}
-keep class com.bytedance.sdk.share.network.model.** {*;}
-keep class com.bytedance.sdk.share.manager.** {*;}
-keep class com.bytedance.sdk.share.channel.douyin.view.**{*;}
-keep class com.bytedance.sdk.share.channel.wechat.view.**{*;}
-keep class  com.bytedance.sdk.share.channel.qq.action.**{*;}
-keep class com.bytedance.sdk.open.** {*;}

-ignorewarnings
-keepattributes *Annotation*
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes Exceptions,InnerClasses
-keepattributes SourceFile,LineNumberTable
-renamesourcefileattribute SourceFile
# fixme 这两个类是share模块引用gsdk中的类，现在gsdk中会混淆，但是打包时share并不会引用混淆后的类导致抖音分享失败
-keep class com.bytedance.sdk.account.bdopen.impl.BDOpenConfig { *; }
-keep class com.bytedance.sdk.account.common.api.BDApiEventHandler { *; }
-keep class com.ss.android.account.token.TTTokenInterceptor { *; }

-keep class com.bytedance.news.common.settings.api.annotation.ISettings {*;}
-keep class * implements com.bytedance.news.common.settings.api.annotation.ISettings {*;}
-keep class com.bytedance.news.common.settings.api.SettingsData {*;}
-keep class com.bytedance.news.common.settings.api.RequestService {*;}
-keep class com.bytedance.ttgame.sdk.module.account.settings.AccountSettingsRequestServiceImpl {*;}
-keep class com.bytedance.news.common.settings.api.Response {*;}
-keep class com.bytedance.news.common.settings.IndividualManager {*;}
-keep class com.bytedance.news.common.settings.SettingsConfig {*;}
-keep class com.bytedance.news.common.settings.SettingsConfig$* {*;}
-keep class com.bytedance.news.common.settings.LazyConfig {*;}
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile




#安全SDK proguard
# 老代码相关，先建议保留

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keep class com.bytedance.ttgame.module.pay.api.** { *; }


# ==================================
#  国内版本 CJPaySDK需要增加的keep 规则
# ==================================
-keep class com.ss.android.editor.JsCallbackReceiver {*;}
-keepclasseswithmembers class * {
 @com.apkfuns.jsbridge.module.JSBridgeMethod <methods>;
}
-keep class com.apkfuns.jsbridge.**{*;}
-keep class * extends com.apkfuns.jsbridge.module.JsModule
#for marketing, ref: https://bytedance.feishu.cn/docs/doccnXMhztw8bnQmAYATRXqVYug
# 财经SDK
-keep class  com.android.ttcjpaysdk.ttcjpayapi.** {*;}
-keep class  com.android.ttcjpaysdk.ttcjpaythirdpartypayment.TTCJWXPayEntryActivity {*;}
-keepclassmembers class  com.android.ttcjpaysdk.web.TTCJPayJsBridgeWebChromeClient {
 public  void  openFileChooser(android.webkit.ValueCallback, java.lang.String, java.lang.String);
 public  void  openFileChooser(android.webkit.ValueCallback, java.lang.String);
 public  void  openFileChooser(android.webkit.ValueCallback);
}
-keep public class * extends com.android.ttcjpaysdk.service.TTCJPayIService {*;}
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

-keep class com.bytedance.ttgame.core.** {*;}

