Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/ChatHistory_schema_v2.xml

Large diffs are not rendered by default.

14 changes: 0 additions & 14 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 6 additions & 7 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
kotlin("kapt")
kotlin("plugin.serialization") version "2.0.21"
id("com.google.devtools.ksp")
alias(libs.plugins.kotlinx.serialization)
alias(libs.plugins.ksp)
alias(libs.plugins.hilt.android)
}

android {
Expand Down Expand Up @@ -131,7 +131,6 @@ dependencies {
implementation(project(":core:database"))
implementation(project(":core:common"))
implementation(project(":core:domain"))
implementation(project(":core:feature_api"))

implementation(project(":feature:notes:data"))
implementation(project(":feature:notes:domain"))
Expand Down Expand Up @@ -160,9 +159,9 @@ dependencies {
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)

// dagger2
implementation(libs.dagger)
kapt(libs.dagger.compiler)
// dagger-hilt
implementation(libs.hilt)
ksp(libs.hilt.compiler)

// navigation compose
implementation(libs.androidx.navigation.compose)
Expand Down
10 changes: 2 additions & 8 deletions app/src/main/java/com/vicky7230/tasker2/BaseApplication.kt
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
package com.vicky7230.tasker2

import android.app.Application
import com.vicky7230.tasker2.di.component.ApplicationComponent
import com.vicky7230.tasker2.di.component.DaggerApplicationComponent
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class BaseApplication : Application() {
lateinit var applicationComponent: ApplicationComponent

override fun onCreate() {
super.onCreate()
applicationComponent =
DaggerApplicationComponent
.factory()
.create(context = this, isDebug = BuildConfig.DEBUG)
}
}
38 changes: 22 additions & 16 deletions app/src/main/java/com/vicky7230/tasker2/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,21 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.luminance
import androidx.core.view.WindowCompat
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController
import com.core.common.navigation.SubGraph
import com.core.common.theme.TaskerTheme
import com.vicky7230.tasker2.navigation.AppNavGraph
import com.vicky7230.tasker2.navigation.NavigationProvider
import com.vicky7230.tasker2.navigation.DefaultNavigator
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@Inject
lateinit var navigationProvider: NavigationProvider

@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory
lateinit var defaultNavigator: DefaultNavigator

override fun onCreate(savedInstanceState: Bundle?) {
(application as BaseApplication).applicationComponent.inject(this)
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
Expand All @@ -51,7 +49,7 @@ class MainActivity : ComponentActivity() {
}

val navController = rememberNavController()
App(navHostController = navController, navigationProvider = navigationProvider, viewModelFactory = viewModelFactory)
App(navHostController = navController, defaultNavigator = defaultNavigator)
}
}
}
Expand All @@ -60,8 +58,7 @@ class MainActivity : ComponentActivity() {
@Composable
fun App(
navHostController: NavHostController,
navigationProvider: NavigationProvider,
viewModelFactory: ViewModelProvider.Factory,
defaultNavigator: DefaultNavigator,
modifier: Modifier = Modifier,
) {
Surface(
Expand All @@ -72,10 +69,19 @@ fun App(
.windowInsetsPadding(WindowInsets.navigationBars),
color = MaterialTheme.colorScheme.background,
) {
AppNavGraph(
navController = navHostController,
navigationProvider = navigationProvider,
viewModelFactory = viewModelFactory,
)
NavHost(navController = navHostController, startDestination = SubGraph.Notes) {
defaultNavigator.notesFeature.registerGraph(
navHostController = navHostController,
navGraphBuilder = this,
)
defaultNavigator.addEditNoteFeature.registerGraph(
navHostController = navHostController,
navGraphBuilder = this,
)
defaultNavigator.tagsFeature.registerGraph(
navHostController = navHostController,
navGraphBuilder = this,
)
}
}
}
34 changes: 0 additions & 34 deletions app/src/main/java/com/vicky7230/tasker2/di/ViewModelFactory.kt

This file was deleted.

13 changes: 0 additions & 13 deletions app/src/main/java/com/vicky7230/tasker2/di/ViewModelKey.kt

This file was deleted.

This file was deleted.

26 changes: 17 additions & 9 deletions app/src/main/java/com/vicky7230/tasker2/di/module/AppModule.kt
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
package com.vicky7230.tasker2.di.module

import com.feature.add_edit_note.ui.navigation.AddEditNoteApi
import com.feature.notes.ui.navigation.NotesApi
import com.feature.tags.ui.navigation.TagsApi
import com.vicky7230.tasker2.navigation.NavigationProvider
import com.feature.add_edit_note.ui.navigation.AddEditNoteFeature
import com.feature.notes.ui.navigation.NotesFeature
import com.feature.tags.ui.navigation.TagsFeature
import com.vicky7230.tasker2.navigation.DefaultNavigator
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent

@InstallIn(SingletonComponent::class)
@Module
class AppModule {
@Provides
fun provideNavigationProvider(
notesApi: NotesApi,
addEditNoteApi: AddEditNoteApi,
tagsApi: TagsApi,
): NavigationProvider = NavigationProvider(notesApi = notesApi, addEditNoteApi = addEditNoteApi, tagsApi = tagsApi)
fun provideDefaultNavigator(
notesFeature: NotesFeature,
addEditNoteFeature: AddEditNoteFeature,
tagsFeature: TagsFeature,
): DefaultNavigator =
DefaultNavigator(
notesFeature = notesFeature,
addEditNoteFeature = addEditNoteFeature,
tagsFeature = tagsFeature,
)
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.vicky7230.tasker2.navigation

import com.feature.add_edit_note.ui.navigation.AddEditNoteFeature
import com.feature.notes.ui.navigation.NotesFeature
import com.feature.tags.ui.navigation.TagsFeature

data class DefaultNavigator(
val notesFeature: NotesFeature,
val addEditNoteFeature: AddEditNoteFeature,
val tagsFeature: TagsFeature,
)

This file was deleted.

1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ plugins {
alias(libs.plugins.room) apply false
alias(libs.plugins.ktlint) apply false
alias(libs.plugins.detekt) apply false
alias(libs.plugins.hilt.android) apply false
jacoco
}

Expand Down
5 changes: 4 additions & 1 deletion core/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
kotlin("plugin.serialization") version "2.0.21"
alias(libs.plugins.kotlinx.serialization)
}

android {
Expand Down Expand Up @@ -67,4 +67,7 @@ dependencies {

// Immutable persistent collections for Kotlin
implementation(libs.kotlinx.collections.immutable)

// navigation compose
implementation(libs.androidx.navigation.compose)
}
Loading
Loading