Initial setup before switching to Dagger DI

This commit is contained in:
Arty Bishop committed 2019-11-20 10:35:39 +00:00
1 parent bd61c49ab2
commit 3ad4d2fdf6
12 files changed
+55 -11

No files matched your search

+1
View File
@@ -7,6 +7,7 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<application <application
android:name=".LookingSatApp"
android:allowBackup="false" android:allowBackup="false"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
@@ -1,11 +1,11 @@
package com.rtbishop.lookingsat package com.rtbishop.lookingsat
import android.content.Context import android.content.Context
import com.rtbishop.lookingsat.api.RemoteDataSource import com.rtbishop.lookingsat.network.RemoteDataSource
import com.rtbishop.lookingsat.api.TransmittersApi import com.rtbishop.lookingsat.network.TransmittersApi
import com.rtbishop.lookingsat.db.LocalDataSource
import com.rtbishop.lookingsat.db.TransmittersDatabase
import com.rtbishop.lookingsat.repo.Repository import com.rtbishop.lookingsat.repo.Repository
import com.rtbishop.lookingsat.storage.LocalDataSource
import com.rtbishop.lookingsat.storage.TransmittersDatabase
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import retrofit2.Retrofit import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory import retrofit2.converter.gson.GsonConverterFactory
@@ -0,0 +1,12 @@
package com.rtbishop.lookingsat
import android.app.Application
import com.rtbishop.lookingsat.di.AppComponent
import com.rtbishop.lookingsat.di.DaggerAppComponent
class LookingSatApp : Application() {
val appComponent: AppComponent by lazy {
DaggerAppComponent.factory().create(applicationContext)
}
}
@@ -0,0 +1,19 @@
package com.rtbishop.lookingsat.di
import android.content.Context
import com.rtbishop.lookingsat.ui.MainActivity
import dagger.BindsInstance
import dagger.Component
import javax.inject.Singleton
@Singleton
@Component(modules = [NetworkModule::class, StorageModule::class])
interface AppComponent {
@Component.Factory
interface Factory {
fun create(@BindsInstance context: Context): AppComponent
}
fun inject(activity: MainActivity)
}
@@ -0,0 +1,6 @@
package com.rtbishop.lookingsat.di
import dagger.Module
@Module
class NetworkModule
@@ -0,0 +1,6 @@
package com.rtbishop.lookingsat.di
import dagger.Module
@Module
class StorageModule
@@ -1,4 +1,4 @@
package com.rtbishop.lookingsat.api package com.rtbishop.lookingsat.network
import com.rtbishop.lookingsat.repo.Transmitter import com.rtbishop.lookingsat.repo.Transmitter
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@@ -1,4 +1,4 @@
package com.rtbishop.lookingsat.api package com.rtbishop.lookingsat.network
import com.rtbishop.lookingsat.repo.Transmitter import com.rtbishop.lookingsat.repo.Transmitter
import retrofit2.http.GET import retrofit2.http.GET
@@ -1,7 +1,7 @@
package com.rtbishop.lookingsat.repo package com.rtbishop.lookingsat.repo
import com.rtbishop.lookingsat.api.RemoteDataSource import com.rtbishop.lookingsat.network.RemoteDataSource
import com.rtbishop.lookingsat.db.LocalDataSource import com.rtbishop.lookingsat.storage.LocalDataSource
import java.io.InputStream import java.io.InputStream
class Repository( class Repository(
@@ -1,4 +1,4 @@
package com.rtbishop.lookingsat.db package com.rtbishop.lookingsat.storage
import com.rtbishop.lookingsat.repo.Transmitter import com.rtbishop.lookingsat.repo.Transmitter
@@ -1,4 +1,4 @@
package com.rtbishop.lookingsat.db package com.rtbishop.lookingsat.storage
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
@@ -1,4 +1,4 @@
package com.rtbishop.lookingsat.db package com.rtbishop.lookingsat.storage
import android.content.Context import android.content.Context
import androidx.room.Database import androidx.room.Database