Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bumped versions and replaced @ViewModelInject with @HiltViewModel #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 23 additions & 25 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,43 +39,41 @@ android {
}

dependencies {
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'

implementation 'androidx.lifecycle:lifecycle-common:2.2.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-common:2.3.1'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'

implementation 'com.google.dagger:hilt-android:2.31-alpha'
kapt 'com.google.dagger:hilt-android-compiler:2.31-alpha'
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha03'
implementation 'com.google.dagger:hilt-android:2.37'
kapt 'com.google.dagger:hilt-android-compiler:2.37'

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'

implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
implementation 'com.google.code.gson:gson:2.8.6'

implementation "androidx.navigation:navigation-fragment-ktx:2.3.3"
implementation "androidx.navigation:navigation-ui-ktx:2.3.3"
implementation "androidx.navigation:navigation-fragment-ktx:2.3.5"
implementation "androidx.navigation:navigation-ui-ktx:2.3.5"

implementation "androidx.paging:paging-runtime-ktx:3.0.0-alpha13"
implementation "androidx.room:room-runtime:2.3.0-beta01"
kapt "androidx.room:room-compiler:2.3.0-beta01"
implementation "androidx.room:room-ktx:2.3.0-beta01"
implementation "androidx.paging:paging-runtime-ktx:3.0.1"
implementation "androidx.room:room-runtime:2.3.0"
kapt "androidx.room:room-compiler:2.3.0"
implementation "androidx.room:room-ktx:2.3.0"

implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'com.github.bumptech.glide:glide:4.12.0'
kapt 'com.github.bumptech.glide:compiler:4.11.0'

implementation 'com.google.android.material:material:1.3.0-rc01'
implementation "androidx.constraintlayout:constraintlayout:2.0.4"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
implementation 'com.google.android.material:material:1.4.0'
implementation "androidx.constraintlayout:constraintlayout:2.1.0"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"

testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import androidx.paging.PagingSource
import androidx.paging.PagingState
import com.metinozcura.rickandmorty.data.model.Character
import com.metinozcura.rickandmorty.data.service.CharacterApi
import javax.inject.Inject

class CharactersPagingDataSource(private val service: CharacterApi) :

class CharactersPagingDataSource @Inject constructor(private val service: CharacterApi) :
PagingSource<Int, Character>() {
override suspend fun load(params: LoadParams<Int>): LoadResult<Int, Character> {
val pageNumber = params.key ?: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ import javax.inject.Inject

class CharacterRepositoryImpl @Inject constructor(
private val service: CharacterApi,
private val dataSource: CharactersPagingDataSource
) : CharacterRepository {

override suspend fun getAllCharacters(): Flow<PagingData<Character>> = Pager(
config = PagingConfig(pageSize = 20, prefetchDistance = 2),
pagingSourceFactory = { CharactersPagingDataSource(service) }
pagingSourceFactory = { dataSource }
).flow

override suspend fun getSingleCharacter(id: Int) = service.getSingleCharacter(id)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package com.metinozcura.rickandmorty.ui.characters

import androidx.hilt.lifecycle.ViewModelInject
import androidx.lifecycle.viewModelScope
import androidx.paging.PagingData
import androidx.paging.cachedIn
import com.metinozcura.rickandmorty.base.BaseViewModel
import com.metinozcura.rickandmorty.data.model.Character
import com.metinozcura.rickandmorty.data.repository.character.CharacterRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject

class CharactersViewModel @ViewModelInject constructor(
@HiltViewModel
class CharactersViewModel @Inject constructor(
private val characterRepository: CharacterRepository
) : BaseViewModel() {
private lateinit var _charactersFlow: Flow<PagingData<Character>>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package com.metinozcura.rickandmorty.ui.episodes

import androidx.hilt.lifecycle.ViewModelInject
import androidx.lifecycle.viewModelScope
import androidx.paging.PagingData
import androidx.paging.cachedIn
import com.metinozcura.rickandmorty.base.BaseViewModel
import com.metinozcura.rickandmorty.data.model.Episode
import com.metinozcura.rickandmorty.data.repository.episode.EpisodeRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject

class EpisodesViewModel @ViewModelInject constructor(
@HiltViewModel
class EpisodesViewModel @Inject constructor(
private val episodeRepository: EpisodeRepository
) : BaseViewModel() {
private lateinit var _episodesFlow: Flow<PagingData<Episode>>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.metinozcura.rickandmorty.ui.locations

import androidx.hilt.lifecycle.ViewModelInject
import androidx.lifecycle.viewModelScope
import androidx.paging.PagingData
import androidx.paging.cachedIn
Expand All @@ -10,10 +9,13 @@ import com.metinozcura.rickandmorty.base.BaseViewModel
import com.metinozcura.rickandmorty.data.model.Location
import com.metinozcura.rickandmorty.data.repository.location.LocationRepository
import com.metinozcura.rickandmorty.ui.locations.model.LocationModel
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import javax.inject.Inject

class LocationsViewModel @ViewModelInject constructor(
@HiltViewModel
class LocationsViewModel @Inject constructor(
private val locationRepository: LocationRepository
) : BaseViewModel() {
private lateinit var _locationsFlow: Flow<PagingData<LocationModel>>
Expand Down
12 changes: 6 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0-alpha05'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.21"
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.30.1-alpha'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.3"
classpath 'com.android.tools.build:gradle:7.0.2'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21'
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.37'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"
}
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}

Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Mon Feb 01 22:18:46 TRT 2021
#Fri Sep 03 13:24:06 TRT 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME