From 3a7c1b90686f9e26e26989b344c8e5d58be81a64 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 6 Jun 2025 12:07:45 +0530 Subject: [PATCH] refactor(core): reorganize to feature packages --- .../msfjarvis/claw/android/paging/LobstersPagingSource.kt | 2 +- .../dev/msfjarvis/claw/android/paging/SearchPagingSource.kt | 2 +- .../dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt | 4 ++-- .../claw/android/viewmodel/DataTransferRepository.kt | 2 +- .../claw/android/viewmodel/LinkMetadataRepository.kt | 2 +- .../msfjarvis/claw/android/viewmodel/ReadPostsRepository.kt | 4 ++-- .../msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt | 4 ++-- .../dev/msfjarvis/claw/common/comments/CommentsRepository.kt | 4 ++-- .../dev/msfjarvis/claw/common/comments/CommentsViewModel.kt | 2 +- .../dev/msfjarvis/claw/common/user/UserProfileViewModel.kt | 2 +- .../{injection => coroutines}/CoroutineDispatcherModule.kt | 4 +--- .../msfjarvis/claw/core/{injection => network}/JsonModule.kt | 4 ++-- .../claw/core/{injection => network}/OkHttpModule.kt | 5 +---- 13 files changed, 18 insertions(+), 23 deletions(-) rename core/src/main/kotlin/dev/msfjarvis/claw/core/{injection => coroutines}/CoroutineDispatcherModule.kt (92%) rename core/src/main/kotlin/dev/msfjarvis/claw/core/{injection => network}/JsonModule.kt (91%) rename core/src/main/kotlin/dev/msfjarvis/claw/core/{injection => network}/OkHttpModule.kt (92%) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/LobstersPagingSource.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/LobstersPagingSource.kt index 673b8569..72753a24 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/LobstersPagingSource.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/LobstersPagingSource.kt @@ -14,7 +14,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import dev.msfjarvis.claw.api.toError -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.model.LobstersPost import dev.msfjarvis.claw.model.UIPost import dev.msfjarvis.claw.model.toUIPost diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/SearchPagingSource.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/SearchPagingSource.kt index 00feeefa..f769668d 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/SearchPagingSource.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/paging/SearchPagingSource.kt @@ -16,7 +16,7 @@ import dev.msfjarvis.claw.android.paging.LobstersPagingSource.Companion.PAGE_SIZ import dev.msfjarvis.claw.android.paging.LobstersPagingSource.Companion.STARTING_PAGE_INDEX import dev.msfjarvis.claw.api.LobstersSearchApi import dev.msfjarvis.claw.api.toError -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.model.LobstersPost import dev.msfjarvis.claw.model.UIPost import dev.msfjarvis.claw.model.toUIPost diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt index e38d83f8..073c59a4 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt @@ -28,8 +28,8 @@ import dev.msfjarvis.claw.android.paging.LobstersPagingSource.Companion.PAGE_SIZ import dev.msfjarvis.claw.android.paging.LobstersPagingSource.Companion.STARTING_PAGE_INDEX import dev.msfjarvis.claw.android.paging.SearchPagingSource import dev.msfjarvis.claw.api.LobstersApi -import dev.msfjarvis.claw.core.injection.IODispatcher -import dev.msfjarvis.claw.core.injection.MainDispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher +import dev.msfjarvis.claw.core.coroutines.MainDispatcher import dev.msfjarvis.claw.model.UIPost import dev.msfjarvis.claw.model.fromSavedPost import java.io.InputStream diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/DataTransferRepository.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/DataTransferRepository.kt index 9915e2fd..b1f5a83b 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/DataTransferRepository.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/DataTransferRepository.kt @@ -6,7 +6,7 @@ */ package dev.msfjarvis.claw.android.viewmodel -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.database.SavedPostSerializer import dev.msfjarvis.claw.database.local.SavedPost import java.io.InputStream diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/LinkMetadataRepository.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/LinkMetadataRepository.kt index febc4eb8..b09c01c6 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/LinkMetadataRepository.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/LinkMetadataRepository.kt @@ -6,7 +6,7 @@ */ package dev.msfjarvis.claw.android.viewmodel -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.model.LinkMetadata import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ReadPostsRepository.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ReadPostsRepository.kt index d824a0fd..0cf11b38 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ReadPostsRepository.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ReadPostsRepository.kt @@ -8,8 +8,8 @@ package dev.msfjarvis.claw.android.viewmodel import app.cash.sqldelight.coroutines.asFlow import app.cash.sqldelight.coroutines.mapToList -import dev.msfjarvis.claw.core.injection.DatabaseReadDispatcher -import dev.msfjarvis.claw.core.injection.DatabaseWriteDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseReadDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseWriteDispatcher import dev.msfjarvis.claw.database.local.ReadPostsQueries import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt index 63f6a9f0..3ed7778b 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt @@ -8,8 +8,8 @@ package dev.msfjarvis.claw.android.viewmodel import app.cash.sqldelight.coroutines.asFlow import app.cash.sqldelight.coroutines.mapToList -import dev.msfjarvis.claw.core.injection.DatabaseReadDispatcher -import dev.msfjarvis.claw.core.injection.DatabaseWriteDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseReadDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseWriteDispatcher import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.database.local.SavedPostQueries import dev.msfjarvis.claw.model.UIPost diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsRepository.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsRepository.kt index e801d7d4..7ac076d0 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsRepository.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsRepository.kt @@ -6,8 +6,8 @@ */ package dev.msfjarvis.claw.common.comments -import dev.msfjarvis.claw.core.injection.DatabaseReadDispatcher -import dev.msfjarvis.claw.core.injection.DatabaseWriteDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseReadDispatcher +import dev.msfjarvis.claw.core.coroutines.DatabaseWriteDispatcher import dev.msfjarvis.claw.database.local.PostComments import dev.msfjarvis.claw.database.local.PostCommentsQueries import dev.msfjarvis.claw.model.Comment diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsViewModel.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsViewModel.kt index 76961591..0a95a970 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsViewModel.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/comments/CommentsViewModel.kt @@ -23,7 +23,7 @@ import com.squareup.anvil.annotations.optional.ForScope import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.api.toError import dev.msfjarvis.claw.common.NetworkState -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.model.Comment import dev.msfjarvis.claw.model.UIPost import dev.msfjarvis.claw.model.toUIPost diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfileViewModel.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfileViewModel.kt index 5fb520d4..74447181 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfileViewModel.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/user/UserProfileViewModel.kt @@ -25,7 +25,7 @@ import dev.msfjarvis.claw.common.NetworkState import dev.msfjarvis.claw.common.NetworkState.Error import dev.msfjarvis.claw.common.NetworkState.Loading import dev.msfjarvis.claw.common.NetworkState.Success -import dev.msfjarvis.claw.core.injection.IODispatcher +import dev.msfjarvis.claw.core.coroutines.IODispatcher import dev.msfjarvis.claw.model.User import java.io.IOException import javax.inject.Inject diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/CoroutineDispatcherModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/coroutines/CoroutineDispatcherModule.kt similarity index 92% rename from core/src/main/kotlin/dev/msfjarvis/claw/core/injection/CoroutineDispatcherModule.kt rename to core/src/main/kotlin/dev/msfjarvis/claw/core/coroutines/CoroutineDispatcherModule.kt index 8bf91dd2..9274fa38 100644 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/CoroutineDispatcherModule.kt +++ b/core/src/main/kotlin/dev/msfjarvis/claw/core/coroutines/CoroutineDispatcherModule.kt @@ -4,15 +4,13 @@ * license that can be found in the LICENSE file or at * https://opensource.org/licenses/MIT. */ -package dev.msfjarvis.claw.core.injection +package dev.msfjarvis.claw.core.coroutines import com.deliveryhero.whetstone.app.ApplicationScope import com.squareup.anvil.annotations.ContributesTo import dagger.Binds import dagger.Module import dagger.Provides -import dev.msfjarvis.claw.core.coroutines.DefaultDispatcherProvider -import dev.msfjarvis.claw.core.coroutines.DispatcherProvider import javax.inject.Qualifier import kotlinx.coroutines.CoroutineDispatcher diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/JsonModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/network/JsonModule.kt similarity index 91% rename from core/src/main/kotlin/dev/msfjarvis/claw/core/injection/JsonModule.kt rename to core/src/main/kotlin/dev/msfjarvis/claw/core/network/JsonModule.kt index b85947a6..d31d72f1 100644 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/JsonModule.kt +++ b/core/src/main/kotlin/dev/msfjarvis/claw/core/network/JsonModule.kt @@ -4,7 +4,7 @@ * license that can be found in the LICENSE file or at * https://opensource.org/licenses/MIT. */ -package dev.msfjarvis.claw.core.injection +package dev.msfjarvis.claw.core.network import com.deliveryhero.whetstone.app.ApplicationScope import com.squareup.anvil.annotations.ContributesTo @@ -36,7 +36,7 @@ object JsonModule { fun provideJsonSerializer(): Json { return Json { ignoreUnknownKeys = true - namingStrategy = JsonNamingStrategy.SnakeCase + namingStrategy = JsonNamingStrategy.Builtins.SnakeCase } } } diff --git a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt b/core/src/main/kotlin/dev/msfjarvis/claw/core/network/OkHttpModule.kt similarity index 92% rename from core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt rename to core/src/main/kotlin/dev/msfjarvis/claw/core/network/OkHttpModule.kt index e001fc99..de75053a 100644 --- a/core/src/main/kotlin/dev/msfjarvis/claw/core/injection/OkHttpModule.kt +++ b/core/src/main/kotlin/dev/msfjarvis/claw/core/network/OkHttpModule.kt @@ -4,7 +4,7 @@ * license that can be found in the LICENSE file or at * https://opensource.org/licenses/MIT. */ -package dev.msfjarvis.claw.core.injection +package dev.msfjarvis.claw.core.network import android.content.Context import android.net.TrafficStats @@ -15,9 +15,6 @@ import dagger.Binds import dagger.Module import dagger.Provides import dagger.multibindings.IntoSet -import dev.msfjarvis.claw.core.network.DelegatingSocketFactory -import dev.msfjarvis.claw.core.network.NapierLogger -import dev.msfjarvis.claw.core.network.UserAgentInterceptor import java.net.Socket import javax.net.SocketFactory import okhttp3.Cache