diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 32c23551c..f45a9b382 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -171,6 +171,7 @@ dependencies { implementation(project(":feature:compare")) implementation(project(":feature:delete-exif")) implementation(project(":feature:generate-palette")) + implementation(project(":feature:resize-convert")) "marketImplementation"(libs.firebase.crashlytics.ktx) { exclude("androidx.datastore", "datastore-preferences") diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/ScreenSelector.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/ScreenSelector.kt index 009bb18de..7a3cde49e 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/ScreenSelector.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/ScreenSelector.kt @@ -35,7 +35,7 @@ import ru.tech.imageresizershrinker.presentation.image_stitching_screen.ImageSti import ru.tech.imageresizershrinker.presentation.main_screen.viewModel.MainViewModel import ru.tech.imageresizershrinker.presentation.pdf_tools_screen.PdfToolsScreen import ru.tech.imageresizershrinker.presentation.pick_color_from_image_screen.PickColorFromImageScreen -import ru.tech.imageresizershrinker.presentation.resize_and_convert_screen.ResizeAndConvertScreen +import ru.tech.imageresizershrinker.feature.resize_convert.presentation.ResizeAndConvertScreen import ru.tech.imageresizershrinker.presentation.single_edit_screen.SingleEditScreen @Composable diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/SingeEditScreen.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/SingeEditScreen.kt index 41a311c4c..53d492315 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/SingeEditScreen.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/SingeEditScreen.kt @@ -110,7 +110,7 @@ import ru.tech.imageresizershrinker.coreui.widget.utils.middleImageState import ru.tech.imageresizershrinker.coreui.widget.utils.rememberAvailableHeight import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.CropEditOption import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.DrawEditOption -import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.EditExifSheet +import ru.tech.imageresizershrinker.coreui.widget.sheets.EditExifSheet import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.EraseBackgroundEditOption import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.FilterEditOption import ru.tech.imageresizershrinker.presentation.single_edit_screen.viewModel.SingleEditViewModel diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/components/EditExifSheet.kt b/core-ui/src/main/kotlin/ru/tech/imageresizershrinker/coreui/widget/sheets/EditExifSheet.kt similarity index 98% rename from app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/components/EditExifSheet.kt rename to core-ui/src/main/kotlin/ru/tech/imageresizershrinker/coreui/widget/sheets/EditExifSheet.kt index 305e54ab0..bfbcf1e14 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/single_edit_screen/components/EditExifSheet.kt +++ b/core-ui/src/main/kotlin/ru/tech/imageresizershrinker/coreui/widget/sheets/EditExifSheet.kt @@ -1,4 +1,4 @@ -package ru.tech.imageresizershrinker.presentation.single_edit_screen.components +package ru.tech.imageresizershrinker.coreui.widget.sheets import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -53,8 +53,6 @@ import ru.tech.imageresizershrinker.coreui.widget.controls.EnhancedIconButton import ru.tech.imageresizershrinker.coreui.widget.modifier.alertDialogBorder import ru.tech.imageresizershrinker.coreui.widget.modifier.container import ru.tech.imageresizershrinker.coreui.widget.preferences.PreferenceItemOverload -import ru.tech.imageresizershrinker.coreui.widget.sheets.SimpleDragHandle -import ru.tech.imageresizershrinker.coreui.widget.sheets.SimpleSheet import ru.tech.imageresizershrinker.coreui.widget.text.AutoSizeText import ru.tech.imageresizershrinker.coreui.widget.text.RoundedTextField import ru.tech.imageresizershrinker.coreui.widget.text.TitleItem diff --git a/feature/resize-convert/.gitignore b/feature/resize-convert/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/feature/resize-convert/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/resize-convert/build.gradle.kts b/feature/resize-convert/build.gradle.kts new file mode 100644 index 000000000..6f9f84d57 --- /dev/null +++ b/feature/resize-convert/build.gradle.kts @@ -0,0 +1,56 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") + kotlin("kapt") +} + +android { + namespace = "ru.tech.imageresizershrinker.feature.resize_convert" + compileSdk = libs.versions.androidCompileSdk.get().toIntOrNull() + + defaultConfig { + minSdk = libs.versions.androidMinSdk.get().toIntOrNull() + } + + compileOptions { + sourceCompatibility = rootProject.extra.get("javaCompile") as JavaVersion + targetCompatibility = rootProject.extra.get("javaCompile") as JavaVersion + } + + kotlinOptions { + jvmTarget = libs.versions.jvmTarget.get() + } + + composeOptions { + kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() + } + + buildFeatures { + compose = true + } + + flavorDimensions += "app" + + productFlavors { + create("foss") { + dimension = "app" + } + create("market") { + dimension = "app" + } + create("jxl") { + dimension = "app" + } + } +} + +dependencies { + implementation(project(":core-domain")) + implementation(project(":core-ui")) + implementation(project(":core-data")) + implementation(project(":core-resources")) + + implementation(libs.hilt) + kapt(libs.dagger.hilt.compiler) +} \ No newline at end of file diff --git a/feature/resize-convert/src/main/AndroidManifest.xml b/feature/resize-convert/src/main/AndroidManifest.xml new file mode 100644 index 000000000..a5918e68a --- /dev/null +++ b/feature/resize-convert/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/ResizeAndConvertScreen.kt b/feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/ResizeAndConvertScreen.kt similarity index 98% rename from app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/ResizeAndConvertScreen.kt rename to feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/ResizeAndConvertScreen.kt index 0c616e85b..bee2e895c 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/ResizeAndConvertScreen.kt +++ b/feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/ResizeAndConvertScreen.kt @@ -1,4 +1,4 @@ -package ru.tech.imageresizershrinker.presentation.resize_and_convert_screen +package ru.tech.imageresizershrinker.feature.resize_convert.presentation import android.content.res.Configuration import android.net.Uri @@ -78,7 +78,6 @@ import dev.olshevski.navigation.reimagined.hilt.hiltViewModel import kotlinx.coroutines.delay import kotlinx.coroutines.launch import ru.tech.imageresizershrinker.coreresources.R -import ru.tech.imageresizershrinker.presentation.resize_and_convert_screen.viewModel.ResizeAndConvertViewModel import ru.tech.imageresizershrinker.coreui.transformation.ImageInfoTransformation import ru.tech.imageresizershrinker.coreui.utils.confetti.LocalConfettiController import ru.tech.imageresizershrinker.coreui.utils.helper.Picker @@ -107,6 +106,7 @@ import ru.tech.imageresizershrinker.coreui.widget.other.LocalToastHost import ru.tech.imageresizershrinker.coreui.widget.other.TopAppBarEmoji import ru.tech.imageresizershrinker.coreui.widget.other.showError import ru.tech.imageresizershrinker.coreui.widget.sheets.CompareSheet +import ru.tech.imageresizershrinker.coreui.widget.sheets.EditExifSheet import ru.tech.imageresizershrinker.coreui.widget.sheets.PickImageFromUrisSheet import ru.tech.imageresizershrinker.coreui.widget.sheets.ZoomModalSheet import ru.tech.imageresizershrinker.coreui.widget.text.TopAppBarTitle @@ -115,7 +115,7 @@ import ru.tech.imageresizershrinker.coreui.widget.utils.LocalWindowSizeClass import ru.tech.imageresizershrinker.coreui.widget.utils.isExpanded import ru.tech.imageresizershrinker.coreui.widget.utils.middleImageState import ru.tech.imageresizershrinker.coreui.widget.utils.rememberAvailableHeight -import ru.tech.imageresizershrinker.presentation.single_edit_screen.components.EditExifSheet +import ru.tech.imageresizershrinker.feature.resize_convert.presentation.viewModel.ResizeAndConvertViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/viewModel/ResizeAndConvertViewModel.kt b/feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/viewModel/ResizeAndConvertViewModel.kt similarity index 99% rename from app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/viewModel/ResizeAndConvertViewModel.kt rename to feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/viewModel/ResizeAndConvertViewModel.kt index 744970255..e270161b7 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/resize_and_convert_screen/viewModel/ResizeAndConvertViewModel.kt +++ b/feature/resize-convert/src/main/java/ru/tech/imageresizershrinker/feature/resize_convert/presentation/viewModel/ResizeAndConvertViewModel.kt @@ -1,4 +1,4 @@ -package ru.tech.imageresizershrinker.presentation.resize_and_convert_screen.viewModel +package ru.tech.imageresizershrinker.feature.resize_convert.presentation.viewModel import android.graphics.Bitmap import android.net.Uri diff --git a/settings.gradle.kts b/settings.gradle.kts index 5307f70b5..a953117df 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,8 @@ @file:Suppress("UnstableApiUsage") +include(":feature:resize-convert") + + include(":feature:generate-palette")