21 |
22 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/example/toysapp/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.example.toysapp", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/android-lib/base/src/androidTest/java/com/example/toysapp/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp
2 |
3 | import androidx.test.ext.junit.runners.AndroidJUnit4
4 | import androidx.test.platform.app.InstrumentationRegistry
5 | import org.junit.Assert.assertEquals
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | /**
10 | * Instrumented test, which will execute on an Android device.
11 | *
12 | * See [testing documentation](http://d.android.com/tools/testing).
13 | */
14 | @RunWith(AndroidJUnit4::class)
15 | class ExampleInstrumentedTest {
16 | @Test
17 | fun useAppContext() {
18 | // Context of the app under test.
19 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
20 | assertEquals("com.example.base.test", appContext.packageName)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/android-lib/base/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/android-lib/navigation/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/feature/feature-payment/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/feature/feature-toys/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/android-lib/logcat-logger/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/android-lib/navigation/src/androidTest/java/com/example/toysapp/navigation/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.navigation
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.example.toysapp.navigation.test", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/feature/feature-toys/src/androidTest/java/com/example/toysapp/feature_toys/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.feature_toys
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.example.toysapp.feature_toys.test", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/android-lib/logcat-logger/src/androidTest/java/com/example/toysapp/logcat_logger/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.logcat_logger
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.example.toysapp.logcat_logger.test", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/console-logger/api/console-logger.api:
--------------------------------------------------------------------------------
1 | public final class com/example/toysapp/console_logger/ConsoleLogger : com/example/toysapp/logger/Logger {
2 | public fun ()V
3 | public fun log (Ljava/lang/String;)V
4 | }
5 |
6 | public class com/example/toysapp/console_logger/NQueensSolver {
7 | public fun ()V
8 | public static fun main ([Ljava/lang/String;)V
9 | public fun solveNQueens (I)Ljava/util/List;
10 | }
11 |
12 | public final class com/example/toysapp/consolelogger/NQueensSolver {
13 | public static final field Companion Lcom/example/toysapp/consolelogger/NQueensSolver$Companion;
14 | public fun ()V
15 | public static final fun main ([Ljava/lang/String;)V
16 | public final fun solveNQueens (I)Ljava/util/List;
17 | }
18 |
19 | public final class com/example/toysapp/consolelogger/NQueensSolver$Companion {
20 | public final fun main ([Ljava/lang/String;)V
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/feature/feature-payment/src/androidTest/java/com/example/toysapp/feature_payment/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.feature_payment
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.example.toysapp.feature_payment.test", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/toysapp/ui/theme/Type.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.ui.theme
2 |
3 | import androidx.compose.material.Typography
4 | import androidx.compose.ui.text.TextStyle
5 | import androidx.compose.ui.text.font.FontFamily
6 | import androidx.compose.ui.text.font.FontWeight
7 | import androidx.compose.ui.unit.sp
8 |
9 | // Set of Material typography styles to start with
10 | val Typography = Typography(
11 | body1 = TextStyle(
12 | fontFamily = FontFamily.Default,
13 | fontWeight = FontWeight.Normal,
14 | fontSize = 16.sp
15 | )
16 | /* Other default text styles to override
17 | button = TextStyle(
18 | fontFamily = FontFamily.Default,
19 | fontWeight = FontWeight.W500,
20 | fontSize = 14.sp
21 | ),
22 | caption = TextStyle(
23 | fontFamily = FontFamily.Default,
24 | fontWeight = FontWeight.Normal,
25 | fontSize = 12.sp
26 | )
27 | */
28 | )
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/toysapp/di/AppModule.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.di
2 |
3 | import com.example.toysapp.console_logger.ConsoleLogger
4 | import com.example.toysapp.crypto.Base64Util
5 | import com.example.toysapp.crypto.HashHelper
6 | import com.example.toysapp.feature_payment.PaymentIntentProviderImpl
7 | import com.example.toysapp.feature_toys.ToysActivity
8 | import com.example.toysapp.logcat_logger.LogcatLogger
9 | import com.example.toysapp.logger.Logger
10 | import com.example.toysapp.navigation.PaymentIntentProvider
11 | import org.koin.core.qualifier.named
12 | import org.koin.dsl.module
13 |
14 | val appModule = module {
15 | scope {
16 | scoped {
17 | LogcatLogger()
18 | }
19 | scoped {
20 | PaymentIntentProviderImpl()
21 | }
22 | }
23 | single {
24 | ConsoleLogger()
25 | }
26 | single(named("logcat")) {
27 | LogcatLogger()
28 | }
29 | single {
30 | HashHelper()
31 | }
32 | single {
33 | Base64Util(get(named("logcat")))
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("com.example.toysapp.convention.android.application.compose")
3 | }
4 |
5 | android {
6 | namespace = "com.example.toysapp"
7 |
8 | defaultConfig {
9 | applicationId = "com.example.toysapp"
10 | versionCode = 1
11 | versionName = "1.0"
12 | }
13 | }
14 |
15 | moduleGraphAssert {
16 | maxHeight = 3
17 | allowed = arrayOf(
18 | ":.* -> :lib:.*",
19 | ":.* -> :android-lib:.*",
20 | ":feature:.* -> :lib:.*",
21 | ":feature:.* -> :android-lib:.*",
22 | ":app -> :feature:.*"
23 | )
24 | restricted = arrayOf(
25 | ":feature:.* -X> :feature:.*",
26 | ":android-lib:.* -X> :feature:.*",
27 | ":lib:.* -X> :feature:.*"
28 | )
29 | }
30 |
31 | dependencies {
32 | implementation(libs.koin.android)
33 | implementation(projects.feature.featurePayment)
34 | implementation(projects.feature.featureToys)
35 | implementation(projects.lib.consoleLogger)
36 | implementation(projects.lib.crypto)
37 | implementation(projects.lib.logger)
38 | implementation(projects.androidLib.logcatLogger)
39 | implementation(projects.androidLib.navigation)
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
16 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/toysapp/ui/theme/Theme.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp.ui.theme
2 |
3 | import androidx.compose.foundation.isSystemInDarkTheme
4 | import androidx.compose.material.MaterialTheme
5 | import androidx.compose.material.darkColors
6 | import androidx.compose.material.lightColors
7 | import androidx.compose.runtime.Composable
8 |
9 | private val DarkColorPalette = darkColors(
10 | primary = Purple200,
11 | primaryVariant = Purple700,
12 | secondary = Teal200
13 | )
14 |
15 | private val LightColorPalette = lightColors(
16 | primary = Purple500,
17 | primaryVariant = Purple700,
18 | secondary = Teal200
19 |
20 | /* Other default colors to override
21 | background = Color.White,
22 | surface = Color.White,
23 | onPrimary = Color.White,
24 | onSecondary = Color.Black,
25 | onBackground = Color.Black,
26 | onSurface = Color.Black,
27 | */
28 | )
29 |
30 | @Composable
31 | fun ToysAppTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit) {
32 | val colors = if (darkTheme) {
33 | DarkColorPalette
34 | } else {
35 | LightColorPalette
36 | }
37 |
38 | MaterialTheme(
39 | colors = colors,
40 | typography = Typography,
41 | shapes = Shapes,
42 | content = content
43 | )
44 | }
--------------------------------------------------------------------------------
/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | includeBuild("build-logic")
3 | repositories {
4 | gradlePluginPortal()
5 | google()
6 | mavenCentral()
7 | }
8 | }
9 |
10 | plugins {
11 | // From: https://docs.gradle.org/current/userguide/version_catalogs.html
12 | // You cannot use a plugin declared in a version catalog in your settings file or settings plugin.
13 | // alias(libs.plugins.build.health)
14 | id("com.autonomousapps.build-health") version "2.8.2"
15 |
16 | // From: https://github.com/autonomousapps/dependency-analysis-gradle-plugin/wiki/Adding-to-your-project
17 | id("org.jetbrains.kotlin.jvm") version "2.1.10" apply false
18 | id("com.android.application") version "8.8.1" apply false
19 | id("org.jetbrains.kotlin.android") version "2.1.10" apply false
20 | }
21 |
22 | dependencyResolutionManagement {
23 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
24 | repositories {
25 | google()
26 | mavenCentral()
27 | }
28 | }
29 |
30 | enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
31 |
32 | rootProject.name = "ToysApp"
33 | include(":app")
34 | include(":feature:feature-toys")
35 | include(":feature:feature-payment")
36 | include(":android-lib:logcat-logger")
37 | include(":android-lib:navigation")
38 | include(":android-lib:base")
39 | include(":lib:logger")
40 | include(":lib:console-logger")
41 | include(":lib:crypto")
42 |
--------------------------------------------------------------------------------
/feature/feature-toys/api/feature-toys.api:
--------------------------------------------------------------------------------
1 | public final class com/example/toysapp/feature_toys/BuildConfig {
2 | public static final field BUILD_TYPE Ljava/lang/String;
3 | public static final field DEBUG Z
4 | public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String;
5 | public fun ()V
6 | }
7 |
8 | public final class com/example/toysapp/feature_toys/ComposableSingletons$ToysActivityKt {
9 | public static final field INSTANCE Lcom/example/toysapp/feature_toys/ComposableSingletons$ToysActivityKt;
10 | public static field lambda-1 Lkotlin/jvm/functions/Function3;
11 | public fun ()V
12 | public final fun getLambda-1$feature_toys_release ()Lkotlin/jvm/functions/Function3;
13 | }
14 |
15 | public final class com/example/toysapp/feature_toys/ToysActivity : com/example/toysapp/base/KoinComposeActivity {
16 | public static final field $stable I
17 | public static final field Companion Lcom/example/toysapp/feature_toys/ToysActivity$Companion;
18 | public static final field KEY_NAME Ljava/lang/String;
19 | public fun ()V
20 | }
21 |
22 | public final class com/example/toysapp/feature_toys/ToysActivity$Companion {
23 | }
24 |
25 | public final class com/example/toysapp/feature_toys/ToysActivityKt {
26 | public static final fun Content (Ljava/lang/String;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;II)V
27 | public static final fun ContentPreview (Landroidx/compose/runtime/Composer;I)V
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
18 |
21 |
22 |
23 |
24 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/toysapp/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.toysapp
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.activity.ComponentActivity
6 | import androidx.activity.compose.setContent
7 | import androidx.compose.foundation.layout.*
8 | import androidx.compose.material.Button
9 | import androidx.compose.material.Text
10 | import androidx.compose.runtime.Composable
11 | import androidx.compose.ui.Alignment
12 | import androidx.compose.ui.Modifier
13 | import androidx.compose.ui.tooling.preview.Preview
14 | import androidx.compose.ui.unit.dp
15 | import com.example.toysapp.feature_payment.PaymentActivity
16 | import com.example.toysapp.feature_toys.ToysActivity
17 |
18 | class MainActivity : ComponentActivity() {
19 | override fun onCreate(savedInstanceState: Bundle?) {
20 | super.onCreate(savedInstanceState)
21 | setContent {
22 | Content(::launchToyActivity, ::launchPaymentActivity)
23 | }
24 | }
25 |
26 | private fun launchToyActivity() {
27 | val intent = Intent(this, ToysActivity::class.java)
28 | startActivity(intent)
29 | }
30 |
31 | private fun launchPaymentActivity() {
32 | val intent = Intent(this, PaymentActivity::class.java)
33 | startActivity(intent)
34 | }
35 | }
36 |
37 | @Composable
38 | fun Content(
39 | onToyButtonClick: () -> Unit = {},
40 | onPaymentButtonClick: () -> Unit = {}
41 | ) {
42 | Column(
43 | modifier = Modifier
44 | .fillMaxSize()
45 | .padding(8.dp),
46 | verticalArrangement = Arrangement.Center,
47 | horizontalAlignment = Alignment.CenterHorizontally,
48 | ) {
49 | Text("This is Main Activity")
50 | Spacer(modifier = Modifier.height(16.dp))
51 | Button(onClick = onToyButtonClick) {
52 | Text("Go to Toy Activity")
53 | }
54 | Spacer(modifier = Modifier.height(16.dp))
55 | Button(onClick = onPaymentButtonClick) {
56 | Text("Go to Payment Activity")
57 | }
58 | }
59 | }
60 |
61 | @Preview(showBackground = true)
62 | @Composable
63 | fun ContentPreview() {
64 | Content()
65 | }
66 |
--------------------------------------------------------------------------------
/feature/feature-payment/api/feature-payment.api:
--------------------------------------------------------------------------------
1 | public final class com/example/toysapp/feature_payment/BuildConfig {
2 | public static final field BUILD_TYPE Ljava/lang/String;
3 | public static final field DEBUG Z
4 | public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String;
5 | public fun ()V
6 | }
7 |
8 | public final class com/example/toysapp/feature_payment/ComposableSingletons$PaymentActivityKt {
9 | public static final field INSTANCE Lcom/example/toysapp/feature_payment/ComposableSingletons$PaymentActivityKt;
10 | public static field lambda-1 Lkotlin/jvm/functions/Function3;
11 | public static field lambda-2 Lkotlin/jvm/functions/Function3;
12 | public static field lambda-3 Lkotlin/jvm/functions/Function3;
13 | public fun ()V
14 | public final fun getLambda-1$feature_payment_release ()Lkotlin/jvm/functions/Function3;
15 | public final fun getLambda-2$feature_payment_release ()Lkotlin/jvm/functions/Function3;
16 | public final fun getLambda-3$feature_payment_release ()Lkotlin/jvm/functions/Function3;
17 | }
18 |
19 | public final class com/example/toysapp/feature_payment/PaymentActivity : androidx/activity/ComponentActivity {
20 | public static final field $stable I
21 | public static final field Companion Lcom/example/toysapp/feature_payment/PaymentActivity$Companion;
22 | public static final field KEY_PAYMENT_GATEWAY Ljava/lang/String;
23 | public fun ()V
24 | }
25 |
26 | public final class com/example/toysapp/feature_payment/PaymentActivity$Companion {
27 | }
28 |
29 | public final class com/example/toysapp/feature_payment/PaymentActivityKt {
30 | public static final fun Content (Ljava/lang/String;Lkotlin/jvm/functions/Function0;Lcom/example/toysapp/crypto/HashHelper;Lcom/example/toysapp/crypto/Base64Util;Landroidx/compose/runtime/Composer;II)V
31 | public static final fun ContentPreview (Landroidx/compose/runtime/Composer;I)V
32 | }
33 |
34 | public final class com/example/toysapp/feature_payment/PaymentIntentProviderImpl : com/example/toysapp/navigation/PaymentIntentProvider {
35 | public static final field $stable I
36 | public fun ()V
37 | public fun getPaymentIntent (Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |