add commit

This commit is contained in:
steven
2026-02-28 12:45:29 +09:00
parent 392640a686
commit d9a6b6d02b
400 changed files with 52300 additions and 0 deletions

132
app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,132 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
-renamesourcefileattribute SourceFile
# Repackage classes into the top-level.
-repackageclasses
# This is generated automatically by the Android Gradle plugin.
-dontwarn org.bouncycastle.jsse.BCSSLParameters
-dontwarn org.bouncycastle.jsse.BCSSLSocket
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
# JNI (for native C++ code) - More Robust Rules
-keepclasseswithmembers,allowshrinking class * {
native <methods>;
}
-keep class *JNI* { *; }
# Hilt / Dagger - Updated Rules
-keep class dagger.hilt.internal.aggregatedroot.codegen.* { <init>(); }
-keep class hilt_aggregated_deps.** { <init>(); }
-keep @dagger.hilt.InstallIn class *
-keep @dagger.hilt.codegen.OriginatingElement class *
-keep @dagger.hilt.android.HiltAndroidApp class *
-keep @dagger.hilt.android.WithFragmentBindings class *
-keep @dagger.assisted.Assisted class *
-keep @dagger.assisted.AssistedFactory class *
-keep @dagger.assisted.AssistedInject class *
-keepclassmembers class * { @dagger.assisted.AssistedInject <init>(...); }
# Keep Dagger-generated component implementations.
-keep class *_*_HiltComponents_* {}
# Keep application's modules.
-keep @dagger.Module class * { <methods>; }
# Keep bindings and their constructors.
-keep @javax.inject.Inject class * { <init>(...); <fields>; }
-keep @javax.inject.Singleton class *
-keepclassmembers class * { @javax.inject.Inject <init>(...); @javax.inject.Inject <fields>; }
# Keep Parcelable creators
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# Keep Serializable classes
-keep class * implements java.io.Serializable { *; }
# Gson (for data/model classes that are serialized/deserialized)
-keep class com.google.gson.Gson
-keep class com.google.gson.GsonBuilder
-keep class com.google.gson.reflect.TypeToken
-keepclassmembers class com.laseroptek.raman.data.model.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
# Coroutines & StateFlow
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory
-keepnames class kotlinx.coroutines.flow.**
-keepclassmembers class kotlinx.coroutines.flow.** { *; }
-keep class kotlinx.coroutines.flow.StateFlowImpl { *; }
# Room
-keep class androidx.room.RoomDatabase
-keepclassmembers class * extends androidx.room.RoomDatabase {
<init>(...);
java.lang.Object Companion;
}
# Lottie
-keep class com.airbnb.lottie.** { *; }
# Glance App Widget
-keepclasseswithmembers public class * extends androidx.glance.appwidget.GlanceAppWidgetReceiver
-keepclasseswithmembers public class * extends androidx.glance.appwidget.GlanceAppWidget
-keep public class * implements androidx.glance.state.GlanceStateDefinition { *; }
# AndroidX Security Crypto
-keep class androidx.security.crypto.** { *; }
# ConstraintLayout Compose
-keep public class androidx.constraintlayout.** { *; }
# Snapper (from Chris Banes)
-keep class dev.chrisbanes.snapper.** { *; }
# Jetpack Compose
-keep class androidx.compose.runtime.** { *; }
-keepclasseswithmembers public class * {
@androidx.compose.runtime.Composable <methods>;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt { *; }
# Keep the SerialPort class and its members from being obfuscated or removed,
# as they are accessed from native code (JNI).
-keep class com.laseroptek.raman.data.source.serial.SerialPort {
<fields>;
<methods>;
}