# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# 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 *;
#}

########################################################################################
#不混淆第三方包
#volley
-keep class com.android.volley.** {*;}

#imageloader
-keep class com.nostra13.universalimageloader.** {*;}

#ormlite
-keepattributes *DatabaseField*
-keepattributes *DatabaseTable*
-keepattributes *SerializedName*
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keep class javax.persistence.** {*;}
-dontwarn com.j256.**
-dontwarn javax.persistence.spi.**
########################################################################################

#ORMLITE
-keepattributes *Annotation*
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep class com.ut.**{*;}
-keep class com.sohu.** {*;}
-keep class com.sohutv.** {*;}
-keep class com.tianci.** {*;}
-keep class com.skyworth.** {*;}
-keep class com.p2p.** {*;}
-keep class com.media.** {*;}
-keep class com.wasu.cs.model.** { *; }
-keep class android.support.*{*;}
-keep class android.support.**$*{*;}
-keep public class com.wasu.cs.jsobject.*
-keep public class com.wasu.cs.jsobject.* {
        <fields>;
        <methods>;
}
-keep public class com.wasu.comp.wasuwebview.*
-keep public class com.wasu.comp.wasuwebview.* {
        <fields>;
        <methods>;
}


############### keep新的控件库
-keep public class com.wasu.widgets.adapter.*
-keep public class com.wasu.widgets.adapter.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.adbanner.*
-keep public class com.wasu.widgets.adbanner.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.focuswidget.*
-keep public class com.wasu.widgets.focuswidget.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.morphingbutton.*
-keep public class com.wasu.widgets.morphingbutton.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.spanrecycler.base.*
-keep public class com.wasu.widgets.spanrecycler.base.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.spanrecycler.widget.*
-keep public class com.wasu.widgets.spanrecycler.widget.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.widgets.tools.*
-keep public class com.wasu.widgets.tools.* {
        <fields>;
        <methods>;
}
############### keep新的控件库



-keep class com.wasu.comp.pay.DialogPay$JsImp {
        <fields>;
        <methods>;
}
-keep class com.wasu.cs.ui.FragmentBlockHeader$ViewWrapper{
        <fields>;
        <methods>;
}
-keep class com.wasu.cs.ui.FragmentBlockRecommend$ViewWrapper{
        <fields>;
        <methods>;
}
-keep class com.wasu.cs.widget.mediacontrol.DialogPlanBuy {*;}
-keep class com.wasu.cs.widget.mediacontrol.DialogPlanBuy$JsImp {
        <fields>;
        <methods>;
}

-keep class com.wasu.cs.widget.mediacontrol.DialogCommonPlanBuy {*;}
-keep class com.wasu.cs.widget.mediacontrol.DialogCommonPlanBuy$JsImp {
        <fields>;
        <methods>;
}

-keep class com.wasu.cs.widget.FocusRecycleView {*;}
-keep class com.wasu.cs.widget.FocusRecycleView$MainAdapte {*;}

-keep class com.wasu.cs.widget.FocusRecycleView {
        <fields>;
        <methods>;
}
-keep class com.wasu.cs.widget.NeteaseNewsVideoLayout {*;}
-keep class com.wasu.cs.widget.NeteaseNewsVideoLayout {
        <fields>;
        <methods>;
}
-keep class com.wasu.cs.mvp.presenter.NeteaseNewsPresenter {*;}
-keep class com.wasu.cs.mvp.presenter.NeteaseNewsPresenter {
        <fields>;
        <methods>;
}

-keep public class com.wasu.cs.utils.*
-keep public class com.wasu.cs.utils.* {
        <fields>;
        <methods>;
}

-keep public class com.wasu.statistics.*
-keep public class com.wasu.statistics.* {
        <fields>;
        <methods>;
}

-keep class com.wasu.cs.mvp.model.** {*;}



-keep class basic.db.model.** {*;}

-dontwarn com.wasu.thirdparty.db.**
-dontwarn com.wasu.cs.model.**
-dontwarn com.arcsoft.**
-dontwarn com.zxinsight.**
-dontwarn com.mediatek.**
-dontwarn com.gridsum.videotracker.**
-dontwarn android.support.v7.widget.**
-dontwarn com.wasu.cs.widget.**
-dontwarn com.sohutv.tv.player.play.**
-dontwarn com.sohutv.tv.player.**
-dontwarn com.j256.ormlite.**
-dontwarn com.test.media.**
-dontwarn com.tianci.**
-dontwarn com.skyworth.**
-dontwarn com.p2p.** 

-dontnote android.support.v4.**
-dontnote com.google.**
-dontnote com.android.**
-dontnote android.net.**
-dontnote org.apache.**
-dontnote android.support.**
-dontnote com.j256.ormlite.**
-dontnote com.media.**
-dontnote com.test.**
-dontnote android.taobao.**
-dontnote com.ut.**
-dontnote com.gridsum.**
-dontnote com.sohu.**
-dontnote com.wasu.cs.**
-dontnote com.wasu.comp.videoview.**
-dontnote com.wasu.comp.pay.**
-dontnote com.wasu.widget.**

# ---------fresco---------
#fresco混淆
# Keep our interfaces so they can be used by other ProGuard rules.
# See http://sourceforge.net/p/proguard/bugs/466/
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip

# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
    @com.facebook.common.internal.DoNotStrip *;
}

# Keep native methods
-keepclassmembers class * {
    native <methods>;
}

-dontwarn okio.**
-dontwarn com.squareup.okhttp.**
-dontwarn okhttp3.**
-dontwarn javax.annotation.**
-dontwarn com.android.volley.toolbox.**
-ignorewarnings

-keepattributes *Annotation*
-dontwarn com.tencent.tinker.anno.AnnotationProcessor
-keep @com.tencent.tinker.anno.DefaultLifeCycle public class *
-keep public class * extends android.app.Application {
    *;
}

-keep public class com.tencent.tinker.loader.app.ApplicationLifeCycle {
    *;
}
-keep public class * implements com.tencent.tinker.loader.app.ApplicationLifeCycle {
    *;
}

-keep public class com.tencent.tinker.loader.TinkerLoader {
    *;
}
-keep public class * extends com.tencent.tinker.loader.TinkerLoader {
    *;
}

-keep public class com.tencent.tinker.loader.TinkerTestDexLoad {
    *;
}

-keep public class com.tencent.tinker.loader.TinkerTestAndroidNClassLoader {
    *;
}

#for command line version, we must keep all the loader class to avoid proguard mapping conflict
#your dex.loader pattern here
-keep public class com.tencent.tinker.loader.** {
    *;
}

-keep class tinker.sample.android.app.SampleApplication {
    *;
}