diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 6d526fbd..107876af 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -1,3 +1,4 @@
+
import com.example.util.simpletimetracker.Base
import com.example.util.simpletimetracker.Deps
@@ -6,6 +7,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -66,6 +68,7 @@ dependencies {
implementation(Deps.Androidx.room)
implementation(Deps.Ktx.navigationFragment)
implementation(Deps.Ktx.navigationUi)
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
kaptAndroidTest(Deps.Kapt.dagger)
@@ -73,4 +76,5 @@ dependencies {
androidTestImplementation(Deps.UiTest.junit)
androidTestImplementation(Deps.UiTest.espresso)
androidTestImplementation(Deps.UiTest.espressoContrib)
+ androidTestImplementation(Deps.UiTest.dagger)
}
diff --git a/app/src/androidTest/java/com/example/util/simpletimetracker/di/TestAppComponent.kt b/app/src/androidTest/java/com/example/util/simpletimetracker/di/TestAppComponent.kt
deleted file mode 100644
index 3e81d9eb..00000000
--- a/app/src/androidTest/java/com/example/util/simpletimetracker/di/TestAppComponent.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.example.util.simpletimetracker.di
-
-import com.example.util.simpletimetracker.data_local.di.DataLocalModule
-import com.example.util.simpletimetracker.feature_notification.di.NotificationModule
-import com.example.util.simpletimetracker.feature_widget.di.WidgetModule
-import com.example.util.simpletimetracker.utils.BaseUiTest
-import dagger.Component
-import javax.inject.Singleton
-
-@Singleton
-@Component(
- modules = [
- AppModule::class,
- NavigationModule::class,
- DataLocalModule::class,
- WidgetModule::class,
- NotificationModule::class
- ]
-)
-interface TestAppComponent : AppComponent {
-
- fun inject(into: BaseUiTest)
-}
\ No newline at end of file
diff --git a/app/src/androidTest/java/com/example/util/simpletimetracker/utils/BaseUiTest.kt b/app/src/androidTest/java/com/example/util/simpletimetracker/utils/BaseUiTest.kt
index 77daa037..04ffac5a 100644
--- a/app/src/androidTest/java/com/example/util/simpletimetracker/utils/BaseUiTest.kt
+++ b/app/src/androidTest/java/com/example/util/simpletimetracker/utils/BaseUiTest.kt
@@ -1,17 +1,13 @@
package com.example.util.simpletimetracker.utils
-import androidx.test.core.app.ApplicationProvider
import androidx.test.espresso.IdlingRegistry
import androidx.test.ext.junit.rules.ActivityScenarioRule
-import com.example.util.simpletimetracker.TimeTrackerApp
import com.example.util.simpletimetracker.core.mapper.ColorMapper
import com.example.util.simpletimetracker.core.mapper.IconEmojiMapper
import com.example.util.simpletimetracker.core.mapper.IconImageMapper
import com.example.util.simpletimetracker.core.mapper.TimeMapper
import com.example.util.simpletimetracker.core.utils.CountingIdlingResourceProvider
import com.example.util.simpletimetracker.core.utils.TestUtils
-import com.example.util.simpletimetracker.di.AppModule
-import com.example.util.simpletimetracker.di.DaggerTestAppComponent
import com.example.util.simpletimetracker.domain.interactor.PrefsInteractor
import com.example.util.simpletimetracker.feature_records.view.RecordsContainerFragment
import com.example.util.simpletimetracker.feature_statistics.view.StatisticsContainerFragment
@@ -80,14 +76,6 @@ open class BaseUiTest {
unregisterIdlingResource()
}
- private fun inject() {
- val app = ApplicationProvider.getApplicationContext() as TimeTrackerApp
- DaggerTestAppComponent.builder()
- .appModule(AppModule(app))
- .build()
- .inject(this)
- }
-
private fun clearData() {
testUtils.clearDatabase()
testUtils.clearPrefs()
diff --git a/app/src/main/java/com/example/util/simpletimetracker/TimeTrackerApp.kt b/app/src/main/java/com/example/util/simpletimetracker/TimeTrackerApp.kt
index 415aa871..34c299a2 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/TimeTrackerApp.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/TimeTrackerApp.kt
@@ -4,73 +4,16 @@ import android.app.Application
import android.os.StrictMode
import androidx.emoji.bundled.BundledEmojiCompatConfig
import androidx.emoji.text.EmojiCompat
-import com.example.util.simpletimetracker.di.AppComponent
-import com.example.util.simpletimetracker.di.AppModule
-import com.example.util.simpletimetracker.di.DaggerAppComponent
-import com.example.util.simpletimetracker.di.FeatureComponentProvider
-import com.example.util.simpletimetracker.feature_archive.di.ArchiveComponent
-import com.example.util.simpletimetracker.feature_categories.di.CategoriesComponent
-import com.example.util.simpletimetracker.feature_change_category.di.ChangeCategoryComponent
-import com.example.util.simpletimetracker.feature_change_record.di.ChangeRecordComponent
-import com.example.util.simpletimetracker.feature_change_record_tag.di.ChangeRecordTagComponent
-import com.example.util.simpletimetracker.feature_change_record_type.di.ChangeRecordTypeComponent
-import com.example.util.simpletimetracker.feature_change_running_record.di.ChangeRunningRecordComponent
-import com.example.util.simpletimetracker.feature_dialogs.archive.di.ArchiveDialogComponent
-import com.example.util.simpletimetracker.feature_dialogs.cardOrder.di.CardOrderComponent
-import com.example.util.simpletimetracker.feature_dialogs.cardSize.di.CardSizeComponent
-import com.example.util.simpletimetracker.feature_dialogs.chartFilter.di.ChartFilterComponent
-import com.example.util.simpletimetracker.feature_dialogs.dateTime.di.DateTimeComponent
-import com.example.util.simpletimetracker.feature_dialogs.duration.di.DurationPickerComponent
-import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di.EmojiSelectionComponent
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di.RecordTagSelectionDialogComponent
-import com.example.util.simpletimetracker.feature_dialogs.typesFilter.di.TypesFilterComponent
-import com.example.util.simpletimetracker.feature_main.di.MainComponent
-import com.example.util.simpletimetracker.feature_notification.di.NotificationComponent
-import com.example.util.simpletimetracker.feature_records.di.RecordsComponent
-import com.example.util.simpletimetracker.feature_records_all.di.RecordsAllComponent
-import com.example.util.simpletimetracker.feature_running_records.di.RunningRecordsComponent
-import com.example.util.simpletimetracker.feature_settings.di.SettingsComponent
-import com.example.util.simpletimetracker.feature_statistics.di.StatisticsComponent
-import com.example.util.simpletimetracker.feature_statistics_detail.di.StatisticsDetailComponent
-import com.example.util.simpletimetracker.feature_tag_selection.di.RecordTagSelectionComponent
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponent
+import dagger.hilt.android.HiltAndroidApp
import timber.log.Timber
import timber.log.Timber.DebugTree
-class TimeTrackerApp : Application(), FeatureComponentProvider {
-
- override var appComponent: AppComponent? = null
- override var mainComponent: MainComponent? = null
- override var runningRecordsComponent: RunningRecordsComponent? = null
- override var changeRecordTypeComponent: ChangeRecordTypeComponent? = null
- override var recordsComponent: RecordsComponent? = null
- override var recordsAllComponent: RecordsAllComponent? = null
- override var changeRecordComponent: ChangeRecordComponent? = null
- override var changeRunningRecordComponent: ChangeRunningRecordComponent? = null
- override var statisticsComponent: StatisticsComponent? = null
- override var statisticsDetailComponent: StatisticsDetailComponent? = null
- override var settingsComponent: SettingsComponent? = null
- override var chartFilterComponent: ChartFilterComponent? = null
- override var typesFilterComponent: TypesFilterComponent? = null
- override var durationPickerComponent: DurationPickerComponent? = null
- override var cardSizeComponent: CardSizeComponent? = null
- override var cardOrderComponent: CardOrderComponent? = null
- override var dateTimeComponent: DateTimeComponent? = null
- override var emojiSelectionComponent: EmojiSelectionComponent? = null
- override var widgetComponent: WidgetComponent? = null
- override var notificationComponent: NotificationComponent? = null
- override var categoriesComponent: CategoriesComponent? = null
- override var changeCategoryComponent: ChangeCategoryComponent? = null
- override var changeRecordTagComponent: ChangeRecordTagComponent? = null
- override var archiveComponent: ArchiveComponent? = null
- override var archiveDialogComponent: ArchiveDialogComponent? = null
- override var recordTagSelectionComponent: RecordTagSelectionComponent? = null
- override var recordTagSelectionDialogComponent: RecordTagSelectionDialogComponent? = null
+@HiltAndroidApp
+class TimeTrackerApp : Application() {
override fun onCreate() {
super.onCreate()
initLog()
- initDi()
initLibraries()
initStrictMode()
}
@@ -81,39 +24,6 @@ class TimeTrackerApp : Application(), FeatureComponentProvider {
}
}
- private fun initDi() {
- appComponent = DaggerAppComponent
- .builder()
- .appModule(AppModule(this))
- .build()
- mainComponent = appComponent?.plusMainComponent()
- runningRecordsComponent = appComponent?.plusRunningRecordsComponent()
- changeRecordTypeComponent = appComponent?.plusChangeRecordTypeComponent()
- recordsComponent = appComponent?.plusRecordsComponent()
- recordsAllComponent = appComponent?.plusRecordsAllComponent()
- changeRecordComponent = appComponent?.plusChangeRecordComponent()
- changeRunningRecordComponent = appComponent?.plusChangeRunningRecordComponent()
- statisticsComponent = appComponent?.plusStatisticsComponent()
- statisticsDetailComponent = appComponent?.plusStatisticsDetailComponent()
- settingsComponent = appComponent?.plusSettingComponent()
- chartFilterComponent = appComponent?.plusChartFilterComponent()
- typesFilterComponent = appComponent?.plusTypesFilterComponent()
- durationPickerComponent = appComponent?.plusDurationPickerComponent()
- cardSizeComponent = appComponent?.plusCardSizeComponent()
- cardOrderComponent = appComponent?.plusCardOrderComponent()
- dateTimeComponent = appComponent?.plusDateTimeComponent()
- emojiSelectionComponent = appComponent?.plusEmojiSelectionComponent()
- widgetComponent = appComponent?.plusWidgetComponent()
- notificationComponent = appComponent?.plusNotificationComponent()
- categoriesComponent = appComponent?.plusCategoriesComponent()
- changeCategoryComponent = appComponent?.plusChangeCategoryComponent()
- changeRecordTagComponent = appComponent?.plusChangeRecordTagComponent()
- archiveComponent = appComponent?.plusArchiveComponent()
- archiveDialogComponent = appComponent?.plusArchiveDialogComponent()
- recordTagSelectionComponent = appComponent?.plusRecordTagSelectionComponent()
- recordTagSelectionDialogComponent = appComponent?.plusRecordTagSelectionDialogComponent()
- }
-
private fun initLibraries() {
val config = BundledEmojiCompatConfig(applicationContext)
.setReplaceAll(true)
diff --git a/app/src/main/java/com/example/util/simpletimetracker/di/AppComponent.kt b/app/src/main/java/com/example/util/simpletimetracker/di/AppComponent.kt
index f7bad822..0f748a30 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/di/AppComponent.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/di/AppComponent.kt
@@ -1,76 +1,22 @@
package com.example.util.simpletimetracker.di
import com.example.util.simpletimetracker.data_local.di.DataLocalModule
-import com.example.util.simpletimetracker.feature_archive.di.ArchiveComponent
-import com.example.util.simpletimetracker.feature_categories.di.CategoriesComponent
-import com.example.util.simpletimetracker.feature_change_category.di.ChangeCategoryComponent
-import com.example.util.simpletimetracker.feature_change_record.di.ChangeRecordComponent
-import com.example.util.simpletimetracker.feature_change_record_tag.di.ChangeRecordTagComponent
-import com.example.util.simpletimetracker.feature_change_record_type.di.ChangeRecordTypeComponent
-import com.example.util.simpletimetracker.feature_change_running_record.di.ChangeRunningRecordComponent
-import com.example.util.simpletimetracker.feature_dialogs.archive.di.ArchiveDialogComponent
-import com.example.util.simpletimetracker.feature_dialogs.cardOrder.di.CardOrderComponent
-import com.example.util.simpletimetracker.feature_dialogs.cardSize.di.CardSizeComponent
-import com.example.util.simpletimetracker.feature_dialogs.chartFilter.di.ChartFilterComponent
-import com.example.util.simpletimetracker.feature_dialogs.dateTime.di.DateTimeComponent
-import com.example.util.simpletimetracker.feature_dialogs.duration.di.DurationPickerComponent
-import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di.EmojiSelectionComponent
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di.RecordTagSelectionDialogComponent
-import com.example.util.simpletimetracker.feature_dialogs.typesFilter.di.TypesFilterComponent
-import com.example.util.simpletimetracker.feature_main.di.MainComponent
-import com.example.util.simpletimetracker.feature_notification.di.NotificationComponent
+import com.example.util.simpletimetracker.data_local.di.DataLocalModuleBinds
import com.example.util.simpletimetracker.feature_notification.di.NotificationModule
-import com.example.util.simpletimetracker.feature_records.di.RecordsComponent
-import com.example.util.simpletimetracker.feature_records_all.di.RecordsAllComponent
-import com.example.util.simpletimetracker.feature_running_records.di.RunningRecordsComponent
-import com.example.util.simpletimetracker.feature_settings.di.SettingsComponent
-import com.example.util.simpletimetracker.feature_statistics.di.StatisticsComponent
-import com.example.util.simpletimetracker.feature_statistics_detail.di.StatisticsDetailComponent
-import com.example.util.simpletimetracker.feature_tag_selection.di.RecordTagSelectionComponent
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponent
import com.example.util.simpletimetracker.feature_widget.di.WidgetModule
-import com.example.util.simpletimetracker.ui.MainActivity
-import dagger.Component
-import javax.inject.Singleton
+import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
-@Singleton
-@Component(
- modules = [
+@InstallIn(SingletonComponent::class)
+@Module(
+ includes = [
AppModule::class,
NavigationModule::class,
DataLocalModule::class,
+ DataLocalModuleBinds::class,
WidgetModule::class,
NotificationModule::class
]
)
-interface AppComponent {
-
- fun inject(mainActivity: MainActivity)
-
- fun plusMainComponent(): MainComponent
- fun plusRunningRecordsComponent(): RunningRecordsComponent
- fun plusChangeRecordTypeComponent(): ChangeRecordTypeComponent
- fun plusRecordsComponent(): RecordsComponent
- fun plusRecordsAllComponent(): RecordsAllComponent
- fun plusChangeRecordComponent(): ChangeRecordComponent
- fun plusChangeRunningRecordComponent(): ChangeRunningRecordComponent
- fun plusStatisticsComponent(): StatisticsComponent
- fun plusStatisticsDetailComponent(): StatisticsDetailComponent
- fun plusSettingComponent(): SettingsComponent
- fun plusChartFilterComponent(): ChartFilterComponent
- fun plusTypesFilterComponent(): TypesFilterComponent
- fun plusDurationPickerComponent(): DurationPickerComponent
- fun plusCardSizeComponent(): CardSizeComponent
- fun plusCardOrderComponent(): CardOrderComponent
- fun plusDateTimeComponent(): DateTimeComponent
- fun plusEmojiSelectionComponent(): EmojiSelectionComponent
- fun plusWidgetComponent(): WidgetComponent
- fun plusNotificationComponent(): NotificationComponent
- fun plusCategoriesComponent(): CategoriesComponent
- fun plusChangeCategoryComponent(): ChangeCategoryComponent
- fun plusChangeRecordTagComponent(): ChangeRecordTagComponent
- fun plusArchiveComponent(): ArchiveComponent
- fun plusArchiveDialogComponent(): ArchiveDialogComponent
- fun plusRecordTagSelectionComponent(): RecordTagSelectionComponent
- fun plusRecordTagSelectionDialogComponent(): RecordTagSelectionDialogComponent
-}
\ No newline at end of file
+interface AppComponent
\ No newline at end of file
diff --git a/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt b/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt
index 8ef168a6..3d77232b 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt
@@ -2,27 +2,20 @@ package com.example.util.simpletimetracker.di
import android.content.ContentResolver
import android.content.Context
-import com.example.util.simpletimetracker.TimeTrackerApp
-import com.example.util.simpletimetracker.domain.di.AppContext
import dagger.Module
import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.android.qualifiers.ApplicationContext
+import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
-class AppModule(application: TimeTrackerApp) {
-
- private var appContext: Context = application.applicationContext
-
- @Provides
- @Singleton
- @AppContext
- fun getAppContext(): Context {
- return appContext
- }
+@InstallIn(SingletonComponent::class)
+class AppModule {
@Provides
@Singleton
- fun getContentResolver(@AppContext context: Context): ContentResolver {
+ fun getContentResolver(@ApplicationContext context: Context): ContentResolver {
return context.contentResolver
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/util/simpletimetracker/di/FeatureComponentProvider.kt b/app/src/main/java/com/example/util/simpletimetracker/di/FeatureComponentProvider.kt
deleted file mode 100644
index bce6c898..00000000
--- a/app/src/main/java/com/example/util/simpletimetracker/di/FeatureComponentProvider.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.example.util.simpletimetracker.di
-
-import com.example.util.simpletimetracker.feature_archive.di.ArchiveComponentProvider
-import com.example.util.simpletimetracker.feature_categories.di.CategoriesComponentProvider
-import com.example.util.simpletimetracker.feature_change_category.di.ChangeCategoryComponentProvider
-import com.example.util.simpletimetracker.feature_change_record.di.ChangeRecordComponentProvider
-import com.example.util.simpletimetracker.feature_change_record_tag.di.ChangeRecordTagComponentProvider
-import com.example.util.simpletimetracker.feature_change_record_type.di.ChangeRecordTypeComponentProvider
-import com.example.util.simpletimetracker.feature_change_running_record.di.ChangeRunningRecordComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.archive.di.ArchiveDialogComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.cardOrder.di.CardOrderComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.cardSize.di.CardSizeComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.chartFilter.di.ChartFilterComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.dateTime.di.DateTimeComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.duration.di.DurationPickerComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di.EmojiSelectionComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di.RecordTagSelectionDialogComponentProvider
-import com.example.util.simpletimetracker.feature_dialogs.typesFilter.di.TypesFilterComponentProvider
-import com.example.util.simpletimetracker.feature_main.di.MainComponentProvider
-import com.example.util.simpletimetracker.feature_notification.di.NotificationComponentProvider
-import com.example.util.simpletimetracker.feature_records.di.RecordsComponentProvider
-import com.example.util.simpletimetracker.feature_records_all.di.RecordsAllComponentProvider
-import com.example.util.simpletimetracker.feature_running_records.di.RunningRecordsComponentProvider
-import com.example.util.simpletimetracker.feature_settings.di.SettingsComponentProvider
-import com.example.util.simpletimetracker.feature_statistics.di.StatisticsComponentProvider
-import com.example.util.simpletimetracker.feature_statistics_detail.di.StatisticsDetailComponentProvider
-import com.example.util.simpletimetracker.feature_tag_selection.di.RecordTagSelectionComponentProvider
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
-
-interface FeatureComponentProvider :
- MainComponentProvider,
- RunningRecordsComponentProvider,
- ChangeRecordTypeComponentProvider,
- RecordsComponentProvider,
- RecordsAllComponentProvider,
- ChangeRecordComponentProvider,
- ChangeRunningRecordComponentProvider,
- StatisticsComponentProvider,
- StatisticsDetailComponentProvider,
- SettingsComponentProvider,
- ChartFilterComponentProvider,
- TypesFilterComponentProvider,
- DurationPickerComponentProvider,
- CardSizeComponentProvider,
- CardOrderComponentProvider,
- DateTimeComponentProvider,
- EmojiSelectionComponentProvider,
- WidgetComponentProvider,
- NotificationComponentProvider,
- CategoriesComponentProvider,
- ChangeCategoryComponentProvider,
- ChangeRecordTagComponentProvider,
- ArchiveComponentProvider,
- ArchiveDialogComponentProvider,
- RecordTagSelectionComponentProvider,
- RecordTagSelectionDialogComponentProvider {
-
- var appComponent: AppComponent?
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/util/simpletimetracker/di/NavigationModule.kt b/app/src/main/java/com/example/util/simpletimetracker/di/NavigationModule.kt
index 8c75c784..2ae1aad1 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/di/NavigationModule.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/di/NavigationModule.kt
@@ -12,9 +12,12 @@ import com.example.util.simpletimetracker.navigation.ScreenResolver
import com.example.util.simpletimetracker.navigation.ScreenResolverImpl
import dagger.Module
import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
+@InstallIn(SingletonComponent::class)
class NavigationModule {
@Provides
diff --git a/app/src/main/java/com/example/util/simpletimetracker/navigation/RouterImpl.kt b/app/src/main/java/com/example/util/simpletimetracker/navigation/RouterImpl.kt
index e7102dfe..b2437f5e 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/navigation/RouterImpl.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/navigation/RouterImpl.kt
@@ -5,8 +5,8 @@ import android.content.Context
import android.content.Intent
import androidx.navigation.NavController
import androidx.navigation.findNavController
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.ui.MainActivity
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@@ -15,7 +15,7 @@ class RouterImpl @Inject constructor(
private val screenResolver: ScreenResolver,
private val actionResolver: ActionResolver,
private val notificationResolver: NotificationResolver,
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) : Router {
private var navController: NavController? = null
diff --git a/app/src/main/java/com/example/util/simpletimetracker/navigation/ScreenResolverImpl.kt b/app/src/main/java/com/example/util/simpletimetracker/navigation/ScreenResolverImpl.kt
index 553078c9..9591fc32 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/navigation/ScreenResolverImpl.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/navigation/ScreenResolverImpl.kt
@@ -15,7 +15,7 @@ import com.example.util.simpletimetracker.feature_dialogs.cardOrder.view.CardOrd
import com.example.util.simpletimetracker.feature_dialogs.dateTime.DateTimeDialogFragment
import com.example.util.simpletimetracker.feature_dialogs.duration.view.DurationDialogFragment
import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.view.EmojiSelectionDialogFragment
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.view.RecordTagSelectionDialogFragment
+import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.RecordTagSelectionDialogFragment
import com.example.util.simpletimetracker.feature_dialogs.standard.StandardDialogFragment
import com.example.util.simpletimetracker.feature_dialogs.typesFilter.view.TypesFilterDialogFragment
import com.example.util.simpletimetracker.feature_records_all.view.RecordsAllFragment
diff --git a/app/src/main/java/com/example/util/simpletimetracker/ui/MainActivity.kt b/app/src/main/java/com/example/util/simpletimetracker/ui/MainActivity.kt
index 1ccf1fd5..e67ad125 100644
--- a/app/src/main/java/com/example/util/simpletimetracker/ui/MainActivity.kt
+++ b/app/src/main/java/com/example/util/simpletimetracker/ui/MainActivity.kt
@@ -4,13 +4,14 @@ import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.util.simpletimetracker.R
-import com.example.util.simpletimetracker.TimeTrackerApp
import com.example.util.simpletimetracker.core.extension.getAllFragments
import com.example.util.simpletimetracker.core.manager.ThemeManager
import com.example.util.simpletimetracker.navigation.Router
+import dagger.hilt.android.AndroidEntryPoint
import timber.log.Timber
import javax.inject.Inject
+@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
@@ -22,7 +23,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- (application as TimeTrackerApp).appComponent?.inject(this)
themeManager.setTheme(this)
setContentView(R.layout.main_activity)
router.bind(this)
diff --git a/core/src/main/res/anim/copy_fragment_close_exit.xml b/app/src/main/res/anim/fragment_close_exit.xml
similarity index 93%
rename from core/src/main/res/anim/copy_fragment_close_exit.xml
rename to app/src/main/res/anim/fragment_close_exit.xml
index d461376d..be1dd7e6 100644
--- a/core/src/main/res/anim/copy_fragment_close_exit.xml
+++ b/app/src/main/res/anim/fragment_close_exit.xml
@@ -24,8 +24,8 @@
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator"
- android:startOffset="330"
- android:duration="250"/>
+ android:startOffset="66"
+ android:duration="50"/>
+ android:duration="300"/>
\ No newline at end of file
diff --git a/core/src/main/res/anim/copy_fragment_open_enter.xml b/app/src/main/res/anim/fragment_open_enter.xml
similarity index 93%
rename from core/src/main/res/anim/copy_fragment_open_enter.xml
rename to app/src/main/res/anim/fragment_open_enter.xml
index 4202d1e5..41dfbead 100644
--- a/core/src/main/res/anim/copy_fragment_open_enter.xml
+++ b/app/src/main/res/anim/fragment_open_enter.xml
@@ -24,8 +24,8 @@
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator"
- android:startOffset="175"
- android:duration="250"/>
+ android:startOffset="35"
+ android:duration="50"/>
\ No newline at end of file
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index ba85ce2d..16b53ee5 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -99,7 +99,7 @@
tools:layout="@layout/archive_dialog_fragment" />
=
diff --git a/core/src/main/java/com/example/util/simpletimetracker/core/repo/IconImageRepo.kt b/core/src/main/java/com/example/util/simpletimetracker/core/repo/IconImageRepo.kt
index e1170a10..187034e2 100644
--- a/core/src/main/java/com/example/util/simpletimetracker/core/repo/IconImageRepo.kt
+++ b/core/src/main/java/com/example/util/simpletimetracker/core/repo/IconImageRepo.kt
@@ -2,11 +2,11 @@ package com.example.util.simpletimetracker.core.repo
import android.content.Context
import com.example.util.simpletimetracker.core.R
-import com.example.util.simpletimetracker.domain.di.AppContext
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class IconImageRepo @Inject constructor(
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) {
fun getImages(arrayResId: Int): Map {
diff --git a/core/src/main/java/com/example/util/simpletimetracker/core/repo/ResourceRepo.kt b/core/src/main/java/com/example/util/simpletimetracker/core/repo/ResourceRepo.kt
index 6620e34e..ec48bd32 100644
--- a/core/src/main/java/com/example/util/simpletimetracker/core/repo/ResourceRepo.kt
+++ b/core/src/main/java/com/example/util/simpletimetracker/core/repo/ResourceRepo.kt
@@ -7,11 +7,11 @@ import androidx.annotation.PluralsRes
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
import com.example.util.simpletimetracker.core.extension.pxToDp
-import com.example.util.simpletimetracker.domain.di.AppContext
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class ResourceRepo @Inject constructor(
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) {
fun getColor(@ColorRes colorResId: Int): Int {
diff --git a/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModule.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModule.kt
index 135fd454..cc47e523 100644
--- a/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModule.kt
+++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModule.kt
@@ -12,35 +12,15 @@ import com.example.util.simpletimetracker.data_local.database.RecordTagDao
import com.example.util.simpletimetracker.data_local.database.RecordTypeCategoryDao
import com.example.util.simpletimetracker.data_local.database.RecordTypeDao
import com.example.util.simpletimetracker.data_local.database.RunningRecordDao
-import com.example.util.simpletimetracker.data_local.repo.CategoryRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.PrefsRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordCacheRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordTagRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordTypeCacheRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordTypeCategoryRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RecordTypeRepoImpl
-import com.example.util.simpletimetracker.data_local.repo.RunningRecordRepoImpl
-import com.example.util.simpletimetracker.data_local.resolver.BackupRepoImpl
-import com.example.util.simpletimetracker.data_local.resolver.CsvRepoImpl
-import com.example.util.simpletimetracker.domain.di.AppContext
-import com.example.util.simpletimetracker.domain.repo.CategoryRepo
-import com.example.util.simpletimetracker.domain.repo.PrefsRepo
-import com.example.util.simpletimetracker.domain.repo.RecordCacheRepo
-import com.example.util.simpletimetracker.domain.repo.RecordRepo
-import com.example.util.simpletimetracker.domain.repo.RecordTagRepo
-import com.example.util.simpletimetracker.domain.repo.RecordTypeCacheRepo
-import com.example.util.simpletimetracker.domain.repo.RecordTypeCategoryRepo
-import com.example.util.simpletimetracker.domain.repo.RecordTypeRepo
-import com.example.util.simpletimetracker.domain.repo.RunningRecordRepo
-import com.example.util.simpletimetracker.domain.resolver.BackupRepo
-import com.example.util.simpletimetracker.domain.resolver.CsvRepo
-import dagger.Binds
import dagger.Module
import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.android.qualifiers.ApplicationContext
+import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
-@Module(includes = [DataLocalModule.DataLocalModuleBinds::class])
+@Module
+@InstallIn(SingletonComponent::class)
class DataLocalModule {
companion object {
@@ -49,7 +29,7 @@ class DataLocalModule {
@Provides
@Singleton
- fun getAppDatabase(@AppContext context: Context): AppDatabase {
+ fun getAppDatabase(@ApplicationContext context: Context): AppDatabase {
return Room
.databaseBuilder(
context,
@@ -67,7 +47,7 @@ class DataLocalModule {
@Provides
@Singleton
- fun getSharedPrefs(@AppContext context: Context): SharedPreferences {
+ fun getSharedPrefs(@ApplicationContext context: Context): SharedPreferences {
allowDiskWrite {
return context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
}
@@ -108,51 +88,4 @@ class DataLocalModule {
fun getRecordTagDao(database: AppDatabase): RecordTagDao {
return database.recordTagDao()
}
-
- @Module
- abstract inner class DataLocalModuleBinds {
- @Binds
- @Singleton
- abstract fun getRecordRepo(impl: RecordRepoImpl): RecordRepo
-
- @Binds
- @Singleton
- abstract fun getRecordCacheRepo(impl: RecordCacheRepoImpl): RecordCacheRepo
-
- @Binds
- @Singleton
- abstract fun getRecordTypeRepo(impl: RecordTypeRepoImpl): RecordTypeRepo
-
- @Binds
- @Singleton
- abstract fun getRecordTypeCacheRepo(impl: RecordTypeCacheRepoImpl): RecordTypeCacheRepo
-
- @Binds
- @Singleton
- abstract fun getRunningRecordRepo(impl: RunningRecordRepoImpl): RunningRecordRepo
-
- @Binds
- @Singleton
- abstract fun getPrefsRepo(impl: PrefsRepoImpl): PrefsRepo
-
- @Binds
- @Singleton
- abstract fun getBackupRepo(impl: BackupRepoImpl): BackupRepo
-
- @Binds
- @Singleton
- abstract fun getCsvRepo(impl: CsvRepoImpl): CsvRepo
-
- @Binds
- @Singleton
- abstract fun getCategoryRepo(impl: CategoryRepoImpl): CategoryRepo
-
- @Binds
- @Singleton
- abstract fun getRecordTagRepo(impl: RecordTagRepoImpl): RecordTagRepo
-
- @Binds
- @Singleton
- abstract fun getRecordTypeCategoryRepo(impl: RecordTypeCategoryRepoImpl): RecordTypeCategoryRepo
- }
}
\ No newline at end of file
diff --git a/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModuleBinds.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModuleBinds.kt
new file mode 100644
index 00000000..1e79c728
--- /dev/null
+++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModuleBinds.kt
@@ -0,0 +1,78 @@
+package com.example.util.simpletimetracker.data_local.di
+
+import com.example.util.simpletimetracker.data_local.repo.CategoryRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.PrefsRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordCacheRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordTagRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordTypeCacheRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordTypeCategoryRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RecordTypeRepoImpl
+import com.example.util.simpletimetracker.data_local.repo.RunningRecordRepoImpl
+import com.example.util.simpletimetracker.data_local.resolver.BackupRepoImpl
+import com.example.util.simpletimetracker.data_local.resolver.CsvRepoImpl
+import com.example.util.simpletimetracker.domain.repo.CategoryRepo
+import com.example.util.simpletimetracker.domain.repo.PrefsRepo
+import com.example.util.simpletimetracker.domain.repo.RecordCacheRepo
+import com.example.util.simpletimetracker.domain.repo.RecordRepo
+import com.example.util.simpletimetracker.domain.repo.RecordTagRepo
+import com.example.util.simpletimetracker.domain.repo.RecordTypeCacheRepo
+import com.example.util.simpletimetracker.domain.repo.RecordTypeCategoryRepo
+import com.example.util.simpletimetracker.domain.repo.RecordTypeRepo
+import com.example.util.simpletimetracker.domain.repo.RunningRecordRepo
+import com.example.util.simpletimetracker.domain.resolver.BackupRepo
+import com.example.util.simpletimetracker.domain.resolver.CsvRepo
+import dagger.Binds
+import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+abstract class DataLocalModuleBinds {
+
+ @Binds
+ @Singleton
+ abstract fun getRecordRepo(impl: RecordRepoImpl): RecordRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRecordCacheRepo(impl: RecordCacheRepoImpl): RecordCacheRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRecordTypeRepo(impl: RecordTypeRepoImpl): RecordTypeRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRecordTypeCacheRepo(impl: RecordTypeCacheRepoImpl): RecordTypeCacheRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRunningRecordRepo(impl: RunningRecordRepoImpl): RunningRecordRepo
+
+ @Binds
+ @Singleton
+ abstract fun getPrefsRepo(impl: PrefsRepoImpl): PrefsRepo
+
+ @Binds
+ @Singleton
+ abstract fun getBackupRepo(impl: BackupRepoImpl): BackupRepo
+
+ @Binds
+ @Singleton
+ abstract fun getCsvRepo(impl: CsvRepoImpl): CsvRepo
+
+ @Binds
+ @Singleton
+ abstract fun getCategoryRepo(impl: CategoryRepoImpl): CategoryRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRecordTagRepo(impl: RecordTagRepoImpl): RecordTagRepo
+
+ @Binds
+ @Singleton
+ abstract fun getRecordTypeCategoryRepo(impl: RecordTypeCategoryRepoImpl): RecordTypeCategoryRepo
+}
\ No newline at end of file
diff --git a/domain/src/main/java/com/example/util/simpletimetracker/domain/di/AppContext.kt b/domain/src/main/java/com/example/util/simpletimetracker/domain/di/AppContext.kt
deleted file mode 100644
index 3fd17f95..00000000
--- a/domain/src/main/java/com/example/util/simpletimetracker/domain/di/AppContext.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.example.util.simpletimetracker.domain.di
-
-import javax.inject.Qualifier
-
-@Qualifier
-@Retention(AnnotationRetention.RUNTIME)
-annotation class AppContext
\ No newline at end of file
diff --git a/feature_archive/build.gradle.kts b/feature_archive/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_archive/build.gradle.kts
+++ b/feature_archive/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponent.kt b/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponent.kt
deleted file mode 100644
index 4bba2dc8..00000000
--- a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_archive.di
-
-import com.example.util.simpletimetracker.feature_archive.view.ArchiveFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ArchiveComponent {
-
- fun inject(fragment: ArchiveFragment)
-}
\ No newline at end of file
diff --git a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponentProvider.kt b/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponentProvider.kt
deleted file mode 100644
index 698e677b..00000000
--- a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_archive.di
-
-interface ArchiveComponentProvider {
-
- var archiveComponent: ArchiveComponent?
-}
\ No newline at end of file
diff --git a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/view/ArchiveFragment.kt b/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/view/ArchiveFragment.kt
index 6ff26a96..5389619f 100644
--- a/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/view/ArchiveFragment.kt
+++ b/feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/view/ArchiveFragment.kt
@@ -13,20 +13,23 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.dialog.ArchiveDialogListener
import com.example.util.simpletimetracker.core.dialog.StandardDialogListener
import com.example.util.simpletimetracker.feature_archive.R
-import com.example.util.simpletimetracker.feature_archive.di.ArchiveComponentProvider
import com.example.util.simpletimetracker.feature_archive.viewModel.ArchiveViewModel
import com.example.util.simpletimetracker.navigation.params.ArchiveDialogParams
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.archive_fragment.*
import javax.inject.Inject
-class ArchiveFragment : BaseFragment(R.layout.archive_fragment),
+@AndroidEntryPoint
+class ArchiveFragment : BaseFragment(),
ArchiveDialogListener,
StandardDialogListener {
+ override val layout: Int get() = R.layout.archive_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -44,12 +47,6 @@ class ArchiveFragment : BaseFragment(R.layout.archive_fragment),
)
}
- override fun initDi() {
- (activity?.application as ArchiveComponentProvider)
- .archiveComponent
- ?.inject(this)
- }
-
override fun initUi() {
rvArchiveList.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_categories/build.gradle.kts b/feature_categories/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_categories/build.gradle.kts
+++ b/feature_categories/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponent.kt b/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponent.kt
deleted file mode 100644
index 6a0e2149..00000000
--- a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_categories.di
-
-import com.example.util.simpletimetracker.feature_categories.view.CategoriesFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface CategoriesComponent {
-
- fun inject(fragment: CategoriesFragment)
-}
\ No newline at end of file
diff --git a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponentProvider.kt b/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponentProvider.kt
deleted file mode 100644
index 033c4a3b..00000000
--- a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_categories.di
-
-interface CategoriesComponentProvider {
-
- var categoriesComponent: CategoriesComponent?
-}
\ No newline at end of file
diff --git a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/view/CategoriesFragment.kt b/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/view/CategoriesFragment.kt
index 04eecf99..8ea635bd 100644
--- a/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/view/CategoriesFragment.kt
+++ b/feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/view/CategoriesFragment.kt
@@ -11,16 +11,19 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.feature_categories.R
import com.example.util.simpletimetracker.feature_categories.adapter.createCategoryAdapterDelegate
import com.example.util.simpletimetracker.feature_categories.adapter.createCategoryAddAdapterDelegate
-import com.example.util.simpletimetracker.feature_categories.di.CategoriesComponentProvider
import com.example.util.simpletimetracker.feature_categories.viewModel.CategoriesViewModel
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.categories_fragment.*
import javax.inject.Inject
-class CategoriesFragment : BaseFragment(R.layout.categories_fragment) {
+@AndroidEntryPoint
+class CategoriesFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.categories_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -39,12 +42,6 @@ class CategoriesFragment : BaseFragment(R.layout.categories_fragment) {
)
}
- override fun initDi() {
- (activity?.application as CategoriesComponentProvider)
- .categoriesComponent
- ?.inject(this)
- }
-
override fun initUi() {
postponeEnterTransition()
diff --git a/feature_change_category/build.gradle.kts b/feature_change_category/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_change_category/build.gradle.kts
+++ b/feature_change_category/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponent.kt b/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponent.kt
deleted file mode 100644
index be6d276a..00000000
--- a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_category.di
-
-import com.example.util.simpletimetracker.feature_change_category.view.ChangeCategoryFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ChangeCategoryComponent {
-
- fun inject(fragment: ChangeCategoryFragment)
-}
\ No newline at end of file
diff --git a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponentProvider.kt b/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponentProvider.kt
deleted file mode 100644
index 0883cc56..00000000
--- a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_category.di
-
-interface ChangeCategoryComponentProvider {
-
- var changeCategoryComponent: ChangeCategoryComponent?
-}
\ No newline at end of file
diff --git a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt b/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt
index 4017549f..5228dcb7 100644
--- a/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt
+++ b/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt
@@ -26,13 +26,13 @@ import com.example.util.simpletimetracker.core.utils.BuildVersions
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
import com.example.util.simpletimetracker.core.view.TransitionNames
import com.example.util.simpletimetracker.feature_change_category.R
-import com.example.util.simpletimetracker.feature_change_category.di.ChangeCategoryComponentProvider
import com.example.util.simpletimetracker.feature_change_category.viewModel.ChangeCategoryViewModel
import com.example.util.simpletimetracker.navigation.params.ChangeCategoryParams
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.change_category_fragment.arrowChangeCategoryColor
import kotlinx.android.synthetic.main.change_category_fragment.arrowChangeCategoryType
import kotlinx.android.synthetic.main.change_category_fragment.btnChangeCategoryDelete
@@ -45,7 +45,10 @@ import kotlinx.android.synthetic.main.change_category_fragment.rvChangeCategoryC
import kotlinx.android.synthetic.main.change_category_fragment.rvChangeCategoryType
import javax.inject.Inject
-class ChangeCategoryFragment : BaseFragment(R.layout.change_category_fragment) {
+@AndroidEntryPoint
+class ChangeCategoryFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.change_category_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -72,12 +75,6 @@ class ChangeCategoryFragment : BaseFragment(R.layout.change_category_fragment) {
arguments?.getParcelable(ARGS_PARAMS) ?: ChangeCategoryParams.New
}
- override fun initDi() {
- (activity?.application as ChangeCategoryComponentProvider)
- .changeCategoryComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_change_record/build.gradle.kts b/feature_change_record/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_change_record/build.gradle.kts
+++ b/feature_change_record/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponent.kt b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponent.kt
deleted file mode 100644
index ccc52f32..00000000
--- a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record.di
-
-import com.example.util.simpletimetracker.feature_change_record.view.ChangeRecordFragment
-import dagger.Subcomponent
-
-@Subcomponent(modules = [ChangeRecordModule::class])
-interface ChangeRecordComponent {
-
- fun inject(fragment: ChangeRecordFragment)
-}
\ No newline at end of file
diff --git a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponentProvider.kt b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponentProvider.kt
deleted file mode 100644
index 58bdacab..00000000
--- a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record.di
-
-interface ChangeRecordComponentProvider {
-
- var changeRecordComponent: ChangeRecordComponent?
-}
\ No newline at end of file
diff --git a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordModule.kt b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordModule.kt
deleted file mode 100644
index a6584a6c..00000000
--- a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordModule.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record.di
-
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import com.example.util.simpletimetracker.feature_change_record.viewModel.ChangeRecordViewModel
-import dagger.Module
-import dagger.Provides
-import dagger.multibindings.IntoMap
-import javax.inject.Provider
-
-@Module
-class ChangeRecordModule {
-
- @Provides
- @IntoMap
- @ViewModelKey(ChangeRecordViewModel::class)
- fun provideChangeRecordViewModel(viewModel: ChangeRecordViewModel): ViewModel {
- return viewModel
- }
-
- @Provides
- fun provideViewModelFactory(
- providers: Map, @JvmSuppressWildcards Provider>
- ): ViewModelProvider.Factory {
- return ViewModelProviderFactory(
- providers
- )
- }
-}
\ No newline at end of file
diff --git a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ViewModelProviderFactory.kt b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ViewModelProviderFactory.kt
deleted file mode 100644
index b923bea3..00000000
--- a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ViewModelProviderFactory.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record.di
-
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import dagger.MapKey
-import javax.inject.Provider
-import kotlin.reflect.KClass
-
-// Can be placed in core if necessary
-class ViewModelProviderFactory(
- private val providers: Map, @JvmSuppressWildcards Provider>
-) : ViewModelProvider.Factory {
- override fun create(modelClass: Class): T {
- @Suppress("UNCHECKED_CAST")
- return providers[modelClass]?.get() as T
- }
-}
-
-@MapKey
-@Target(AnnotationTarget.FUNCTION)
-annotation class ViewModelKey(
- val value: KClass
-)
\ No newline at end of file
diff --git a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordFragment.kt b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordFragment.kt
index 94178d3a..5e53f69b 100644
--- a/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordFragment.kt
+++ b/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordFragment.kt
@@ -5,7 +5,6 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.widget.doAfterTextChanged
import androidx.fragment.app.viewModels
-import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.observe
import androidx.transition.TransitionInflater
import com.example.util.simpletimetracker.core.adapter.BaseRecyclerAdapter
@@ -28,7 +27,6 @@ import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
import com.example.util.simpletimetracker.core.viewModel.RemoveRecordViewModel
import com.example.util.simpletimetracker.domain.extension.orZero
import com.example.util.simpletimetracker.feature_change_record.R
-import com.example.util.simpletimetracker.feature_change_record.di.ChangeRecordComponentProvider
import com.example.util.simpletimetracker.feature_change_record.viewData.ChangeRecordViewData
import com.example.util.simpletimetracker.feature_change_record.viewModel.ChangeRecordViewModel
import com.example.util.simpletimetracker.navigation.params.ChangeRecordParams
@@ -36,14 +34,31 @@ import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
-import kotlinx.android.synthetic.main.change_record_fragment.*
+import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.android.synthetic.main.change_record_fragment.arrowChangeRecordCategory
+import kotlinx.android.synthetic.main.change_record_fragment.arrowChangeRecordType
+import kotlinx.android.synthetic.main.change_record_fragment.btnChangeRecordDelete
+import kotlinx.android.synthetic.main.change_record_fragment.btnChangeRecordSave
+import kotlinx.android.synthetic.main.change_record_fragment.etChangeRecordComment
+import kotlinx.android.synthetic.main.change_record_fragment.fieldChangeRecordCategory
+import kotlinx.android.synthetic.main.change_record_fragment.fieldChangeRecordTimeEnded
+import kotlinx.android.synthetic.main.change_record_fragment.fieldChangeRecordTimeStarted
+import kotlinx.android.synthetic.main.change_record_fragment.fieldChangeRecordType
+import kotlinx.android.synthetic.main.change_record_fragment.previewChangeRecord
+import kotlinx.android.synthetic.main.change_record_fragment.rvChangeRecordCategories
+import kotlinx.android.synthetic.main.change_record_fragment.rvChangeRecordType
+import kotlinx.android.synthetic.main.change_record_fragment.tvChangeRecordTimeEnded
+import kotlinx.android.synthetic.main.change_record_fragment.tvChangeRecordTimeStarted
import javax.inject.Inject
-class ChangeRecordFragment : BaseFragment(R.layout.change_record_fragment),
+@AndroidEntryPoint
+class ChangeRecordFragment : BaseFragment(),
DateTimeDialogListener {
+ override val layout: Int get() = R.layout.change_record_fragment
+
@Inject
- lateinit var viewModelFactory: ViewModelProvider.Factory
+ lateinit var viewModelFactory: BaseViewModelFactory
@Inject
lateinit var removeRecordViewModelFactory: BaseViewModelFactory
@@ -71,12 +86,6 @@ class ChangeRecordFragment : BaseFragment(R.layout.change_record_fragment),
arguments?.getParcelable(ARGS_PARAMS) ?: ChangeRecordParams.New()
}
- override fun initDi() {
- (activity?.application as ChangeRecordComponentProvider)
- .changeRecordComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_change_record_tag/build.gradle.kts b/feature_change_record_tag/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_change_record_tag/build.gradle.kts
+++ b/feature_change_record_tag/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponent.kt b/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponent.kt
deleted file mode 100644
index 4a785fb7..00000000
--- a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record_tag.di
-
-import com.example.util.simpletimetracker.feature_change_record_tag.view.ChangeRecordTagFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ChangeRecordTagComponent {
-
- fun inject(fragment: ChangeRecordTagFragment)
-}
\ No newline at end of file
diff --git a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponentProvider.kt b/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponentProvider.kt
deleted file mode 100644
index 1a2ab7d7..00000000
--- a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record_tag.di
-
-interface ChangeRecordTagComponentProvider {
-
- var changeRecordTagComponent: ChangeRecordTagComponent?
-}
\ No newline at end of file
diff --git a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt b/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt
index 0dd8d741..e951a350 100644
--- a/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt
+++ b/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt
@@ -24,17 +24,20 @@ import com.example.util.simpletimetracker.core.utils.BuildVersions
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
import com.example.util.simpletimetracker.core.view.TransitionNames
import com.example.util.simpletimetracker.feature_change_record_tag.R
-import com.example.util.simpletimetracker.feature_change_record_tag.di.ChangeRecordTagComponentProvider
import com.example.util.simpletimetracker.feature_change_record_tag.viewModel.ChangeRecordTagViewModel
import com.example.util.simpletimetracker.navigation.params.ChangeCategoryParams
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.change_record_tag_fragment.*
import javax.inject.Inject
-class ChangeRecordTagFragment : BaseFragment(R.layout.change_record_tag_fragment) {
+@AndroidEntryPoint
+class ChangeRecordTagFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.change_record_tag_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -54,12 +57,6 @@ class ChangeRecordTagFragment : BaseFragment(R.layout.change_record_tag_fragment
arguments?.getParcelable(ARGS_PARAMS) ?: ChangeCategoryParams.New
}
- override fun initDi() {
- (activity?.application as ChangeRecordTagComponentProvider)
- .changeRecordTagComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_change_record_type/build.gradle.kts b/feature_change_record_type/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_change_record_type/build.gradle.kts
+++ b/feature_change_record_type/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponent.kt b/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponent.kt
deleted file mode 100644
index ceb8f71d..00000000
--- a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record_type.di
-
-import com.example.util.simpletimetracker.feature_change_record_type.view.ChangeRecordTypeFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ChangeRecordTypeComponent {
-
- fun inject(fragment: ChangeRecordTypeFragment)
-}
\ No newline at end of file
diff --git a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponentProvider.kt b/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponentProvider.kt
deleted file mode 100644
index eb7bf4e7..00000000
--- a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_record_type.di
-
-interface ChangeRecordTypeComponentProvider {
-
- var changeRecordTypeComponent: ChangeRecordTypeComponent?
-}
\ No newline at end of file
diff --git a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt b/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt
index b1f3f13f..99d3a6c7 100644
--- a/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt
+++ b/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt
@@ -40,7 +40,6 @@ import com.example.util.simpletimetracker.feature_change_record_type.R
import com.example.util.simpletimetracker.feature_change_record_type.adapter.createChangeRecordTypeIconAdapterDelegate
import com.example.util.simpletimetracker.feature_change_record_type.adapter.createChangeRecordTypeIconCategoryAdapterDelegate
import com.example.util.simpletimetracker.feature_change_record_type.adapter.createChangeRecordTypeIconCategoryInfoAdapterDelegate
-import com.example.util.simpletimetracker.feature_change_record_type.di.ChangeRecordTypeComponentProvider
import com.example.util.simpletimetracker.feature_change_record_type.viewData.ChangeRecordTypeIconCategoryInfoViewData
import com.example.util.simpletimetracker.feature_change_record_type.viewData.ChangeRecordTypeScrollViewData
import com.example.util.simpletimetracker.feature_change_record_type.viewModel.ChangeRecordTypeViewModel
@@ -49,14 +48,18 @@ import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.change_record_type_fragment.*
import javax.inject.Inject
import kotlin.math.max
-class ChangeRecordTypeFragment : BaseFragment(R.layout.change_record_type_fragment),
+@AndroidEntryPoint
+class ChangeRecordTypeFragment : BaseFragment(),
DurationDialogListener,
EmojiSelectionDialogListener {
+ override val layout: Int get() = R.layout.change_record_type_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -99,12 +102,6 @@ class ChangeRecordTypeFragment : BaseFragment(R.layout.change_record_type_fragme
?: ChangeRecordTypeParams.New(ChangeRecordTypeParams.SizePreview())
}
- override fun initDi() {
- (activity?.application as ChangeRecordTypeComponentProvider)
- .changeRecordTypeComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_change_running_record/build.gradle.kts b/feature_change_running_record/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_change_running_record/build.gradle.kts
+++ b/feature_change_running_record/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponent.kt b/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponent.kt
deleted file mode 100644
index 21478872..00000000
--- a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_running_record.di
-
-import com.example.util.simpletimetracker.feature_change_running_record.view.ChangeRunningRecordFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ChangeRunningRecordComponent {
-
- fun inject(fragment: ChangeRunningRecordFragment)
-}
\ No newline at end of file
diff --git a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponentProvider.kt b/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponentProvider.kt
deleted file mode 100644
index 0c3b13ee..00000000
--- a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_change_running_record.di
-
-interface ChangeRunningRecordComponentProvider {
-
- var changeRunningRecordComponent: ChangeRunningRecordComponent?
-}
\ No newline at end of file
diff --git a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/view/ChangeRunningRecordFragment.kt b/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/view/ChangeRunningRecordFragment.kt
index 31d4b49a..3493bc9b 100644
--- a/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/view/ChangeRunningRecordFragment.kt
+++ b/feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/view/ChangeRunningRecordFragment.kt
@@ -25,7 +25,6 @@ import com.example.util.simpletimetracker.core.utils.BuildVersions
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
import com.example.util.simpletimetracker.core.view.TransitionNames
import com.example.util.simpletimetracker.feature_change_running_record.R
-import com.example.util.simpletimetracker.feature_change_running_record.di.ChangeRunningRecordComponentProvider
import com.example.util.simpletimetracker.feature_change_running_record.viewData.ChangeRunningRecordViewData
import com.example.util.simpletimetracker.feature_change_running_record.viewModel.ChangeRunningRecordViewModel
import com.example.util.simpletimetracker.navigation.params.ChangeRunningRecordParams
@@ -33,12 +32,16 @@ import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.change_running_record_fragment.*
import javax.inject.Inject
-class ChangeRunningRecordFragment : BaseFragment(R.layout.change_running_record_fragment),
+@AndroidEntryPoint
+class ChangeRunningRecordFragment : BaseFragment(),
DateTimeDialogListener {
+ override val layout: Int get() = R.layout.change_running_record_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -60,12 +63,6 @@ class ChangeRunningRecordFragment : BaseFragment(R.layout.change_running_record_
arguments?.getParcelable(ARGS_PARAMS) ?: ChangeRunningRecordParams()
}
- override fun initDi() {
- (activity?.application as ChangeRunningRecordComponentProvider)
- .changeRunningRecordComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_dialogs/build.gradle.kts b/feature_dialogs/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_dialogs/build.gradle.kts
+++ b/feature_dialogs/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponent.kt
deleted file mode 100644
index bee05f44..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.archive.di
-
-import com.example.util.simpletimetracker.feature_dialogs.archive.view.ArchiveDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ArchiveDialogComponent {
-
- fun inject(fragment: ArchiveDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponentProvider.kt
deleted file mode 100644
index 07272285..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.archive.di
-
-interface ArchiveDialogComponentProvider {
-
- var archiveDialogComponent: ArchiveDialogComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/view/ArchiveDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/view/ArchiveDialogFragment.kt
index c58d8e59..ba0c8abc 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/view/ArchiveDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/view/ArchiveDialogFragment.kt
@@ -21,7 +21,6 @@ import com.example.util.simpletimetracker.feature_dialogs.R
import com.example.util.simpletimetracker.feature_dialogs.archive.adapter.createArchiveDialogButtonsAdapterDelegate
import com.example.util.simpletimetracker.feature_dialogs.archive.adapter.createArchiveDialogInfoAdapterDelegate
import com.example.util.simpletimetracker.feature_dialogs.archive.adapter.createArchiveDialogTitleAdapterDelegate
-import com.example.util.simpletimetracker.feature_dialogs.archive.di.ArchiveDialogComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.archive.viewModel.ArchiveDialogViewModel
import com.example.util.simpletimetracker.navigation.params.ArchiveDialogParams
import com.google.android.flexbox.FlexDirection
@@ -29,11 +28,13 @@ import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.archive_dialog_fragment.*
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import javax.inject.Inject
+@AndroidEntryPoint
class ArchiveDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -81,7 +82,6 @@ class ArchiveDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initViewModel()
}
@@ -105,12 +105,6 @@ class ArchiveDialogFragment : BottomSheetDialogFragment() {
setSkipCollapsed()
}
- private fun initDi() {
- (activity?.application as ArchiveDialogComponentProvider)
- .archiveDialogComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvArchiveDialogContent.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponent.kt
deleted file mode 100644
index 1c041eac..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.cardOrder.di
-
-import com.example.util.simpletimetracker.feature_dialogs.cardOrder.view.CardOrderDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface CardOrderComponent {
-
- fun inject(fragment: CardOrderDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponentProvider.kt
deleted file mode 100644
index 25a6d983..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.cardOrder.di
-
-interface CardOrderComponentProvider {
-
- var cardOrderComponent: CardOrderComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/view/CardOrderDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/view/CardOrderDialogFragment.kt
index cc83de62..bbaf475b 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/view/CardOrderDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/view/CardOrderDialogFragment.kt
@@ -18,7 +18,6 @@ import com.example.util.simpletimetracker.core.extension.onItemMoved
import com.example.util.simpletimetracker.core.extension.setFullScreen
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.cardOrder.di.CardOrderComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.cardOrder.viewModel.CardOrderViewModel
import com.example.util.simpletimetracker.navigation.params.CardOrderDialogParams
import com.google.android.flexbox.FlexDirection
@@ -26,9 +25,11 @@ import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.card_order_dialog_fragment.*
import javax.inject.Inject
+@AndroidEntryPoint
class CardOrderDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -64,7 +65,6 @@ class CardOrderDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -80,12 +80,6 @@ class CardOrderDialogFragment : BottomSheetDialogFragment() {
setFullScreen()
}
- private fun initDi() {
- (activity?.application as CardOrderComponentProvider)
- .cardOrderComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvCardOrderContainer.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponent.kt
deleted file mode 100644
index 1b95a503..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.cardSize.di
-
-import com.example.util.simpletimetracker.feature_dialogs.cardSize.view.CardSizeDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface CardSizeComponent {
-
- fun inject(fragment: CardSizeDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponentProvider.kt
deleted file mode 100644
index b97632a3..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.cardSize.di
-
-interface CardSizeComponentProvider {
-
- var cardSizeComponent: CardSizeComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/view/CardSizeDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/view/CardSizeDialogFragment.kt
index 149e2361..8d707757 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/view/CardSizeDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/view/CardSizeDialogFragment.kt
@@ -17,7 +17,6 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.extension.setOnClick
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.cardSize.di.CardSizeComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.cardSize.viewData.CardSizeDefaultButtonViewData
import com.example.util.simpletimetracker.feature_dialogs.cardSize.viewModel.CardSizeViewModel
import com.google.android.flexbox.FlexDirection
@@ -25,9 +24,11 @@ import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.card_size_dialog_fragment.*
import javax.inject.Inject
+@AndroidEntryPoint
class CardSizeDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -61,7 +62,6 @@ class CardSizeDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -76,12 +76,6 @@ class CardSizeDialogFragment : BottomSheetDialogFragment() {
setSkipCollapsed()
}
- private fun initDi() {
- (activity?.application as CardSizeComponentProvider)
- .cardSizeComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvCardSizeContainer.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponent.kt
deleted file mode 100644
index d7eeceb4..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.chartFilter.di
-
-import com.example.util.simpletimetracker.feature_dialogs.chartFilter.view.ChartFilterDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface ChartFilterComponent {
-
- fun inject(fragment: ChartFilterDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponentProvider.kt
deleted file mode 100644
index 2d148651..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.chartFilter.di
-
-interface ChartFilterComponentProvider {
-
- var chartFilterComponent: ChartFilterComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/view/ChartFilterDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/view/ChartFilterDialogFragment.kt
index ce94d721..137bd781 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/view/ChartFilterDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/view/ChartFilterDialogFragment.kt
@@ -22,16 +22,17 @@ import com.example.util.simpletimetracker.core.extension.getAllFragments
import com.example.util.simpletimetracker.core.extension.setOnClick
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.chartFilter.di.ChartFilterComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.chartFilter.viewModel.ChartFilterViewModel
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.chart_filter_dialog_fragment.*
import javax.inject.Inject
+@AndroidEntryPoint
class ChartFilterDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -72,7 +73,6 @@ class ChartFilterDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -103,12 +103,6 @@ class ChartFilterDialogFragment : BottomSheetDialogFragment() {
blockContentScroll(rvChartFilterContainer)
}
- private fun initDi() {
- (activity?.application as ChartFilterComponentProvider)
- .chartFilterComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvChartFilterContainer.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/DateTimeDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/DateTimeDialogFragment.kt
index 1066c2cb..7044052a 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/DateTimeDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/DateTimeDialogFragment.kt
@@ -17,7 +17,6 @@ import com.example.util.simpletimetracker.domain.extension.orFalse
import com.example.util.simpletimetracker.domain.extension.orZero
import com.example.util.simpletimetracker.domain.model.DayOfWeek
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.dateTime.di.DateTimeComponentProvider
import com.example.util.simpletimetracker.navigation.params.DateTimeDialogParams
import com.example.util.simpletimetracker.navigation.params.DateTimeDialogType
import kotlinx.android.synthetic.main.date_time_dialog_fragment.btnDateTimeDialogPositive
@@ -83,7 +82,6 @@ class DateTimeDialogFragment : AppCompatDialogFragment(),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
newTimestamp = timestamp
- initDi()
initUi()
initUx()
}
@@ -107,12 +105,6 @@ class DateTimeDialogFragment : AppCompatDialogFragment(),
newTimestamp = calendar.timeInMillis
}
- private fun initDi() {
- (activity?.application as DateTimeComponentProvider)
- .dateTimeComponent
- ?.inject(this)
- }
-
private fun initUi() {
initFragments()
initTabs()
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponent.kt
deleted file mode 100644
index 09433ea6..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.dateTime.di
-
-import com.example.util.simpletimetracker.feature_dialogs.dateTime.DateTimeDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface DateTimeComponent {
-
- fun inject(fragment: DateTimeDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponentProvider.kt
deleted file mode 100644
index c74f282a..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.dateTime.di
-
-interface DateTimeComponentProvider {
-
- var dateTimeComponent: DateTimeComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponent.kt
deleted file mode 100644
index 9e65f41c..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.duration.di
-
-import com.example.util.simpletimetracker.feature_dialogs.duration.view.DurationDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface DurationPickerComponent {
-
- fun inject(fragment: DurationDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponentProvider.kt
deleted file mode 100644
index ede64670..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.duration.di
-
-interface DurationPickerComponentProvider {
-
- var durationPickerComponent: DurationPickerComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/view/DurationDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/view/DurationDialogFragment.kt
index b880cd8e..c506ea1f 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/view/DurationDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/view/DurationDialogFragment.kt
@@ -18,14 +18,15 @@ import com.example.util.simpletimetracker.core.extension.setOnClick
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.domain.extension.orZero
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.duration.di.DurationPickerComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.duration.extra.DurationPickerExtra
import com.example.util.simpletimetracker.feature_dialogs.duration.viewModel.DurationPickerViewModel
import com.example.util.simpletimetracker.navigation.params.DurationDialogParams
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.duration_dialog_fragment.*
import javax.inject.Inject
+@AndroidEntryPoint
class DurationDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -58,7 +59,6 @@ class DurationDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -84,12 +84,6 @@ class DurationDialogFragment : BottomSheetDialogFragment() {
setFullScreen()
}
- private fun initDi() {
- (activity?.application as DurationPickerComponentProvider)
- .durationPickerComponent
- ?.inject(this)
- }
-
private fun initUi() {
// Do nothing
}
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponent.kt
deleted file mode 100644
index 1ff0d90c..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di
-
-import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.view.EmojiSelectionDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface EmojiSelectionComponent {
-
- fun inject(fragment: EmojiSelectionDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponentProvider.kt
deleted file mode 100644
index 00125fb6..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di
-
-interface EmojiSelectionComponentProvider {
-
- var emojiSelectionComponent: EmojiSelectionComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/view/EmojiSelectionDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/view/EmojiSelectionDialogFragment.kt
index 6b93016a..445e7654 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/view/EmojiSelectionDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/view/EmojiSelectionDialogFragment.kt
@@ -17,7 +17,6 @@ import com.example.util.simpletimetracker.core.dialog.EmojiSelectionDialogListen
import com.example.util.simpletimetracker.core.extension.getAllFragments
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.di.EmojiSelectionComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.emojiSelection.viewModel.EmojiSelectionViewModel
import com.example.util.simpletimetracker.navigation.params.EmojiSelectionDialogParams
import com.google.android.flexbox.FlexDirection
@@ -25,9 +24,11 @@ import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.emoji_selection_dialog_fragment.*
import javax.inject.Inject
+@AndroidEntryPoint
class EmojiSelectionDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -65,7 +66,6 @@ class EmojiSelectionDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -90,12 +90,6 @@ class EmojiSelectionDialogFragment : BottomSheetDialogFragment() {
setSkipCollapsed()
}
- private fun initDi() {
- (activity?.application as EmojiSelectionComponentProvider)
- .emojiSelectionComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvEmojiSelectionContainer.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/view/RecordTagSelectionDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/RecordTagSelectionDialogFragment.kt
similarity index 87%
rename from feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/view/RecordTagSelectionDialogFragment.kt
rename to feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/RecordTagSelectionDialogFragment.kt
index 6eb2b432..598f165c 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/view/RecordTagSelectionDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/RecordTagSelectionDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.view
+package com.example.util.simpletimetracker.feature_dialogs.recordTagSelection
import android.os.Bundle
import android.view.LayoutInflater
@@ -9,13 +9,14 @@ import androidx.fragment.app.commit
import com.example.util.simpletimetracker.core.dialog.OnTagSelectedListener
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di.RecordTagSelectionDialogComponentProvider
import com.example.util.simpletimetracker.navigation.Screen
import com.example.util.simpletimetracker.navigation.ScreenFactory
import com.example.util.simpletimetracker.navigation.params.RecordTagSelectionParams
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
+@AndroidEntryPoint
class RecordTagSelectionDialogFragment : BottomSheetDialogFragment(),
OnTagSelectedListener {
@@ -46,7 +47,6 @@ class RecordTagSelectionDialogFragment : BottomSheetDialogFragment(),
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
}
@@ -58,12 +58,6 @@ class RecordTagSelectionDialogFragment : BottomSheetDialogFragment(),
setSkipCollapsed()
}
- private fun initDi() {
- (activity?.application as RecordTagSelectionDialogComponentProvider)
- .recordTagSelectionDialogComponent
- ?.inject(this)
- }
-
private fun initUi() {
screenFactory.getFragment(
screen = Screen.RECORD_TAG_SELECTION,
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponent.kt
deleted file mode 100644
index a837b9c4..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di
-
-import com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.view.RecordTagSelectionDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface RecordTagSelectionDialogComponent {
-
- fun inject(fragment: RecordTagSelectionDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponentProvider.kt
deleted file mode 100644
index 75fc2304..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.recordTagSelection.di
-
-interface RecordTagSelectionDialogComponentProvider {
-
- var recordTagSelectionDialogComponent: RecordTagSelectionDialogComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponent.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponent.kt
deleted file mode 100644
index 44da11d9..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.typesFilter.di
-
-import com.example.util.simpletimetracker.feature_dialogs.typesFilter.view.TypesFilterDialogFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface TypesFilterComponent {
-
- fun inject(fragment: TypesFilterDialogFragment)
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponentProvider.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponentProvider.kt
deleted file mode 100644
index 507666b8..00000000
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_dialogs.typesFilter.di
-
-interface TypesFilterComponentProvider {
-
- var typesFilterComponent: TypesFilterComponent?
-}
\ No newline at end of file
diff --git a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/view/TypesFilterDialogFragment.kt b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/view/TypesFilterDialogFragment.kt
index 35d7b6fe..c9d2f7e2 100644
--- a/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/view/TypesFilterDialogFragment.kt
+++ b/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/view/TypesFilterDialogFragment.kt
@@ -24,7 +24,6 @@ import com.example.util.simpletimetracker.core.extension.setFullScreen
import com.example.util.simpletimetracker.core.extension.setOnClick
import com.example.util.simpletimetracker.core.extension.setSkipCollapsed
import com.example.util.simpletimetracker.feature_dialogs.R
-import com.example.util.simpletimetracker.feature_dialogs.typesFilter.di.TypesFilterComponentProvider
import com.example.util.simpletimetracker.feature_dialogs.typesFilter.viewModel.TypesFilterViewModel
import com.example.util.simpletimetracker.navigation.params.TypesFilterDialogParams
import com.example.util.simpletimetracker.navigation.params.TypesFilterParams
@@ -33,11 +32,13 @@ import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.types_filter_dialog_fragment.btnTypesFilterHideAll
import kotlinx.android.synthetic.main.types_filter_dialog_fragment.btnTypesFilterShowAll
import kotlinx.android.synthetic.main.types_filter_dialog_fragment.rvTypesFilterContainer
import javax.inject.Inject
+@AndroidEntryPoint
class TypesFilterDialogFragment : BottomSheetDialogFragment() {
@Inject
@@ -79,7 +80,6 @@ class TypesFilterDialogFragment : BottomSheetDialogFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
- initDi()
initUi()
initUx()
initViewModel()
@@ -111,12 +111,6 @@ class TypesFilterDialogFragment : BottomSheetDialogFragment() {
blockContentScroll(rvTypesFilterContainer)
}
- private fun initDi() {
- (activity?.application as TypesFilterComponentProvider)
- .typesFilterComponent
- ?.inject(this)
- }
-
private fun initUi() {
rvTypesFilterContainer.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_main/build.gradle.kts b/feature_main/build.gradle.kts
index f859ac35..fae7ec2c 100644
--- a/feature_main/build.gradle.kts
+++ b/feature_main/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -29,6 +30,6 @@ dependencies {
implementation(project(":feature_records"))
implementation(project(":feature_statistics"))
implementation(project(":feature_settings"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/MainFragment.kt b/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/MainFragment.kt
index 31c7d90d..0747e04b 100644
--- a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/MainFragment.kt
+++ b/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/MainFragment.kt
@@ -12,15 +12,18 @@ import com.example.util.simpletimetracker.core.extension.visible
import com.example.util.simpletimetracker.core.interactor.NotificationTypeInteractor
import com.example.util.simpletimetracker.core.interactor.WidgetInteractor
import com.example.util.simpletimetracker.core.viewModel.BackupViewModel
-import com.example.util.simpletimetracker.feature_main.di.MainComponentProvider
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.main_fragment.*
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import javax.inject.Inject
-class MainFragment : BaseFragment(R.layout.main_fragment) {
+@AndroidEntryPoint
+class MainFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.main_fragment
@Inject
lateinit var backupViewModelFactory: BaseViewModelFactory
@@ -70,12 +73,6 @@ class MainFragment : BaseFragment(R.layout.main_fragment) {
)
}
- override fun initDi() {
- (activity?.application as MainComponentProvider)
- .mainComponent
- ?.inject(this)
- }
-
override fun initUi() {
syncState()
setupPager()
diff --git a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponent.kt b/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponent.kt
deleted file mode 100644
index 1e12abb4..00000000
--- a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_main.di
-
-import com.example.util.simpletimetracker.feature_main.MainFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface MainComponent {
-
- fun inject(fragment: MainFragment)
-}
\ No newline at end of file
diff --git a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponentProvider.kt b/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponentProvider.kt
deleted file mode 100644
index 4b7760ce..00000000
--- a/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_main.di
-
-interface MainComponentProvider {
-
- var mainComponent: MainComponent?
-}
\ No newline at end of file
diff --git a/feature_notification/build.gradle.kts b/feature_notification/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_notification/build.gradle.kts
+++ b/feature_notification/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponent.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponent.kt
deleted file mode 100644
index 9ad14dc0..00000000
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_notification.di
-
-import com.example.util.simpletimetracker.feature_notification.recevier.NotificationReceiver
-import dagger.Subcomponent
-
-@Subcomponent
-interface NotificationComponent {
-
- fun inject(receiver: NotificationReceiver)
-}
\ No newline at end of file
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponentProvider.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponentProvider.kt
deleted file mode 100644
index 3b8c5b8f..00000000
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_notification.di
-
-interface NotificationComponentProvider {
-
- var notificationComponent: NotificationComponent?
-}
\ No newline at end of file
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationModule.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationModule.kt
index 3e1d3a67..ecf19d5a 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationModule.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationModule.kt
@@ -8,8 +8,11 @@ import com.example.util.simpletimetracker.feature_notification.inactivity.intera
import com.example.util.simpletimetracker.feature_notification.recordType.interactor.NotificationTypeInteractorImpl
import dagger.Binds
import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.android.components.FragmentComponent
@Module
+@InstallIn(FragmentComponent::class)
abstract class NotificationModule {
@Binds
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/manager/NotificationGoalTimeManager.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/manager/NotificationGoalTimeManager.kt
index dee1d1c3..03d9e7f8 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/manager/NotificationGoalTimeManager.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/manager/NotificationGoalTimeManager.kt
@@ -16,16 +16,16 @@ import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import com.example.util.simpletimetracker.core.extension.getBitmapFromView
import com.example.util.simpletimetracker.core.extension.measureExactly
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_notification.R
import com.example.util.simpletimetracker.feature_notification.recordType.customView.NotificationIconView
import com.example.util.simpletimetracker.navigation.Router
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class NotificationGoalTimeManager @Inject constructor(
- @AppContext private val context: Context,
+ @ApplicationContext private val context: Context,
private val router: Router
) {
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/scheduler/NotificationGoalTimeScheduler.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/scheduler/NotificationGoalTimeScheduler.kt
index 8d8a8215..2abd57ca 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/scheduler/NotificationGoalTimeScheduler.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/goalTime/scheduler/NotificationGoalTimeScheduler.kt
@@ -6,12 +6,12 @@ import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.os.Build
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_notification.recevier.NotificationReceiver
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class NotificationGoalTimeScheduler @Inject constructor(
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) {
private val alarmManager
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/manager/NotificationInactivityManager.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/manager/NotificationInactivityManager.kt
index 04d2c03c..52fd39d0 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/manager/NotificationInactivityManager.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/manager/NotificationInactivityManager.kt
@@ -16,16 +16,16 @@ import com.example.util.simpletimetracker.core.extension.getBitmapFromView
import com.example.util.simpletimetracker.core.extension.measureExactly
import com.example.util.simpletimetracker.core.mapper.ColorMapper
import com.example.util.simpletimetracker.core.viewData.RecordTypeIcon
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_notification.R
import com.example.util.simpletimetracker.feature_notification.recordType.customView.NotificationIconView
import com.example.util.simpletimetracker.navigation.Router
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class NotificationInactivityManager @Inject constructor(
- @AppContext private val context: Context,
+ @ApplicationContext private val context: Context,
private val colorMapper: ColorMapper,
private val router: Router
) {
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/scheduler/NotificationInactivityScheduler.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/scheduler/NotificationInactivityScheduler.kt
index 11d6dc68..e0c8954f 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/scheduler/NotificationInactivityScheduler.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/scheduler/NotificationInactivityScheduler.kt
@@ -6,12 +6,12 @@ import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.os.Build
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_notification.recevier.NotificationReceiver
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class NotificationInactivityScheduler @Inject constructor(
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) {
private val alarmManager
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recevier/NotificationReceiver.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recevier/NotificationReceiver.kt
index affe8288..19c6bcd7 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recevier/NotificationReceiver.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recevier/NotificationReceiver.kt
@@ -3,12 +3,13 @@ package com.example.util.simpletimetracker.feature_notification.recevier
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
-import com.example.util.simpletimetracker.feature_notification.di.NotificationComponentProvider
import com.example.util.simpletimetracker.feature_notification.goalTime.controller.NotificationGoalTimeBroadcastController
import com.example.util.simpletimetracker.feature_notification.inactivity.controller.NotificationInactivityBroadcastController
import com.example.util.simpletimetracker.feature_notification.recordType.controller.NotificationTypeBroadcastController
+import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
+@AndroidEntryPoint
class NotificationReceiver : BroadcastReceiver() {
@Inject
@@ -23,10 +24,6 @@ class NotificationReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (context == null || intent == null || intent.action == null) return
- (context.applicationContext as? NotificationComponentProvider)
- ?.notificationComponent
- ?.inject(this)
-
when (intent.action) {
ACTION_INACTIVITY_REMINDER -> {
inactivityController.onInactivityReminder()
diff --git a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recordType/manager/NotificationTypeManager.kt b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recordType/manager/NotificationTypeManager.kt
index 6ab2be0c..58b4fec8 100644
--- a/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recordType/manager/NotificationTypeManager.kt
+++ b/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/recordType/manager/NotificationTypeManager.kt
@@ -13,16 +13,16 @@ import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import com.example.util.simpletimetracker.core.extension.getBitmapFromView
import com.example.util.simpletimetracker.core.extension.measureExactly
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_notification.R
import com.example.util.simpletimetracker.feature_notification.recordType.customView.NotificationIconView
import com.example.util.simpletimetracker.navigation.Router
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class NotificationTypeManager @Inject constructor(
- @AppContext private val context: Context,
+ @ApplicationContext private val context: Context,
private val router: Router
) {
diff --git a/feature_records/build.gradle.kts b/feature_records/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_records/build.gradle.kts
+++ b/feature_records/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponent.kt b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponent.kt
deleted file mode 100644
index 3d67874a..00000000
--- a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponent.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.example.util.simpletimetracker.feature_records.di
-
-import com.example.util.simpletimetracker.feature_records.view.RecordsContainerFragment
-import com.example.util.simpletimetracker.feature_records.view.RecordsFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface RecordsComponent {
-
- fun inject(fragment: RecordsFragment)
- fun inject(fragment: RecordsContainerFragment)
-}
\ No newline at end of file
diff --git a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponentProvider.kt b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponentProvider.kt
deleted file mode 100644
index b5ae3300..00000000
--- a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_records.di
-
-interface RecordsComponentProvider {
-
- var recordsComponent: RecordsComponent?
-}
\ No newline at end of file
diff --git a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsContainerFragment.kt b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsContainerFragment.kt
index 69942079..b979aa83 100644
--- a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsContainerFragment.kt
+++ b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsContainerFragment.kt
@@ -11,17 +11,20 @@ import com.example.util.simpletimetracker.core.extension.setOnLongClick
import com.example.util.simpletimetracker.core.viewModel.RemoveRecordViewModel
import com.example.util.simpletimetracker.feature_records.R
import com.example.util.simpletimetracker.feature_records.adapter.RecordsContainerAdapter
-import com.example.util.simpletimetracker.feature_records.di.RecordsComponentProvider
import com.example.util.simpletimetracker.feature_records.viewModel.RecordsContainerViewModel
import com.example.util.simpletimetracker.navigation.Notification
import com.example.util.simpletimetracker.navigation.Router
import com.example.util.simpletimetracker.navigation.params.SnackBarParams
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.records_container_fragment.*
import javax.inject.Inject
-class RecordsContainerFragment : BaseFragment(R.layout.records_container_fragment),
+@AndroidEntryPoint
+class RecordsContainerFragment : BaseFragment(),
DateTimeDialogListener {
+ override val layout: Int get() = R.layout.records_container_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -39,12 +42,6 @@ class RecordsContainerFragment : BaseFragment(R.layout.records_container_fragmen
factoryProducer = { removeRecordViewModelFactory }
)
- override fun initDi() {
- (activity?.application as RecordsComponentProvider)
- .recordsComponent
- ?.inject(this)
- }
-
override fun initUi() {
pagerRecordsContainer.apply {
adapter = RecordsContainerAdapter(this@RecordsContainerFragment)
diff --git a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsFragment.kt b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsFragment.kt
index fa59bb46..aeaeced4 100644
--- a/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsFragment.kt
+++ b/feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/view/RecordsFragment.kt
@@ -15,14 +15,17 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.viewModel.RemoveRecordViewModel
import com.example.util.simpletimetracker.domain.extension.orZero
import com.example.util.simpletimetracker.feature_records.R
-import com.example.util.simpletimetracker.feature_records.di.RecordsComponentProvider
import com.example.util.simpletimetracker.feature_records.extra.RecordsExtra
import com.example.util.simpletimetracker.feature_records.viewModel.RecordsViewModel
import com.example.util.simpletimetracker.navigation.params.RecordsParams
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.records_fragment.rvRecordsList
import javax.inject.Inject
-class RecordsFragment : BaseFragment(R.layout.records_fragment) {
+@AndroidEntryPoint
+class RecordsFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.records_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -47,12 +50,6 @@ class RecordsFragment : BaseFragment(R.layout.records_fragment) {
)
}
- override fun initDi() {
- (activity?.application as RecordsComponentProvider)
- .recordsComponent
- ?.inject(this)
- }
-
override fun initUi() {
parentFragment?.postponeEnterTransition()
diff --git a/feature_records_all/build.gradle.kts b/feature_records_all/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_records_all/build.gradle.kts
+++ b/feature_records_all/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponent.kt b/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponent.kt
deleted file mode 100644
index fa58b9f3..00000000
--- a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_records_all.di
-
-import com.example.util.simpletimetracker.feature_records_all.view.RecordsAllFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface RecordsAllComponent {
-
- fun inject(fragment: RecordsAllFragment)
-}
\ No newline at end of file
diff --git a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponentProvider.kt b/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponentProvider.kt
deleted file mode 100644
index eea8fd3c..00000000
--- a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_records_all.di
-
-interface RecordsAllComponentProvider {
-
- var recordsAllComponent: RecordsAllComponent?
-}
\ No newline at end of file
diff --git a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/view/RecordsAllFragment.kt b/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/view/RecordsAllFragment.kt
index 9e6e96a5..d10b3905 100644
--- a/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/view/RecordsAllFragment.kt
+++ b/feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/view/RecordsAllFragment.kt
@@ -14,17 +14,20 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.viewModel.RemoveRecordViewModel
import com.example.util.simpletimetracker.feature_records_all.R
import com.example.util.simpletimetracker.feature_records_all.adapter.createRecordAllDateAdapterDelegate
-import com.example.util.simpletimetracker.feature_records_all.di.RecordsAllComponentProvider
import com.example.util.simpletimetracker.feature_records_all.viewData.RecordsAllSortOrderViewData
import com.example.util.simpletimetracker.feature_records_all.viewModel.RecordsAllViewModel
import com.example.util.simpletimetracker.navigation.Notification
import com.example.util.simpletimetracker.navigation.Router
import com.example.util.simpletimetracker.navigation.params.RecordsAllParams
import com.example.util.simpletimetracker.navigation.params.SnackBarParams
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.records_all_fragment.*
import javax.inject.Inject
-class RecordsAllFragment : BaseFragment(R.layout.records_all_fragment) {
+@AndroidEntryPoint
+class RecordsAllFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.records_all_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -54,12 +57,6 @@ class RecordsAllFragment : BaseFragment(R.layout.records_all_fragment) {
arguments?.getParcelable(ARGS_PARAMS) ?: RecordsAllParams()
}
- override fun initDi() {
- (activity?.application as RecordsAllComponentProvider)
- .recordsAllComponent
- ?.inject(this)
- }
-
override fun initUi() {
postponeEnterTransition()
diff --git a/feature_running_records/build.gradle.kts b/feature_running_records/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_running_records/build.gradle.kts
+++ b/feature_running_records/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponent.kt b/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponent.kt
deleted file mode 100644
index 5824af7e..00000000
--- a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_running_records.di
-
-import com.example.util.simpletimetracker.feature_running_records.view.RunningRecordsFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface RunningRecordsComponent {
-
- fun inject(fragment: RunningRecordsFragment)
-}
\ No newline at end of file
diff --git a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponentProvider.kt b/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponentProvider.kt
deleted file mode 100644
index 93201d55..00000000
--- a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_running_records.di
-
-interface RunningRecordsComponentProvider {
-
- var runningRecordsComponent: RunningRecordsComponent?
-}
\ No newline at end of file
diff --git a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/view/RunningRecordsFragment.kt b/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/view/RunningRecordsFragment.kt
index 1153e847..a6a55ae4 100644
--- a/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/view/RunningRecordsFragment.kt
+++ b/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/view/RunningRecordsFragment.kt
@@ -13,18 +13,21 @@ import com.example.util.simpletimetracker.feature_running_records.R
import com.example.util.simpletimetracker.feature_running_records.adapter.createRunningRecordAdapterDelegate
import com.example.util.simpletimetracker.feature_running_records.adapter.createRunningRecordTypeAdapterDelegate
import com.example.util.simpletimetracker.feature_running_records.adapter.createRunningRecordTypeAddAdapterDelegate
-import com.example.util.simpletimetracker.feature_running_records.di.RunningRecordsComponentProvider
import com.example.util.simpletimetracker.feature_running_records.viewModel.RunningRecordsViewModel
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.running_records_fragment.*
import javax.inject.Inject
-class RunningRecordsFragment : BaseFragment(R.layout.running_records_fragment),
+@AndroidEntryPoint
+class RunningRecordsFragment : BaseFragment(),
OnTagSelectedListener {
+ override val layout: Int get() = R.layout.running_records_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -43,12 +46,6 @@ class RunningRecordsFragment : BaseFragment(R.layout.running_records_fragment),
)
}
- override fun initDi() {
- (activity?.application as RunningRecordsComponentProvider)
- .runningRecordsComponent
- ?.inject(this)
- }
-
override fun initUi() {
parentFragment?.postponeEnterTransition()
diff --git a/feature_settings/build.gradle.kts b/feature_settings/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_settings/build.gradle.kts
+++ b/feature_settings/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponent.kt b/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponent.kt
deleted file mode 100644
index a363ebeb..00000000
--- a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_settings.di
-
-import com.example.util.simpletimetracker.feature_settings.view.SettingsFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface SettingsComponent {
-
- fun inject(fragment: SettingsFragment)
-}
\ No newline at end of file
diff --git a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponentProvider.kt b/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponentProvider.kt
deleted file mode 100644
index b3af1eec..00000000
--- a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_settings.di
-
-interface SettingsComponentProvider {
-
- var settingsComponent: SettingsComponent?
-}
\ No newline at end of file
diff --git a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt b/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt
index d716fee8..899ab46d 100644
--- a/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt
+++ b/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt
@@ -13,22 +13,24 @@ import com.example.util.simpletimetracker.core.dialog.StandardDialogListener
import com.example.util.simpletimetracker.core.extension.setOnClick
import com.example.util.simpletimetracker.core.extension.visible
import com.example.util.simpletimetracker.core.viewModel.BackupViewModel
-import com.example.util.simpletimetracker.feature_settings.BuildConfig
import com.example.util.simpletimetracker.feature_settings.R
-import com.example.util.simpletimetracker.feature_settings.di.SettingsComponentProvider
import com.example.util.simpletimetracker.feature_settings.viewData.CardOrderViewData
import com.example.util.simpletimetracker.feature_settings.viewData.FirstDayOfWeekViewData
import com.example.util.simpletimetracker.feature_settings.viewModel.SettingsViewModel
import com.example.util.simpletimetracker.navigation.RequestCode.REQUEST_CODE_CREATE_CSV_FILE
import com.example.util.simpletimetracker.navigation.RequestCode.REQUEST_CODE_CREATE_FILE
import com.example.util.simpletimetracker.navigation.RequestCode.REQUEST_CODE_OPEN_FILE
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.settings_fragment.*
import javax.inject.Inject
-class SettingsFragment : BaseFragment(R.layout.settings_fragment),
+@AndroidEntryPoint
+class SettingsFragment : BaseFragment(),
StandardDialogListener,
DurationDialogListener {
+ override val layout: Int get() = R.layout.settings_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -44,13 +46,6 @@ class SettingsFragment : BaseFragment(R.layout.settings_fragment),
factoryProducer = { backupViewModelFactory }
)
- override fun initDi() {
- (activity?.application as SettingsComponentProvider)
- .settingsComponent
- ?.inject(this)
- tvSettingsVersionName.text = BuildConfig.VERSION_NAME
- }
-
override fun initUx() {
spinnerSettingsRecordTypeSort.onPositionSelected = viewModel::onRecordTypeOrderSelected
btnCardOrderManual.setOnClick(viewModel::onCardOrderManualClick)
diff --git a/feature_statistics/build.gradle.kts b/feature_statistics/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_statistics/build.gradle.kts
+++ b/feature_statistics/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponent.kt b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponent.kt
deleted file mode 100644
index 52a254c0..00000000
--- a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponent.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.example.util.simpletimetracker.feature_statistics.di
-
-import com.example.util.simpletimetracker.feature_statistics.view.StatisticsContainerFragment
-import com.example.util.simpletimetracker.feature_statistics.view.StatisticsFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface StatisticsComponent {
-
- fun inject(fragment: StatisticsFragment)
- fun inject(fragment: StatisticsContainerFragment)
-}
\ No newline at end of file
diff --git a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponentProvider.kt b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponentProvider.kt
deleted file mode 100644
index fda782be..00000000
--- a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_statistics.di
-
-interface StatisticsComponentProvider {
-
- var statisticsComponent: StatisticsComponent?
-}
\ No newline at end of file
diff --git a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsContainerFragment.kt b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsContainerFragment.kt
index 5c9571dd..79b381d6 100644
--- a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsContainerFragment.kt
+++ b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsContainerFragment.kt
@@ -13,15 +13,18 @@ import com.example.util.simpletimetracker.core.viewData.RangesViewData
import com.example.util.simpletimetracker.domain.model.RangeLength
import com.example.util.simpletimetracker.feature_statistics.R
import com.example.util.simpletimetracker.feature_statistics.adapter.StatisticsContainerAdapter
-import com.example.util.simpletimetracker.feature_statistics.di.StatisticsComponentProvider
import com.example.util.simpletimetracker.feature_statistics.viewModel.StatisticsContainerViewModel
import com.example.util.simpletimetracker.feature_statistics.viewModel.StatisticsSettingsViewModel
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.statistics_container_fragment.*
import javax.inject.Inject
-class StatisticsContainerFragment : BaseFragment(R.layout.statistics_container_fragment),
+@AndroidEntryPoint
+class StatisticsContainerFragment : BaseFragment(),
DateTimeDialogListener {
+ override val layout: Int get() = R.layout.statistics_container_fragment
+
@Inject
lateinit var settingsViewModelFactory: BaseViewModelFactory
@@ -44,12 +47,6 @@ class StatisticsContainerFragment : BaseFragment(R.layout.statistics_container_f
}
}
- override fun initDi() {
- (activity?.application as StatisticsComponentProvider)
- .statisticsComponent
- ?.inject(this)
- }
-
override fun initUx() {
spinnerStatisticsContainer.onItemSelected = {
viewModel.onRangeClick(it)
diff --git a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsFragment.kt b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsFragment.kt
index f51b8775..893679ac 100644
--- a/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsFragment.kt
+++ b/feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/view/StatisticsFragment.kt
@@ -17,17 +17,20 @@ import com.example.util.simpletimetracker.feature_statistics.R
import com.example.util.simpletimetracker.feature_statistics.adapter.createStatisticsChartAdapterDelegate
import com.example.util.simpletimetracker.feature_statistics.adapter.createStatisticsEmptyAdapterDelegate
import com.example.util.simpletimetracker.feature_statistics.adapter.createStatisticsInfoAdapterDelegate
-import com.example.util.simpletimetracker.feature_statistics.di.StatisticsComponentProvider
import com.example.util.simpletimetracker.feature_statistics.extra.StatisticsExtra
import com.example.util.simpletimetracker.feature_statistics.viewModel.StatisticsSettingsViewModel
import com.example.util.simpletimetracker.feature_statistics.viewModel.StatisticsViewModel
import com.example.util.simpletimetracker.navigation.params.StatisticsParams
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.statistics_fragment.*
import javax.inject.Inject
-class StatisticsFragment : BaseFragment(R.layout.statistics_fragment),
+@AndroidEntryPoint
+class StatisticsFragment : BaseFragment(),
ChartFilterDialogListener {
+ override val layout: Int get() = R.layout.statistics_fragment
+
@Inject
lateinit var settingsViewModelFactory: BaseViewModelFactory
@@ -56,12 +59,6 @@ class StatisticsFragment : BaseFragment(R.layout.statistics_fragment),
)
}
- override fun initDi() {
- (activity?.application as StatisticsComponentProvider)
- .statisticsComponent
- ?.inject(this)
- }
-
override fun initUi() {
parentFragment?.postponeEnterTransition()
diff --git a/feature_statistics_detail/build.gradle.kts b/feature_statistics_detail/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_statistics_detail/build.gradle.kts
+++ b/feature_statistics_detail/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponent.kt b/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponent.kt
deleted file mode 100644
index 0cb1acea..00000000
--- a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_statistics_detail.di
-
-import com.example.util.simpletimetracker.feature_statistics_detail.view.StatisticsDetailFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface StatisticsDetailComponent {
-
- fun inject(fragment: StatisticsDetailFragment)
-}
\ No newline at end of file
diff --git a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponentProvider.kt b/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponentProvider.kt
deleted file mode 100644
index 42d91da3..00000000
--- a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_statistics_detail.di
-
-interface StatisticsDetailComponentProvider {
-
- var statisticsDetailComponent: StatisticsDetailComponent?
-}
\ No newline at end of file
diff --git a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/view/StatisticsDetailFragment.kt b/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/view/StatisticsDetailFragment.kt
index 5792fdd7..c3154029 100644
--- a/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/view/StatisticsDetailFragment.kt
+++ b/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/view/StatisticsDetailFragment.kt
@@ -24,7 +24,6 @@ import com.example.util.simpletimetracker.core.viewData.RangesViewData
import com.example.util.simpletimetracker.feature_statistics_detail.R
import com.example.util.simpletimetracker.feature_statistics_detail.adapter.createStatisticsPreviewAdapterDelegate
import com.example.util.simpletimetracker.feature_statistics_detail.adapter.createStatisticsPreviewMoreAdapterDelegate
-import com.example.util.simpletimetracker.feature_statistics_detail.di.StatisticsDetailComponentProvider
import com.example.util.simpletimetracker.feature_statistics_detail.viewData.StatisticsDetailChartViewData
import com.example.util.simpletimetracker.feature_statistics_detail.viewData.StatisticsDetailPreviewViewData
import com.example.util.simpletimetracker.feature_statistics_detail.viewData.StatisticsDetailStatsViewData
@@ -35,13 +34,17 @@ import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.statistics_detail_fragment.*
import javax.inject.Inject
-class StatisticsDetailFragment : BaseFragment(R.layout.statistics_detail_fragment),
+@AndroidEntryPoint
+class StatisticsDetailFragment : BaseFragment(),
DateTimeDialogListener,
TypesFilterDialogListener {
+ override val layout: Int get() = R.layout.statistics_detail_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -64,12 +67,6 @@ class StatisticsDetailFragment : BaseFragment(R.layout.statistics_detail_fragmen
arguments?.getParcelable(ARGS_PARAMS) ?: StatisticsDetailParams()
}
- override fun initDi() {
- (activity?.application as StatisticsDetailComponentProvider)
- .statisticsDetailComponent
- ?.inject(this)
- }
-
override fun initUi() {
setPreview()
diff --git a/feature_tag_selection/build.gradle.kts b/feature_tag_selection/build.gradle.kts
index 3657dc44..03d1e132 100644
--- a/feature_tag_selection/build.gradle.kts
+++ b/feature_tag_selection/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -25,6 +26,6 @@ android {
dependencies {
implementation(project(":core"))
-
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponent.kt b/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponent.kt
deleted file mode 100644
index 91ef4b64..00000000
--- a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.example.util.simpletimetracker.feature_tag_selection.di
-
-import com.example.util.simpletimetracker.feature_tag_selection.view.RecordTagSelectionFragment
-import dagger.Subcomponent
-
-@Subcomponent
-interface RecordTagSelectionComponent {
-
- fun inject(fragment: RecordTagSelectionFragment)
-}
\ No newline at end of file
diff --git a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponentProvider.kt b/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponentProvider.kt
deleted file mode 100644
index adf98b97..00000000
--- a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_tag_selection.di
-
-interface RecordTagSelectionComponentProvider {
-
- var recordTagSelectionComponent: RecordTagSelectionComponent?
-}
\ No newline at end of file
diff --git a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/view/RecordTagSelectionFragment.kt b/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/view/RecordTagSelectionFragment.kt
index a1b17247..0b72b359 100644
--- a/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/view/RecordTagSelectionFragment.kt
+++ b/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/view/RecordTagSelectionFragment.kt
@@ -14,17 +14,20 @@ import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.dialog.OnTagSelectedListener
import com.example.util.simpletimetracker.core.extension.getAllFragments
import com.example.util.simpletimetracker.feature_tag_selection.R
-import com.example.util.simpletimetracker.feature_tag_selection.di.RecordTagSelectionComponentProvider
import com.example.util.simpletimetracker.feature_tag_selection.viewModel.RecordTagSelectionViewModel
import com.example.util.simpletimetracker.navigation.params.RecordTagSelectionParams
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.record_tag_selection_fragment.*
import javax.inject.Inject
-class RecordTagSelectionFragment : BaseFragment(R.layout.record_tag_selection_fragment) {
+@AndroidEntryPoint
+class RecordTagSelectionFragment : BaseFragment() {
+
+ override val layout: Int get() = R.layout.record_tag_selection_fragment
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -60,12 +63,6 @@ class RecordTagSelectionFragment : BaseFragment(R.layout.record_tag_selection_fr
}
}
- override fun initDi() {
- (activity?.application as RecordTagSelectionComponentProvider)
- .recordTagSelectionComponent
- ?.inject(this)
- }
-
override fun initUi() {
rvRecordTagSelectionList.apply {
layoutManager = FlexboxLayoutManager(requireContext()).apply {
diff --git a/feature_widget/build.gradle.kts b/feature_widget/build.gradle.kts
index 5e068a5d..75813f42 100644
--- a/feature_widget/build.gradle.kts
+++ b/feature_widget/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
id("kotlin-android")
id("kotlin-android-extensions")
id("kotlin-kapt")
+ id("dagger.hilt.android.plugin")
}
android {
@@ -29,6 +30,7 @@ dependencies {
implementation(Deps.Ktx.navigationFragment)
implementation(Deps.Ktx.navigationUi)
+ implementation(Deps.Google.dagger)
kapt(Deps.Kapt.dagger)
}
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/configure/view/WidgetConfigureActivity.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/configure/view/WidgetConfigureActivity.kt
index 4f8398ac..9fd47e17 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/configure/view/WidgetConfigureActivity.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/configure/view/WidgetConfigureActivity.kt
@@ -16,14 +16,15 @@ import com.example.util.simpletimetracker.feature_widget.R
import com.example.util.simpletimetracker.feature_widget.configure.adapter.createWidgetAdapterDelegate
import com.example.util.simpletimetracker.feature_widget.configure.extra.WidgetExtra
import com.example.util.simpletimetracker.feature_widget.configure.viewModel.WidgetViewModel
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.widget_configure_activity.rvWidgetConfigureRecordType
import javax.inject.Inject
+@AndroidEntryPoint
class WidgetConfigureActivity : AppCompatActivity() {
@Inject
@@ -50,17 +51,10 @@ class WidgetConfigureActivity : AppCompatActivity() {
// out of the widget placement if they press the back button.
setResult(RESULT_CANCELED)
- initDi()
initUi()
initViewModel()
}
- private fun initDi() {
- (application as WidgetComponentProvider)
- .widgetComponent
- ?.inject(this)
- }
-
private fun initUi() {
themeManager.setTheme(this)
setContentView(R.layout.widget_configure_activity)
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponent.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponent.kt
deleted file mode 100644
index bf0af49f..00000000
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponent.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.example.util.simpletimetracker.feature_widget.di
-
-import com.example.util.simpletimetracker.feature_widget.configure.view.WidgetConfigureActivity
-import com.example.util.simpletimetracker.feature_widget.universal.WidgetUniversalProvider
-import com.example.util.simpletimetracker.feature_widget.universal.activity.view.WidgetUniversalActivity
-import com.example.util.simpletimetracker.feature_widget.universal.activity.view.WidgetUniversalFragment
-import com.example.util.simpletimetracker.feature_widget.widget.WidgetProvider
-import com.example.util.simpletimetracker.feature_widget.widget.WidgetTagSelectionActivity
-import dagger.Subcomponent
-
-@Subcomponent
-interface WidgetComponent {
-
- fun inject(provider: WidgetProvider)
-
- fun inject(provider: WidgetUniversalProvider)
-
- fun inject(activity: WidgetConfigureActivity)
-
- fun inject(activity: WidgetTagSelectionActivity)
-
- fun inject(activity: WidgetUniversalActivity)
-
- fun inject(activity: WidgetUniversalFragment)
-}
\ No newline at end of file
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponentProvider.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponentProvider.kt
deleted file mode 100644
index 83be2165..00000000
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponentProvider.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.util.simpletimetracker.feature_widget.di
-
-interface WidgetComponentProvider {
-
- var widgetComponent: WidgetComponent?
-}
\ No newline at end of file
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetModule.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetModule.kt
index 7052464e..c7318a10 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetModule.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetModule.kt
@@ -4,8 +4,11 @@ import com.example.util.simpletimetracker.core.interactor.WidgetInteractor
import com.example.util.simpletimetracker.feature_widget.interactor.WidgetInteractorImpl
import dagger.Binds
import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.android.components.FragmentComponent
@Module
+@InstallIn(FragmentComponent::class)
abstract class WidgetModule {
@Binds
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/WidgetUniversalProvider.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/WidgetUniversalProvider.kt
index 5d9138f7..52f869be 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/WidgetUniversalProvider.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/WidgetUniversalProvider.kt
@@ -15,13 +15,14 @@ import com.example.util.simpletimetracker.domain.interactor.PrefsInteractor
import com.example.util.simpletimetracker.domain.interactor.RecordTypeInteractor
import com.example.util.simpletimetracker.domain.interactor.RunningRecordInteractor
import com.example.util.simpletimetracker.feature_widget.R
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.example.util.simpletimetracker.feature_widget.universal.activity.view.WidgetUniversalActivity
import com.example.util.simpletimetracker.feature_widget.universal.customView.WidgetUniversalView
import com.example.util.simpletimetracker.feature_widget.universal.mapper.WidgetUniversalViewDataMapper
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.runBlocking
import javax.inject.Inject
+@AndroidEntryPoint
class WidgetUniversalProvider : AppWidgetProvider() {
@Inject
@@ -36,14 +37,6 @@ class WidgetUniversalProvider : AppWidgetProvider() {
@Inject
lateinit var prefsInteractor: PrefsInteractor
- override fun onReceive(context: Context?, intent: Intent?) {
- (context?.applicationContext as? WidgetComponentProvider)
- ?.widgetComponent
- ?.inject(this)
-
- super.onReceive(context, intent)
- }
-
override fun onUpdate(
context: Context?,
appWidgetManager: AppWidgetManager?,
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalActivity.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalActivity.kt
index 5f4e0ef9..fe2e75c4 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalActivity.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalActivity.kt
@@ -4,10 +4,11 @@ import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.util.simpletimetracker.core.manager.ThemeManager
import com.example.util.simpletimetracker.feature_widget.R
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.example.util.simpletimetracker.navigation.Router
+import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
+@AndroidEntryPoint
class WidgetUniversalActivity : AppCompatActivity() {
@Inject
@@ -19,7 +20,6 @@ class WidgetUniversalActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- (application as WidgetComponentProvider).widgetComponent?.inject(this)
themeManager.setTheme(this)
setContentView(R.layout.widget_universal_activity)
router.bind(this)
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalFragment.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalFragment.kt
index 99e7eb55..ab4a7fb3 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalFragment.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalFragment.kt
@@ -10,18 +10,21 @@ import com.example.util.simpletimetracker.core.base.BaseFragment
import com.example.util.simpletimetracker.core.di.BaseViewModelFactory
import com.example.util.simpletimetracker.core.dialog.OnTagSelectedListener
import com.example.util.simpletimetracker.feature_widget.R
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.example.util.simpletimetracker.feature_widget.universal.activity.viewModel.WidgetUniversalViewModel
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
-import kotlinx.android.synthetic.main.widget_universal_fragment.*
+import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.android.synthetic.main.widget_universal_fragment.rvWidgetUniversalRecordType
import javax.inject.Inject
-class WidgetUniversalFragment : BaseFragment(R.layout.widget_universal_fragment),
+@AndroidEntryPoint
+class WidgetUniversalFragment : BaseFragment(),
OnTagSelectedListener {
+ override val layout: Int get() = R.layout.widget_universal_fragment
+
@Inject
lateinit var viewModelFactory: BaseViewModelFactory
@@ -37,12 +40,6 @@ class WidgetUniversalFragment : BaseFragment(R.layout.widget_universal_fragment)
)
}
- override fun initDi() {
- (activity?.application as WidgetComponentProvider)
- .widgetComponent
- ?.inject(this)
- }
-
override fun initUi() {
rvWidgetUniversalRecordType.apply {
layoutManager = FlexboxLayoutManager(context).apply {
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetManager.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetManager.kt
index f5dbf765..d9dc3ac5 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetManager.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetManager.kt
@@ -4,14 +4,14 @@ import android.appwidget.AppWidgetManager
import android.content.ComponentName
import android.content.Context
import android.content.Intent
-import com.example.util.simpletimetracker.domain.di.AppContext
import com.example.util.simpletimetracker.feature_widget.universal.WidgetUniversalProvider
+import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class WidgetManager @Inject constructor(
- @AppContext private val context: Context
+ @ApplicationContext private val context: Context
) {
fun updateWidget(widgetId: Int) {
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetProvider.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetProvider.kt
index 5654dfe7..3860c583 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetProvider.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetProvider.kt
@@ -28,14 +28,15 @@ import com.example.util.simpletimetracker.domain.interactor.RecordTagInteractor
import com.example.util.simpletimetracker.domain.interactor.RecordTypeInteractor
import com.example.util.simpletimetracker.domain.interactor.RunningRecordInteractor
import com.example.util.simpletimetracker.feature_widget.R
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.example.util.simpletimetracker.navigation.params.RecordTagSelectionParams
+import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import javax.inject.Inject
+@AndroidEntryPoint
class WidgetProvider : AppWidgetProvider() {
@Inject
@@ -75,10 +76,6 @@ class WidgetProvider : AppWidgetProvider() {
lateinit var prefsInteractor: PrefsInteractor
override fun onReceive(context: Context?, intent: Intent?) {
- (context?.applicationContext as? WidgetComponentProvider)
- ?.widgetComponent
- ?.inject(this)
-
super.onReceive(context, intent)
if (intent?.action == ON_CLICK_ACTION) {
onClick(context, intent.getIntExtra(ARGS_WIDGET_ID, 0))
diff --git a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetTagSelectionActivity.kt b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetTagSelectionActivity.kt
index 8145c123..203b46f0 100644
--- a/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetTagSelectionActivity.kt
+++ b/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/widget/WidgetTagSelectionActivity.kt
@@ -8,12 +8,13 @@ import androidx.fragment.app.commit
import com.example.util.simpletimetracker.core.dialog.OnTagSelectedListener
import com.example.util.simpletimetracker.core.manager.ThemeManager
import com.example.util.simpletimetracker.feature_widget.R
-import com.example.util.simpletimetracker.feature_widget.di.WidgetComponentProvider
import com.example.util.simpletimetracker.navigation.Screen
import com.example.util.simpletimetracker.navigation.ScreenFactory
import com.example.util.simpletimetracker.navigation.params.RecordTagSelectionParams
+import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
+@AndroidEntryPoint
class WidgetTagSelectionActivity : AppCompatActivity(),
OnTagSelectedListener {
@@ -30,7 +31,6 @@ class WidgetTagSelectionActivity : AppCompatActivity(),
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- (application as WidgetComponentProvider).widgetComponent?.inject(this)
themeManager.setTheme(this)
setContentView(R.layout.widget_tag_selection_activity)
diff --git a/feature_widget/src/main/res/navigation/widget_nav_graph.xml b/feature_widget/src/main/res/navigation/widget_nav_graph.xml
index b33ef117..9e2d740a 100644
--- a/feature_widget/src/main/res/navigation/widget_nav_graph.xml
+++ b/feature_widget/src/main/res/navigation/widget_nav_graph.xml
@@ -17,7 +17,7 @@
Fix somehow? -->
\ No newline at end of file