Add Dagger Hilt

This commit is contained in:
Kirill Kamakin
2021-11-07 10:21:05 +03:00
parent 54d6dd274d
commit 5d937e6d9e
5 changed files with 22 additions and 5 deletions

View File

@@ -1,7 +1,9 @@
plugins { plugins {
id 'com.android.application'
id 'kotlin-android' id 'kotlin-android'
id 'kotlin-kapt'
id 'com.android.application'
id 'androidx.navigation.safeargs.kotlin' id 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin'
} }
android { android {
@@ -36,19 +38,27 @@ android {
} }
dependencies { dependencies {
implementation "com.google.android.material:material:1.4.0"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
implementation "androidx.core:core-ktx:1.7.0" implementation "androidx.core:core-ktx:1.7.0"
implementation "androidx.appcompat:appcompat:1.3.1" implementation "androidx.appcompat:appcompat:1.3.1"
implementation "com.google.android.material:material:1.4.0"
implementation "androidx.constraintlayout:constraintlayout:2.1.1" implementation "androidx.constraintlayout:constraintlayout:2.1.1"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0" def lifecycle_version = "2.4.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-compiler:$hilt_version"
testImplementation "junit:junit:4.13.2" testImplementation "junit:junit:4.13.2"
androidTestImplementation "androidx.test.ext:junit:1.1.3" androidTestImplementation "androidx.test.ext:junit:1.1.3"
androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0" androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
} }

View File

@@ -3,6 +3,7 @@
package="gq.kirmanak.mealie"> package="gq.kirmanak.mealie">
<application <application
android:name=".MealieApp"
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"

View File

@@ -2,8 +2,10 @@ package gq.kirmanak.mealie
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealie.databinding.MainActivityBinding import gq.kirmanak.mealie.databinding.MainActivityBinding
@AndroidEntryPoint
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)

View File

@@ -5,8 +5,10 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealie.databinding.FragmentAuthenticationBinding import gq.kirmanak.mealie.databinding.FragmentAuthenticationBinding
@AndroidEntryPoint
class AuthenticationFragment : Fragment() { class AuthenticationFragment : Fragment() {
private var _binding: FragmentAuthenticationBinding? = null private var _binding: FragmentAuthenticationBinding? = null
private val binding: FragmentAuthenticationBinding private val binding: FragmentAuthenticationBinding

View File

@@ -1,6 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
ext.nav_version = "2.3.5" ext.nav_version = "2.3.5"
ext.hilt_version = "2.38.1"
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
@@ -9,6 +10,7 @@ buildscript {
classpath "com.android.tools.build:gradle:7.0.3" classpath "com.android.tools.build:gradle:7.0.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files