FairEmail/app/proguard-rules.pro

164 lines
4.6 KiB
Prolog
Raw Normal View History

2018-08-02 13:33:06 +00:00
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# 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 *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
-keepattributes SourceFile,LineNumberTable
# If you after the line number information, uncomment this to
# hide the original source file name.
-renamesourcefileattribute SourceFile
#App
2018-09-19 07:58:21 +00:00
-keep class eu.faircode.email.** {*;}
-keepnames class eu.faircode.email.** {*;}
2018-08-02 13:33:06 +00:00
2018-08-17 04:37:01 +00:00
#AndroidX
2018-09-19 07:58:21 +00:00
-keep class androidx.appcompat.widget.** {*;}
-keep class androidx.appcompat.app.AppCompatViewInflater {<init>(...);}
2018-09-20 05:51:06 +00:00
#android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class androidx...
2020-03-23 09:14:56 +00:00
-keepclassmembers class * implements android.os.Parcelable {static ** CREATOR;}
#ROOM inline compilation
-keep class androidx.work.impl.** {*;}
#Stack traces, InvalidationTracker reflection
2019-03-12 10:25:11 +00:00
-keepnames class androidx.** {*;}
2020-10-15 07:50:48 +00:00
-dontnote androidx.**
-dontnote android.support.**
-dontnote kotlin.**
2022-02-22 08:02:41 +00:00
-dontwarn com.google.errorprone.annotations.Immutable
2020-10-15 07:50:48 +00:00
2018-08-25 13:32:52 +00:00
#IAB
2019-07-28 11:19:07 +00:00
-keep class com.android.billingclient.** {*;}
-keepnames class com.android.billingclient.** {*;}
2018-09-19 07:58:21 +00:00
-keep class com.android.vending.billing.** {*;}
2019-03-12 10:25:11 +00:00
-keepnames class com.android.vending.billing.** {*;}
2018-08-25 13:32:52 +00:00
2020-10-15 07:50:48 +00:00
-dontnote com.android.billingclient.**
2018-08-02 13:33:06 +00:00
#JavaMail
-keep class javax.** {*;}
-keep class com.sun.** {*;}
-keep class myjava.** {*;}
-keep class org.apache.harmony.** {*;}
2018-09-19 07:58:21 +00:00
-keep class mailcap.** {*;}
-keep class mimetypes.** {*;}
2019-03-12 10:25:11 +00:00
-keepnames class com.sun.mail.** {*;}
2018-09-19 07:58:21 +00:00
2018-08-02 13:33:06 +00:00
-dontwarn java.awt.**
-dontwarn javax.activation.**
-dontwarn javax.security.**
#jsoup
-keeppackagenames org.jsoup.nodes
2019-03-12 09:59:57 +00:00
-keepnames class org.jsoup.** {*;}
2020-04-22 08:55:13 +00:00
#CSS Parser
-keepnames class com.steadystate.css.** {*;}
-keepnames class org.w3c.css.** {*;}
-keepnames class org.w3c.dom.** {*;}
2020-04-20 14:43:56 +00:00
#CSS Parser / biweekly
-dontwarn org.w3c.dom.**
#JCharset
2018-09-19 07:58:21 +00:00
-keep class net.freeutils.charset.** {*;}
2018-08-28 15:48:12 +00:00
2018-09-19 07:58:21 +00:00
#dnsjava
-keep class org.xbill.DNS.** {*;}
2019-03-12 10:25:11 +00:00
-keepnames class org.xbill.DNS.** {*;}
2018-09-19 07:58:21 +00:00
-dontwarn sun.net.spi.nameservice.**
2018-10-31 18:28:26 +00:00
#OpenPGP
-keep class org.openintents.openpgp.** {*;}
2019-03-12 10:25:11 +00:00
-keepnames class org.openintents.openpgp.** {*;}
2019-05-18 12:53:49 +00:00
#biweekly
-keepnames class biweekly.** {*;}
-dontwarn biweekly.io.json.**
2020-12-28 08:57:07 +00:00
-dontwarn com.fasterxml.jackson.**
2019-05-18 12:53:49 +00:00
2019-10-20 16:25:21 +00:00
#MSAL
-keep class com.microsoft.aad.adal.** {*;}
-keep class com.microsoft.identity.common.** {*;}
-dontwarn com.nimbusds.jose.**
2023-08-02 17:44:24 +00:00
-dontwarn org.bouncycastle.pkix.jcajce.**
2019-10-20 16:25:21 +00:00
-keepclassmembers enum * {*;} #GSON
2019-12-02 13:36:34 +00:00
#Bouncy castle
2019-12-03 06:39:42 +00:00
-keep class org.bouncycastle.** {*;}
-keepnames class org.bouncycastle.* {*;}
2019-12-02 13:36:34 +00:00
-dontwarn org.bouncycastle.cert.dane.**
-dontwarn org.bouncycastle.jce.provider.**
-dontwarn org.bouncycastle.x509.util.**
2019-12-21 20:55:28 +00:00
#AppAuth
-keep class net.openid.appauth.** {*;}
-keepnames class net.openid.appauth.* {*;}
2019-05-18 12:53:49 +00:00
#Notes
-dontnote com.google.android.material.**
-dontnote com.sun.mail.**
-dontnote javax.activation.**
-dontnote org.xbill.DNS.**
-dontnote me.leolin.shortcutbadger.**
-dontnote com.github.chrisbanes.photoview.**
-dontnote com.bugsnag.android.**
-dontnote biweekly.io.**
2019-12-21 20:55:28 +00:00
2020-01-23 11:38:31 +00:00
#SASL
2020-01-23 11:48:34 +00:00
-keep class com.sun.mail.imap.protocol.IMAPSaslAuthenticator {*;}
-keep class com.sun.mail.smtp.SMTPSaslAuthenticator {*;}
2020-02-20 16:05:11 +00:00
#Color picker
-keepnames class com.flask.colorpicker.** {*;}
2020-09-02 18:15:39 +00:00
#overscroll-decor
-keepnames class me.everything.android.ui.overscroll.** {*;}
2020-10-15 15:24:56 +00:00
#Markwon
2020-10-15 16:33:20 +00:00
-keep class io.noties.markwon.** {*;}
-keep class org.commonmark.** {*;}
2020-10-15 15:24:56 +00:00
-keepnames class io.noties.markwon.** {*;}
-keepnames class org.commonmark.** {*;}
2022-02-22 08:02:41 +00:00
-dontwarn org.commonmark.ext.gfm.strikethrough.Strikethrough
2021-06-28 14:39:55 +00:00
#Amazon IAP
-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *Annotation*
2022-02-22 08:02:41 +00:00
#Misc
2022-05-03 06:31:20 +00:00
-dontwarn org.slf4j.impl.StaticLoggerBinder
2022-02-22 08:02:41 +00:00
-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
2023-05-10 13:51:10 +00:00
#Apache Commons Compress
-keep class org.apache.commons.compress.archivers.zip.** {*;}
-keep class org.apache.commons.compress.compressors.gzip.** {*;}
2023-05-28 17:31:12 +00:00
#ShortcutBadger
2023-05-28 18:02:14 +00:00
-keep class me.leolin.shortcutbadger.** {*;}
2023-12-14 12:18:41 +00:00
-keepnames class me.leolin.shortcutbadger.** {*;}
#https://tinylog.org/v2/configuration/#proguard
-keepnames interface org.tinylog.**
-keepnames class * implements org.tinylog.**
-keepclassmembers class * implements org.tinylog.** { <init>(...); }
-dontwarn dalvik.system.VMStack
-dontwarn java.lang.**
-dontwarn javax.naming.**
-dontwarn sun.reflect.Reflection