mirror of
https://github.com/openMF/mobile-wallet.git
synced 2026-02-06 11:36:57 +00:00
* Feat: KMP Library Setup (#1766) * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commitbb63058e49. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> * Feat: [:core:model] - Migrated to KMM (#1770) * Feat: [:core:common] KMP Migration (#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (#1769) * Feat: [:core:network] - Migrated to KMP (#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (#1783) * Feat: Migrated Home Module to KMP (#1784) * Feat: Migrated Edit Password Module to KMP (#1787) * Feat: Migrated FAQ module to kmp (#1786) * Feat: Migrated Settings Module to KMP (#1785) * Feat: Migrated Profile Module to KMP (#1788) * Feat: Migrated History Module to KMP (#1790) * Feat: Migrated Payments Module to KMP (#1791) * Feat: Migrated Finance Module to KMP (#1792) * Feat: Migrated Accounts Module to KMP (#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (#1794) * Feat: Migrated KYC Module to KMP (#1798) * Migrated Notification Module to KMP (#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (#1800) * Feat: Migrated Receipt Module to KMP (#1801) * fix: Ios Build (#1802) * Feat: Migrated SI Module to KMP (#1803) * Feat: Migrated Request Money Module to KMP (#1807) * Feat: Migrated Send Money Module to KMP (#1808) * Feat: Migrated Make Transfer Module to KMP (#1809) * Feat: Migrated QR Module to KMP (#1810) * Feat: Migrated UPI Setup Module to KMP (#1811) * Feat: Final Clean-up For KMP (#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commitbb63058e49. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Profile UI redesign (#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * refactor: Redesign payment screen (#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commitbb63058e49. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Merge kmm-impl to dev * feat: Final Dev Cleanup - Fixed CI Workflow - Enabled Weekly & Monthly Release - Fixed Release Build Issue --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com> Co-authored-by: kapmaurya <152150716+kapmaurya@users.noreply.github.com>
170 lines
6.1 KiB
Prolog
170 lines
6.1 KiB
Prolog
-ignorewarnings
|
|
-dontwarn kotlinx.coroutines.debug.*
|
|
|
|
-keep class kotlin.** { *; }
|
|
-keep class kotlinx.coroutines.** { *; }
|
|
-keep class org.jetbrains.skia.** { *; }
|
|
-keep class org.jetbrains.skiko.** { *; }
|
|
-keep class com.arkivanov.essenty.** { *; }
|
|
-keep class org.sqlite.** { *; }
|
|
|
|
# Webcam
|
|
-keep class com.github.sarxos.webcam.** { *; }
|
|
-keep class org.bridj.** { *; }
|
|
|
|
# Windows folders
|
|
-keep class com.sun.jna.* { *; }
|
|
-keepclassmembers class * extends com.sun.jna.* { public *; }
|
|
|
|
# Keep Ktor classes
|
|
-keep class io.ktor.** { *; }
|
|
-dontnote io.ktor.**
|
|
|
|
# Keep all DTO classes in the package
|
|
-keep class com.rwmobi.kunigami.data.source.network.dto.** { *; }
|
|
-dontnote com.rwmobi.kunigami.data.source.network.dto.**
|
|
-keep class com.rwmobi.kunigami.domain.model.** { *; }
|
|
-dontnote com.rwmobi.kunigami.domain.model.**
|
|
|
|
# Apollo workarounds
|
|
-dontnote okio.**
|
|
-keep class com.apollographql.apollo.** { *; }
|
|
-dontnote com.apollographql.**
|
|
-keep class okhttp3.** { *; }
|
|
-keep class org.bouncycastle.** { *; }
|
|
-dontnote okhttp3.internal.platform.**
|
|
-dontwarn okhttp3.internal.platform.**
|
|
|
|
# JSR 305 annotations are for embedding nullability information.
|
|
-dontwarn javax.annotation.**
|
|
|
|
# A resource is loaded with a relative path so the package of this class must be preserved.
|
|
-keeppackagenames okhttp3.internal.publicsuffix.*
|
|
-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
|
|
|
|
# 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.
|
|
-dontwarn okhttp3.internal.platform.**
|
|
-dontwarn org.conscrypt.**
|
|
-dontwarn org.bouncycastle.**
|
|
-dontwarn org.openjsse.**
|
|
|
|
# Keep the class and fields of kotlinx.datetime.Instant
|
|
-keep class kotlinx.datetime.Instant { *; }
|
|
-dontnote kotlinx.datetime.Instant
|
|
|
|
# Kotlinx Serialization
|
|
-keep class kotlinx.serialization.** { *; }
|
|
-dontwarn kotlinx.serialization.**
|
|
-keepnames class kotlinx.serialization.internal.** { *; }
|
|
|
|
# Do not warn about missing annotations and metadata
|
|
-dontwarn kotlin.Metadata
|
|
-dontwarn kotlin.jvm.internal.**
|
|
-dontwarn kotlin.reflect.jvm.internal.**
|
|
|
|
# Keep necessary Kotlin attributes
|
|
-keepattributes Signature, *Annotation*
|
|
|
|
# JNA classes
|
|
-keep class com.sun.jna.** { *; }
|
|
-keepclassmembers class * extends com.sun.jna.** { public *; }
|
|
-keep class * implements com.sun.jna.** { *; }
|
|
-dontnote com.sun.**
|
|
|
|
# Logging classes, if logging is required
|
|
-keep class org.slf4j.** { *; }
|
|
-keep class org.slf4j.impl.** { *; }
|
|
-keep class ch.qos.logback.** { *; }
|
|
-dontwarn org.slf4j.**
|
|
|
|
# OSHI classes
|
|
-keep class oshi.** { *; }
|
|
-dontnote oshi.**
|
|
|
|
# Keep the entire MacOSThemeDetector class and its nested classes
|
|
-keep class com.jthemedetecor.** { *; }
|
|
-keep class com.jthemedetecor.MacOSThemeDetector$* { *; }
|
|
|
|
# Annotated interfaces (including methods which are also kept in implementing classes)
|
|
-keepattributes Annotation
|
|
-keepattributes *Annotation*
|
|
|
|
# ServiceLoader support for kotlinx.coroutines
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
|
|
# Keeping the implementations of exception handlers and Main dispatchers
|
|
-keep class * implements kotlinx.coroutines.internal.MainDispatcherFactory
|
|
-keep class * implements kotlinx.coroutines.CoroutineExceptionHandler
|
|
|
|
# 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
|
|
|
|
# Additional dontwarn rules for common issues
|
|
-dontwarn java.awt.**
|
|
-dontwarn javax.annotation.**
|
|
|
|
-keeppackagenames com.google.protobuf.**
|
|
|
|
-keep class com.sun.jna.** { *; }
|
|
-keep class * implements com.sun.jna.** { *; }
|
|
|
|
|
|
# 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;
|
|
} |