# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in F:\download\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\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

-repackageclasses cn.m4399.operate
-optimizationpasses 7
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-dontoptimize
-useuniqueclassmembernames
-dontwarn

-dontshrink
-dontwarn android.support.annotation.Keep
#保留注解，如果不添加改行会导致我们的@Keep注解失效
-keepattributes *Annotation*
#noinspection ShrinkerUnresolvedReference
-keep @android.support.annotation.Keep class **

-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment

-keep public class * extends android.app.Dialog
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference

-keepclasseswithmembernames class * {
	native <methods>;
}
-keepclasseswithmembers class * {
	public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
	public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
	public void *(android.view.View);
}
-keepclassmembers enum * {
	public static **[] values();
	public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
	public static final android.os.Parcelable$Creator *;
}

################# Keep package name to avoid potential confiction ################
-keeppackagenames cn.m4399
-keeppackagenames com.m4399
-keeppackagenames org.json.alipay
################ Third-party SDK ################
# YouYiFu HPay SDK: HPay_4399sdk_RX2.7.5_20160303.jar
-dontwarn com.arcsoft.hpay100.**
-keep class com.arcsoft.hpay100.**{*;}
# Alipay SDK: alipaySdk-v15.5.5-20180601.jar
-dontwarn com.alipay.**
-dontwarn com.ta.utdid2.**
# GuangZhou temparory account SDK: 4399TempAccount_2.2.1.jar
-dontwarn com.ssjjsy.**
-keep class com.ssjjsy.**
# Third-party frameworks, i.e, android-async-http, universal-imagedownloader
-keep class cn.m4399.operate.recharge.thirdparty.** {*;}
# SM SDK
-keep class com.ishumei.** { *; }

############### 4399 Operate SDK ###############
## Exposed api
-keep public class cn.m4399.operate.* { public *; }
-keep public class cn.m4399.operate.*$* { public *; }
-keep public class cn.m4399.operate.*$*$* { public *; }

# Aidl
-dontwarn com.m4399.gamecenter.**
-keep class com.m4399.gamecenter.** {*;}

# Quick Login SDK
-keeppackagenames cn.m4399.operate.control.onekey.api
-keep class cn.m4399.operate.account.onekey.api.** {*;}
# 3rd SDK
-keep class cn.com.chinatelecom.account.** {*;}
-dontwarn com.unicom.xiaowo.account.shield.**
-keep class com.unicom.xiaowo.account.shield.**{*;}
