Skip to content

Commit b4dccaa

Browse files
authored
Merge pull request #89 from LanPet-dev/develop
Develop
2 parents b74abf5 + 54b3fb4 commit b4dccaa

41 files changed

Lines changed: 776 additions & 125 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
kotlin version: 2.0.21
2+
error message: java.lang.IllegalStateException: Storage for [/Users/imsejun/AndroidStudioProjects/LanPetApp/feature/free/build/kspCaches/devDebug/symbolLookups/id-to-file.tab] is already registered
3+
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410)
4+
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72)
5+
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55)
6+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128)
7+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52)
8+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165)
9+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140)
10+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88)
11+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71)
12+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45)
13+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71)
14+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62)
15+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59)
16+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80)
17+
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.set(PersistentStorage.kt:96)
18+
at org.jetbrains.kotlin.incremental.LookupStorage.addFileIfNeeded(LookupStorage.kt:165)
19+
at org.jetbrains.kotlin.incremental.LookupStorage.addAll$lambda$4(LookupStorage.kt:117)
20+
at org.jetbrains.kotlin.utils.CollectionsKt.keysToMap(collections.kt:117)
21+
at org.jetbrains.kotlin.incremental.LookupStorage.addAll(LookupStorage.kt:117)
22+
at org.jetbrains.kotlin.incremental.BuildUtilKt.update(buildUtil.kt:134)
23+
at com.google.devtools.ksp.LookupStorageWrapperImpl.update(IncrementalContext.kt:231)
24+
at com.google.devtools.ksp.common.IncrementalContextBase.updateLookupCache(IncrementalContextBase.kt:133)
25+
at com.google.devtools.ksp.common.IncrementalContextBase.updateCaches(IncrementalContextBase.kt:365)
26+
at com.google.devtools.ksp.common.IncrementalContextBase.updateCachesAndOutputs(IncrementalContextBase.kt:471)
27+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:362)
28+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
29+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
30+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
31+
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
32+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
33+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:282)
34+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:282)
35+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runFrontendAndGenerateIrUsingClassicFrontend(KotlinToJVMBytecodeCompiler.kt:195)
36+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:106)
37+
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:170)
38+
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:43)
39+
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:103)
40+
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:49)
41+
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
42+
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1555)
43+
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
44+
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
45+
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
46+
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
47+
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
48+
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
49+
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source)
50+
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
51+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
52+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source)
53+
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
54+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
55+
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
56+
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
57+
at java.base/java.lang.Thread.run(Unknown Source)
58+
Suppressed: java.lang.Exception: Storage[/Users/imsejun/AndroidStudioProjects/LanPetApp/feature/free/build/kspCaches/devDebug/symbolLookups/id-to-file.tab] registration stack trace
59+
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437)
60+
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72)
61+
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55)
62+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128)
63+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52)
64+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165)
65+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140)
66+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88)
67+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71)
68+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45)
69+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71)
70+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62)
71+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageIfExists(LazyStorage.kt:53)
72+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.get(LazyStorage.kt:76)
73+
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.get(PersistentStorage.kt:92)
74+
at org.jetbrains.kotlin.incremental.LookupStorage.get(LookupStorage.kt:99)
75+
at com.google.devtools.ksp.LookupStorageWrapperImpl.get(IncrementalContext.kt:224)
76+
at com.google.devtools.ksp.common.IncrementalContextBase.calcDirtyFiles(IncrementalContextBase.kt:234)
77+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$2.invoke(KotlinSymbolProcessingExtension.kt:196)
78+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$2.invoke(KotlinSymbolProcessingExtension.kt:189)
79+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414)
80+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:189)
81+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
82+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
83+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
84+
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
85+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
86+
... 23 more
87+
88+
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
kotlin version: 2.0.21
2+
error message: java.lang.IllegalStateException: Storage for [/Users/imsejun/AndroidStudioProjects/LanPetApp/feature/free/build/kspCaches/devDebug/symbolLookups/id-to-file.tab] is already registered
3+
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410)
4+
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72)
5+
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55)
6+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128)
7+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52)
8+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165)
9+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140)
10+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88)
11+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71)
12+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45)
13+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71)
14+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62)
15+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageOrCreateNew(LazyStorage.kt:59)
16+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80)
17+
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.set(PersistentStorage.kt:96)
18+
at org.jetbrains.kotlin.incremental.LookupStorage.addFileIfNeeded(LookupStorage.kt:165)
19+
at org.jetbrains.kotlin.incremental.LookupStorage.addAll$lambda$4(LookupStorage.kt:117)
20+
at org.jetbrains.kotlin.utils.CollectionsKt.keysToMap(collections.kt:117)
21+
at org.jetbrains.kotlin.incremental.LookupStorage.addAll(LookupStorage.kt:117)
22+
at org.jetbrains.kotlin.incremental.BuildUtilKt.update(buildUtil.kt:134)
23+
at com.google.devtools.ksp.LookupStorageWrapperImpl.update(IncrementalContext.kt:231)
24+
at com.google.devtools.ksp.common.IncrementalContextBase.updateLookupCache(IncrementalContextBase.kt:133)
25+
at com.google.devtools.ksp.common.IncrementalContextBase.updateCaches(IncrementalContextBase.kt:365)
26+
at com.google.devtools.ksp.common.IncrementalContextBase.updateCachesAndOutputs(IncrementalContextBase.kt:471)
27+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:362)
28+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
29+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
30+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
31+
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
32+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
33+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:282)
34+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:282)
35+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runFrontendAndGenerateIrUsingClassicFrontend(KotlinToJVMBytecodeCompiler.kt:195)
36+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:106)
37+
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:170)
38+
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:43)
39+
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:103)
40+
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:49)
41+
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
42+
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1555)
43+
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
44+
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
45+
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
46+
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
47+
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
48+
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
49+
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source)
50+
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
51+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
52+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source)
53+
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
54+
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
55+
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
56+
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
57+
at java.base/java.lang.Thread.run(Unknown Source)
58+
Suppressed: java.lang.Exception: Storage[/Users/imsejun/AndroidStudioProjects/LanPetApp/feature/free/build/kspCaches/devDebug/symbolLookups/id-to-file.tab] registration stack trace
59+
at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:437)
60+
at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.<init>(PagedFileStorage.java:72)
61+
at org.jetbrains.kotlin.com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:55)
62+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:128)
63+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:52)
64+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:165)
65+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:140)
66+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:88)
67+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:71)
68+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:45)
69+
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:71)
70+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.createMap(LazyStorage.kt:62)
71+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.getStorageIfExists(LazyStorage.kt:53)
72+
at org.jetbrains.kotlin.incremental.storage.LazyStorage.get(LazyStorage.kt:76)
73+
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.get(PersistentStorage.kt:92)
74+
at org.jetbrains.kotlin.incremental.LookupStorage.get(LookupStorage.kt:99)
75+
at com.google.devtools.ksp.LookupStorageWrapperImpl.get(IncrementalContext.kt:224)
76+
at com.google.devtools.ksp.common.IncrementalContextBase.calcDirtyFiles(IncrementalContextBase.kt:234)
77+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$2.invoke(KotlinSymbolProcessingExtension.kt:196)
78+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$2.invoke(KotlinSymbolProcessingExtension.kt:189)
79+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414)
80+
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:189)
81+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112)
82+
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:75)
83+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
84+
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
85+
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
86+
... 23 more
87+
88+

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ dependencies {
5757
implementation(projects.domain.model)
5858

5959
implementation(libs.hilt.android)
60+
implementation(project(":domain:repository"))
6061
ksp(libs.hilt.android.compiler)
6162

6263
implementation(libs.androidx.core.ktx)

app/src/main/java/com/lanpet/app/MainActivity.kt

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@ import com.lanpet.core.designsystem.theme.LanPetAppTheme
1111
import com.lanpet.core.manager.CoilManager
1212
import com.lanpet.core.manager.LocalCoilManager
1313
import com.lanpet.core.navigation.AppNavigation
14+
import com.lanpet.domain.model.SocialAuthToken
15+
import com.lanpet.domain.repository.AuthRepository
16+
import com.lanpet.domain.repository.LandingRepository
17+
import com.lanpet.feature.auth.navigation.Login
18+
import com.lanpet.feature.landing.navigation.Landing
1419
import dagger.hilt.android.AndroidEntryPoint
20+
import kotlinx.coroutines.runBlocking
21+
import timber.log.Timber
1522
import javax.inject.Inject
1623

1724
@AndroidEntryPoint
@@ -22,15 +29,52 @@ class MainActivity : ComponentActivity() {
2229
@Inject
2330
lateinit var coilManager: CoilManager
2431

32+
@Inject
33+
lateinit var landingRepository: LandingRepository
34+
35+
@Inject
36+
lateinit var authRepository: AuthRepository
37+
2538
override fun onCreate(savedInstanceState: Bundle?) {
2639
super.onCreate(savedInstanceState)
2740

2841
enableEdgeToEdge()
2942
setContent {
43+
// Start destination
44+
val startDestination =
45+
runBlocking {
46+
return@runBlocking if (landingRepository.getShouldShowLanding()) {
47+
Landing
48+
} else {
49+
Login
50+
}
51+
}
52+
53+
// Auto login
54+
runBlocking {
55+
val token = authRepository.getAuthTokenFromDataStore()
56+
57+
Timber.i("token: $token")
58+
59+
if (token != null) {
60+
authManager.handleAuthentication(
61+
SocialAuthToken(
62+
socialAuthType = token.socialAuthType,
63+
accessToken = token.accessToken,
64+
refreshToken = token.refreshToken,
65+
expiresIn = token.expiresIn,
66+
expireDateTime = token.expireDateTime,
67+
),
68+
)
69+
}
70+
}
71+
3072
CompositionLocalProvider(LocalAuthManager provides authManager) {
3173
CompositionLocalProvider(LocalCoilManager provides coilManager) {
3274
LanPetAppTheme {
33-
AppNavigation()
75+
AppNavigation(
76+
startDestination = startDestination,
77+
)
3478
}
3579
}
3680
}

0 commit comments

Comments
 (0)