diff --git a/.gitignore b/.gitignore
index a915fcc..81618d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,16 +1,167 @@
+# Created by https://www.toptal.com/developers/gitignore/api/android,androidstudio
+# Edit at https://www.toptal.com/developers/gitignore?templates=android,androidstudio
+
+### Android ###
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Log/OS Files
+*.log
+
+# Android Studio generated files and folders
+captures/
+.externalNativeBuild/
+.cxx/
+*.apk
+output.json
+
+# IntelliJ
*.iml
+.idea/
+misc.xml
+deploymentTargetDropDown.xml
+render.experimental.xml
+
+# Keystore files
+*.jks
+*.keystore
+
+# Google Services (e.g. APIs or Firebase)
+google-services.json
+
+# Android Profiling
+*.hprof
+
+### Android Patch ###
+gen-external-apklibs
+
+# Replacement of .externalNativeBuild directories introduced
+# with Android Studio 3.5.
+
+### AndroidStudio ###
+# Covers files to be ignored for android development using Android Studio.
+
+# Built application files
+*.ap_
+*.aab
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
.gradle
-/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
-.DS_Store
-/build
-/captures
+
+# Signing files
+.signing/
+
+# Local configuration file (sdk path, etc)
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+
+# Android Studio
+/*/build/
+/*/local.properties
+/*/out
+/*/*/build
+/*/*/production
+.navigation/
+*.ipr
+*~
+*.swp
+
+# Keystore files
+
+# Google Services (e.g. APIs or Firebase)
+# google-services.json
+
+# Android Patch
+
+# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
-.cxx
-local.properties
-gradle.properties
+
+# NDK
+obj/
+
+# IntelliJ IDEA
+*.iws
+/out/
+
+# User-specific configurations
+.idea/caches/
+.idea/libraries/
+.idea/shelf/
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/.name
+.idea/compiler.xml
+.idea/copyright/profiles_settings.xml
+.idea/encodings.xml
+.idea/misc.xml
+.idea/modules.xml
+.idea/scopes/scope_settings.xml
+.idea/dictionaries
+.idea/vcs.xml
+.idea/jsLibraryMappings.xml
+.idea/datasources.xml
+.idea/dataSources.ids
+.idea/sqlDataSources.xml
+.idea/dynamic.xml
+.idea/uiDesigner.xml
+.idea/assetWizardSettings.xml
+.idea/gradle.xml
+.idea/jarRepositories.xml
+.idea/navEditor.xml
+
+# Legacy Eclipse project files
+.classpath
+.project
+.cproject
+.settings/
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.war
+*.ear
+
+# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
+hs_err_pid*
+
+## Plugin-specific files:
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Mongo Explorer plugin
+.idea/mongoSettings.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+### AndroidStudio Patch ###
+
+!/gradle/wrapper/gradle-wrapper.jar
+
+# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 87ecdc6..259211b 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -16,7 +16,6 @@
-
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 0000000..b1077fb
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c8382d2..ddead13 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/app/.gitignore b/app/.gitignore
index e3c430f..134f491 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1,3 +1,7 @@
+# Created by https://www.toptal.com/developers/gitignore/api/android,androidstudio
+# Edit at https://www.toptal.com/developers/gitignore?templates=android,androidstudio
+
+### Android ###
# Gradle files
.gradle/
build/
@@ -18,6 +22,9 @@ output.json
# IntelliJ
*.iml
.idea/
+misc.xml
+deploymentTargetDropDown.xml
+render.experimental.xml
# Keystore files
*.jks
diff --git a/app/build.gradle b/app/build.gradle
index 6814918..ad1fee9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,12 +6,12 @@ plugins {
}
android {
- compileSdk 32
+ compileSdk 33
defaultConfig {
applicationId "com.farhan.tanvir.androidcleanarchitecture"
minSdk 21
- targetSdk 32
+ targetSdk 33
versionCode 1
versionName "1.0"
@@ -48,21 +48,22 @@ android {
excludes += '/META-INF/{AL2.0,LGPL2.1}'
}
}
+ namespace 'com.farhan.tanvir.androidcleanarchitecture'
}
dependencies {
- implementation 'androidx.core:core-ktx:1.7.0'
+ implementation 'androidx.core:core-ktx:1.9.0'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
- implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'
- implementation 'androidx.activity:activity-compose:1.4.0'
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
+ implementation 'androidx.activity:activity-compose:1.6.0'
implementation project(path: ':data')
implementation project(path: ':domain')
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
+ implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
+ implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
@@ -80,10 +81,10 @@ dependencies {
implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0")
//GSON
- implementation 'com.google.code.gson:gson:2.8.9'
+ implementation 'com.google.code.gson:gson:2.9.1'
// Coil
- implementation("io.coil-kt:coil-compose:1.4.0")
+ implementation('io.coil-kt:coil-compose:2.2.2')
// System UI Controller - Accompanist
implementation "com.google.accompanist:accompanist-systemuicontroller:0.17.0"
@@ -95,7 +96,9 @@ dependencies {
implementation "androidx.room:room-paging:$room_version"
// Paging 3.0
- implementation 'androidx.paging:paging-compose:1.0.0-alpha14'
+ implementation 'androidx.paging:paging-compose:1.0.0-alpha16'
+
+ implementation "androidx.navigation:navigation-compose:$composeNavigationVersion"
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1bc8a5a..8058ddb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
diff --git a/app/src/main/java/com/farhan/tanvir/androidcleanarchitecture/presentation/screen/details/MovieDetailsContent.kt b/app/src/main/java/com/farhan/tanvir/androidcleanarchitecture/presentation/screen/details/MovieDetailsContent.kt
index d97b989..575b1f6 100644
--- a/app/src/main/java/com/farhan/tanvir/androidcleanarchitecture/presentation/screen/details/MovieDetailsContent.kt
+++ b/app/src/main/java/com/farhan/tanvir/androidcleanarchitecture/presentation/screen/details/MovieDetailsContent.kt
@@ -42,7 +42,7 @@ fun MovieDetailsContent(movie: Movie) {
modifier = Modifier
.fillMaxWidth()
.height(350.dp),
- contentScale = ContentScale.FillWidth
+ contentScale = ContentScale.Inside
)
Column(modifier = Modifier.padding(8.dp)) {
Spacer(modifier = Modifier.height(16.dp))
diff --git a/build.gradle b/build.gradle
index efe752b..1136c36 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,9 +1,10 @@
buildscript {
ext {
- compose_version = '1.1.0'
- hilt_version = "2.40.5"
- coroutine_version="1.6.0"
- room_version="2.4.1"
+ compose_version = '1.3.0-rc01'
+ hilt_version = "2.43.2"
+ coroutine_version="1.6.4"
+ room_version="2.4.3"
+ composeNavigationVersion = '2.5.2'
}
dependencies {
@@ -11,9 +12,9 @@ buildscript {
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id 'com.android.application' version '7.1.0' apply false
- id 'com.android.library' version '7.1.0' apply false
- id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
+ id 'com.android.application' version '7.2.2' apply false
+ id 'com.android.library' version '7.2.2' apply false
+ id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}
task clean(type: Delete) {
diff --git a/data/build.gradle b/data/build.gradle
index d2051d5..a16a073 100644
--- a/data/build.gradle
+++ b/data/build.gradle
@@ -5,11 +5,11 @@ plugins {
}
android {
- compileSdk 32
+ compileSdk 33
defaultConfig {
minSdk 21
- targetSdk 32
+ targetSdk 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
@@ -29,13 +29,14 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
+ namespace 'com.farhan.tanvir.data'
}
dependencies {
- implementation 'androidx.core:core-ktx:1.7.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.core:core-ktx:1.9.0'
+ implementation 'androidx.appcompat:appcompat:1.5.1'
+ implementation 'com.google.android.material:material:1.6.1'
implementation project(path: ':domain')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
@@ -47,7 +48,7 @@ dependencies {
//Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
//ROOM DB
implementation "androidx.room:room-runtime:$room_version"
@@ -56,7 +57,7 @@ dependencies {
implementation "androidx.room:room-paging:$room_version"
// Paging 3.0
- implementation 'androidx.paging:paging-compose:1.0.0-alpha14'
+ implementation 'androidx.paging:paging-compose:1.0.0-alpha16'
}
\ No newline at end of file
diff --git a/data/src/main/AndroidManifest.xml b/data/src/main/AndroidManifest.xml
index e99e77a..a5918e6 100644
--- a/data/src/main/AndroidManifest.xml
+++ b/data/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
-
+
\ No newline at end of file
diff --git a/domain/build.gradle b/domain/build.gradle
index ec5d872..815a535 100644
--- a/domain/build.gradle
+++ b/domain/build.gradle
@@ -4,11 +4,11 @@ plugins {
}
android {
- compileSdk 32
+ compileSdk 33
defaultConfig {
minSdk 21
- targetSdk 32
+ targetSdk 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
@@ -27,13 +27,14 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
+ namespace 'com.farhan.tanvir.domain'
}
dependencies {
- implementation 'androidx.core:core-ktx:1.7.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.core:core-ktx:1.9.0'
+ implementation 'androidx.appcompat:appcompat:1.5.1'
+ implementation 'com.google.android.material:material:1.6.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
@@ -43,11 +44,11 @@ dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine_version"
//GSON
- implementation 'com.google.code.gson:gson:2.8.9'
+ implementation 'com.google.code.gson:gson:2.9.1'
//ROOM DB
implementation "androidx.room:room-ktx:$room_version"
// Paging 3.0
- implementation 'androidx.paging:paging-compose:1.0.0-alpha14'
+ implementation 'androidx.paging:paging-compose:1.0.0-alpha16'
}
\ No newline at end of file
diff --git a/domain/src/main/AndroidManifest.xml b/domain/src/main/AndroidManifest.xml
index 89f17e3..a5918e6 100644
--- a/domain/src/main/AndroidManifest.xml
+++ b/domain/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
-
+
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 2ee05d1..126d699 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Fri Jan 28 18:20:57 JST 2022
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME