-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.preference.Preference
-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-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.content.Context {
    public void *(android.view.View);
    public void *(android.view.MenuItem);
}

-keep class com.google.gson.** { *; }
-keep class org.slf4j.** { *; }
-keep class ch.qos.logback.** { *; }
-keep class corg.slf4j.impl.** { *; }
-keep class retrofit2.** { *; }
-keep class okio.** { *; }
-keep class okhttp3.** { *; }
-keep class okhttp3.logging.** { *; }
-keep class retrofit2.converter.gson.** { *; }
-keep class android.support.v7.** { *; }
-keep @interface android.support.v7.** { *; }
-keep class com.google.common.** { *; }
-keep class com.nextuser.android.tracker.model.** { *; }
-keep class com.nextuser.android.tracker.iam.model.** { *; }
-keep class com.nextuser.android.tracker.firebase.configuration.** { *; }
-keep class com.nextuser.android.util.** { *; }
-keep class com.nextuser.android.exception.** { *; }

-keep public interface com.nextuser.android.tracker.NextUserTracker { *; }
-keep public enum com.nextuser.android.tracker.NUActionEvent { *; }

-keep public interface com.nextuser.android.tracker.NUNotificationsManager { *; }
-keep public interface com.nextuser.android.tracker.NUActionObserver { *; }
-keep public interface com.nextuser.android.tracker.NUNotificationsManager$OnBuildNotificationListener { *; }

-keep public class com.nextuser.android.tracker.core.NextUser { *; }
-keep public class com.nextuser.android.tracker.core.internal.NUInAppMsgCheckEvent { *; }
-keep public class com.nextuser.android.tracker.core.internal.NUSubscriberDevice { *; }
-keep public class com.nextuser.android.tracker.core.rest.model.NUInAppMessageResponse { *; }
-keep public class com.nextuser.android.tracker.core.rest.model.NUCommunicationResponse { *; }

-keep public class com.nextuser.android.infrastructure.rest.retrofit.APIError { *; }


-keepclasseswithmembers class * {
    @retrofit2.http.* <methods>;
}
-keepclasseswithmembers interface * {
    @retrofit2.http.* <methods>;
}

-keepattributes Exceptions
-keepattributes Signature
-keepattributes *Annotation*

-dontwarn com.google.firebase.**
-dontwarn com.nextuser.android.tracker.core.**
-dontwarn com.nextuser.android.tracker.firebase.**
-dontwarn com.nextuser.android.tracker.iam.view.layout.RoundedCornersLayout
-dontwarn com.nextuser.android.infrastructure.**
-dontwarn com.google.firebase.messaging.**
-dontwarn org.slf4j.**
-dontwarn ch.qos.logback.core.net.*
-dontwarn android.support.v7.**
-dontwarn retrofit2.**
-dontwarn okio.**
-dontwarn okhttp3.**
-dontwarn okhttp3.logging.**
-dontwarn retrofit2.converter.gson.**
-dontwarn retrofit2.Platform$Java8

-dontnote android.net.http.**
-dontnote com.nextuser.android.tracker.firebase.**
-dontnote com.nextuser.android.tracker.iam.view.layout.RoundedCornersLayout
-dontnote org.apache.http.**
-dontnote org.slf4j.**
-dontnote ch.qos.**
-dontnote com.google.android.gms.common.internal.safeparcel.SafeParcelable
-dontnote com.google.gson.**
-dontnote com.google.**
-dontnote okhttp3.**
-dontnote retrofit2.Platform

-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.preference.Preference
-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-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.content.Context {
    public void *(android.view.View);
    public void *(android.view.MenuItem);
}

-keep class com.google.gson.** { *; }
-keep class org.slf4j.** { *; }
-keep class ch.qos.logback.** { *; }
-keep class corg.slf4j.impl.** { *; }
-keep class retrofit2.** { *; }
-keep class okio.** { *; }
-keep class okhttp3.** { *; }
-keep class okhttp3.logging.** { *; }
-keep class retrofit2.converter.gson.** { *; }
-keep class android.support.v7.** { *; }
-keep @interface android.support.v7.** { *; }
-keep class com.google.common.** { *; }
-keep class com.nextuser.android.tracker.model.** { *; }
-keep class com.nextuser.android.tracker.iam.model.** { *; }
-keep class com.nextuser.android.tracker.firebase.configuration.** { *; }
-keep class com.nextuser.android.util.** { *; }
-keep class com.nextuser.android.exception.** { *; }

-keep public interface com.nextuser.android.tracker.NUTracker { *; }
-keep public enum com.nextuser.android.tracker.NUActionEvent { *; }

-keep public interface com.nextuser.android.tracker.NUNotificationsManager { *; }
-keep public interface com.nextuser.android.tracker.NUActionObserver { *; }

-keep public class com.nextuser.android.tracker.core.NextUser { *; }
-keep public class com.nextuser.android.tracker.core.internal.NUInAppMsgCheckEvent { *; }
-keep public class com.nextuser.android.tracker.core.internal.NUSubscriberDevice { *; }
-keep public class com.nextuser.android.tracker.core.rest.model.NUInAppMessageResponse { *; }
-keep public class com.nextuser.android.tracker.core.rest.model.NUCommunicationResponse { *; }

-keep public class com.nextuser.android.infrastructure.rest.retrofit.APIError { *; }


-keepclasseswithmembers class * {
    @retrofit2.http.* <methods>;
}
-keepclasseswithmembers interface * {
    @retrofit2.http.* <methods>;
}

-keepattributes Exceptions
-keepattributes Signature
-keepattributes *Annotation*

-dontwarn com.google.firebase.**
-dontwarn com.nextuser.android.tracker.core.**
-dontwarn com.nextuser.android.tracker.firebase.**
-dontwarn com.nextuser.android.tracker.iam.view.layout.RoundedCornersLayout
-dontwarn com.nextuser.android.infrastructure.**
-dontwarn com.google.firebase.messaging.**
-dontwarn org.slf4j.**
-dontwarn ch.qos.logback.core.net.*
-dontwarn android.support.v7.**
-dontwarn retrofit2.**
-dontwarn okio.**
-dontwarn okhttp3.**
-dontwarn okhttp3.logging.**
-dontwarn retrofit2.converter.gson.**
-dontwarn retrofit2.Platform$Java8

-dontnote android.net.http.**
-dontnote com.nextuser.android.tracker.firebase.**
-dontnote com.nextuser.android.tracker.iam.view.layout.RoundedCornersLayout
-dontnote org.apache.http.**
-dontnote org.slf4j.**
-dontnote ch.qos.**
-dontnote com.google.android.gms.common.internal.safeparcel.SafeParcelable
-dontnote com.google.gson.**
-dontnote com.google.**
-dontnote okhttp3.**
-dontnote retrofit2.Platform

