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

-dontobfuscate
-dontpreverify
#-dontshrink
-dontoptimize

-keep class * extends androidx.fragment.app.Fragment { public *; }

-keep,includedescriptorclasses class com.mendhak.gpslogger.** { *; }

# --------------------------------------------------------------------------------- #
# GreenRobot EventBus
# https://github.com/greenrobot/EventBus/blob/master/HOWTO.md#proguard-configuration
# --------------------------------------------------------------------------------- #

-keepclassmembers,includedescriptorclasses class ** {
    public void onEvent*(***);
}

# Only required if you use AsyncExecutor
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
    public <init>(java.lang.Throwable);
}

-keep,includedescriptorclasses class de.greenrobot.event.util.ErrorDialogManager.** { *; }

# Don't warn for missing support classes
-dontwarn de.greenrobot.event.util.*$Support
-dontwarn de.greenrobot.event.util.*$SupportManagerFragment


# --------------------------------------------------------------------------------- #
# Job Queue
# --------------------------------------------------------------------------------- #
-keep,includedescriptorclasses class com.path.android.** {*;}


#
# JSCH
#
-keep class com.jcraft.jsch.jce.*
-keep class * extends com.jcraft.jsch.KeyExchange
-keep class com.jcraft.jsch.**
-keep class com.jcraft.jzlib.ZStream
-keep class com.jcraft.jsch.Compression
-keep class org.ietf.jgss.*
-dontwarn com.sun.jna.Library
-dontwarn org.ietf.jgss.**
-dontwarn com.sun.jna.Memory
-dontwarn com.sun.jna.Native
-dontwarn com.sun.jna.Platform
-dontwarn com.sun.jna.Pointer
-dontwarn com.sun.jna.Structure
-dontwarn com.sun.jna.platform.win32.Kernel32
-dontwarn com.sun.jna.platform.win32.User32
-dontwarn com.sun.jna.platform.win32.WinBase$SECURITY_ATTRIBUTES
-dontwarn com.sun.jna.platform.win32.WinBase
-dontwarn com.sun.jna.platform.win32.WinDef$HWND
-dontwarn com.sun.jna.platform.win32.WinDef$WPARAM
-dontwarn com.sun.jna.platform.win32.WinNT$HANDLE
-dontwarn com.sun.jna.win32.W32APIOptions
-dontwarn org.newsclub.net.unix.AFUNIXSocketAddress
-dontwarn org.newsclub.net.unix.AFUNIXSocketChannel
#
# SpongyCastle/BouncyCastle
#
-keep class org.spongycastle.** { *; }
-keep class com.madgag.spongycastle.** {*;}
-keep class org.bouncycastle.jcajce.provider.** { *; }
-keep class org.bouncycastle.jce.provider.** { *; }

# --------------------------------------------------------------------------------- #
# DropBox
# https://github.com/dropbox/dropbox-sdk-java#does-this-sdk-require-any-special-proguard-rules-for-shrink-optimizations
# --------------------------------------------------------------------------------- #

-dontwarn okio.**
-dontwarn okhttp3.**
-dontwarn com.squareup.okhttp.**
-dontwarn com.google.appengine.**
-dontwarn javax.servlet.**

# --------------------------------------------------------------------------------- #
# Google Play Services
# https://developer.android.com/google/play-services/setup.html#Proguard
# --------------------------------------------------------------------------------- #
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**


-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}
#
#
#-keep class * extends java.util.ListResourceBundle {
#    protected Object[][] getContents();
#}
#
#-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
#    public static final *** NULL;
#}
#
#-keepnames @com.google.android.gms.common.annotation.KeepName class *
#-keepclassmembernames class * {
#    @com.google.android.gms.common.annotation.KeepName *;
#}
#
#-keepnames class * implements android.os.Parcelable {
#    public static final ** CREATOR;
#}


# --------------------------------------------------------------------------------- #
# LogBack for Android
# --------------------------------------------------------------------------------- #

-keep class ch.qos.** { *; }
-keep class org.slf4j.** { *; }
-keepattributes *Annotation*
-dontwarn ch.qos.logback.core.net.*
-dontwarn javax.naming.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.log.**
-dontwarn org.apache.oro.**
-dontwarn autovalue.shaded.org.**
-dontwarn org.jdom.**
-dontwarn org.apache.velocity.**
-dontwarn javax.xml.stream.**
-dontwarn org.apache.commons.logging.**


# --------------------------------------------------------------------------------- #
# Material Drawer and Iconics Library
# --------------------------------------------------------------------------------- #

-keep,includedescriptorclasses class com.mikepenz.iconics.view.IconicsImageView { *; }
-keep class com.mikepenz.iconics.typeface.ITypeface {*;}
-keep,includedescriptorclasses class com.mikepenz.materialize.view.ScrimInsetsFrameLayout { *; }


# --------------------------------------------------------------------------------- #
# OKHTTP
# --------------------------------------------------------------------------------- #
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn java.nio.**
-dontwarn org.codehaus.**
-dontnote okhttp3.internal.**
-dontnote okhttp3.**
-dontnote okio.**


# --------------------------------------------------------------------------------- #
# Manabu-GT/ExpandableTextView
# --------------------------------------------------------------------------------- #
-keep,includedescriptorclasses class com.ms.square.android.expandabletextview.ExpandableTextView { *; }





# --------------------------------------------------------------------------------- #
# Android Support Libraries
# --------------------------------------------------------------------------------- #
-keep,includedescriptorclasses class android.support.v4.app.NotificationCompat$Action { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ActionBarContainer { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ActionBarOverlayLayout { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ActionMenuView { *; }
-keep,includedescriptorclasses class android.support.v7.view.menu.ActionMenuItemView { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ActivityChooserView { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ContentFrameLayout { *; }
-keep,includedescriptorclasses class android.support.v7.widget.FitWindowsFrameLayout { *; }
-keep,includedescriptorclasses class android.support.v7.widget.FitWindowsLinearLayout { *; }
-keep,includedescriptorclasses class android.support.v7.widget.RecyclerView { *; }
-keep,includedescriptorclasses class android.support.v7.widget.SearchView { *; }
-keep,includedescriptorclasses class android.support.v7.widget.SearchView$SearchAutoComplete { *; }
-keep,includedescriptorclasses class android.support.v7.widget.Toolbar { *; }
-keep,includedescriptorclasses class android.support.v7.widget.ViewStubCompat { *; }


#-keep public class android.support.v7.widget.** { *; }
#-keep public class android.support.v7.internal.widget.** { *; }
#-keep public class android.support.v7.internal.view.menu.** { *; }
#
#-keep public class * extends android.support.v4.view.ActionProvider {
#    public <init>(android.content.Context);
#}
#
#
## http://stackoverflow.com/questions/29679177/cardview-shadow-not-appearing-in-lollipop-after-obfuscate-with-proguard/29698051
#-keep class android.support.v7.widget.RoundRectDrawable { *; }



# --------------------------------------------------------------------------------- #
# Action button
# --------------------------------------------------------------------------------- #
-keep,includedescriptorclasses class com.dd.processbutton.iml.ActionProcessButton { *; }


# --------------------------------------------------------------------------------- #
# OwnCloud library
# --------------------------------------------------------------------------------- #
-dontwarn javax.servlet.**
-dontwarn org.apache.jackrabbit.**
-keep class org.apache.commons.httpclient.auth.** { *; }
-keep class org.apache.commons.httpclient.cookie.** { *; }


# --------------------------------------------------------------------------------- #
# Other warnings, origins unknown
# --------------------------------------------------------------------------------- #

-dontwarn org.apache.tools.ant.**
-dontwarn java.lang.**
-dontwarn javax.lang.**
-dontwarn javax.annotation.**
-dontwarn java.beans.**
-dontwarn com.google.auto.**


-dontwarn com.werken.**
-dontwarn java.awt.**
-dontwarn javax.security.**
-dontwarn javax.tools.**

-dontwarn com.google.vending.**
-dontwarn org.apache.**


# --------------------------------------------------------------------------------- #
# Notes
# --------------------------------------------------------------------------------- #

-dontnote org.apache.**
-dontnote com.google.vending.**
-dontnote org.aspectj.**
-dontnote android.net.http.**
-dontnote com.android.vending.**
-dontnote ch.qos.logback.**
-dontnote autovalue.shaded.org.**
-dontnote android.support.v4.**
-dontnote com.google.**
-dontnote android.graphics.**

-dontnote org.apache.commons.codec.**
-dontnote org.apache.http.**
-dontnote autovalue.shaded.com.**



-dontwarn javax.mail.Authenticator


