Compare commits
3 commits
f663b00e3e
...
e5de888b98
| Author | SHA1 | Date | |
|---|---|---|---|
| e5de888b98 | |||
| 8f8df3ce80 | |||
| b9aad61d5f |
4 changed files with 28 additions and 32 deletions
|
|
@ -18,20 +18,28 @@ android {
|
||||||
applicationId = "com.pixelized.chocolate"
|
applicationId = "com.pixelized.chocolate"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 1
|
versionCode = 2
|
||||||
versionName = "1.0"
|
versionName = "1.0.1"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
debug {
|
||||||
|
applicationIdSuffix = ".debug"
|
||||||
isMinifyEnabled = false
|
isMinifyEnabled = false
|
||||||
proguardFiles(
|
proguardFiles(
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
"proguard-rules.pro"
|
"proguard-rules.pro"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
release {
|
||||||
|
isMinifyEnabled = true
|
||||||
|
proguardFiles(
|
||||||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
|
"proguard-rules.pro"
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
|
|
@ -66,12 +74,6 @@ dependencies {
|
||||||
implementation("androidx.compose.material3:material3-window-size-class:1.4.0")
|
implementation("androidx.compose.material3:material3-window-size-class:1.4.0")
|
||||||
implementation("androidx.compose.material3.adaptive:adaptive-layout:1.1.0")
|
implementation("androidx.compose.material3.adaptive:adaptive-layout:1.1.0")
|
||||||
|
|
||||||
// Navigation
|
|
||||||
implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha11")
|
|
||||||
implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha11")
|
|
||||||
implementation("androidx.compose.material3.adaptive:adaptive-navigation3:1.0.0-SNAPSHOT")
|
|
||||||
implementation("androidx.lifecycle:lifecycle-viewmodel-navigation3:1.0.0-SNAPSHOT")
|
|
||||||
|
|
||||||
// Injection
|
// Injection
|
||||||
implementation("androidx.hilt:hilt-navigation-compose:1.3.0")
|
implementation("androidx.hilt:hilt-navigation-compose:1.3.0")
|
||||||
implementation("com.google.dagger:hilt-android:2.57.2")
|
implementation("com.google.dagger:hilt-android:2.57.2")
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ private fun MainContent(
|
||||||
withStyle(packageStyleSpan) {
|
withStyle(packageStyleSpan) {
|
||||||
append("Forfait IS (")
|
append("Forfait IS (")
|
||||||
append(it.packageISInput)
|
append(it.packageISInput)
|
||||||
append(") : ")
|
append("€) : ")
|
||||||
}
|
}
|
||||||
withStyle(amountStyleSpan) { append("${it.packageISValue}") }
|
withStyle(amountStyleSpan) { append("${it.packageISValue}") }
|
||||||
},
|
},
|
||||||
|
|
@ -324,7 +324,7 @@ private fun MainContent(
|
||||||
withStyle(packageStyleSpan) {
|
withStyle(packageStyleSpan) {
|
||||||
append("Forfait 2B (")
|
append("Forfait 2B (")
|
||||||
append(it.package2BInput)
|
append(it.package2BInput)
|
||||||
append(") : ")
|
append("€) : ")
|
||||||
}
|
}
|
||||||
withStyle(amountStyleSpan) { append("${it.package2BValue}") }
|
withStyle(amountStyleSpan) { append("${it.package2BValue}") }
|
||||||
},
|
},
|
||||||
|
|
@ -333,9 +333,9 @@ private fun MainContent(
|
||||||
color = MaterialTheme.colorScheme.onSurface,
|
color = MaterialTheme.colorScheme.onSurface,
|
||||||
text = buildAnnotatedString {
|
text = buildAnnotatedString {
|
||||||
withStyle(packageStyleSpan) {
|
withStyle(packageStyleSpan) {
|
||||||
append("Forfait IS (")
|
append("Forfait FA (")
|
||||||
append(it.packageISInput)
|
append(it.packageISInput)
|
||||||
append(") : ")
|
append("€) : ")
|
||||||
}
|
}
|
||||||
withStyle(amountStyleSpan) { append("${it.packageISValue}") }
|
withStyle(amountStyleSpan) { append("${it.packageISValue}") }
|
||||||
},
|
},
|
||||||
|
|
@ -412,11 +412,11 @@ private fun MainContentPreview() {
|
||||||
listOf(
|
listOf(
|
||||||
MainScreenResult(
|
MainScreenResult(
|
||||||
id = "0-1",
|
id = "0-1",
|
||||||
packageISInput = "77.29€",
|
packageISInput = "77.29",
|
||||||
packageISValue = 3,
|
packageISValue = 3,
|
||||||
package2BInput = "96.26€",
|
package2BInput = "96.26",
|
||||||
package2BValue = 80,
|
package2BValue = 80,
|
||||||
packageFAInput = "107.97€",
|
packageFAInput = "107.97",
|
||||||
packageFAValue = 64,
|
packageFAValue = 64,
|
||||||
result = 14841.52,
|
result = 14841.52,
|
||||||
delta = 0.0,
|
delta = 0.0,
|
||||||
|
|
|
||||||
|
|
@ -91,27 +91,27 @@ class MainViewModel @Inject constructor() : ViewModel() {
|
||||||
precision: Double = 10.0.pow(DECIMALS),
|
precision: Double = 10.0.pow(DECIMALS),
|
||||||
) {
|
) {
|
||||||
val input = expected.value(precision)
|
val input = expected.value(precision)
|
||||||
if (input == null) {
|
if (input == null || input <= 0) {
|
||||||
expected.errorFlow.value = true
|
expected.errorFlow.value = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
val valueIS = packageIS.value(precision)
|
val valueIS = packageIS.value(precision)
|
||||||
if (valueIS == null) {
|
if (valueIS == null || valueIS <= 0) {
|
||||||
packageIS.errorFlow.value = true
|
packageIS.errorFlow.value = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val maxIS = (input / valueIS) + 1
|
val maxIS = (input / valueIS) + 1
|
||||||
|
|
||||||
val value2B = package2B.value(precision)
|
val value2B = package2B.value(precision)
|
||||||
if (value2B == null) {
|
if (value2B == null || value2B <= 0) {
|
||||||
package2B.errorFlow.value = true
|
package2B.errorFlow.value = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val max2B = (input / value2B) + 1
|
val max2B = (input / value2B) + 1
|
||||||
|
|
||||||
val valueFA = packageFA.value(precision)
|
val valueFA = packageFA.value(precision)
|
||||||
if (valueFA == null) {
|
if (valueFA == null || valueFA <= 0) {
|
||||||
packageFA.errorFlow.value = true
|
packageFA.errorFlow.value = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -161,11 +161,11 @@ class MainViewModel @Inject constructor() : ViewModel() {
|
||||||
_results.value = listOf(
|
_results.value = listOf(
|
||||||
MainScreenResult(
|
MainScreenResult(
|
||||||
id = "$delta-0",
|
id = "$delta-0",
|
||||||
packageISInput = inputs.value.packageIS.labelFlow.value ?: "",
|
packageISInput = inputs.value.packageIS.valueFlow.value,
|
||||||
packageISValue = indexIS,
|
packageISValue = indexIS,
|
||||||
package2BInput = inputs.value.package2B.labelFlow.value ?: "",
|
package2BInput = inputs.value.package2B.valueFlow.value,
|
||||||
package2BValue = index2B,
|
package2BValue = index2B,
|
||||||
packageFAInput = inputs.value.packageFA.labelFlow.value ?: "",
|
packageFAInput = inputs.value.packageFA.valueFlow.value,
|
||||||
packageFAValue = indexFA,
|
packageFAValue = indexFA,
|
||||||
result = previousResult / precision,
|
result = previousResult / precision,
|
||||||
delta = delta,
|
delta = delta,
|
||||||
|
|
@ -179,11 +179,11 @@ class MainViewModel @Inject constructor() : ViewModel() {
|
||||||
list.add(
|
list.add(
|
||||||
MainScreenResult(
|
MainScreenResult(
|
||||||
id = "$delta-${list.size}",
|
id = "$delta-${list.size}",
|
||||||
packageISInput = inputs.value.packageIS.labelFlow.value ?: "",
|
packageISInput = inputs.value.packageIS.valueFlow.value,
|
||||||
packageISValue = indexIS,
|
packageISValue = indexIS,
|
||||||
package2BInput = inputs.value.package2B.labelFlow.value ?: "",
|
package2BInput = inputs.value.package2B.valueFlow.value,
|
||||||
package2BValue = index2B,
|
package2BValue = index2B,
|
||||||
packageFAInput = inputs.value.packageFA.labelFlow.value ?: "",
|
packageFAInput = inputs.value.packageFA.valueFlow.value,
|
||||||
packageFAValue = indexFA,
|
packageFAValue = indexFA,
|
||||||
result = previousResult / precision,
|
result = previousResult / precision,
|
||||||
delta = delta,
|
delta = delta,
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,6 @@ pluginManagement {
|
||||||
}
|
}
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
maven {
|
|
||||||
url = uri("https://androidx.dev/snapshots/builds/13617490/artifacts/repository")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -20,9 +17,6 @@ dependencyResolutionManagement {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven {
|
|
||||||
url = uri("https://androidx.dev/snapshots/builds/13617490/artifacts/repository")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue