From be8abe40ae0fc7484c9b4d0ecbc58a039fbf43df Mon Sep 17 00:00:00 2001 From: Mohsen Rezania Date: Wed, 23 Jun 2021 11:15:56 +0430 Subject: [PATCH] Fixed a few annotations and updated the dependencies `ApplicationComponent` is Deprecated in Dagger Version 2.30. `ViewModelInject` is also Deprecated --- app/build.gradle | 44 +++++++++---------- .../mvvm/di/module/ApplicationModule.kt | 8 ++-- .../mvvm/ui/main/viewmodel/MainViewModel.kt | 6 ++- build.gradle | 8 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 13fe279..c2e91e8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,13 +5,13 @@ apply plugin: 'kotlin-kapt' apply plugin: 'dagger.hilt.android.plugin' android { - compileSdkVersion 29 - buildToolsVersion "29.0.3" + compileSdkVersion 30 + buildToolsVersion "30.0.3" defaultConfig { applicationId "com.mindorks.framework.mvvm" minSdkVersion 16 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 versionName "1.0" @@ -41,35 +41,35 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'androidx.core:core-ktx:1.3.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - testImplementation 'junit:junit:4.13' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'androidx.core:core-ktx:1.5.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' // Added Dependencies - implementation "androidx.recyclerview:recyclerview:1.1.0" + implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'android.arch.lifecycle:extensions:1.1.1' - implementation 'com.github.bumptech.glide:glide:4.11.0' - implementation 'androidx.activity:activity-ktx:1.1.0' + implementation 'com.github.bumptech.glide:glide:4.12.0' + implementation 'androidx.activity:activity-ktx:1.2.3' //Dagger - implementation 'com.google.dagger:hilt-android:2.28-alpha' - kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' - implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha01' - kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha01' + implementation 'com.google.dagger:hilt-android:2.33-beta' + kapt 'com.google.dagger:hilt-android-compiler:2.33-beta' + implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03' + kapt 'androidx.hilt:hilt-compiler:1.0.0' // Networking - implementation "com.squareup.retrofit2:converter-moshi:2.6.2" - implementation "com.squareup.retrofit2:retrofit:2.8.1" - implementation "com.squareup.okhttp3:okhttp:4.7.2" - implementation "com.squareup.okhttp3:logging-interceptor:4.7.2" + implementation 'com.squareup.retrofit2:converter-moshi:2.9.0' + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2' + implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.2' //Coroutine - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0" } diff --git a/app/src/main/java/com/mindorks/framework/mvvm/di/module/ApplicationModule.kt b/app/src/main/java/com/mindorks/framework/mvvm/di/module/ApplicationModule.kt index ec50f2c..4b367cf 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/di/module/ApplicationModule.kt +++ b/app/src/main/java/com/mindorks/framework/mvvm/di/module/ApplicationModule.kt @@ -6,16 +6,16 @@ import com.mindorks.framework.mvvm.data.api.ApiHelperImpl import com.mindorks.framework.mvvm.data.api.ApiService import dagger.Module import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit -import javax.inject.Singleton -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ApplicationComponent import retrofit2.converter.moshi.MoshiConverterFactory +import javax.inject.Singleton @Module -@InstallIn(ApplicationComponent::class) +@InstallIn(SingletonComponent::class) class ApplicationModule { @Provides diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/viewmodel/MainViewModel.kt b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/viewmodel/MainViewModel.kt index b71b7bf..751b914 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/main/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/main/viewmodel/MainViewModel.kt @@ -1,14 +1,16 @@ package com.mindorks.framework.mvvm.ui.main.viewmodel -import androidx.hilt.lifecycle.ViewModelInject import androidx.lifecycle.* import com.mindorks.framework.mvvm.data.model.User import com.mindorks.framework.mvvm.data.repository.MainRepository import com.mindorks.framework.mvvm.utils.NetworkHelper import com.mindorks.framework.mvvm.utils.Resource +import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch +import javax.inject.Inject -class MainViewModel @ViewModelInject constructor( +@HiltViewModel +class MainViewModel @Inject constructor( private val mainRepository: MainRepository, private val networkHelper: NetworkHelper ) : ViewModel() { diff --git a/build.gradle b/build.gradle index 0c09a82..6abbfc4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,14 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.72' + ext.kotlin_version = '1.4.31' repositories { google() jcenter() - + } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:7.0.0-beta04' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.dagger:hilt-android-gradle-plugin:2.28-alpha" // NOTE: Do not place your application dependencies here; they belong @@ -20,7 +20,7 @@ allprojects { repositories { google() jcenter() - + } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b0ca88f..98fe862 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip