# The proguard configuration file for the following section is Android Gradle plugin 9.3.1 (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-9.3.1) # This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html # # Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with # the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and # will be ignored by new version of the Android plugin for Gradle. # Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file # instead of this one, which turns off the optimization flags. -allowaccessmodification # Preserve some attributes that may be required for reflection. -keepattributes AnnotationDefault, EnclosingMethod, InnerClasses, RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations, RuntimeVisibleTypeAnnotations, Signature -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService -keep public class com.google.android.vending.licensing.ILicensingService -dontnote com.android.vending.licensing.ILicensingService -dontnote com.google.vending.licensing.ILicensingService -dontnote com.google.android.vending.licensing.ILicensingService # For native methods, see https://www.guardsquare.com/manual/configuration/examples#native -keepclasseswithmembernames,includedescriptorclasses class * { native ; } # Keep setters in Views so that animations can still work. -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } # We want to keep methods in Activity that could be used in the XML attribute onClick. -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } # For enumeration classes, see https://www.guardsquare.com/manual/configuration/examples#enumerations -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * implements android.os.Parcelable { public static final ** CREATOR; } # Preserve annotated Javascript interface methods. -keepclassmembers class * { @android.webkit.JavascriptInterface ; } # The support libraries contains references to newer platform versions. # Don't warn about those in case this app is linking against an older # platform version. We know about them, and they are safe. -dontnote android.support.** -dontnote androidx.** -dontwarn android.support.** -dontwarn androidx.** # Understand the @Keep support annotation. -keep class android.support.annotation.Keep -keep @android.support.annotation.Keep class * {*;} -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep ; } -keepclasseswithmembers class * { @android.support.annotation.Keep (...); } # These classes are duplicated between android.jar and org.apache.http.legacy.jar. -dontnote org.apache.http.** -dontnote android.net.http.** # These classes are duplicated between android.jar and core-lambda-stubs.jar. -dontnote java.lang.invoke.** # End of content from Android Gradle plugin 9.3.1 (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-9.3.1) # The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/proguard-rules.pro # Begin XXHash rules # XXHash factories uses reflection -keep class net.jpountz.xxhash.XXHash32JavaSafe { public (...); public static ** INSTANCE; } -keep class net.jpountz.xxhash.XXHash32JavaSafe$Factory { public (...); public static ** INSTANCE; } # XXHash : XXHashFactory uses reflection -keep class net.jpountz.xxhash.XXHash64JavaSafe { public (...); public static ** INSTANCE; } -keep class net.jpountz.xxhash.XXHash64JavaSafe$Factory { public (...); public static ** INSTANCE; } -keep class net.jpountz.xxhash.StreamingXXHash32JavaSafe { public (...); public static ** INSTANCE; } -keep class net.jpountz.xxhash.StreamingXXHash32JavaSafe$Factory { public (...); public static ** INSTANCE; } # XXHash : XXHashFactory uses reflection -keep class net.jpountz.xxhash.StreamingXXHash64JavaSafe { public (...); public static ** INSTANCE; } -keep class net.jpountz.xxhash.StreamingXXHash64JavaSafe$Factory { public (...); public static ** INSTANCE; } # End XXHash rules ## Napier bug as per https://github.com/AAkira/Napier/issues/132 -keep class io.github.aakira.napier.** { *; } ## End Napier rule # Begin ACRA Rules: ACRA does not cooperate with R8 and has no significant effect on APK size # #-keepclassmembers class org.acra.config.DefaultRetryPolicy { # public (...); #} # #-keepclassmembers class org.acra.attachment.DefaultAttachmentProvider { # public (...); #} -keep class org.acra.** { *; } -keep class world.respect.app.BuildConfig # End ACRA Rules. # End of content from /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/proguard-rules.pro # The proguard configuration file for the following section is Local project :::respect-lib-xapi-ipc-server (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-xapi-ipc-server/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt) # End of content from Local project :::respect-lib-xapi-ipc-server (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-xapi-ipc-server/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt) # The proguard configuration file for the following section is androidx.credentials:credentials-play-services-auth:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9f98a252f80a9c0c70915bb0a8f4ef58/transformed/credentials-play-services-auth-1.6.0/proguard.txt) -if class androidx.credentials.CredentialManager -keep class androidx.credentials.playservices.CredentialProviderPlayServicesImpl { *; } # End of content from androidx.credentials:credentials-play-services-auth:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9f98a252f80a9c0c70915bb0a8f4ef58/transformed/credentials-play-services-auth-1.6.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.libraries.identity.googleid:googleid:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/900e06017553fa8443243192ad48e2e9/transformed/googleid-1.1.0/proguard.txt) # Proguard cannot process META-INF/versions/9. # See https://discuss.gradle.org/t/meta-inf-version-duplicate-error-when-using-proguard/31380 -dontwarn module-info # End of content from com.google.android.libraries.identity.googleid:googleid:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/900e06017553fa8443243192ad48e2e9/transformed/googleid-1.1.0/proguard.txt) # The proguard configuration file for the following section is androidx.credentials:credentials:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f18e075a45ba26e5a45628dde35d7740/transformed/credentials-1.6.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.credentials:credentials:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f18e075a45ba26e5a45628dde35d7740/transformed/credentials-1.6.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.material:material:1.14.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/83527012b601f427e5fb260a253c2390/transformed/material-1.14.0/proguard.txt) # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # CoordinatorLayout resolves the behaviors of its child components with reflection. -keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior { public (android.content.Context, android.util.AttributeSet); public (); } # Make sure we keep annotations for CoordinatorLayout's DefaultBehavior -keepattributes RuntimeVisible*Annotation* # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # AppCompatViewInflater reads the viewInflaterClass theme attribute which then # reflectively instantiates MaterialComponentsViewInflater using the no-argument # constructor. We only need to keep this constructor and the class name if # AppCompatViewInflater is also being kept. -if class androidx.appcompat.app.AppCompatViewInflater -keep class com.google.android.material.theme.MaterialComponentsViewInflater { (); } -keep class com.google.android.material.focus.FocusRingDrawable { (); } # End of content from com.google.android.material:material:1.14.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/83527012b601f427e5fb260a253c2390/transformed/material-1.14.0/proguard.txt) # The proguard configuration file for the following section is Local project :::respect-lib-xapi-ipc-shared (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-xapi-ipc-shared/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt) # End of content from Local project :::respect-lib-xapi-ipc-shared (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-xapi-ipc-shared/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt) # The proguard configuration file for the following section is io.coil-kt.coil3:coil-core-android:3.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6d2d4361f09cf9b647c0cd78095f2e8d/transformed/coil-core/proguard.txt) -dontwarn coil3.PlatformContext # End of content from io.coil-kt.coil3:coil-core-android:3.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6d2d4361f09cf9b647c0cd78095f2e8d/transformed/coil-core/proguard.txt) # The proguard configuration file for the following section is io.insert-koin:koin-compose-viewmodel-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8b6e670e2c5f98ba9cb28583407a0e06/transformed/koin-compose-viewmodel-release/proguard.txt) # Koin Compose ViewModel — consumer R8/ProGuard rules # Shipped with the koin-compose-viewmodel AAR. Auto-applied to consumer apps. # Silence R8 warnings about Koin internals (Kotlin reflection metadata, optional interop). -dontwarn org.koin.** # NOTE: koinViewModel() / koinNavViewModel() resolution is compile-time (reified inline get(), # JVM Class.getName() keying) — no runtime reflection over your ViewModel constructors, so you do # NOT need to keep your ViewModels on Koin's behalf. SavedStateHandle comes from androidx # CreationExtras at creation time, not from Koin reflection. # For what you DO need to keep (your saved-state classes for process death), see the # R8 / ProGuard guide: https://insert-koin.io/docs/reference/koin-android/r8-proguard # End of content from io.insert-koin:koin-compose-viewmodel-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8b6e670e2c5f98ba9cb28583407a0e06/transformed/koin-compose-viewmodel-release/proguard.txt) # The proguard configuration file for the following section is io.insert-koin:koin-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bb87f7aebbbbbd2ca22df59d6b38601a/transformed/koin-android-4.2.2/proguard.txt) # Koin Android — consumer R8/ProGuard rules # Shipped with koin-android AAR. Auto-applied to consumer apps. # Silence R8 warnings about Koin internals. Koin doesn't ship JVM-only stubs into # Android consumers, but some transitive paths (Kotlin reflection metadata, optional # Java interop in org.koin.java) can produce spurious "missing class" warnings. -dontwarn org.koin.** # User's Fragment subclasses are loaded via Class.forName in KoinFragmentFactory. # Users must keep their own Fragment classes (typically via @Keep, layout references, # or app-side -keep rules). Documented in the R8 guide. # End of content from io.insert-koin:koin-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bb87f7aebbbbbd2ca22df59d6b38601a/transformed/koin-android-4.2.2/proguard.txt) # The proguard configuration file for the following section is androidx.preference:preference:1.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/fb28c7c1f0d741f8ef83d689c30f2103/transformed/preference-1.2.1/proguard.txt) # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Preference objects are inflated via reflection -keep public class androidx.preference.Preference { public (android.content.Context, android.util.AttributeSet); } -keep public class * extends androidx.preference.Preference { public (android.content.Context, android.util.AttributeSet); } # End of content from androidx.preference:preference:1.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/fb28c7c1f0d741f8ef83d689c30f2103/transformed/preference-1.2.1/proguard.txt) # The proguard configuration file for the following section is androidx.biometric:biometric:1.4.0-alpha02 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1fe8f2ca87ac7c22cc7d64567b7ecf0c/transformed/biometric-1.4.0-alpha02/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Never inline methods, but allow shrinking and obfuscation. -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.AuthenticationCallbackProvider$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.BiometricFragment$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.BiometricManager$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.CancellationSignalProvider$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.CryptoObjectUtils$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.FingerprintDialogFragment$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.KeyguardUtils$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.biometric.PackageUtils$Api* { ; } # End of content from androidx.biometric:biometric:1.4.0-alpha02 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1fe8f2ca87ac7c22cc7d64567b7ecf0c/transformed/biometric-1.4.0-alpha02/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-video:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/09447dc82956361109a3f6fecd915451/transformed/camera-video-1.6.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera:camera-video:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/09447dc82956361109a3f6fecd915451/transformed/camera-video-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-camera2-pipe:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b831ab460dcb1fe1c626757ecfbe0a29/transformed/camera-camera2-pipe-1.6.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera:camera-camera2-pipe:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b831ab460dcb1fe1c626757ecfbe0a29/transformed/camera-camera2-pipe-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-extensions:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/4d9ad1893c619581e2b12113e72e0aa2/transformed/camera-extensions-1.6.1/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Needs to keep the classes implementing the vendor library interfaces in the extensions module. # Otherwise, it will cause AbstractMethodError if proguard is enabled. -keep class androidx.camera.extensions.ExtensionsManager$** {*;} -keep class androidx.camera.extensions.internal.sessionprocessor.AdvancedSessionProcessor$** {*;} -keep class androidx.camera.extensions.internal.sessionprocessor.StillCaptureProcessor** {*;} -keep class androidx.camera.extensions.internal.sessionprocessor.PreviewProcessor** {*;} # End of content from androidx.camera:camera-extensions:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/4d9ad1893c619581e2b12113e72e0aa2/transformed/camera-extensions-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-camera2:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/207c0e01108fdcdd80806ad20754ed3b/transformed/camera-camera2-1.6.1/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This is necessary for default initialization using Camera2Config -keep public class androidx.camera.camera2.Camera2Config$DefaultProvider { *; } # This is used to workaround a framework issue. See b/397601512. -keepclassmembers class * extends android.hardware.camera2.CameraCaptureSession$CaptureCallback { public void onReadoutStarted(android.hardware.camera2.CameraCaptureSession,android.hardware.camera2.CaptureRequest,long,long); } # End of content from androidx.camera:camera-camera2:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/207c0e01108fdcdd80806ad20754ed3b/transformed/camera-camera2-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-lifecycle:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/ff82e8ce755baa5b7ba6f3b93c3031d6/transformed/camera-lifecycle-1.6.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera:camera-lifecycle:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/ff82e8ce755baa5b7ba6f3b93c3031d6/transformed/camera-lifecycle-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-core:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0a7b9e23a3725bc23356a0d83830b79/transformed/camera-core-1.6.1/proguard.txt) # Copyright (C) 2023 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keeps the quirk classes to prevent them from being merged incorrectly. For more information, # please see b/278818703. Preserve Quirk subclasses and their names for correct name mapping in # QuirkSettings. -keep,allowshrinking class ** extends androidx.camera.core.impl.Quirk # End of content from androidx.camera:camera-core:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0a7b9e23a3725bc23356a0d83830b79/transformed/camera-core-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.camera:camera-view:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c58e4302b5c821ae03c7c81afe1830c9/transformed/camera-view-1.6.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera:camera-view:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c58e4302b5c821ae03c7c81afe1830c9/transformed/camera-view-1.6.1/proguard.txt) # The proguard configuration file for the following section is com.google.mlkit:barcode-scanning:17.3.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/963de8098a6bd31e18ac833737278e0f/transformed/barcode-scanning-17.3.0/proguard.txt) # We keep all fields for every generated proto file as the runtime uses # reflection over them that ProGuard cannot detect. Without this keep # rule, fields may be removed that would cause runtime failures. -keepclassmembers class * extends com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzeh { ; } # This prevents the names of native methods from being obfuscated and prevents # UnsatisfiedLinkErrors. -keepclasseswithmembernames class * { native ; } # End of content from com.google.mlkit:barcode-scanning:17.3.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/963de8098a6bd31e18ac833737278e0f/transformed/barcode-scanning-17.3.0/proguard.txt) # The proguard configuration file for the following section is com.google.mlkit:common:18.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d0024a64e2da5d101154c065e0c6e836/transformed/common-18.11.0/proguard.txt) # Annotations are implemented as attributes, so we have to explicitly keep them. # Catch all which encompasses attributes like RuntimeVisibleParameterAnnotations # and RuntimeVisibleTypeAnnotations -keepattributes RuntimeVisible*Annotation* # JNI is an entry point that's hard to keep track of, so there's # an annotation to mark fields and methods used by native code. # Keep the annotations that proguard needs to process. -keep class com.google.android.apps.common.proguard.UsedBy* # Just because native code accesses members of a class, does not mean that the # class itself needs to be annotated - only annotate classes that are # referenced themselves in native code. -keep @com.google.android.apps.common.proguard.UsedBy* class * { (); } -keepclassmembers class * { @com.google.android.apps.common.proguard.UsedBy* *; } # End of content from com.google.mlkit:common:18.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d0024a64e2da5d101154c065e0c6e836/transformed/common-18.11.0/proguard.txt) # The proguard configuration file for the following section is androidx.appcompat:appcompat:1.7.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6dfa5b30fd922c9374f59c706f7fdf7d/transformed/appcompat-1.7.1/proguard.txt) # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Never inline methods, but allow shrinking and obfuscation. -keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* { ; } # End of content from androidx.appcompat:appcompat:1.7.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6dfa5b30fd922c9374f59c706f7fdf7d/transformed/appcompat-1.7.1/proguard.txt) # The proguard configuration file for the following section is androidx.browser:browser:1.10.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6182954ffca97cdc8fef4209c0f236d1/transformed/browser-1.10.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.browser:browser:1.10.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6182954ffca97cdc8fef4209c0f236d1/transformed/browser-1.10.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-fido:21.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/ba6f377e7e1d2ba3cbb47ff1c7a9551f/transformed/play-services-fido-21.0.0/proguard.txt) # Methods enable and disable in this class are complained as unresolved # references, but they are system APIs and are not used by Fido client apps. -dontwarn android.nfc.NfcAdapter -dontwarn dalvik.system.VMStack -dontwarn com.google.common.flogger.backend.google.GooglePlatform -dontwarn com.google.common.flogger.backend.system.DefaultPlatform # End of content from com.google.android.gms:play-services-fido:21.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/ba6f377e7e1d2ba3cbb47ff1c7a9551f/transformed/play-services-fido-21.0.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-identity-credentials:16.0.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/906a7c893547afa84b7982a67a3373e3/transformed/play-services-identity-credentials-16.0.0-alpha08/proguard.txt) # Proguard cannot process META-INF/versions/9. # See https://discuss.gradle.org/t/meta-inf-version-duplicate-error-when-using-proguard/31380 -dontwarn module-info # End of content from com.google.android.gms:play-services-identity-credentials:16.0.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/906a7c893547afa84b7982a67a3373e3/transformed/play-services-identity-credentials-16.0.0-alpha08/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-auth-base:18.0.10 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8aabd93ef188758f882f5352fb048c1f/transformed/play-services-auth-base-18.0.10/proguard.txt) # We keep all fields for every generated proto file as the runtime uses # reflection over them that ProGuard cannot detect. Without this keep # rule, fields may be removed that would cause runtime failures. -keepclassmembers class * extends com.google.android.gms.internal.auth.zzev { ; } # End of content from com.google.android.gms:play-services-auth-base:18.0.10 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8aabd93ef188758f882f5352fb048c1f/transformed/play-services-auth-base-18.0.10/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-base:18.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/35e3819e5ff51f495604f3bed704ece9/transformed/play-services-base-18.5.0/proguard.txt) # b/35135904 Ensure that proguard will not strip the mResultGuardian. -keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult { com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian; } # End of content from com.google.android.gms:play-services-base:18.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/35e3819e5ff51f495604f3bed704ece9/transformed/play-services-base-18.5.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-tasks:18.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/67d9e8d738cbec5550a2c9527703f193/transformed/play-services-tasks-18.2.0/proguard.txt) # End of content from com.google.android.gms:play-services-tasks:18.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/67d9e8d738cbec5550a2c9527703f193/transformed/play-services-tasks-18.2.0/proguard.txt) # The proguard configuration file for the following section is com.google.android.gms:play-services-basement:18.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/129e3145b337fc967e4b398e1704f40d/transformed/play-services-basement-18.5.0/proguard.txt) # Needed when building against pre-Marshmallow SDK. -dontwarn android.security.NetworkSecurityPolicy # Needed when building against Marshmallow SDK. -dontwarn android.app.Notification # Protobuf has references not on the Android boot classpath -dontwarn sun.misc.Unsafe -dontwarn libcore.io.Memory # Annotations used during internal SDK shrinking. -dontwarn com.google.android.apps.common.proguard.UsedBy* -dontwarn com.google.android.apps.common.proguard.SideEffectFree # Annotations referenced by the SDK but whose definitions are contained in # non-required dependencies. -dontwarn javax.annotation.** -dontwarn org.checkerframework.** -dontwarn com.google.errorprone.annotations.** -dontwarn org.jspecify.annotations.NullMarked # Annotations no longer exist. Suppression prevents ProGuard failures in # SDKs which depend on earlier versions of play-services-basement. -dontwarn com.google.android.gms.common.util.VisibleForTesting # Proguard flags for consumers of the Google Play services SDK # https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project # Keep SafeParcelable NULL value, needed for reflection by DowngradeableSafeParcel -keepclassmembers public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; } # Needed for Parcelable/SafeParcelable classes & their creators to not get renamed, as they are # found via reflection. -keep class com.google.android.gms.common.internal.ReflectedParcelable -keepnames class * implements com.google.android.gms.common.internal.ReflectedParcelable -keepclassmembers class * implements android.os.Parcelable { public static final *** CREATOR; } # Keep the classes/members we need for client functionality. -keep @interface android.support.annotation.Keep -keep @androidx.annotation.Keep class * -keepclasseswithmembers class * { @androidx.annotation.Keep ; } -keepclasseswithmembers class * { @androidx.annotation.Keep ; } # Keep androidX equivalent of above android.support to allow Jetification. -keep @interface androidx.annotation.Keep -keep @androidx.annotation.Keep class * -keepclasseswithmembers class * { @androidx.annotation.Keep ; } -keepclasseswithmembers class * { @androidx.annotation.Keep ; } # Keep the names of classes/members we need for client functionality. -keep @interface com.google.android.gms.common.annotation.KeepName -keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * { @com.google.android.gms.common.annotation.KeepName *; } # Keep Dynamite API entry points -keep @interface com.google.android.gms.common.util.DynamiteApi -keep @com.google.android.gms.common.util.DynamiteApi public class * { public ; public ; } # End of content from com.google.android.gms:play-services-basement:18.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/129e3145b337fc967e4b398e1704f40d/transformed/play-services-basement-18.5.0/proguard.txt) # The proguard configuration file for the following section is androidx.fragment:fragment:1.8.9 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c1a12c38f99b29f9cdc7a94a59d73853/transformed/fragment-1.8.9/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # The default FragmentFactory creates Fragment instances using reflection -if public class ** extends androidx.fragment.app.Fragment -keepclasseswithmembers,allowobfuscation public class <1> { public (); } # FragmentTransition will reflectively lookup: # androidx.transition.FragmentTransitionSupport # We should ensure that we keep the constructor if the code using this is alive -if class androidx.fragment.app.FragmentTransition { private static androidx.fragment.app.FragmentTransitionImpl resolveSupportImpl(); } -keep class androidx.transition.FragmentTransitionSupport { public (); } # End of content from androidx.fragment:fragment:1.8.9 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c1a12c38f99b29f9cdc7a94a59d73853/transformed/fragment-1.8.9/proguard.txt) # The proguard configuration file for the following section is sh.calvin.reorderable:reorderable-android:3.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/12e6ebe4d86efaea682bb93692d462e2/transformed/reorderable-release/proguard.txt) # End of content from sh.calvin.reorderable:reorderable-android:3.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/12e6ebe4d86efaea682bb93692d462e2/transformed/reorderable-release/proguard.txt) # The proguard configuration file for the following section is androidx.work:work-runtime:2.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/62ca85790aa26e3510fe758106baa277/transformed/work-runtime-2.11.2/proguard.txt) # Keep ListenableWorker / Worker if not removed during shrinking -keepnames class * extends androidx.work.ListenableWorker # Keep all constructors on ListenableWorker, Worker if class is kept -keepclassmembers public class * extends androidx.work.ListenableWorker { public (...); } # We need to keep WorkerParameters for the ListenableWorker constructor that is used by the # default instantiation strategy in WorkerFactory. -keep class androidx.work.WorkerParameters # Keep InputMerger if not removed during shrinking -keepnames class * extends androidx.work.InputMerger # Keep constructor on InputMerger if class is kept -keepclassmembers class * extends androidx.work.InputMerger { void (); } # End of content from androidx.work:work-runtime:2.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/62ca85790aa26e3510fe758106baa277/transformed/work-runtime-2.11.2/proguard.txt) # The proguard configuration file for the following section is androidx.webkit:webkit:1.14.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/02d6db0e917e4fe7e652087251cbe61d/transformed/webkit-1.14.0/proguard.txt) # Copyright 2018 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # We need to avoid obfuscating the support library boundary interface because # this API is shared with the Android Support Library. # Note that we only 'keep' the package org.chromium.support_lib_boundary itself, # any sub-packages of that package can still be obfuscated. -keep public class org.chromium.support_lib_boundary.* { public *; } # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Prevent WebViewClientCompat from being renamed, since chromium depends on this name. -keepnames public class androidx.webkit.WebViewClientCompat # Prevent ProcessGlobalConfig and member sProcessGlobalConfig from being renamed, since chromium # depends on this name. -keepnames public class androidx.webkit.ProcessGlobalConfig { private static final *** sProcessGlobalConfig; } -keepclassmembers class androidx.webkit.internal.PageImpl { private final org.chromium.support_lib_boundary.WebViewPageBoundaryInterface mPageBoundaryInterface; } # End of content from androidx.webkit:webkit:1.14.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/02d6db0e917e4fe7e652087251cbe61d/transformed/webkit-1.14.0/proguard.txt) # The proguard configuration file for the following section is io.insert-koin:koin-core-viewmodel-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/31a8e2be86f0f04ea794b6388bbe5ed8/transformed/koin-core-viewmodel-release/proguard.txt) # Koin Core ViewModel — consumer R8/ProGuard rules # Shipped with the koin-core-viewmodel AAR. Auto-applied to consumer apps. # Silence R8 warnings about Koin internals (Kotlin reflection metadata, optional interop). -dontwarn org.koin.** # NOTE: Koin's ViewModel resolution (viewModelOf / get()) is resolved at COMPILE TIME # (reified inline get(), JVM Class.getName() keying) — it uses no runtime reflection over your # ViewModel constructors. You do NOT need to keep your ViewModels on Koin's behalf. # SavedStateHandle is supplied by androidx CreationExtras at creation time, not by Koin reflection. # For what you DO need to keep (your @Parcelize/Serializable saved-state classes for process death), # see the R8 / ProGuard guide: https://insert-koin.io/docs/reference/koin-android/r8-proguard # End of content from io.insert-koin:koin-core-viewmodel-android:4.2.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/31a8e2be86f0f04ea794b6388bbe5ed8/transformed/koin-core-viewmodel-release/proguard.txt) # The proguard configuration file for the following section is androidx.navigation:navigation-runtime-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8191f25bd185af49b1cc165963914ed1/transformed/navigation-runtime-release/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.navigation:navigation-runtime-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8191f25bd185af49b1cc165963914ed1/transformed/navigation-runtime-release/proguard.txt) # The proguard configuration file for the following section is androidx.navigation:navigation-common-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b3dcdf9204b6158fc78c8af54e28242c/transformed/navigation-common-release/proguard.txt) # Copyright (C) 2019 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NavArgsLazy creates NavArgs instances using reflection -if public class ** implements androidx.navigation.NavArgs -keepclassmembers public class <1> { ** fromBundle(android.os.Bundle); } # Retain the @Navigator.Name annotation on each subclass of Navigator. # R8 full mode only retains annotations on items matched by a -keep rule, # hence the extra -keep rule for the subclasses of Navigator. # # A -keep rule for the Navigator.Name annotation class is not required # since the annotation is referenced from the code. -keepattributes RuntimeVisibleAnnotations -keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator # End of content from androidx.navigation:navigation-common-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b3dcdf9204b6158fc78c8af54e28242c/transformed/navigation-common-release/proguard.txt) # The proguard configuration file for the following section is androidx.navigation:navigation-compose-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/977f3680438bda878700092bdf7143a4/transformed/navigation-compose-release/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.navigation:navigation-compose-android:2.9.7 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/977f3680438bda878700092bdf7143a4/transformed/navigation-compose-release/proguard.txt) # The proguard configuration file for the following section is androidx.compose.material3:material3-window-size-class-android:1.5.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/37b3e37ccfde1e3e4d1ccfa2753fa9e4/transformed/material3-window-size-class/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.compose.material3:material3-window-size-class-android:1.5.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/37b3e37ccfde1e3e4d1ccfa2753fa9e4/transformed/material3-window-size-class/proguard.txt) # The proguard configuration file for the following section is androidx.compose.material3:material3-android:1.5.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e4b9cd926b19b8bf9d5b9a51361ce6ba/transformed/material3/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.compose.material3:material3-android:1.5.0-alpha08 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e4b9cd926b19b8bf9d5b9a51361ce6ba/transformed/material3/proguard.txt) # The proguard configuration file for the following section is androidx.compose.animation:animation-core-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/41f9a426c9fcbb664b8af02532dd0e99/transformed/animation-core/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } # End of content from androidx.compose.animation:animation-core-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/41f9a426c9fcbb664b8af02532dd0e99/transformed/animation-core/proguard.txt) # The proguard configuration file for the following section is androidx.compose.animation:animation-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/be26bc141303bc7c67e1af7d4a6c413b/transformed/animation/proguard.txt) -assumevalues class androidx.compose.animation.IsLookaheadAnimationVisualDebuggingEnabledKt { boolean isLookaheadAnimationVisualDebuggingEnabled return false; } -assumenosideeffects class * { static androidx.compose.animation.LookaheadAnimationVisualDebugConfig *(...) return null; } -assumenosideeffects class androidx.compose.animation.LookaheadAnimationVisualDebugHelperKt { public static void LookaheadAnimationVisualDebugging(...); } # End of content from androidx.compose.animation:animation-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/be26bc141303bc7c67e1af7d4a6c413b/transformed/animation/proguard.txt) # The proguard configuration file for the following section is androidx.compose.foundation:foundation-layout-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c1dcb2ab89a5d0f4d6fd1f6fc4e313fe/transformed/foundation-layout/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } # End of content from androidx.compose.foundation:foundation-layout-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c1dcb2ab89a5d0f4d6fd1f6fc4e313fe/transformed/foundation-layout/proguard.txt) # The proguard configuration file for the following section is androidx.compose.foundation:foundation-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/958d8d50ae9064b463cc057ec5d99a9a/transformed/foundation/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); } # End of content from androidx.compose.foundation:foundation-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/958d8d50ae9064b463cc057ec5d99a9a/transformed/foundation/proguard.txt) # The proguard configuration file for the following section is androidx.compose.ui:ui-unit-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8e8b7fbe8538009ea4070a6333928028/transformed/ui-unit/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } # End of content from androidx.compose.ui:ui-unit-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8e8b7fbe8538009ea4070a6333928028/transformed/ui-unit/proguard.txt) # The proguard configuration file for the following section is androidx.compose.ui:ui-graphics-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/4b0c28b6d0433a567ca862a515231eba/transformed/ui-graphics/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } -keepclassmembers class androidx.compose.ui.graphics.layer.view.ViewLayerContainer { protected void dispatchGetDisplayList(); } -keepclassmembers class androidx.compose.ui.graphics.layer.view.PlaceholderHardwareCanvas { public int drawRenderNode(...); public boolean isHardwareAccelerated(); } # End of content from androidx.compose.ui:ui-graphics-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/4b0c28b6d0433a567ca862a515231eba/transformed/ui-graphics/proguard.txt) # The proguard configuration file for the following section is androidx.compose.ui:ui-util-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a0f289b1a356152dd0a85c7e882bde7a/transformed/ui-util/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } # End of content from androidx.compose.ui:ui-util-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a0f289b1a356152dd0a85c7e882bde7a/transformed/ui-util/proguard.txt) # The proguard configuration file for the following section is androidx.compose.ui:ui-text-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a58e3eceeda824de39971d55788947ef/transformed/ui-text/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); } # End of content from androidx.compose.ui:ui-text-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a58e3eceeda824de39971d55788947ef/transformed/ui-text/proguard.txt) # The proguard configuration file for the following section is androidx.lifecycle:lifecycle-process:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/82081644dc0cb2281a5828b2e67eb2c7/transformed/lifecycle-process-2.11.0/proguard.txt) # this rule is need to work properly when app is compiled with api 28, see b/142778206 -keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; } # End of content from androidx.lifecycle:lifecycle-process:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/82081644dc0cb2281a5828b2e67eb2c7/transformed/lifecycle-process-2.11.0/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/48959bec032fc5b0ec6ac779c11d71de/transformed/lifecycle-viewmodel-compose/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/48959bec032fc5b0ec6ac779c11d71de/transformed/lifecycle-viewmodel-compose/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.androidx.lifecycle:lifecycle-runtime-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/7398f584ac1a74fa9953d032fc88cf00/transformed/lifecycle-runtime/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from org.jetbrains.androidx.lifecycle:lifecycle-runtime-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/7398f584ac1a74fa9953d032fc88cf00/transformed/lifecycle-runtime/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/694a1a98d1f3b6b43ccd7525e52fcb8a/transformed/lifecycle-viewmodel-savedstate/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/694a1a98d1f3b6b43ccd7525e52fcb8a/transformed/lifecycle-viewmodel-savedstate/proguard.txt) # The proguard configuration file for the following section is androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6c3c3b14537f3e07efd0be2b34f7b545/transformed/lifecycle-viewmodel-savedstate/proguard.txt) -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (androidx.lifecycle.SavedStateHandle); } -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel { (android.app.Application,androidx.lifecycle.SavedStateHandle); } # End of content from androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/6c3c3b14537f3e07efd0be2b34f7b545/transformed/lifecycle-viewmodel-savedstate/proguard.txt) # The proguard configuration file for the following section is androidx.lifecycle:lifecycle-runtime-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a70e45e2f39649c9eb9dafa8e9989e78/transformed/lifecycle-runtime/proguard.txt) -keepattributes AnnotationDefault, RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations, RuntimeVisibleTypeAnnotations -keepclassmembers enum androidx.lifecycle.Lifecycle$Event { ; } -keep class * implements androidx.lifecycle.GeneratedAdapter { (...); } -keepclassmembers class ** { @androidx.lifecycle.OnLifecycleEvent *; } # The deprecated `android.app.Fragment` creates `Fragment` instances using reflection. # See: b/338958225, b/341537875 -keepclasseswithmembers,allowobfuscation public class androidx.lifecycle.ReportFragment { public (); } # this rule is need to work properly when app is compiled with api 28, see b/142778206 # Also this rule prevents registerIn from being inlined. -keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; } # End of content from androidx.lifecycle:lifecycle-runtime-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a70e45e2f39649c9eb9dafa8e9989e78/transformed/lifecycle-runtime/proguard.txt) # The proguard configuration file for the following section is androidx.lifecycle:lifecycle-viewmodel-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8eb2f7cd5611670b7a733d77c851f6e1/transformed/lifecycle-viewmodel/proguard.txt) -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (); } -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel { (android.app.Application); } # End of content from androidx.lifecycle:lifecycle-viewmodel-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8eb2f7cd5611670b7a733d77c851f6e1/transformed/lifecycle-viewmodel/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0d0498dbd87901f016827728dd5e4ab/transformed/lifecycle-viewmodel/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0d0498dbd87901f016827728dd5e4ab/transformed/lifecycle-viewmodel/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/3c0281298b42b7aa473b9f357211cf99/transformed/lifecycle-runtime-compose/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose-android:2.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/3c0281298b42b7aa473b9f357211cf99/transformed/lifecycle-runtime-compose/proguard.txt) # The proguard configuration file for the following section is androidx.room:room-runtime-android:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d9f09c4bd74ba454e767dda854215626/transformed/room-runtime/proguard.txt) -keep class * extends androidx.room.RoomDatabase { void (); } -dontwarn androidx.room.paging.** -dontwarn androidx.lifecycle.LiveData # End of content from androidx.room:room-runtime-android:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d9f09c4bd74ba454e767dda854215626/transformed/room-runtime/proguard.txt) # The proguard configuration file for the following section is androidx.room:room-ktx:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/68c4a18b020154590d392dc102221b6c/transformed/room-ktx-2.8.4/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.room:room-ktx:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/68c4a18b020154590d392dc102221b6c/transformed/room-ktx-2.8.4/proguard.txt) # The proguard configuration file for the following section is androidx.room:room-paging-android:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/99a35ee1f01ddbbc207ebddf50d384de/transformed/room-paging/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.room:room-paging-android:2.8.4 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/99a35ee1f01ddbbc207ebddf50d384de/transformed/room-paging/proguard.txt) # The proguard configuration file for the following section is androidx.navigationevent:navigationevent-android:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9d1c139df1f0401599437d41a792df62/transformed/navigationevent/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.navigationevent:navigationevent-android:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9d1c139df1f0401599437d41a792df62/transformed/navigationevent/proguard.txt) # The proguard configuration file for the following section is androidx.navigationevent:navigationevent-compose-android:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e633318b82e29bec368604d3c6cf4b57/transformed/navigationevent-compose/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.navigationevent:navigationevent-compose-android:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e633318b82e29bec368604d3c6cf4b57/transformed/navigationevent-compose/proguard.txt) # The proguard configuration file for the following section is androidx.compose.runtime:runtime-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1e4ce6427d2817e01f6bb45c0ac69961/transformed/runtime/proguard.txt) -assumenosideeffects public class androidx.compose.runtime.ComposerKt { void sourceInformation(androidx.compose.runtime.Composer,java.lang.String); void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String); void sourceInformationMarkerEnd(androidx.compose.runtime.Composer); } # Composer's class initializer doesn't do anything but create an EMPTY object. Marking the # initializers as having no side effects can help encourage shrinkers to merge/devirtualize Composer # with ComposerImpl. -assumenosideeffects public class androidx.compose.runtime.Composer { void (); } -assumenosideeffects public class androidx.compose.runtime.ComposerImpl { void (); } # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.runtime.** { # java.lang.Void == methods that return Nothing static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); # For functions generating error messages static java.lang.String exceptionMessage*(...); java.lang.String exceptionMessage*(...); static void compose*RuntimeError(...); static java.lang.Void compose*RuntimeError(...); } # Runtime uses this field to enable group key based stack trace collection. -assumevalues class androidx.compose.runtime.tooling.ComposeStackTraceMode { private static boolean isMinified return true; } # Assume the experimental link-buffer composer is not enabled -assumevalues public class androidx.compose.runtime.ComposeRuntimeFlags { static boolean isLinkBufferComposerEnabled return false; } # End of content from androidx.compose.runtime:runtime-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1e4ce6427d2817e01f6bb45c0ac69961/transformed/runtime/proguard.txt) # The proguard configuration file for the following section is androidx.savedstate:savedstate-android:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dacdf3d1eee51d4a8966ae6a604a91a5/transformed/savedstate/proguard.txt) # Copyright (C) 2019 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated { (); } # End of content from androidx.savedstate:savedstate-android:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dacdf3d1eee51d4a8966ae6a604a91a5/transformed/savedstate/proguard.txt) # The proguard configuration file for the following section is androidx.savedstate:savedstate-ktx:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/843bc17d1db9866d2d011a2260ac442a/transformed/savedstate-ktx-1.4.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.savedstate:savedstate-ktx:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/843bc17d1db9866d2d011a2260ac442a/transformed/savedstate-ktx-1.4.0/proguard.txt) # The proguard configuration file for the following section is androidx.savedstate:savedstate-compose-android:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c767dc9ca3227984faf739d4f20891c7/transformed/savedstate-compose/proguard.txt) # Workaround for https://issuetracker.google.com/issues/346808608 # # `androidx.savedstate.compose.LocalSavedStateRegistryOwner` will reflectively lookup for # `androidx.compose.ui.platform.LocalSavedStateRegistryOwner` to ensure backward compatibility # when using SavedState >= 1.3 with Compose <= 1.7. # # We need to keep the getter if the code using this is included. # # We need to suppress `ShrinkerUnresolvedReference` because the `LocalComposition` is in a # different module. # #noinspection ShrinkerUnresolvedReference -if public class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt { public static *** getLocalSavedStateRegistryOwner(); } -keep public class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt { public static *** getLocalSavedStateRegistryOwner(); } # End of content from androidx.savedstate:savedstate-compose-android:1.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c767dc9ca3227984faf739d4f20891c7/transformed/savedstate-compose/proguard.txt) # The proguard configuration file for the following section is androidx.graphics:graphics-shapes-android:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b5556209584c9994b03eff7ba610c033/transformed/graphics-shapes/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.graphics:graphics-shapes-android:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b5556209584c9994b03eff7ba610c033/transformed/graphics-shapes/proguard.txt) # The proguard configuration file for the following section is androidx.coordinatorlayout:coordinatorlayout:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dc75d360790f43d61b09a73c1c8bd061/transformed/coordinatorlayout-1.1.0/proguard.txt) # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # CoordinatorLayout resolves the behaviors of its child components with reflection. -keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior { public (android.content.Context, android.util.AttributeSet); public (); } # Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView -keepattributes *Annotation* # End of content from androidx.coordinatorlayout:coordinatorlayout:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dc75d360790f43d61b09a73c1c8bd061/transformed/coordinatorlayout-1.1.0/proguard.txt) # The proguard configuration file for the following section is androidx.recyclerview:recyclerview:1.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e717329ed747cb617ffcb4666b599889/transformed/recyclerview-1.2.1/proguard.txt) # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # When layoutManager xml attribute is used, RecyclerView inflates #LayoutManagers' constructors using reflection. -keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager { public (android.content.Context, android.util.AttributeSet, int, int); public (); } -keepclassmembers class androidx.recyclerview.widget.RecyclerView { public void suppressLayout(boolean); public boolean isLayoutSuppressed(); } # End of content from androidx.recyclerview:recyclerview:1.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e717329ed747cb617ffcb4666b599889/transformed/recyclerview-1.2.1/proguard.txt) # The proguard configuration file for the following section is androidx.customview:customview:1.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bb6de1229271c3b1d86a350ff3971beb/transformed/customview-1.2.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.customview:customview:1.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bb6de1229271c3b1d86a350ff3971beb/transformed/customview-1.2.0/proguard.txt) # The proguard configuration file for the following section is androidx.transition:transition:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/7ebc87b3178fb5099544f7016124bb77/transformed/transition-1.6.0/proguard.txt) # Copyright (C) 2017 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Keep a field in transition that is used to keep a reference to weakly-referenced object -keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter { androidx.transition.ChangeBounds$ViewBounds mViewBounds; } # End of content from androidx.transition:transition:1.6.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/7ebc87b3178fb5099544f7016124bb77/transformed/transition-1.6.0/proguard.txt) # The proguard configuration file for the following section is androidx.dynamicanimation:dynamicanimation:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9a8ee48cb8ed731ad0716de69702592a/transformed/dynamicanimation-1.1.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.dynamicanimation:dynamicanimation:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/9a8ee48cb8ed731ad0716de69702592a/transformed/dynamicanimation-1.1.0/proguard.txt) # The proguard configuration file for the following section is androidx.vectordrawable:vectordrawable-animated:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/5f9736122173716b40c411fa83df59dd/transformed/vectordrawable-animated-1.1.0/proguard.txt) # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # keep setters in VectorDrawables so that animations can still work. -keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* { void set*(***); *** get*(); } # End of content from androidx.vectordrawable:vectordrawable-animated:1.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/5f9736122173716b40c411fa83df59dd/transformed/vectordrawable-animated-1.1.0/proguard.txt) # The proguard configuration file for the following section is androidx.window:window-core-android:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e437a5d59d649843c83ef61f54aead9c/transformed/window-core/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.window:window-core-android:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/e437a5d59d649843c83ef61f54aead9c/transformed/window-core/proguard.txt) # The proguard configuration file for the following section is androidx.window:window:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f1ed09f31e10611e86626187ec94744c/transformed/window-1.5.0/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # A rule that will keep classes that implement SidecarInterface$SidecarCallback if Sidecar seems # be used. See b/157286362 and b/165268619 for details. # TODO(b/208543178) investigate how to pass header jar to R8 so we don't need this rule -if class androidx.window.layout.adapter.sidecar.SidecarCompat { public *** setExtensionCallback(androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat$ExtensionCallbackInterface); } -keep class androidx.window.layout.adapter.sidecar.SidecarCompat$TranslatingCallback, androidx.window.layout.adapter.sidecar.DistinctElementSidecarCallback { public *** onDeviceStateChanged(androidx.window.sidecar.SidecarDeviceState); public *** onWindowLayoutChanged(android.os.IBinder, androidx.window.sidecar.SidecarWindowLayoutInfo); } # Required for window area API reflection guard -keep interface androidx.window.area.reflectionguard.* {*;} # Required to support kotlin-reflect -keep,allowshrinking class androidx.window.layout.adapter.extensions.MulticastConsumer { void accept(androidx.window.extensions.layout.WindowLayoutInfo); } -keep interface androidx.window.reflection.Consumer2 { public *** accept(***); } -keep interface androidx.window.reflection.Predicate2 { public *** test(***); } -keep interface androidx.window.reflection.JFunction2 { public *** apply(***); } # End of content from androidx.window:window:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f1ed09f31e10611e86626187ec94744c/transformed/window-1.5.0/proguard.txt) # The proguard configuration file for the following section is androidx.camera.viewfinder:viewfinder-core:1.5.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/409e6f0b97a878b36bf3820852d02c6b/transformed/viewfinder-core-1.5.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera.viewfinder:viewfinder-core:1.5.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/409e6f0b97a878b36bf3820852d02c6b/transformed/viewfinder-core-1.5.1/proguard.txt) # The proguard configuration file for the following section is androidx.graphics:graphics-path:1.0.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c9ec28bae560426c2aacedcb4e9c1645/transformed/graphics-path-1.0.1/proguard.txt) -keepclasseswithmembers class androidx.graphics.path.** { native ; } # End of content from androidx.graphics:graphics-path:1.0.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c9ec28bae560426c2aacedcb4e9c1645/transformed/graphics-path-1.0.1/proguard.txt) # The proguard configuration file for the following section is androidx.core:core:1.19.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dcfbed58709c19d366d703cadeca9e5e/transformed/core-1.19.0/proguard.txt) # Never inline methods, but allow shrinking and obfuscation. -keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl { ; } -keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl { ; } # End of content from androidx.core:core:1.19.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/dcfbed58709c19d366d703cadeca9e5e/transformed/core-1.19.0/proguard.txt) # The proguard configuration file for the following section is androidx.compose.ui:ui-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8308877b90bf054ae666d7e972b867ad/transformed/ui/proguard.txt) # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # We supply these as stubs and are able to link to them at runtime # because they are hidden public classes in Android. We don't want # R8 to complain about them not being there during optimization. -dontwarn android.view.RenderNode -dontwarn android.view.DisplayListCanvas -dontwarn android.view.HardwareCanvas -keepclassmembers class androidx.compose.ui.platform.ViewLayerContainer { protected void dispatchGetDisplayList(); } -keepclassmembers class androidx.compose.ui.platform.AndroidComposeView { android.view.View findViewByAccessibilityIdTraversal(int); } # Users can create Modifier.Node instances that implement multiple Modifier.Node interfaces, # so we cannot tell whether two modifier.node instances are of the same type without using # reflection to determine the class type. See b/265188224 for more context. -keep,allowobfuscation,allowshrinking class * extends androidx.compose.ui.node.ModifierNodeElement # Keep all the functions created to throw an exception. We don't want these functions to be # inlined in any way, which R8 will do by default. The whole point of these functions is to # reduce the amount of code generated at the call site. -keepclassmembers,allowshrinking,allowobfuscation class androidx.compose.**.* { static void throw*Exception(...); static void throw*ExceptionForNullCheck(...); # For methods returning Nothing static java.lang.Void throw*Exception(...); static java.lang.Void throw*ExceptionForNullCheck(...); # For functions generating error messages static java.lang.String exceptionMessage*(...); java.lang.String exceptionMessage*(...); } # When pointer input modifier nodes are added dynamically and have the same keys (common when # developers `Unit` for their keys), we need a way to differentiate them and using a # functional interface and comparing classes allows us to do that. -keepnames class androidx.compose.ui.input.pointer.PointerInputEventHandler { *; } # End of content from androidx.compose.ui:ui-android:1.11.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8308877b90bf054ae666d7e972b867ad/transformed/ui/proguard.txt) # The proguard configuration file for the following section is androidx.activity:activity-ktx:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bef6497eb11d43a058c75dcda7afc801/transformed/activity-ktx-1.13.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.activity:activity-ktx:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/bef6497eb11d43a058c75dcda7afc801/transformed/activity-ktx-1.13.0/proguard.txt) # The proguard configuration file for the following section is androidx.activity:activity:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f03c372885bbb7a8d3f8264c0623c021/transformed/activity-1.13.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.activity:activity:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f03c372885bbb7a8d3f8264c0623c021/transformed/activity-1.13.0/proguard.txt) # The proguard configuration file for the following section is androidx.activity:activity-compose:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1fb03b8dafc1adc9f6ffa6adc5c9d39a/transformed/activity-compose-1.13.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.activity:activity-compose:1.13.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/1fb03b8dafc1adc9f6ffa6adc5c9d39a/transformed/activity-compose-1.13.0/proguard.txt) # The proguard configuration file for the following section is ch.acra:acra-core:5.13.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0887e61bd41632c32168d40dcbd76cc/transformed/acra-core-5.13.1/proguard.txt) # Restore some Source file names and restore approximate line numbers in the stack traces, # otherwise the stack traces are pretty useless -keepattributes SourceFile,LineNumberTable # ACRA loads Plugins using reflection -keep class * implements org.acra.plugins.Plugin {*;} # ACRA uses enum fields in json -keep enum org.acra.** {*;} # autodsl accesses constructors using reflection -keepclassmembers class * implements org.acra.config.Configuration { (...); } # ACRA creates a proxy for this interface -keep interface org.acra.ErrorReporter { void (); } -dontwarn android.support.** -dontwarn com.faendir.kotlin.autodsl.DslInspect -dontwarn com.faendir.kotlin.autodsl.DslMandatory -dontwarn com.google.auto.service.AutoService # End of content from ch.acra:acra-core:5.13.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f0887e61bd41632c32168d40dcbd76cc/transformed/acra-core-5.13.1/proguard.txt) # The proguard configuration file for the following section is androidx.media3:media3-common:1.9.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a2f76f2d3d4fbebf10d1c9b6de26732e/transformed/media3-common-1.9.0/proguard.txt) # Proguard rules specific to the common module. # Don't warn about checkerframework and Kotlin annotations -dontwarn org.checkerframework.** -dontwarn kotlin.annotations.jvm.** -dontwarn javax.annotation.** # From https://github.com/google/guava/wiki/UsingProGuardWithGuava -dontwarn java.lang.ClassValue -dontwarn java.lang.SafeVarargs -dontwarn javax.lang.model.element.Modifier -dontwarn sun.misc.Unsafe # Don't warn about Guava's compile-only dependencies. # These lines are needed for ProGuard but not R8. -dontwarn com.google.errorprone.annotations.** -dontwarn com.google.j2objc.annotations.** -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement # Workaround for https://issuetracker.google.com/issues/112297269 # This is needed for ProGuard but not R8. -keepclassmembernames class com.google.common.base.Function { *; } # End of content from androidx.media3:media3-common:1.9.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a2f76f2d3d4fbebf10d1c9b6de26732e/transformed/media3-common-1.9.0/proguard.txt) # The proguard configuration file for the following section is com.squareup.okhttp3:okhttp-android:5.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/19f9a1defd1595db124916784e1b58df/transformed/okhttp/proguard.txt) # JSR 305 annotations are for embedding nullability information. -dontwarn javax.annotation.** # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. -dontwarn org.codehaus.mojo.animal_sniffer.* # OkHttp platform used only on JVM and when Conscrypt and other security providers are available. # May be used with robolectric or deliberate use of Bouncy Castle on Android -dontwarn okhttp3.internal.platform.** -dontwarn org.conscrypt.** -dontwarn org.bouncycastle.** # End of content from com.squareup.okhttp3:okhttp-android:5.4.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/19f9a1defd1595db124916784e1b58df/transformed/okhttp/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/91df6d7fc33e7fa57adae3925d3bfa7b/transformed/shrink-rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro) # Allow R8 to optimize away the FastServiceLoader. # Together with ServiceLoader optimization in R8 # this results in direct instantiation when loading Dispatchers.Main -assumenosideeffects class kotlinx.coroutines.internal.MainDispatcherLoader { boolean FAST_SERVICE_LOADER_ENABLED return false; } -assumenosideeffects class kotlinx.coroutines.internal.FastServiceLoaderKt { boolean ANDROID_DETECTED return true; } # Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher -assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt { boolean SUPPORT_MISSING return false; } # Statically turn off all debugging facilities and assertions -assumenosideeffects class kotlinx.coroutines.DebugKt { boolean getASSERTIONS_ENABLED() return false; boolean getDEBUG() return false; boolean getRECOVER_STACK_TRACES() return false; } # End of content from org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/91df6d7fc33e7fa57adae3925d3bfa7b/transformed/shrink-rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro) # The proguard configuration file for the following section is io.ktor:ktor-utils-jvm:3.5.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b99e46d7f1b6f6bead1b0a127028398e/transformed/shrink-rules/lib/META-INF/proguard/ktor.pro) # Most of volatile fields are updated with AtomicFU and should not be mangled/removed -keepclassmembers class io.ktor.** { volatile ; } -keepclassmembernames class io.ktor.** { volatile ; } # client engines are loaded using ServiceLoader so we need to keep them -keep class io.ktor.client.engine.** implements io.ktor.client.HttpClientEngineContainer # End of content from io.ktor:ktor-utils-jvm:3.5.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b99e46d7f1b6f6bead1b0a127028398e/transformed/shrink-rules/lib/META-INF/proguard/ktor.pro) # The proguard configuration file for the following section is org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f3b491d55444af0c8a512f123e8c6f0c/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/coroutines.pro) # When editing this file, update the following files as well: # - META-INF/proguard/coroutines.pro # - META-INF/com.android.tools/proguard/coroutines.pro # Most of volatile fields are updated with AFU and should not be mangled -keepclassmembers class kotlinx.coroutines.** { volatile ; } # Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater -keepclassmembers class kotlin.coroutines.SafeContinuation { volatile ; } # These classes are only required by kotlinx.coroutines.debug.internal.AgentPremain, which is only loaded when # kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used. -dontwarn java.lang.instrument.ClassFileTransformer -dontwarn sun.misc.SignalHandler -dontwarn java.lang.instrument.Instrumentation -dontwarn sun.misc.Signal # Only used in `kotlinx.coroutines.internal.ExceptionsConstructor`. # The case when it is not available is hidden in a `try`-`catch`, as well as a check for Android. -dontwarn java.lang.ClassValue # An annotation used for build tooling, won't be directly accessed. -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement # Keep GC anchor fields that prevent the sharing coroutine from being collected. -keepclassmembers class kotlinx.coroutines.flow.ReadonlySharedFlow { kotlinx.coroutines.Job job; } -keepclassmembers class kotlinx.coroutines.flow.ReadonlyStateFlow { kotlinx.coroutines.Job job; } # End of content from org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f3b491d55444af0c8a512f123e8c6f0c/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/coroutines.pro) # The proguard configuration file for the following section is androidx.sqlite:sqlite-bundled-android:2.7.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c9a0d116773e892fb207344c40bc5ee0/transformed/sqlite-bundled/proguard.txt) -keepclasseswithmembers class androidx.sqlite.driver.bundled.** { native ; } # End of content from androidx.sqlite:sqlite-bundled-android:2.7.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/c9a0d116773e892fb207344c40bc5ee0/transformed/sqlite-bundled/proguard.txt) # The proguard configuration file for the following section is org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/92bb7639e5147e8dca72d70e2aa72563/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro) # Keep `Companion` object field of serializable classes. # This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects. -keepclassmembers @kotlinx.serialization.Serializable class ** { static ** Companion; } # Keep names for named companion object from obfuscation # Names of a class and of a field are important in lookup of named companion in runtime -if @kotlinx.serialization.internal.NamedCompanion class * -keepclassmembers class * { static <1> *; } # Keep `serializer()` on companion objects (both default and named) of serializable classes. -if @kotlinx.serialization.Serializable class ** { static **$* *; } -keepclassmembers class <2>$<3> { kotlinx.serialization.KSerializer serializer(...); } # Keep `INSTANCE.serializer()` of serializable objects. -if @kotlinx.serialization.Serializable class ** { public static ** INSTANCE; } -keepclassmembers class <1> { public static <1> INSTANCE; kotlinx.serialization.KSerializer serializer(...); } # @Serializable and @Polymorphic are used at runtime for polymorphic serialization. -keepattributes RuntimeVisibleAnnotations,AnnotationDefault # Don't print notes about potential mistakes or omissions in the configuration for kotlinx-serialization classes # See also https://github.com/Kotlin/kotlinx.serialization/issues/1900 -dontnote kotlinx.serialization.** # Serialization core uses `java.lang.ClassValue` for caching inside these specified classes. # If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning. # However, since in this case they will not be used, we can disable these warnings -dontwarn kotlinx.serialization.internal.ClassValueReferences # disable optimisation for descriptor field because in some versions of ProGuard, optimization generates incorrect bytecode that causes a verification error # see https://github.com/Kotlin/kotlinx.serialization/issues/2719 -keepclassmembers public class **$$serializer { private ** descriptor; } # End of content from org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/92bb7639e5147e8dca72d70e2aa72563/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro) # The proguard configuration file for the following section is org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/92bb7639e5147e8dca72d70e2aa72563/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro) # Rule to save runtime annotations on serializable class. # If the R8 full mode is used, annotations are removed from classes-files. # # For the annotation serializer, it is necessary to read the `Serializable` annotation inside the serializer() function - if it is present, # then `SealedClassSerializer` is used, if absent, then `PolymorphicSerializer'. # # When using R8 full mode, all interfaces will be serialized using `PolymorphicSerializer`. # # see https://github.com/Kotlin/kotlinx.serialization/issues/2050 -if @kotlinx.serialization.Serializable class ** -keep, allowshrinking, allowoptimization, allowobfuscation, allowaccessmodification class <1> # Rule to save runtime annotations on named companion class. # If the R8 full mode is used, annotations are removed from classes-files. -if @kotlinx.serialization.internal.NamedCompanion class * -keep, allowshrinking, allowoptimization, allowobfuscation, allowaccessmodification class <1> # Rule to save INSTANCE field and serializer function for Kotlin serializable objects. # # R8 full mode works differently if the instance is not explicitly accessed in the code. # # see https://github.com/Kotlin/kotlinx.serialization/issues/2861 # see https://issuetracker.google.com/issues/379996140 -keepclassmembers @kotlinx.serialization.Serializable class ** { public static ** INSTANCE; kotlinx.serialization.KSerializer serializer(...); } # End of content from org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.11.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/92bb7639e5147e8dca72d70e2aa72563/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro) # The proguard configuration file for the following section is org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.8.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/2ad693f9512b9d377d866a58d005812c/transformed/shrink-rules/lib/META-INF/proguard/datetime.pro) # We depend on kotlinx-serialization as compileOnly. # If the serializers don't get used, the library works properly even without the # kotlinx-serialization dependency, but Proguard emits warnings about datetime # classes mentioning some serialization-related entities. # These rules should not cause problems: if a project actually relies on # serialization, then much more than just these two classes will be required, # so telling Proguard not to worry if these two are missing will not prevent it # from emitting errors for code that does use serialization but somehow forgot # to depend on it. -dontwarn kotlinx.serialization.KSerializer -dontwarn kotlinx.serialization.Serializable # End of content from org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.8.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/2ad693f9512b9d377d866a58d005812c/transformed/shrink-rules/lib/META-INF/proguard/datetime.pro) # The proguard configuration file for the following section is androidx.core:core-viewtree:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/3b60a22701a67cd6a6036c7fc183d8c5/transformed/core-viewtree-1.0.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.core:core-viewtree:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/3b60a22701a67cd6a6036c7fc183d8c5/transformed/core-viewtree-1.0.0/proguard.txt) # The proguard configuration file for the following section is androidx.annotation:annotation-experimental:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b026482f45f6a65cf571cd2bcdcde3f9/transformed/annotation-experimental-1.5.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.annotation:annotation-experimental:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/b026482f45f6a65cf571cd2bcdcde3f9/transformed/annotation-experimental-1.5.0/proguard.txt) # The proguard configuration file for the following section is androidx.versionedparcelable:versionedparcelable:1.1.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/58d9e4aaa614def0eb40e060b1bba6a2/transformed/versionedparcelable-1.1.1/proguard.txt) -keep class * implements androidx.versionedparcelable.VersionedParcelable -keep public class android.support.**Parcelizer { *; } -keep public class androidx.**Parcelizer { *; } -keep public class androidx.versionedparcelable.ParcelImpl # End of content from androidx.versionedparcelable:versionedparcelable:1.1.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/58d9e4aaa614def0eb40e060b1bba6a2/transformed/versionedparcelable-1.1.1/proguard.txt) # The proguard configuration file for the following section is androidx.collection:collection-ktx:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d26ea84d0f342675dbef008cd1544a79/transformed/shrink-rules/lib/META-INF/proguard/androidx-collection-collection-ktx.pro) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.collection:collection-ktx:1.5.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d26ea84d0f342675dbef008cd1544a79/transformed/shrink-rules/lib/META-INF/proguard/androidx-collection-collection-ktx.pro) # The proguard configuration file for the following section is androidx.startup:startup-runtime:1.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/0b02113d1f27e94ada53f13b232e2174/transformed/startup-runtime-1.2.0/proguard.txt) # It's important that we preserve initializer names, given they are used in the AndroidManifest.xml. -keepnames class * extends androidx.startup.Initializer # These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated, # and are a part of the primary dex file. This is because they are discovered and instantiated # during application startup. -keep class * extends androidx.startup.Initializer { # Keep the public no-argument constructor while allowing other methods to be optimized. (); } -assumenosideeffects class androidx.startup.StartupLogger { public static ; } # End of content from androidx.startup:startup-runtime:1.2.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/0b02113d1f27e94ada53f13b232e2174/transformed/startup-runtime-1.2.0/proguard.txt) # The proguard configuration file for the following section is androidx.core:core-backported-fixes:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a72bbf5234585657cbefd0cbc03bee35/transformed/core-backported-fixes-1.0.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.core:core-backported-fixes:1.0.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a72bbf5234585657cbefd0cbc03bee35/transformed/core-backported-fixes-1.0.0/proguard.txt) # The proguard configuration file for the following section is androidx.exifinterface:exifinterface:1.4.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/37dfbc33ec2774937f5ae20334a465a2/transformed/exifinterface-1.4.2/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.exifinterface:exifinterface:1.4.2 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/37dfbc33ec2774937f5ae20334a465a2/transformed/exifinterface-1.4.2/proguard.txt) # The proguard configuration file for the following section is com.google.android.datatransport:transport-backend-cct:2.3.3 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/03f497dba8c97e29ac5e57006209cde6/transformed/transport-backend-cct-2.3.3/proguard.txt) -dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue$Builder # End of content from com.google.android.datatransport:transport-backend-cct:2.3.3 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/03f497dba8c97e29ac5e57006209cde6/transformed/transport-backend-cct-2.3.3/proguard.txt) # The proguard configuration file for the following section is com.google.android.datatransport:transport-runtime:2.2.6 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/5ca65a49df335ccf3be1c9f6a9bab60c/transformed/transport-runtime-2.2.6/proguard.txt) -dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue$Builder # End of content from com.google.android.datatransport:transport-runtime:2.2.6 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/5ca65a49df335ccf3be1c9f6a9bab60c/transformed/transport-runtime-2.2.6/proguard.txt) # The proguard configuration file for the following section is com.google.android.datatransport:transport-api:2.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/abfa54353559e020883e5159a84c6651/transformed/transport-api-2.2.1/proguard.txt) -dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue$Builder # End of content from com.google.android.datatransport:transport-api:2.2.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/abfa54353559e020883e5159a84c6651/transformed/transport-api-2.2.1/proguard.txt) # The proguard configuration file for the following section is com.google.firebase:firebase-components:16.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a59ff71edcf8d43afac7a3ae2683c287/transformed/firebase-components-16.1.0/proguard.txt) -dontwarn com.google.firebase.components.Component$Instantiation -dontwarn com.google.firebase.components.Component$ComponentType -keep class * implements com.google.firebase.components.ComponentRegistrar # End of content from com.google.firebase:firebase-components:16.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/a59ff71edcf8d43afac7a3ae2683c287/transformed/firebase-components-16.1.0/proguard.txt) # The proguard configuration file for the following section is com.google.firebase:firebase-encoders-json:17.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/fd4fe94209471f914222f18a242c81d1/transformed/firebase-encoders-json-17.1.0/proguard.txt) # End of content from com.google.firebase:firebase-encoders-json:17.1.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/fd4fe94209471f914222f18a242c81d1/transformed/firebase-encoders-json-17.1.0/proguard.txt) # The proguard configuration file for the following section is androidx.tracing:tracing-ktx:1.3.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f7353be14303cb9000f4ab2050ee1b28/transformed/tracing-ktx-1.3.0/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.tracing:tracing-ktx:1.3.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/f7353be14303cb9000f4ab2050ee1b28/transformed/tracing-ktx-1.3.0/proguard.txt) # The proguard configuration file for the following section is androidx.camera.featurecombinationquery:featurecombinationquery:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/2470d766b37d27aeaf3a83b583e6588b/transformed/featurecombinationquery-1.6.1/proguard.txt) # Intentionally empty proguard rules to indicate this library is safe to shrink # End of content from androidx.camera.featurecombinationquery:featurecombinationquery:1.6.1 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/2470d766b37d27aeaf3a83b583e6588b/transformed/featurecombinationquery-1.6.1/proguard.txt) # The proguard configuration file for the following section is androidx.annotation:annotation-jvm:1.10.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d66cca94ab7bca9a497a1e3f00bc843e/transformed/shrink-rules/lib/META-INF/proguard/androidx-annotations.pro) -keep,allowobfuscation @interface androidx.annotation.Keep -keep @androidx.annotation.Keep class * {*;} -keepclasseswithmembers class * { @androidx.annotation.Keep ; } -keepclasseswithmembers class * { @androidx.annotation.Keep ; } -keepclasseswithmembers class * { @androidx.annotation.Keep (...); } -keepclassmembers,allowobfuscation class * { @androidx.annotation.DoNotInline ; } # End of content from androidx.annotation:annotation-jvm:1.10.0 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/d66cca94ab7bca9a497a1e3f00bc843e/transformed/shrink-rules/lib/META-INF/proguard/androidx-annotations.pro) # The proguard configuration file for the following section is com.google.dagger:dagger:2.59 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8ba88a95886706d44bc6da194bb40819/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/r8.pro) -identifiernamestring @dagger.internal.IdentifierNameString class ** { static java.lang.String *; } # End of content from com.google.dagger:dagger:2.59 (extracted file: /home/jenkins/.gradle/caches/9.6.1/transforms/8ba88a95886706d44bc6da194bb40819/transformed/shrink-rules/lib/META-INF/com.android.tools/r8/r8.pro) # The proguard configuration file for the following section is AAPT2 generated keep rules (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/intermediates/aapt_proguard_file/release/processReleaseResources/aapt_rules.txt) -keep class androidx.camera.core.impl.MetadataHolderService { (); } -keep class androidx.core.app.CoreComponentFactory { (); } -keep class androidx.core.content.FileProvider { (); } -keep class androidx.credentials.playservices.CredentialProviderMetadataHolder { (); } -keep class androidx.credentials.playservices.controllers.identityauth.HiddenActivity { (); } -keep class androidx.credentials.playservices.controllers.identitycredentials.IdentityCredentialApiHiddenActivity { (); } -keep class androidx.profileinstaller.ProfileInstallReceiver { (); } -keep class androidx.room.MultiInstanceInvalidationService { (); } -keep class androidx.startup.InitializationProvider { (); } -keep class androidx.work.impl.background.systemalarm.RescheduleReceiver { (); } -keep class androidx.work.impl.background.systemjob.SystemJobService { (); } -keep class androidx.work.impl.diagnostics.DiagnosticsReceiver { (); } -keep class androidx.work.impl.foreground.SystemForegroundService { (); } -keep class androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver { (); } -keep class com.google.android.datatransport.runtime.backends.TransportBackendDiscovery { (); } -keep class com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver { (); } -keep class com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService { (); } -keep class com.google.android.gms.auth.api.signin.RevocationBoundService { (); } -keep class com.google.android.gms.auth.api.signin.internal.SignInHubActivity { (); } -keep class com.google.android.gms.common.api.GoogleApiActivity { (); } -keep class com.google.mlkit.common.internal.MlKitComponentDiscoveryService { (); } -keep class com.google.mlkit.common.internal.MlKitInitProvider { (); } -keep class org.acra.attachment.AcraContentProvider { (); } -keep class org.acra.sender.JobSenderService { (); } -keep class org.acra.sender.LegacySenderService { (); } -keep class org.jetbrains.compose.resources.AndroidContextProvider { (); } -keep class world.respect.MainActivity { (); } -keep class world.respect.RespectApp { (); } -keep class world.respect.WebViewActivity { (); } -keep class world.respect.app.domain.e2eartifactupload.E2EArtifactUploadActivity { (); } -keep class world.respect.xapi.ipc.server.XapiIpcService { (); } -keep class android.widget.Space { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.app.AlertController$RecycleListView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.view.menu.ActionMenuItemView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.view.menu.ExpandedMenuView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.view.menu.ListMenuItemView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ActionBarContainer { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ActionBarContextView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ActionBarOverlayLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ActionMenuView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ActivityChooserView$InnerLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.AlertDialogLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ButtonBarLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ContentFrameLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.DialogTitle { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.FitWindowsFrameLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.FitWindowsLinearLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.LinearLayoutCompat { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.SearchView$SearchAutoComplete { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.SwitchCompat { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.Toolbar { (android.content.Context, android.util.AttributeSet); } -keep class androidx.appcompat.widget.ViewStubCompat { (android.content.Context, android.util.AttributeSet); } -keep class androidx.browser.browseractions.BrowserActionsFallbackMenuView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.constraintlayout.helper.widget.Flow { (android.content.Context, android.util.AttributeSet); } -keep class androidx.constraintlayout.widget.ConstraintLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.constraintlayout.widget.Guideline { (android.content.Context, android.util.AttributeSet); } -keep class androidx.coordinatorlayout.widget.CoordinatorLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.core.view.insets.ProtectionLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.core.widget.NestedScrollView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.fragment.app.FragmentContainerView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.preference.UnPressableLinearLayout { (android.content.Context, android.util.AttributeSet); } -keep class androidx.preference.internal.PreferenceImageView { (android.content.Context, android.util.AttributeSet); } -keep class androidx.recyclerview.widget.RecyclerView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.appbar.AppBarLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.appbar.MaterialToolbar { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.button.MaterialButton { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.button.MaterialButtonToggleGroup { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.chip.Chip { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.datepicker.MaterialCalendarGridView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.divider.MaterialDivider { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.focus.FocusRingDrawable { (...); } -keep class com.google.android.material.internal.BaselineLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.internal.CheckableImageButton { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.internal.ClippableRoundedCornerLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.internal.NavigationMenuItemView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.internal.NavigationMenuView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.internal.TouchObserverFrameLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.snackbar.Snackbar$SnackbarLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.snackbar.SnackbarContentLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.textfield.TextInputEditText { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.textfield.TextInputLayout { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.timepicker.ChipTextInputComboView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.timepicker.ClockFaceView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.timepicker.ClockHandView { (android.content.Context, android.util.AttributeSet); } -keep class com.google.android.material.timepicker.TimePickerView { (android.content.Context, android.util.AttributeSet); } # End of content from AAPT2 generated keep rules (extracted file: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/intermediates/aapt_proguard_file/release/processReleaseResources/aapt_rules.txt) # The proguard configuration file for the following section is # End of content from