#MM Proguard Settings pertaining to this project
# this is an extension to the recommended settings for android 
# provide in proguard-android.pro
#
# It is also an extention to the proguard configuration of PraxisClone
# 
# Add proguard directives to this file if this project requires additional 
# configuration

-keepnames !abstract class com.customername.android.injection.*

#Keeping the members of that have static vars
-keepclassmembers public class com.customername.android.** {
        	public static * ;
        	public *;
        }

# Below will be classes you want to explicity keep AND obfuscate - you shouldn't need to do this unless your class is only referenced at runtime and not compile time (IE injected via annotation or reflection)
#-keep,allowobfuscation class com.customername.android.** { *; }

#Things you don't want to obfuscate and you don't want to be shrunk usually GSON pojos. Add your domain/JSON below here
-keep class com.customername.android.model.** { *; }

-dontwarn okio.**
-dontwarn org.simpleframework.**
-keep class com.google.common.** { *; }


#Rxjava
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
   long producerIndex;
   long consumerIndex;
}

-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode producerNode;
}

-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode consumerNode;
}


# Retrofit2
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepattributes Annotation

-dontwarn android.databinding.**
-keep class android.databinding.** { *; }
-dontwarn com.google.errorprone.annotations.**


-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation**
