From cfdba41ed50133be493d2fc67387d0de879a7c65 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Sun, 25 Oct 2020 20:07:11 +0000 Subject: [PATCH] Using action navigating to sources dialog, removed unnecessary scopes --- .../com/rtbishop/look4sat/di/NetworkModule.kt | 9 ++--- .../rtbishop/look4sat/di/PersistenceModule.kt | 23 +++++-------- .../com/rtbishop/look4sat/di/RepoModule.kt | 34 +++++++------------ .../com/rtbishop/look4sat/di/UtilityModule.kt | 17 +++------- .../look4sat/ui/fragments/EntriesFragment.kt | 2 +- app/src/main/res/navigation/nav_graph.xml | 7 ++++ 6 files changed, 37 insertions(+), 55 deletions(-) diff --git a/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt index 0aa53ce0..39fa1181 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt @@ -24,24 +24,21 @@ import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.components.ActivityComponent -import dagger.hilt.android.scopes.ActivityScoped import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory @Module @InstallIn(ActivityComponent::class) -class NetworkModule { +object NetworkModule { - @ActivityScoped @Provides - fun provideWebClient(): OkHttpClient { + fun getOkHttpClient(): OkHttpClient { return OkHttpClient() } - @ActivityScoped @Provides - fun provideTransApi(): TransmittersApi { + fun getTransmittersApi(): TransmittersApi { return Retrofit.Builder() .baseUrl("https://db.satnogs.org/api/") .addConverterFactory(MoshiConverterFactory.create()) diff --git a/app/src/main/java/com/rtbishop/look4sat/di/PersistenceModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/PersistenceModule.kt index da00edff..ab478cb5 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/PersistenceModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/PersistenceModule.kt @@ -30,33 +30,28 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.components.ActivityComponent import dagger.hilt.android.qualifiers.ActivityContext -import dagger.hilt.android.scopes.ActivityScoped @Module @InstallIn(ActivityComponent::class) -class PersistenceModule { +object PersistenceModule { - @ActivityScoped @Provides - fun provideEntriesDao(db: SatelliteDb): EntriesDao { + fun getEntriesDao(db: SatelliteDb): EntriesDao { return db.entriesDao() } - @ActivityScoped @Provides - fun provideTransDao(db: SatelliteDb): TransmittersDao { - return db.transmittersDao() - } - - @ActivityScoped - @Provides - fun providesSourcesDao(db: SatelliteDb): SourcesDao { + fun getSourcesDao(db: SatelliteDb): SourcesDao { return db.sourcesDao() } - @ActivityScoped @Provides - fun provideSatDb(@ActivityContext context: Context): SatelliteDb { + fun getTransmittersDao(db: SatelliteDb): TransmittersDao { + return db.transmittersDao() + } + + @Provides + fun getSatelliteDb(@ActivityContext context: Context): SatelliteDb { return Room.databaseBuilder(context, SatelliteDb::class.java, "satDb").build() } } diff --git a/app/src/main/java/com/rtbishop/look4sat/di/RepoModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/RepoModule.kt index c1a0aaff..9eb829d6 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/RepoModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/RepoModule.kt @@ -31,41 +31,31 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.components.ActivityComponent import dagger.hilt.android.qualifiers.ActivityContext -import dagger.hilt.android.scopes.ActivityScoped import okhttp3.OkHttpClient @Module @InstallIn(ActivityComponent::class) -class RepoModule { +object RepoModule { - @ActivityScoped @Provides - fun provideContentResolver(@ActivityContext context: Context): ContentResolver { - return context.applicationContext.contentResolver - } - - @ActivityScoped - @Provides - fun provideEntriesRepo( - resolver: ContentResolver, - client: OkHttpClient, - entriesDao: EntriesDao - ): EntriesRepo { + fun getEntriesRepo(resolver: ContentResolver, client: OkHttpClient, entriesDao: EntriesDao) + : EntriesRepo { return DefaultEntriesRepo(resolver, client, entriesDao) } - @ActivityScoped @Provides - fun provideSourcesRepo(sourcesDao: SourcesDao): SourcesRepo { + fun getSourcesRepo(sourcesDao: SourcesDao): SourcesRepo { return DefaultSourcesRepo(sourcesDao) } - @ActivityScoped @Provides - fun provideTransmittersRepo( - transmittersDao: TransmittersDao, - transmittersApi: TransmittersApi - ): TransmittersRepo { - return DefaultTransmittersRepo(transmittersDao, transmittersApi) + fun getTransmittersRepo(transDao: TransmittersDao, transApi: TransmittersApi) + : TransmittersRepo { + return DefaultTransmittersRepo(transDao, transApi) + } + + @Provides + fun getContentResolver(@ActivityContext context: Context): ContentResolver { + return context.applicationContext.contentResolver } } diff --git a/app/src/main/java/com/rtbishop/look4sat/di/UtilityModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/UtilityModule.kt index 31ab4880..41e88187 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/UtilityModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/UtilityModule.kt @@ -29,30 +29,23 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.components.ActivityComponent import dagger.hilt.android.qualifiers.ActivityContext -import dagger.hilt.android.scopes.ActivityScoped @Module @InstallIn(ActivityComponent::class) -class UtilityModule { +object UtilityModule { - @ActivityScoped @Provides - fun provideSharedPreferences(@ActivityContext context: Context): SharedPreferences { + fun getSharedPreferences(@ActivityContext context: Context): SharedPreferences { return PreferenceManager.getDefaultSharedPreferences(context) } - @ActivityScoped @Provides - fun provideLocationManager(@ActivityContext context: Context): LocationManager { + fun getLocationManager(@ActivityContext context: Context): LocationManager { return context.getSystemService(Context.LOCATION_SERVICE) as LocationManager } - @ActivityScoped @Provides - fun providePrefsManager( - sharedPreferences: SharedPreferences, - locationManager: LocationManager - ): PrefsManager { - return PrefsManager(sharedPreferences, locationManager) + fun getPrefsManager(prefs: SharedPreferences, locationManager: LocationManager): PrefsManager { + return PrefsManager(prefs, locationManager) } } diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/EntriesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/EntriesFragment.kt index 8a375a6a..e96aa4dd 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/fragments/EntriesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/fragments/EntriesFragment.kt @@ -76,7 +76,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) { } private fun showImportFromWebDialog() { - findNavController().navigate(R.id.nav_dialog_sources) + findNavController().navigate(R.id.action_entries_to_dialog_sources) } private fun showImportFromFileDialog() { diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 27b7a3e1..c01de314 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -34,6 +34,13 @@ app:exitAnim="@anim/nav_default_exit_anim" app:popEnterAnim="@anim/nav_default_pop_enter_anim" app:popExitAnim="@anim/nav_default_pop_exit_anim" /> +