# 将所有的 IService 子类 keep 住，因为 spi 会自动查找
-keep class * implements com.bytedance.ttgame.framework.module.spi.IService {*;}
# 将所有的 ModuleLifecycle 子类 keep 住，因为 ModuleManager 会查找
-keep class * implements com.bytedance.ttgame.framework.module.spi.ModuleLifecycle {*;}
# 保留源代码名称和行号表
-keepattributes SourceFile,LineNumberTable
-keep class g.optional.push.** {*;}

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/chenzhiyong/Library/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 *;
#}

# 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
#自动添加了 proguard 规则，无需再次添加
-keep class com.fcm.service.FcmRegistrationJobIntentService{*;}
-keep class com.fcm.service.SSGcmListenerService{*;}
-keep class com.fcm.FcmPushAdapter{*;}
# 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 *;
#}



-keepnames class org.msgpack.MessageTypeException.** {*;}
-keepnames class org.msgpack.packer.** {*;}
-keepnames class org.msgpack.template.** {*;}
-keepnames class org.msgpack.type.** {*;}
-keepnames class org.msgpack.unpacker.** {*;}
-keepnames class org.msgpack.MessagePack.** {*;}
-dontwarn org.msgpack.**

-keep interface com.ss.android.pushmanager.thirdparty.I* {*;}
-keep class * implements com.bytedance.push.third.IPushAdapter {*;}

-keep interface com.ss.android.pushmanager.IMessageAppAdapter {*;}
-keep class * implements com.ss.android.pushmanager.IMessageAppAdapter {*;}
-keep class android.os.SystemProperties {*;}
-dontwarn android.os.SystemProperties

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/chenzhiyong/Library/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 *;
#}

# 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 interface com.bytedance.push.settings.ISettings {*;}
-keep class * implements com.bytedance.push.settings.ISettings {
    public <init>(...);
}
-keep interface com.bytedance.push.settings.ILocalSettings {*;}
-keep class * implements com.bytedance.push.settings.ILocalSettings {
    public <init>(...);
}
