diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8c77551..775ca57 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,16 +2,16 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.compose.compiler) - alias(libs.plugins.ksp) alias(libs.plugins.dagger.hilt) + alias(libs.plugins.ksp) } android { - namespace = "ru.freedominc.wallenc" + namespace = "com.github.nullptroma.wallenc" compileSdk = 34 defaultConfig { - applicationId = "ru.freedominc.wallenc" + applicationId = "com.github.nullptroma.wallenc" minSdk = 24 targetSdk = 34 versionCode = 1 @@ -53,7 +53,8 @@ android { } dependencies { - implementation(libs.androidx.navigation) + implementation(libs.navigation) + implementation(libs.navigation.hilt.compose) // Yandex implementation(libs.yandex.oauth) @@ -91,4 +92,7 @@ dependencies { androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.ui.test.junit4) + + implementation(project(":domain")) + implementation(project(":data")) } \ No newline at end of file diff --git a/app/release/baselineProfiles/0/app-release.dm b/app/release/baselineProfiles/0/app-release.dm deleted file mode 100644 index 75b80c4..0000000 Binary files a/app/release/baselineProfiles/0/app-release.dm and /dev/null differ diff --git a/app/release/baselineProfiles/1/app-release.dm b/app/release/baselineProfiles/1/app-release.dm deleted file mode 100644 index 935d7db..0000000 Binary files a/app/release/baselineProfiles/1/app-release.dm and /dev/null differ diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json deleted file mode 100644 index 21bd5fb..0000000 --- a/app/release/output-metadata.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "version": 3, - "artifactType": { - "type": "APK", - "kind": "Directory" - }, - "applicationId": "ru.freedominc.wallenc", - "variantName": "release", - "elements": [ - { - "type": "SINGLE", - "filters": [], - "attributes": [], - "versionCode": 1, - "versionName": "1.0", - "outputFile": "app-release.apk" - } - ], - "elementType": "File", - "baselineProfiles": [ - { - "minApi": 28, - "maxApi": 30, - "baselineProfiles": [ - "baselineProfiles/1/app-release.dm" - ] - }, - { - "minApi": 31, - "maxApi": 2147483647, - "baselineProfiles": [ - "baselineProfiles/0/app-release.dm" - ] - } - ], - "minSdkVersionForDexing": 24 -} \ No newline at end of file diff --git a/app/src/androidTest/java/com/github/nullptroma/wallenc/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/github/nullptroma/wallenc/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..233462b --- /dev/null +++ b/app/src/androidTest/java/com/github/nullptroma/wallenc/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.github.nullptroma.wallenc + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.github.nullptroma.wallenc", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 78008a3..44f7f9d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,6 +16,7 @@ diff --git a/app/src/main/java/ru/freedominc/wallenc/MainActivity.kt b/app/src/main/java/com/github/nullptroma/wallenc/MainActivity.kt similarity index 86% rename from app/src/main/java/ru/freedominc/wallenc/MainActivity.kt rename to app/src/main/java/com/github/nullptroma/wallenc/MainActivity.kt index 543711a..21361fd 100644 --- a/app/src/main/java/ru/freedominc/wallenc/MainActivity.kt +++ b/app/src/main/java/com/github/nullptroma/wallenc/MainActivity.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc +package com.github.nullptroma.wallenc import android.os.Bundle import android.widget.Toast @@ -18,13 +18,17 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.hilt.navigation.compose.hiltViewModel +import com.github.nullptroma.wallenc.ui.screens.main.MainScreen +import com.github.nullptroma.wallenc.ui.screens.main.MainViewModel +import com.github.nullptroma.wallenc.ui.theme.WallencTheme import com.yandex.authsdk.YandexAuthLoginOptions import com.yandex.authsdk.YandexAuthOptions import com.yandex.authsdk.YandexAuthResult import com.yandex.authsdk.YandexAuthSdk import com.yandex.authsdk.internal.strategy.LoginType import dagger.hilt.android.AndroidEntryPoint -import ru.freedominc.wallenc.ui.theme.WallencTheme + @AndroidEntryPoint class MainActivity : ComponentActivity() { @@ -40,9 +44,8 @@ class MainActivity : ComponentActivity() { setContent { WallencTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> - Greeting(modifier = Modifier.padding(innerPadding)) { - launcher.launch(loginOptions) - } + val vm : MainViewModel = hiltViewModel() + MainScreen(Modifier.padding(innerPadding), vm) } } } diff --git a/app/src/main/java/ru/freedominc/wallenc/WallencApplication.kt b/app/src/main/java/com/github/nullptroma/wallenc/WallencApplication.kt similarity index 78% rename from app/src/main/java/ru/freedominc/wallenc/WallencApplication.kt rename to app/src/main/java/com/github/nullptroma/wallenc/WallencApplication.kt index dd914ae..0769253 100644 --- a/app/src/main/java/ru/freedominc/wallenc/WallencApplication.kt +++ b/app/src/main/java/com/github/nullptroma/wallenc/WallencApplication.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc +package com.github.nullptroma.wallenc import android.app.Application import dagger.hilt.android.HiltAndroidApp diff --git a/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreen.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreen.kt new file mode 100644 index 0000000..fb63cb4 --- /dev/null +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreen.kt @@ -0,0 +1,27 @@ +package com.github.nullptroma.wallenc.ui.screens.main + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.imePadding +import androidx.compose.material3.Text +import androidx.compose.material3.TextField +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.hilt.navigation.compose.hiltViewModel + + +@Composable +fun MainScreen(modifier: Modifier = Modifier, viewModel: MainViewModel = hiltViewModel()) { + val state = viewModel.stateFlow + Column(modifier = modifier.imePadding()) { + + Text(text = state.value) + Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.BottomCenter) { + TextField("", onValueChange = { + + }) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreenState.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreenState.kt new file mode 100644 index 0000000..6159605 --- /dev/null +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainScreenState.kt @@ -0,0 +1,3 @@ +package com.github.nullptroma.wallenc.ui.screens.main + +data class MainScreenState(val value: String) \ No newline at end of file diff --git a/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainViewModel.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainViewModel.kt new file mode 100644 index 0000000..faeda3f --- /dev/null +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/screens/main/MainViewModel.kt @@ -0,0 +1,11 @@ +package com.github.nullptroma.wallenc.ui.screens.main + +import androidx.lifecycle.ViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class MainViewModel @Inject constructor( +): ViewModel() { + val stateFlow = MainScreenState("hello") +} \ No newline at end of file diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Color.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Color.kt similarity index 83% rename from app/src/main/java/ru/freedominc/wallenc/ui/theme/Color.kt rename to app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Color.kt index db603a5..a70ad7b 100644 --- a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Color.kt +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc.ui.theme +package com.github.nullptroma.wallenc.ui.theme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Theme.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Theme.kt similarity index 97% rename from app/src/main/java/ru/freedominc/wallenc/ui/theme/Theme.kt rename to app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Theme.kt index d661cc7..dfff095 100644 --- a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Theme.kt +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc.ui.theme +package com.github.nullptroma.wallenc.ui.theme import android.os.Build import androidx.compose.foundation.isSystemInDarkTheme diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Type.kt b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Type.kt similarity index 95% rename from app/src/main/java/ru/freedominc/wallenc/ui/theme/Type.kt rename to app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Type.kt index 17ea7e2..45b699a 100644 --- a/app/src/main/java/ru/freedominc/wallenc/ui/theme/Type.kt +++ b/app/src/main/java/com/github/nullptroma/wallenc/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc.ui.theme +package com.github.nullptroma.wallenc.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreen.kt b/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreen.kt deleted file mode 100644 index 0c7617b..0000000 --- a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreen.kt +++ /dev/null @@ -1,8 +0,0 @@ -package ru.freedominc.wallenc.ui.screens.main - -import androidx.compose.runtime.Composable - -@Composable -fun MainScreen(viewModel: MainViewModel) { - -} \ No newline at end of file diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreenState.kt b/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreenState.kt deleted file mode 100644 index cfacf11..0000000 --- a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainScreenState.kt +++ /dev/null @@ -1,3 +0,0 @@ -package ru.freedominc.wallenc.ui.screens.main - -data class MainScreenState(val value: Int) \ No newline at end of file diff --git a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainViewModel.kt b/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainViewModel.kt deleted file mode 100644 index 1bce58d..0000000 --- a/app/src/main/java/ru/freedominc/wallenc/ui/screens/main/MainViewModel.kt +++ /dev/null @@ -1,9 +0,0 @@ -package ru.freedominc.wallenc.ui.screens.main - -import androidx.lifecycle.ViewModel -import dagger.hilt.android.lifecycle.HiltViewModel - -@HiltViewModel -class MainViewModel : ViewModel() { - -} \ No newline at end of file diff --git a/app/src/test/java/com/github/nullptroma/wallenc/ExampleUnitTest.kt b/app/src/test/java/com/github/nullptroma/wallenc/ExampleUnitTest.kt new file mode 100644 index 0000000..cc1c8e0 --- /dev/null +++ b/app/src/test/java/com/github/nullptroma/wallenc/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.github.nullptroma.wallenc + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 4535f71..2342b3e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,4 +5,5 @@ plugins { alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.ksp) apply false alias(libs.plugins.dagger.hilt) apply false + alias(libs.plugins.android.library) apply false } \ No newline at end of file diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/data/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/data/build.gradle.kts b/data/build.gradle.kts new file mode 100644 index 0000000..9516968 --- /dev/null +++ b/data/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.dagger.hilt) + alias(libs.plugins.ksp) +} + +android { + namespace = "com.github.nullptroma.data" + compileSdk = 34 + + defaultConfig { + minSdk = 24 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + implementation(libs.dagger.hilt) + ksp(libs.dagger.hilt.compiler) + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) +} \ No newline at end of file diff --git a/data/consumer-rules.pro b/data/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/data/proguard-rules.pro b/data/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/data/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/ru/freedominc/wallenc/ExampleInstrumentedTest.kt b/data/src/androidTest/java/com/github/nullptroma/data/ExampleInstrumentedTest.kt similarity index 83% rename from app/src/androidTest/java/ru/freedominc/wallenc/ExampleInstrumentedTest.kt rename to data/src/androidTest/java/com/github/nullptroma/data/ExampleInstrumentedTest.kt index ad8a0ec..11a3c5f 100644 --- a/app/src/androidTest/java/ru/freedominc/wallenc/ExampleInstrumentedTest.kt +++ b/data/src/androidTest/java/com/github/nullptroma/data/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc +package com.github.nullptroma.data import androidx.test.platform.app.InstrumentationRegistry import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -19,6 +19,6 @@ class ExampleInstrumentedTest { fun useAppContext() { // Context of the app under test. val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("ru.freedominc.wallenc", appContext.packageName) + assertEquals("com.github.nullptroma.data.test", appContext.packageName) } } \ No newline at end of file diff --git a/data/src/main/AndroidManifest.xml b/data/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/data/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/test/java/ru/freedominc/wallenc/ExampleUnitTest.kt b/data/src/test/java/com/github/nullptroma/data/ExampleUnitTest.kt similarity index 90% rename from app/src/test/java/ru/freedominc/wallenc/ExampleUnitTest.kt rename to data/src/test/java/com/github/nullptroma/data/ExampleUnitTest.kt index d096920..aa929e4 100644 --- a/app/src/test/java/ru/freedominc/wallenc/ExampleUnitTest.kt +++ b/data/src/test/java/com/github/nullptroma/data/ExampleUnitTest.kt @@ -1,4 +1,4 @@ -package ru.freedominc.wallenc +package com.github.nullptroma.data import org.junit.Test diff --git a/domain/.gitignore b/domain/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/domain/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts new file mode 100644 index 0000000..1447936 --- /dev/null +++ b/domain/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.dagger.hilt) + alias(libs.plugins.ksp) +} + +android { + namespace = "com.github.nullptroma.domain" + compileSdk = 34 + + defaultConfig { + minSdk = 24 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + implementation(libs.dagger.hilt) + ksp(libs.dagger.hilt.compiler) + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) +} \ No newline at end of file diff --git a/domain/consumer-rules.pro b/domain/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/domain/proguard-rules.pro b/domain/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/domain/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/domain/src/androidTest/java/com/github/nullptroma/domain/ExampleInstrumentedTest.kt b/domain/src/androidTest/java/com/github/nullptroma/domain/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..cde98b1 --- /dev/null +++ b/domain/src/androidTest/java/com/github/nullptroma/domain/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.github.nullptroma.domain + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.github.nullptroma.domain.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/domain/src/main/AndroidManifest.xml b/domain/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/domain/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/domain/src/test/java/com/github/nullptroma/domain/ExampleUnitTest.kt b/domain/src/test/java/com/github/nullptroma/domain/ExampleUnitTest.kt new file mode 100644 index 0000000..811a1e1 --- /dev/null +++ b/domain/src/test/java/com/github/nullptroma/domain/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.github.nullptroma.domain + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7036f70..c718385 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,23 +1,27 @@ [versions] -agp = "8.6.0" +agp = "8.6.1" kotlin = "2.0.20" coreKtx = "1.13.1" junit = "4.13.2" junitVersion = "1.2.1" espressoCore = "3.6.1" -lifecycleRuntimeKtx = "2.8.5" +lifecycleRuntimeKtx = "2.8.6" activityCompose = "1.9.2" -composeBom = "2024.09.00" -navigation = "2.8.0" +composeBom = "2024.09.02" +navigation = "2.8.1" +hiltNavigation = "1.2.0" yandexAuthSdk = "3.1.1" -daggerHilt = "2.47" +daggerHilt = "2.49" ksp = "2.0.20-1.0.24" room = "2.6.1" retrofit = "2.9.0" gson = "2.10.1" +appcompat = "1.7.0" +material = "1.12.0" [libraries] -androidx-navigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" } +navigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" } +navigation-hilt-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hiltNavigation" } # Yandex yandex-oauth = { group = "com.yandex.android", name = "authsdk", version.ref = "yandexAuthSdk" } @@ -52,6 +56,8 @@ androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } [plugins] @@ -60,4 +66,5 @@ kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "daggerHilt" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +android-library = { id = "com.android.library", version.ref = "agp" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 7ce2c97..edb7ac5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,4 +21,5 @@ dependencyResolutionManagement { rootProject.name = "Wallenc" include(":app") - \ No newline at end of file +include(":domain") +include(":data")