HomelabMFA v1.0 — biometric gate for ntfy Push MFA
This commit is contained in:
@@ -0,0 +1,641 @@
|
||||
# The proguard configuration file for the following section is /home/amir/android-projects/homelab-mfa/app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.2.2
|
||||
# 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.
|
||||
# Adding optimization introduces certain risks, since for example not all optimizations performed by
|
||||
# ProGuard works on all versions of Dalvik. The following flags turn off various optimizations
|
||||
# known to have issues, but the list may not be complete or up to date. (The "arithmetic"
|
||||
# optimization can be used if you are only targeting Android 2.0 or later.) Make sure you test
|
||||
# thoroughly if you go this route.
|
||||
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
|
||||
-optimizationpasses 5
|
||||
-allowaccessmodification
|
||||
|
||||
-dontusemixedcaseclassnames
|
||||
-dontskipnonpubliclibraryclasses
|
||||
-verbose
|
||||
|
||||
# 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 http://proguard.sourceforge.net/manual/examples.html#native
|
||||
-keepclasseswithmembernames,includedescriptorclasses class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
# 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 http://proguard.sourceforge.net/manual/examples.html#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 <methods>;
|
||||
}
|
||||
|
||||
# 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.**
|
||||
|
||||
# This class is deprecated, but remains for backward compatibility.
|
||||
-dontwarn android.util.FloatMath
|
||||
|
||||
# Understand the @Keep support annotation.
|
||||
-keep class android.support.annotation.Keep
|
||||
-keep class androidx.annotation.Keep
|
||||
|
||||
-keep @android.support.annotation.Keep class * {*;}
|
||||
-keep @androidx.annotation.Keep class * {*;}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@android.support.annotation.Keep <methods>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <methods>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@android.support.annotation.Keep <fields>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <fields>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@android.support.annotation.Keep <init>(...);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <init>(...);
|
||||
}
|
||||
|
||||
# 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 /home/amir/android-projects/homelab-mfa/app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.2.2
|
||||
# The proguard configuration file for the following section is /home/amir/android-projects/homelab-mfa/app/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
|
||||
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
|
||||
-keep class androidx.profileinstaller.ProfileInstallReceiver { <init>(); }
|
||||
-keep class androidx.startup.InitializationProvider { <init>(); }
|
||||
-keep class me.khodak.mfa.MainActivity { <init>(); }
|
||||
-keep class android.widget.Space { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.app.AlertController$RecycleListView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.view.menu.ActionMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.view.menu.ExpandedMenuView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.view.menu.ListMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ActionBarContainer { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ActionBarContextView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ActionBarOverlayLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ActionMenuView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ActivityChooserView$InnerLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.AlertDialogLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ButtonBarLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ContentFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.DialogTitle { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.FitWindowsFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.FitWindowsLinearLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.SearchView$SearchAutoComplete { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.Toolbar { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.appcompat.widget.ViewStubCompat { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.constraintlayout.helper.widget.Flow { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.coordinatorlayout.widget.CoordinatorLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.core.widget.NestedScrollView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.fragment.app.FragmentContainerView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.recyclerview.widget.RecyclerView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.appbar.MaterialToolbar { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.button.MaterialButton { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.button.MaterialButtonToggleGroup { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.chip.Chip { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.datepicker.MaterialCalendarGridView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.BaselineLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.CheckableImageButton { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.ClippableRoundedCornerLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.NavigationMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.NavigationMenuView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.internal.TouchObserverFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.snackbar.Snackbar$SnackbarLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.snackbar.SnackbarContentLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.textfield.TextInputEditText { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.textfield.TextInputLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.timepicker.ChipTextInputComboView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.timepicker.ClockFaceView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.timepicker.ClockHandView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class com.google.android.material.timepicker.TimePickerView { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
|
||||
# End of content from /home/amir/android-projects/homelab-mfa/app/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/2a8a49a25e3227f75ec676c8ebf2238e/transformed/material-1.11.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 <init>(android.content.Context, android.util.AttributeSet);
|
||||
public <init>();
|
||||
}
|
||||
|
||||
# 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 {
|
||||
<init>();
|
||||
}
|
||||
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/2a8a49a25e3227f75ec676c8ebf2238e/transformed/material-1.11.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/118a1c5b2f0525f1daacc0a3e4c9782f/transformed/biometric-1.1.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.
|
||||
|
||||
# Never inline methods, but allow shrinking and obfuscation.
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.AuthenticationCallbackProvider$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.BiometricFragment$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.BiometricManager$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.CancellationSignalProvider$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.CryptoObjectUtils$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.FingerprintDialogFragment$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.KeyguardUtils$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking
|
||||
class androidx.biometric.PackageUtils$Api* {
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/118a1c5b2f0525f1daacc0a3e4c9782f/transformed/biometric-1.1.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/e46189f34bfed7967aaeca6b2c80839e/transformed/appcompat-1.6.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.
|
||||
|
||||
# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
|
||||
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
|
||||
-keep class androidx.appcompat.widget.SearchView { <init>(...); }
|
||||
|
||||
# Never inline methods, but allow shrinking and obfuscation.
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/e46189f34bfed7967aaeca6b2c80839e/transformed/appcompat-1.6.1/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/16a9c756ba48761adfa9c285ab67c14a/transformed/fragment-1.3.6/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 <init>();
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/16a9c756ba48761adfa9c285ab67c14a/transformed/fragment-1.3.6/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/d5866d0b0f76bd83373bafb64309e4a3/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 <init>(android.content.Context, android.util.AttributeSet);
|
||||
public <init>();
|
||||
}
|
||||
|
||||
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
|
||||
-keepattributes *Annotation*
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/d5866d0b0f76bd83373bafb64309e4a3/transformed/coordinatorlayout-1.1.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/6c61b5c2f59319a1ebb2b049f38c1e91/transformed/transition-1.2.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 /home/amir/.gradle/caches/transforms-4/6c61b5c2f59319a1ebb2b049f38c1e91/transformed/transition-1.2.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/42e2e0f2923b68eb124c17b737063c20/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 /home/amir/.gradle/caches/transforms-4/42e2e0f2923b68eb124c17b737063c20/transformed/vectordrawable-animated-1.1.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/4b5561e81206f477eeb72ef15f964450/transformed/recyclerview-1.1.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.
|
||||
|
||||
# When layoutManager xml attribute is used, RecyclerView inflates
|
||||
#LayoutManagers' constructors using reflection.
|
||||
-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager {
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int, int);
|
||||
public <init>();
|
||||
}
|
||||
|
||||
-keepclassmembers class androidx.recyclerview.widget.RecyclerView {
|
||||
public void suppressLayout(boolean);
|
||||
public boolean isLayoutSuppressed();
|
||||
}
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/4b5561e81206f477eeb72ef15f964450/transformed/recyclerview-1.1.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/21669e6d68ca88325e9b69b3384a8c3b/transformed/core-1.12.0/proguard.txt
|
||||
# Never inline methods, but allow shrinking and obfuscation.
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
|
||||
<methods>;
|
||||
}
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/21669e6d68ca88325e9b69b3384a8c3b/transformed/core-1.12.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/7103500d398728423a0a032d117b2121/transformed/jetified-savedstate-1.2.1/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 {
|
||||
<init>();
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/7103500d398728423a0a032d117b2121/transformed/jetified-savedstate-1.2.1/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/954b11a970f9634a50ddc9e912b3ca2c/transformed/jetified-lifecycle-process-2.7.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 /home/amir/.gradle/caches/transforms-4/954b11a970f9634a50ddc9e912b3ca2c/transformed/jetified-lifecycle-process-2.7.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/e2c34baf27ee269af79771d24d2b4116/transformed/lifecycle-viewmodel-2.7.0/proguard.txt
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||
<init>();
|
||||
}
|
||||
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
|
||||
<init>(android.app.Application);
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/e2c34baf27ee269af79771d24d2b4116/transformed/lifecycle-viewmodel-2.7.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/d6ff8da22d705940545553499b2c2283/transformed/lifecycle-runtime-2.7.0/proguard.txt
|
||||
-keepattributes AnnotationDefault,
|
||||
RuntimeVisibleAnnotations,
|
||||
RuntimeVisibleParameterAnnotations,
|
||||
RuntimeVisibleTypeAnnotations
|
||||
|
||||
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
|
||||
<fields>;
|
||||
}
|
||||
|
||||
-keep class * implements androidx.lifecycle.GeneratedAdapter {
|
||||
<init>(...);
|
||||
}
|
||||
|
||||
-keepclassmembers class ** {
|
||||
@androidx.lifecycle.OnLifecycleEvent *;
|
||||
}
|
||||
|
||||
# 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 /home/amir/.gradle/caches/transforms-4/d6ff8da22d705940545553499b2c2283/transformed/lifecycle-runtime-2.7.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/f2192827f2870d141c63da62ebe484d2/transformed/jetified-lifecycle-viewmodel-savedstate-2.7.0/proguard.txt
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||
<init>(androidx.lifecycle.SavedStateHandle);
|
||||
}
|
||||
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
|
||||
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/f2192827f2870d141c63da62ebe484d2/transformed/jetified-lifecycle-viewmodel-savedstate-2.7.0/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/82fecd3bd0b0d089329b438ac733f2ab/transformed/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 <fields>;
|
||||
}
|
||||
|
||||
# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
|
||||
-keepclassmembers class kotlin.coroutines.SafeContinuation {
|
||||
volatile <fields>;
|
||||
}
|
||||
|
||||
# These classes are only required by kotlinx.coroutines.debug.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
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/82fecd3bd0b0d089329b438ac733f2ab/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/29172da5f91cbd17c54c442909cd8d79/transformed/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 /home/amir/.gradle/caches/transforms-4/29172da5f91cbd17c54c442909cd8d79/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/9bfcfb9da69e2bff80f1ead2bce2c25a/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 /home/amir/.gradle/caches/transforms-4/9bfcfb9da69e2bff80f1ead2bce2c25a/transformed/versionedparcelable-1.1.1/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/8298fe4ce40aa47bd2bbeab67c5f74cd/transformed/jetified-startup-runtime-1.1.1/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.
|
||||
<init>();
|
||||
}
|
||||
|
||||
-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/8298fe4ce40aa47bd2bbeab67c5f74cd/transformed/jetified-startup-runtime-1.1.1/proguard.txt
|
||||
# The proguard configuration file for the following section is /home/amir/.gradle/caches/transforms-4/efb027fb7cf7d867f81ce2b11c386cd0/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
|
||||
-keep,allowobfuscation @interface androidx.annotation.Keep
|
||||
-keep @androidx.annotation.Keep class * {*;}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <methods>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <fields>;
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@androidx.annotation.Keep <init>(...);
|
||||
}
|
||||
|
||||
-keepclassmembers,allowobfuscation class * {
|
||||
@androidx.annotation.DoNotInline <methods>;
|
||||
}
|
||||
|
||||
# End of content from /home/amir/.gradle/caches/transforms-4/efb027fb7cf7d867f81ce2b11c386cd0/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
|
||||
# The proguard configuration file for the following section is <unknown>
|
||||
|
||||
# End of content from <unknown>
|
||||
Reference in New Issue
Block a user