From 99aff68b92b239354200c61e63ed2426d0a6ac66 Mon Sep 17 00:00:00 2001 From: razeeman Date: Mon, 14 Jun 2021 09:46:22 +0300 Subject: [PATCH] switch to hilt --- app/build.gradle.kts | 4 + .../simpletimetracker/di/TestAppComponent.kt | 23 ----- .../simpletimetracker/utils/BaseUiTest.kt | 12 --- .../util/simpletimetracker/TimeTrackerApp.kt | 96 +------------------ .../util/simpletimetracker/di/AppComponent.kt | 72 ++------------ .../util/simpletimetracker/di/AppModule.kt | 19 ++-- .../di/FeatureComponentProvider.kt | 59 ------------ .../simpletimetracker/di/NavigationModule.kt | 3 + .../navigation/RouterImpl.kt | 4 +- .../navigation/ScreenResolverImpl.kt | 2 +- .../util/simpletimetracker/ui/MainActivity.kt | 4 +- .../src/main/res/anim/fragment_close_exit.xml | 6 +- .../src/main/res/anim/fragment_open_enter.xml | 6 +- app/src/main/res/navigation/nav_graph.xml | 2 +- build.gradle.kts | 1 + .../util/simpletimetracker/BuildPlugins.kt | 1 + .../example/util/simpletimetracker/Deps.kt | 6 +- .../util/simpletimetracker/Versions.kt | 2 +- .../core/base/BaseFragment.kt | 17 ++-- .../core/mapper/IconImageMapper.kt | 4 +- .../core/provider/PackageNameProvider.kt | 4 +- .../simpletimetracker/core/repo/DeviceRepo.kt | 4 +- .../core/repo/IconEmojiRepo.kt | 4 +- .../core/repo/IconImageRepo.kt | 4 +- .../core/repo/ResourceRepo.kt | 4 +- .../data_local/di/DataLocalModule.kt | 81 ++-------------- .../data_local/di/DataLocalModuleBinds.kt | 78 +++++++++++++++ .../simpletimetracker/domain/di/AppContext.kt | 7 -- feature_archive/build.gradle.kts | 3 +- .../feature_archive/di/ArchiveComponent.kt | 10 -- .../di/ArchiveComponentProvider.kt | 6 -- .../feature_archive/view/ArchiveFragment.kt | 13 +-- feature_categories/build.gradle.kts | 3 +- .../di/CategoriesComponent.kt | 10 -- .../di/CategoriesComponentProvider.kt | 6 -- .../view/CategoriesFragment.kt | 13 +-- feature_change_category/build.gradle.kts | 3 +- .../di/ChangeCategoryComponent.kt | 10 -- .../di/ChangeCategoryComponentProvider.kt | 6 -- .../view/ChangeCategoryFragment.kt | 13 +-- feature_change_record/build.gradle.kts | 3 +- .../di/ChangeRecordComponent.kt | 10 -- .../di/ChangeRecordComponentProvider.kt | 6 -- .../di/ChangeRecordModule.kt | 29 ------ .../di/ViewModelProviderFactory.kt | 23 ----- .../view/ChangeRecordFragment.kt | 31 +++--- feature_change_record_tag/build.gradle.kts | 3 +- .../di/ChangeRecordTagComponent.kt | 10 -- .../di/ChangeRecordTagComponentProvider.kt | 6 -- .../view/ChangeRecordTagFragment.kt | 13 +-- feature_change_record_type/build.gradle.kts | 3 +- .../di/ChangeRecordTypeComponent.kt | 10 -- .../di/ChangeRecordTypeComponentProvider.kt | 6 -- .../view/ChangeRecordTypeFragment.kt | 13 +-- .../build.gradle.kts | 3 +- .../di/ChangeRunningRecordComponent.kt | 10 -- .../ChangeRunningRecordComponentProvider.kt | 6 -- .../view/ChangeRunningRecordFragment.kt | 13 +-- feature_dialogs/build.gradle.kts | 3 +- .../archive/di/ArchiveDialogComponent.kt | 10 -- .../di/ArchiveDialogComponentProvider.kt | 6 -- .../archive/view/ArchiveDialogFragment.kt | 10 +- .../cardOrder/di/CardOrderComponent.kt | 10 -- .../di/CardOrderComponentProvider.kt | 6 -- .../cardOrder/view/CardOrderDialogFragment.kt | 10 +- .../cardSize/di/CardSizeComponent.kt | 10 -- .../cardSize/di/CardSizeComponentProvider.kt | 6 -- .../cardSize/view/CardSizeDialogFragment.kt | 10 +- .../chartFilter/di/ChartFilterComponent.kt | 10 -- .../di/ChartFilterComponentProvider.kt | 6 -- .../view/ChartFilterDialogFragment.kt | 10 +- .../dateTime/DateTimeDialogFragment.kt | 8 -- .../dateTime/di/DateTimeComponent.kt | 10 -- .../dateTime/di/DateTimeComponentProvider.kt | 6 -- .../duration/di/DurationPickerComponent.kt | 10 -- .../di/DurationPickerComponentProvider.kt | 6 -- .../duration/view/DurationDialogFragment.kt | 10 +- .../di/EmojiSelectionComponent.kt | 10 -- .../di/EmojiSelectionComponentProvider.kt | 6 -- .../view/EmojiSelectionDialogFragment.kt | 10 +- .../RecordTagSelectionDialogFragment.kt | 12 +-- .../di/RecordTagSelectionDialogComponent.kt | 10 -- ...cordTagSelectionDialogComponentProvider.kt | 6 -- .../typesFilter/di/TypesFilterComponent.kt | 10 -- .../di/TypesFilterComponentProvider.kt | 6 -- .../view/TypesFilterDialogFragment.kt | 10 +- feature_main/build.gradle.kts | 3 +- .../feature_main/MainFragment.kt | 13 +-- .../feature_main/di/MainComponent.kt | 10 -- .../feature_main/di/MainComponentProvider.kt | 6 -- feature_notification/build.gradle.kts | 3 +- .../di/NotificationComponent.kt | 10 -- .../di/NotificationComponentProvider.kt | 6 -- .../di/NotificationModule.kt | 3 + .../manager/NotificationGoalTimeManager.kt | 4 +- .../NotificationGoalTimeScheduler.kt | 4 +- .../manager/NotificationInactivityManager.kt | 4 +- .../NotificationInactivityScheduler.kt | 4 +- .../recevier/NotificationReceiver.kt | 7 +- .../manager/NotificationTypeManager.kt | 4 +- feature_records/build.gradle.kts | 3 +- .../feature_records/di/RecordsComponent.kt | 12 --- .../di/RecordsComponentProvider.kt | 6 -- .../view/RecordsContainerFragment.kt | 13 +-- .../feature_records/view/RecordsFragment.kt | 13 +-- feature_records_all/build.gradle.kts | 3 +- .../di/RecordsAllComponent.kt | 10 -- .../di/RecordsAllComponentProvider.kt | 6 -- .../view/RecordsAllFragment.kt | 13 +-- feature_running_records/build.gradle.kts | 3 +- .../di/RunningRecordsComponent.kt | 10 -- .../di/RunningRecordsComponentProvider.kt | 6 -- .../view/RunningRecordsFragment.kt | 13 +-- feature_settings/build.gradle.kts | 3 +- .../feature_settings/di/SettingsComponent.kt | 10 -- .../di/SettingsComponentProvider.kt | 6 -- .../feature_settings/view/SettingsFragment.kt | 15 +-- feature_statistics/build.gradle.kts | 3 +- .../di/StatisticsComponent.kt | 12 --- .../di/StatisticsComponentProvider.kt | 6 -- .../view/StatisticsContainerFragment.kt | 13 +-- .../view/StatisticsFragment.kt | 13 +-- feature_statistics_detail/build.gradle.kts | 3 +- .../di/StatisticsDetailComponent.kt | 10 -- .../di/StatisticsDetailComponentProvider.kt | 6 -- .../view/StatisticsDetailFragment.kt | 13 +-- feature_tag_selection/build.gradle.kts | 3 +- .../di/RecordTagSelectionComponent.kt | 10 -- .../di/RecordTagSelectionComponentProvider.kt | 6 -- .../view/RecordTagSelectionFragment.kt | 13 +-- feature_widget/build.gradle.kts | 2 + .../configure/view/WidgetConfigureActivity.kt | 10 +- .../feature_widget/di/WidgetComponent.kt | 25 ----- .../di/WidgetComponentProvider.kt | 6 -- .../feature_widget/di/WidgetModule.kt | 3 + .../universal/WidgetUniversalProvider.kt | 11 +-- .../activity/view/WidgetUniversalActivity.kt | 4 +- .../activity/view/WidgetUniversalFragment.kt | 15 ++- .../feature_widget/widget/WidgetManager.kt | 4 +- .../feature_widget/widget/WidgetProvider.kt | 7 +- .../widget/WidgetTagSelectionActivity.kt | 4 +- .../main/res/navigation/widget_nav_graph.xml | 2 +- 142 files changed, 341 insertions(+), 1149 deletions(-) delete mode 100644 app/src/androidTest/java/com/example/util/simpletimetracker/di/TestAppComponent.kt delete mode 100644 app/src/main/java/com/example/util/simpletimetracker/di/FeatureComponentProvider.kt rename core/src/main/res/anim/copy_fragment_close_exit.xml => app/src/main/res/anim/fragment_close_exit.xml (93%) rename core/src/main/res/anim/copy_fragment_open_enter.xml => app/src/main/res/anim/fragment_open_enter.xml (93%) create mode 100644 data_local/src/main/java/com/example/util/simpletimetracker/data_local/di/DataLocalModuleBinds.kt delete mode 100644 domain/src/main/java/com/example/util/simpletimetracker/domain/di/AppContext.kt delete mode 100644 feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponent.kt delete mode 100644 feature_archive/src/main/java/com/example/util/simpletimetracker/feature_archive/di/ArchiveComponentProvider.kt delete mode 100644 feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponent.kt delete mode 100644 feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/di/CategoriesComponentProvider.kt delete mode 100644 feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponent.kt delete mode 100644 feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/di/ChangeCategoryComponentProvider.kt delete mode 100644 feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponent.kt delete mode 100644 feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordComponentProvider.kt delete mode 100644 feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ChangeRecordModule.kt delete mode 100644 feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/di/ViewModelProviderFactory.kt delete mode 100644 feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponent.kt delete mode 100644 feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/di/ChangeRecordTagComponentProvider.kt delete mode 100644 feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponent.kt delete mode 100644 feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/di/ChangeRecordTypeComponentProvider.kt delete mode 100644 feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponent.kt delete mode 100644 feature_change_running_record/src/main/java/com/example/util/simpletimetracker/feature_change_running_record/di/ChangeRunningRecordComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/archive/di/ArchiveDialogComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardOrder/di/CardOrderComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/cardSize/di/CardSizeComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/chartFilter/di/ChartFilterComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/dateTime/di/DateTimeComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/duration/di/DurationPickerComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/emojiSelection/di/EmojiSelectionComponentProvider.kt rename feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/{view => }/RecordTagSelectionDialogFragment.kt (87%) delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/recordTagSelection/di/RecordTagSelectionDialogComponentProvider.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponent.kt delete mode 100644 feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/di/TypesFilterComponentProvider.kt delete mode 100644 feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponent.kt delete mode 100644 feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/di/MainComponentProvider.kt delete mode 100644 feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponent.kt delete mode 100644 feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/di/NotificationComponentProvider.kt delete mode 100644 feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponent.kt delete mode 100644 feature_records/src/main/java/com/example/util/simpletimetracker/feature_records/di/RecordsComponentProvider.kt delete mode 100644 feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponent.kt delete mode 100644 feature_records_all/src/main/java/com/example/util/simpletimetracker/feature_records_all/di/RecordsAllComponentProvider.kt delete mode 100644 feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponent.kt delete mode 100644 feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/di/RunningRecordsComponentProvider.kt delete mode 100644 feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponent.kt delete mode 100644 feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/di/SettingsComponentProvider.kt delete mode 100644 feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponent.kt delete mode 100644 feature_statistics/src/main/java/com/example/util/simpletimetracker/feature_statistics/di/StatisticsComponentProvider.kt delete mode 100644 feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponent.kt delete mode 100644 feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/di/StatisticsDetailComponentProvider.kt delete mode 100644 feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponent.kt delete mode 100644 feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/di/RecordTagSelectionComponentProvider.kt delete mode 100644 feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponent.kt delete mode 100644 feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/di/WidgetComponentProvider.kt 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 -- 2.51.2