work on dependency injection
This commit is contained in:
parent
34c61df362
commit
a51105c334
@ -1,4 +1,23 @@
|
|||||||
package com.isolaatti.comments
|
package com.isolaatti.comments
|
||||||
|
|
||||||
|
import com.isolaatti.comments.data.remote.CommentsApi
|
||||||
|
import com.isolaatti.comments.data.repository.CommentsRepositoryImpl
|
||||||
|
import com.isolaatti.comments.domain.CommentsRepository
|
||||||
|
import com.isolaatti.connectivity.RetrofitClient
|
||||||
|
import dagger.Module
|
||||||
|
import dagger.Provides
|
||||||
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(SingletonComponent::class)
|
||||||
class Module {
|
class Module {
|
||||||
|
@Provides
|
||||||
|
fun provideCommentsApi(retrofitClient: RetrofitClient): CommentsApi {
|
||||||
|
return retrofitClient.client.create(CommentsApi::class.java)
|
||||||
|
}
|
||||||
|
@Provides
|
||||||
|
fun provideCommentsRepository(commentsApi: CommentsApi): CommentsRepository {
|
||||||
|
return CommentsRepositoryImpl(commentsApi)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -1,8 +1,8 @@
|
|||||||
package com.isolaatti.comments.data.repository
|
package com.isolaatti.comments.data.repository
|
||||||
|
|
||||||
import com.isolaatti.comments.data.remote.CommentsApi
|
import com.isolaatti.comments.data.remote.CommentsApi
|
||||||
import com.isolaatti.comments.domain.CommentRepository
|
import com.isolaatti.comments.domain.CommentsRepository
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class CommentsRepositoryImpl @Inject constructor(commentsApi: CommentsApi) : CommentRepository {
|
class CommentsRepositoryImpl @Inject constructor(private val commentsApi: CommentsApi) : CommentsRepository {
|
||||||
}
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
package com.isolaatti.comments.domain
|
package com.isolaatti.comments.domain
|
||||||
|
|
||||||
interface CommentRepository {
|
interface CommentsRepository {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,4 +1,23 @@
|
|||||||
package com.isolaatti.followers
|
package com.isolaatti.followers
|
||||||
|
|
||||||
|
import com.isolaatti.connectivity.RetrofitClient
|
||||||
|
import com.isolaatti.followers.data.FollowersRepositoryImpl
|
||||||
|
import com.isolaatti.followers.data.remote.FollowersApi
|
||||||
|
import com.isolaatti.followers.domain.FollowersRepository
|
||||||
|
import dagger.Module
|
||||||
|
import dagger.Provides
|
||||||
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(SingletonComponent::class)
|
||||||
class Module {
|
class Module {
|
||||||
|
@Provides
|
||||||
|
fun provideFollowersApi(retrofitClient: RetrofitClient): FollowersApi {
|
||||||
|
return retrofitClient.client.create(FollowersApi::class.java)
|
||||||
|
}
|
||||||
|
@Provides
|
||||||
|
fun provideFollowersRepository(followersApi: FollowersApi): FollowersRepository {
|
||||||
|
return FollowersRepositoryImpl(followersApi)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.isolaatti.followers.data
|
||||||
|
|
||||||
|
import com.isolaatti.followers.data.remote.FollowersApi
|
||||||
|
import com.isolaatti.followers.domain.FollowersRepository
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class FollowersRepositoryImpl @Inject constructor(followersApi: FollowersApi) : FollowersRepository {
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
package com.isolaatti.followers.domain
|
||||||
|
|
||||||
|
interface FollowersRepository {
|
||||||
|
}
|
||||||
@ -1,4 +1,24 @@
|
|||||||
package com.isolaatti.posts
|
package com.isolaatti.posts
|
||||||
|
|
||||||
|
import com.isolaatti.connectivity.RetrofitClient
|
||||||
|
import com.isolaatti.posts.data.remote.PostsApi
|
||||||
|
import com.isolaatti.posts.data.repository.PostsRepositoryImpl
|
||||||
|
import com.isolaatti.posts.domain.PostsRepository
|
||||||
|
import dagger.Module
|
||||||
|
import dagger.Provides
|
||||||
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(SingletonComponent::class)
|
||||||
class Module {
|
class Module {
|
||||||
|
@Provides
|
||||||
|
fun providePostsApi(retrofitClient: RetrofitClient): PostsApi {
|
||||||
|
return retrofitClient.client.create(PostsApi::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
fun providePostsRepository(postsApi: PostsApi): PostsRepository {
|
||||||
|
return PostsRepositoryImpl(postsApi)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.isolaatti.posts.data.repository
|
||||||
|
|
||||||
|
import com.isolaatti.posts.data.remote.PostsApi
|
||||||
|
import com.isolaatti.posts.domain.PostsRepository
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class PostsRepositoryImpl @Inject constructor(private val postsApi: PostsApi) : PostsRepository {
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
package com.isolaatti.posts.domain
|
||||||
|
|
||||||
|
interface PostsRepository {
|
||||||
|
}
|
||||||
@ -7,9 +7,10 @@ import com.isolaatti.profile.domain.ProfileRepository
|
|||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn
|
@InstallIn(SingletonComponent::class)
|
||||||
class Module {
|
class Module {
|
||||||
@Provides
|
@Provides
|
||||||
fun provideProfileApi(retrofitClient: RetrofitClient): ProfileApi {
|
fun provideProfileApi(retrofitClient: RetrofitClient): ProfileApi {
|
||||||
|
|||||||
@ -6,8 +6,9 @@ import com.isolaatti.profile.domain.ProfileRepository
|
|||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
import retrofit2.await
|
import retrofit2.await
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ProfileRepositoryImpl(private val profileApi: ProfileApi) : ProfileRepository {
|
class ProfileRepositoryImpl @Inject constructor(private val profileApi: ProfileApi) : ProfileRepository {
|
||||||
override fun getProfile(): Flow<UserProfileDto> = flow {
|
override fun getProfile(): Flow<UserProfileDto> = flow {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
package com.isolaatti.profile.presentation
|
package com.isolaatti.profile.presentation
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
import com.isolaatti.profile.domain.ProfileRepository
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
class ProfileViewModel @Inject constructor() : ViewModel() {
|
class ProfileViewModel @Inject constructor(private val profileRepository: ProfileRepository) : ViewModel() {
|
||||||
}
|
}
|
||||||
@ -6,6 +6,7 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import com.isolaatti.databinding.FragmentDiscussionsBinding
|
import com.isolaatti.databinding.FragmentDiscussionsBinding
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
|
||||||
class DiscussionsFragment : Fragment() {
|
class DiscussionsFragment : Fragment() {
|
||||||
lateinit var viewBinding: FragmentDiscussionsBinding
|
lateinit var viewBinding: FragmentDiscussionsBinding
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import com.isolaatti.databinding.FragmentImagesBinding
|
import com.isolaatti.databinding.FragmentImagesBinding
|
||||||
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
|
||||||
class ImagesFragment : Fragment() {
|
class ImagesFragment : Fragment() {
|
||||||
lateinit var viewBinding: FragmentImagesBinding
|
lateinit var viewBinding: FragmentImagesBinding
|
||||||
|
|||||||
@ -3,7 +3,9 @@ package com.isolaatti.settings.ui
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.isolaatti.databinding.ActivitySettingsBinding
|
import com.isolaatti.databinding.ActivitySettingsBinding
|
||||||
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
|
@AndroidEntryPoint
|
||||||
class SettingsActivity : AppCompatActivity() {
|
class SettingsActivity : AppCompatActivity() {
|
||||||
|
|
||||||
lateinit var viewBinding: ActivitySettingsBinding
|
lateinit var viewBinding: ActivitySettingsBinding
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user