app/proguard-rules.pro
author Da Risk <da_risk@geekorum.com>
Mon, 13 Nov 2023 18:38:23 -0400
changeset 1152 589b91dd663f
parent 1041 5bbb0e9f674a
child 1200 ea079b76062a
permissions -rw-r--r--
app: remove a few deprecated method calls
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     1
# Add project specific ProGuard rules here.
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     2
# You can control the set of applied configuration files using the
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     3
# proguardFiles setting in build.gradle.groovy.
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     4
#
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     5
# For more details, see
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     6
#   http://developer.android.com/guide/developing/tools/proguard.html
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     7
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     8
# If your project uses WebView with JS, uncomment the following
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
     9
# and specify the fully qualified class name to the JavaScript interface
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    10
# class:
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    11
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    12
#   public *;
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    13
#}
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    14
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    15
# Uncomment this to preserve the line number information for
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    16
# debugging stack traces.
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    17
#-keepattributes SourceFile,LineNumberTable
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    18
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    19
# If you keep the line number information, uncomment this to
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    20
# hide the original source file name.
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    21
#-renamesourcefileattribute SourceFile
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    22
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    23
# Picasso contains Downloader with okhttp2 but we use okhttp3
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    24
-dontwarn com.squareup.okhttp.*
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    25
-dontnote com.squareup.okhttp.*
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    26
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    27
# Dagger-android has errorprone annotations
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    28
-dontwarn com.google.errorprone.annotations.*
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    29
1022
fcad2550e49e build: update retrofit proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1021
diff changeset
    30
# Added missing rules for Retrofit based on
6
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    31
# https://github.com/square/retrofit/blob/master/retrofit/src/main/resources/META-INF/proguard/retrofit2.pro
1021
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    32
# Keep inherited services.
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    33
-if interface * { @retrofit2.http.* <methods>; }
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    34
-keep,allowobfuscation interface * extends <1>
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    35
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    36
# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items).
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    37
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    38
-keep,allowobfuscation,allowshrinking class retrofit2.Response
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    39
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    40
# With R8 full mode generic signatures are stripped for classes that are not
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    41
# kept. Suspend functions are wrapped in continuations where the type argument
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    42
# is used.
08837cef1aee app: add proguard rules for retrofit with r8 in full mode
Da Risk <da_risk@geekorum.com>
parents: 1018
diff changeset
    43
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
6
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    44
1022
fcad2550e49e build: update retrofit proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1021
diff changeset
    45
6
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    46
# Ignore annotation used for build tooling.
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    47
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    48
6
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    49
# Ignore JSR 305 annotations for embedding nullability information.
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    50
-dontwarn javax.annotation.**
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    51
6
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    52
# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    53
-dontwarn kotlin.Unit
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    54
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    55
# Top-level functions that can only be used by Kotlin.
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    56
-dontwarn retrofit2.-KotlinExtensions
d4c38e27347c Log retrofit method calls
Da Risk <da_risk@geekorum.com>
parents: 0
diff changeset
    57
1018
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    58
# okhttp support conscrypt platform and some BouncyCastle
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    59
# not available on android
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    60
-dontwarn org.conscrypt.**
1018
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    61
-dontwarn org.bouncycastle.jsse.BCSSLParameters
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    62
-dontwarn org.bouncycastle.jsse.BCSSLSocket
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    63
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    64
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    65
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
505c6268c2da app: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 81
diff changeset
    66
-dontwarn org.openjsse.net.ssl.OpenJSSE
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    67
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    68
# geekdroid: we don't use firebase stuff
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    69
-dontwarn com.geekorum.geekdroid.firebase.**
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    70
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    71
# coroutines
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    72
# ServiceLoader support
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    73
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    74
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    75
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    76
# kotlinx serialization
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    77
-keepattributes *Annotation*, InnerClasses
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    78
-dontnote kotlinx.serialization.SerializationKt
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    79
-keep,includedescriptorclasses class com.geekorum.ttrss.**$$serializer { *; }
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    80
-keepclassmembers class com.geekorum.ttrss.** {
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    81
    *** Companion;
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    82
}
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    83
-keepclasseswithmembers class com.geekorum.ttrss.** {
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    84
    kotlinx.serialization.KSerializer serializer(...);
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    85
}
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    86
81
fe476e838eeb update proguard rules
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    87
# can't find reference field in program class for these because we don't use navigation
fe476e838eeb update proguard rules
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    88
-dontwarn  com.geekorum.geekdroid.navigation.**
fe476e838eeb update proguard rules
Da Risk <da_risk@geekorum.com>
parents: 6
diff changeset
    89
0
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    90
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    91
# Most of volatile fields are updated with AFU and should not be mangled
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    92
-keepclassmembernames class kotlinx.** {
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    93
    volatile <fields>;
14443efede32 Initial commit
Da Risk <da_risk@geekorum.com>
parents:
diff changeset
    94
}
1041
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
    95
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
    96
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
    97
# various
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
    98
-dontwarn com.google.auto.service.AutoService
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
    99
-dontwarn javax.lang.model.**
5bbb0e9f674a build: add missing proguard rules
Da Risk <da_risk@geekorum.com>
parents: 1022
diff changeset
   100
-dontwarn javax.tools.Diagnostic$Kind