From aa34e2c692f907d3a23e72c39d02478eb3688a99 Mon Sep 17 00:00:00 2001 From: Iftakhar Husan <AC5636@student.jamk.fi> Date: Mon, 27 Nov 2023 14:58:34 +0200 Subject: [PATCH] Finish Exercise 4 --- E04SumCalculator/.gitignore | 15 + E04SumCalculator/.idea/.gitignore | 3 + E04SumCalculator/.idea/.name | 1 + E04SumCalculator/.idea/compiler.xml | 6 + .../.idea/deploymentTargetDropDown.xml | 10 + E04SumCalculator/.idea/gradle.xml | 19 + E04SumCalculator/.idea/kotlinc.xml | 6 + E04SumCalculator/.idea/migrations.xml | 10 + E04SumCalculator/.idea/misc.xml | 9 + E04SumCalculator/.idea/vcs.xml | 6 + E04SumCalculator/app/.gitignore | 1 + E04SumCalculator/app/build.gradle.kts | 75 +++ E04SumCalculator/app/proguard-rules.pro | 21 + .../ExampleInstrumentedTest.kt | 24 + .../app/src/main/AndroidManifest.xml | 28 + .../e04sumcalculator/CalculatorViewModel.kt | 113 ++++ .../example/e04sumcalculator/MainActivity.kt | 571 ++++++++++++++++++ .../e04sumcalculator/ui/theme/Color.kt | 11 + .../e04sumcalculator/ui/theme/Theme.kt | 70 +++ .../example/e04sumcalculator/ui/theme/Type.kt | 34 ++ .../res/drawable/ic_launcher_background.xml | 170 ++++++ .../res/drawable/ic_launcher_foreground.xml | 30 + .../app/src/main/res/drawable/math.jpg | Bin 0 -> 52278 bytes .../main/res/mipmap-anydpi/ic_launcher.xml | 6 + .../res/mipmap-anydpi/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 4 + .../app/src/main/res/values/themes.xml | 5 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../e04sumcalculator/ExampleUnitTest.kt | 17 + E04SumCalculator/build.gradle.kts | 5 + E04SumCalculator/gradle.properties | 23 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + E04SumCalculator/gradlew | 185 ++++++ E04SumCalculator/gradlew.bat | 89 +++ E04SumCalculator/settings.gradle.kts | 17 + 48 files changed, 1638 insertions(+) create mode 100644 E04SumCalculator/.gitignore create mode 100644 E04SumCalculator/.idea/.gitignore create mode 100644 E04SumCalculator/.idea/.name create mode 100644 E04SumCalculator/.idea/compiler.xml create mode 100644 E04SumCalculator/.idea/deploymentTargetDropDown.xml create mode 100644 E04SumCalculator/.idea/gradle.xml create mode 100644 E04SumCalculator/.idea/kotlinc.xml create mode 100644 E04SumCalculator/.idea/migrations.xml create mode 100644 E04SumCalculator/.idea/misc.xml create mode 100644 E04SumCalculator/.idea/vcs.xml create mode 100644 E04SumCalculator/app/.gitignore create mode 100644 E04SumCalculator/app/build.gradle.kts create mode 100644 E04SumCalculator/app/proguard-rules.pro create mode 100644 E04SumCalculator/app/src/androidTest/java/com/example/e04sumcalculator/ExampleInstrumentedTest.kt create mode 100644 E04SumCalculator/app/src/main/AndroidManifest.xml create mode 100644 E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/CalculatorViewModel.kt create mode 100644 E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/MainActivity.kt create mode 100644 E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Color.kt create mode 100644 E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Theme.kt create mode 100644 E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Type.kt create mode 100644 E04SumCalculator/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 E04SumCalculator/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 E04SumCalculator/app/src/main/res/drawable/math.jpg create mode 100644 E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher.xml create mode 100644 E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml create mode 100644 E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 E04SumCalculator/app/src/main/res/values/colors.xml create mode 100644 E04SumCalculator/app/src/main/res/values/strings.xml create mode 100644 E04SumCalculator/app/src/main/res/values/themes.xml create mode 100644 E04SumCalculator/app/src/main/res/xml/backup_rules.xml create mode 100644 E04SumCalculator/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 E04SumCalculator/app/src/test/java/com/example/e04sumcalculator/ExampleUnitTest.kt create mode 100644 E04SumCalculator/build.gradle.kts create mode 100644 E04SumCalculator/gradle.properties create mode 100644 E04SumCalculator/gradle/wrapper/gradle-wrapper.jar create mode 100644 E04SumCalculator/gradle/wrapper/gradle-wrapper.properties create mode 100755 E04SumCalculator/gradlew create mode 100644 E04SumCalculator/gradlew.bat create mode 100644 E04SumCalculator/settings.gradle.kts diff --git a/E04SumCalculator/.gitignore b/E04SumCalculator/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/E04SumCalculator/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/E04SumCalculator/.idea/.gitignore b/E04SumCalculator/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/E04SumCalculator/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/E04SumCalculator/.idea/.name b/E04SumCalculator/.idea/.name new file mode 100644 index 0000000..3491d4b --- /dev/null +++ b/E04SumCalculator/.idea/.name @@ -0,0 +1 @@ +E04 Sum Calculator \ No newline at end of file diff --git a/E04SumCalculator/.idea/compiler.xml b/E04SumCalculator/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/E04SumCalculator/.idea/compiler.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <bytecodeTargetLevel target="17" /> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/deploymentTargetDropDown.xml b/E04SumCalculator/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/E04SumCalculator/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="deploymentTargetDropDown"> + <value> + <entry key="app"> + <State /> + </entry> + </value> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/gradle.xml b/E04SumCalculator/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/E04SumCalculator/.idea/gradle.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="GradleMigrationSettings" migrationVersion="1" /> + <component name="GradleSettings"> + <option name="linkedExternalProjectsSettings"> + <GradleProjectSettings> + <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> + <option name="modules"> + <set> + <option value="$PROJECT_DIR$" /> + <option value="$PROJECT_DIR$/app" /> + </set> + </option> + <option name="resolveExternalAnnotations" value="false" /> + </GradleProjectSettings> + </option> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/kotlinc.xml b/E04SumCalculator/.idea/kotlinc.xml new file mode 100644 index 0000000..fdf8d99 --- /dev/null +++ b/E04SumCalculator/.idea/kotlinc.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="KotlinJpsPluginSettings"> + <option name="version" value="1.9.0" /> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/migrations.xml b/E04SumCalculator/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/E04SumCalculator/.idea/migrations.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectMigrations"> + <option name="MigrateToGradleLocalJavaHome"> + <set> + <option value="$PROJECT_DIR$" /> + </set> + </option> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/misc.xml b/E04SumCalculator/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/E04SumCalculator/.idea/misc.xml @@ -0,0 +1,9 @@ +<project version="4"> + <component name="ExternalStorageConfigurationManager" enabled="true" /> + <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/build/classes" /> + </component> + <component name="ProjectType"> + <option name="id" value="Android" /> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/.idea/vcs.xml b/E04SumCalculator/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/E04SumCalculator/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/E04SumCalculator/app/.gitignore b/E04SumCalculator/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/E04SumCalculator/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/E04SumCalculator/app/build.gradle.kts b/E04SumCalculator/app/build.gradle.kts new file mode 100644 index 0000000..bdb453f --- /dev/null +++ b/E04SumCalculator/app/build.gradle.kts @@ -0,0 +1,75 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.example.e04sumcalculator" + compileSdk = 34 + + defaultConfig { + applicationId = "com.example.e04sumcalculator" + minSdk = 30 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary = true + } + } + + 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" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.1" + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } +} + +dependencies { + implementation("androidx.core:core-ktx:1.12.0") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2") + implementation("androidx.activity:activity-compose:1.8.1") + implementation(platform("androidx.compose:compose-bom:2023.08.00")) + implementation("androidx.compose.ui:ui") + implementation("androidx.compose.ui:ui-graphics") + implementation("androidx.compose.ui:ui-tooling-preview") + implementation("androidx.compose.material3:material3") + implementation("androidx.compose.material3:material3-window-size-class") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") + androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00")) + androidTestImplementation("androidx.compose.ui:ui-test-junit4") + debugImplementation("androidx.compose.ui:ui-tooling") + debugImplementation("androidx.compose.ui:ui-test-manifest") + + // extra dependencies + implementation("androidx.lifecycle:lifecycle-viewmodel-compose:{latest_version}") + + // Third party libraries + implementation("com.notkamui.libs:keval:0.9.0") +} \ No newline at end of file diff --git a/E04SumCalculator/app/proguard-rules.pro b/E04SumCalculator/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/E04SumCalculator/app/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/E04SumCalculator/app/src/androidTest/java/com/example/e04sumcalculator/ExampleInstrumentedTest.kt b/E04SumCalculator/app/src/androidTest/java/com/example/e04sumcalculator/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..8164265 --- /dev/null +++ b/E04SumCalculator/app/src/androidTest/java/com/example/e04sumcalculator/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.e04sumcalculator + +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.example.e04sumcalculator", appContext.packageName) + } +} \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/AndroidManifest.xml b/E04SumCalculator/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..835294c --- /dev/null +++ b/E04SumCalculator/app/src/main/AndroidManifest.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools"> + + <application + android:allowBackup="true" + android:dataExtractionRules="@xml/data_extraction_rules" + android:fullBackupContent="@xml/backup_rules" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" + android:theme="@style/Theme.E04SumCalculator" + tools:targetApi="31"> + <activity + android:name=".MainActivity" + android:exported="true" + android:label="@string/app_name" + android:theme="@style/Theme.E04SumCalculator"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/CalculatorViewModel.kt b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/CalculatorViewModel.kt new file mode 100644 index 0000000..19a026e --- /dev/null +++ b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/CalculatorViewModel.kt @@ -0,0 +1,113 @@ +package com.example.e04sumcalculator + + +import androidx.lifecycle.ViewModel +import com.notkamui.keval.keval +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import java.math.RoundingMode + + +data class MathExpression( + val expression: String, + val result: String +) + +const val EXAMPLE_EXPRESSION = "(e*PI)^2 * ((10-2.5+3)/2)^2" + +data class CalculatorState( + val previousExpressions: MutableList<MathExpression> = mutableListOf( + MathExpression( + EXAMPLE_EXPRESSION, + EXAMPLE_EXPRESSION.keval().toBigDecimal().setScale(2, RoundingMode.HALF_EVEN).toString() + ) + ), + val currentExpression: MathExpression = MathExpression("", "") +) + +class CalculatorViewModel : ViewModel() { + private val _state = MutableStateFlow(CalculatorState()) + val state: StateFlow<CalculatorState> = _state.asStateFlow() + private val validDigits = setOf("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".") + private val validKevalOperators = setOf("+", "-", "*", "/", "%", "^", "neg", "PI", "e", "(", ")") + private val validActions = setOf("C", "<=", "=") + + fun onKeyPressed(data: String) { + val expr = _state.value.currentExpression.expression + if (isValidDigit(data) || isValidOperator(data)) { + concatCurrentExpression(data) + } else if (isValidAction(data)) { + when (data) { + "C" -> clearCurrentExpression() + "=" -> evaluateCurrentExpression() + "<=" -> eraseLastCharacter() + } + } else { + println("Have no idea what you are doing.") + } + } + + private fun evaluateCurrentExpression() { + val expr = _state.value.currentExpression.expression + if (expr.isEmpty()) return + var exprRes = "Error" + try { + exprRes = expr + .keval() + .toBigDecimal() + .setScale(2, RoundingMode.HALF_EVEN) + .toString() + } catch (error: Exception) { + println("Error curred") + } + _state.update { + var prevExpressions = it.previousExpressions + prevExpressions.add(MathExpression(expr, exprRes)) + CalculatorState( + previousExpressions = prevExpressions, + currentExpression = MathExpression("", "") + ) + } + } + + private fun eraseLastCharacter() { + val expr = state.value.currentExpression.expression + if (expr.isNotEmpty()) { + _state.update { + it.copy(currentExpression = MathExpression(expr.dropLast(1), "")) + } + } else if (_state.value.previousExpressions.size > 0) { + _state.update { + var prevExpressions = it.previousExpressions + var lastExpr = prevExpressions.removeLast() + it.copy(previousExpressions = prevExpressions, currentExpression = lastExpr) + } + } + } + + private fun clearCurrentExpression() { + _state.update { + it.copy(currentExpression = MathExpression("", "")) + } + } + + private fun concatCurrentExpression(str: String) { + _state.update { + it.copy(currentExpression = MathExpression(it.currentExpression.expression + str, "")) + } + } + + private fun isValidDigit(str: String): Boolean { + return validDigits.contains(str) + } + + private fun isValidOperator(str: String): Boolean { + return validKevalOperators.contains(str) + } + + private fun isValidAction(str: String): Boolean { + return validActions.contains(str) + } +} diff --git a/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/MainActivity.kt b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/MainActivity.kt new file mode 100644 index 0000000..2105bba --- /dev/null +++ b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/MainActivity.kt @@ -0,0 +1,571 @@ +package com.example.e04sumcalculator + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.viewModels +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.gestures.rememberScrollableState +import androidx.compose.foundation.gestures.scrollBy +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Button +import androidx.compose.material3.Divider +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi +import androidx.compose.material3.windowsizeclass.WindowSizeClass +import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass +import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.lifecycle.viewmodel.compose.viewModel +import com.example.e04sumcalculator.ui.theme.E04SumCalculatorTheme +import com.notkamui.keval.keval +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.currentCoroutineContext +import kotlinx.coroutines.launch +import java.math.RoundingMode +import kotlin.coroutines.CoroutineContext + + +class MainActivity : ComponentActivity() { + @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + E04SumCalculatorTheme { + val windowSize = calculateWindowSizeClass(this) + val calcModel: CalculatorViewModel = viewModel() + CalculatorApp(windowSize, calcModel) + } + } + } + + override fun onDestroy() { + super.onDestroy() + println("App is closing") + } +} + + +@Composable +fun CalculatorApp(windowSize: WindowSizeClass, calcViewModel: CalculatorViewModel = viewModel()) { + when (windowSize.widthSizeClass) { + WindowWidthSizeClass.Compact -> { + CalculatorPortrait(calcViewModel) + } +// WindowWidthSizeClass.Medium -> {} +// WindowWidthSizeClass.Expanded -> {} + else -> { + CalculatorLandscape(calcViewModel) + } + } +} + +@Composable +fun CalculatorPortrait( + calcViewModel: CalculatorViewModel = viewModel(), + modifier: Modifier = Modifier +) { + val state by calcViewModel.state.collectAsState() + val scrollState = rememberScrollState() + val scope = rememberCoroutineScope() + + Column( + modifier = Modifier + .fillMaxHeight() + .then(modifier) + ) { + Banner(imageSrc = R.drawable.math, modifier = Modifier.fillMaxHeight(1f)) + + Column( + Modifier.weight(1f), + verticalArrangement = Arrangement.Bottom + ) { + // Expressions + Column( + modifier = Modifier + .weight(1f) + .verticalScroll(scrollState), + verticalArrangement = Arrangement.Bottom + ) { + // Show previous expressions + for (expression in state.previousExpressions) { + Column(modifier = Modifier.fillMaxWidth()) { + Text( + text = "${expression.expression} = ${expression.result}", + textAlign = TextAlign.End, + modifier = Modifier + .fillMaxWidth() + .padding(16.dp, 8.dp) + ) + Divider(thickness = 1.dp, color = Color.LightGray) + } + } + } + + // Show current expression + Column(modifier = Modifier.fillMaxWidth()) { + Text( + // text = "${expression.expression} = ${expression.result}", + text = state.currentExpression.expression, + textAlign = TextAlign.End, + modifier = Modifier + .fillMaxWidth() + .padding(16.dp, 8.dp) + ) + Divider(thickness = 1.dp, color = Color.Gray) + } + + // Keys + Column( + verticalArrangement = Arrangement.Bottom, + modifier = Modifier + .wrapContentHeight() + .padding(16.dp, 8.dp) + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("7") }, + modifier = Modifier.weight(1f) + ) { + Text("7") + } + Button( + onClick = { calcViewModel.onKeyPressed("8") }, + modifier = Modifier.weight(1f) + ) { + Text("8") + } + Button( + onClick = { calcViewModel.onKeyPressed("9") }, + modifier = Modifier.weight(1f) + ) { + Text("9") + } + Button( + onClick = { calcViewModel.onKeyPressed("*") }, + modifier = Modifier.weight(1f) + ) { + Text("*") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("4") }, + modifier = Modifier.weight(1f) + ) { + Text("4") + } + Button( + onClick = { calcViewModel.onKeyPressed("5") }, + modifier = Modifier.weight(1f) + ) { + Text("5") + } + Button( + onClick = { calcViewModel.onKeyPressed("6") }, + modifier = Modifier.weight(1f) + ) { + Text("6") + } + Button( + onClick = { calcViewModel.onKeyPressed("-") }, + modifier = Modifier.weight(1f) + ) { + Text("-") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("1") }, + modifier = Modifier.weight(1f) + ) { + Text("1") + } + Button( + onClick = { calcViewModel.onKeyPressed("2") }, + modifier = Modifier.weight(1f) + ) { + Text("2") + } + Button( + onClick = { calcViewModel.onKeyPressed("3") }, + modifier = Modifier.weight(1f) + ) { + Text("3") + } + Button( + onClick = { calcViewModel.onKeyPressed("+") }, + modifier = Modifier.weight(1f) + ) { + Text("+") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Row(modifier = Modifier.weight(1f)) { + Button( + modifier = Modifier.weight(1f), + onClick = { calcViewModel.onKeyPressed("0") }) { + Text("0") + } + } + Row( + modifier = Modifier.weight(1f), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("C") }, + modifier = Modifier.weight(1f) + ) { + Text("C") + } + Button( + onClick = { + calcViewModel.onKeyPressed("=") + scope.launch { + while (scrollState.canScrollForward) { + scrollState.scrollBy(20f) + } + } + }, + modifier = Modifier.weight(1f) + ) { + Text("=") + } + } + } + } + } + + } +} + +@Composable +fun CalculatorLandscape( + calcViewModel: CalculatorViewModel = viewModel(), + modifier: Modifier = Modifier +) { + val state by calcViewModel.state.collectAsState() + val scrollState = rememberScrollState() + val scope = rememberCoroutineScope() + + Column( + modifier = Modifier + .fillMaxHeight() + .then(modifier) + ) { + Column( + Modifier.weight(1f), + verticalArrangement = Arrangement.Bottom + ) { + // Expressions + Column( + modifier = Modifier + .weight(1f) + .verticalScroll(scrollState), + verticalArrangement = Arrangement.Bottom + ) { + // Show previous expressions + for (expression in state.previousExpressions) { + Column(modifier = Modifier.fillMaxWidth()) { + Text( + text = "${expression.expression} = ${expression.result}", + textAlign = TextAlign.End, + modifier = Modifier + .fillMaxWidth() + .padding(16.dp, 8.dp) + ) + Divider(thickness = 1.dp, color = Color.LightGray) + } + } + } + + // Show current expression + Column(modifier = Modifier.fillMaxWidth()) { + Text( + text = state.currentExpression.expression, + textAlign = TextAlign.End, + modifier = Modifier + .fillMaxWidth() + .padding(16.dp, 8.dp) + ) + Divider(thickness = 1.dp, color = Color.Gray) + } + + // Keys + Column( + verticalArrangement = Arrangement.Bottom, + modifier = Modifier + .wrapContentHeight() + .padding(16.dp, 8.dp) + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("(") }, + modifier = Modifier.weight(1f) + ) { + Text("(") + } + Button( + onClick = { calcViewModel.onKeyPressed(")") }, + modifier = Modifier.weight(1f) + ) { + Text(")") + } + Button( + onClick = { calcViewModel.onKeyPressed("<=") }, + modifier = Modifier.weight(1f) + ) { + Text("<=") + } + Button( + onClick = { calcViewModel.onKeyPressed("7") }, + modifier = Modifier.weight(1f) + ) { + Text("7") + } + Button( + onClick = { calcViewModel.onKeyPressed("8") }, + modifier = Modifier.weight(1f) + ) { + Text("8") + } + Button( + onClick = { calcViewModel.onKeyPressed("9") }, + modifier = Modifier.weight(1f) + ) { + Text("9") + } + Button( + onClick = { calcViewModel.onKeyPressed("*") }, + modifier = Modifier.weight(1f) + ) { + Text("*") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + + Button( + onClick = { calcViewModel.onKeyPressed("SIN") }, + modifier = Modifier.weight(1f) + ) { + Text("SIN") + } + Button( + onClick = { calcViewModel.onKeyPressed("COS") }, + modifier = Modifier.weight(1f) + ) { + Text("COS") + } + Button( + onClick = { calcViewModel.onKeyPressed("e") }, + modifier = Modifier.weight(1f) + ) { + Text("e") + } + Button( + onClick = { calcViewModel.onKeyPressed("4") }, + modifier = Modifier.weight(1f) + ) { + Text("4") + } + Button( + onClick = { calcViewModel.onKeyPressed("5") }, + modifier = Modifier.weight(1f) + ) { + Text("5") + } + Button( + onClick = { calcViewModel.onKeyPressed("6") }, + modifier = Modifier.weight(1f) + ) { + Text("6") + } + Button( + onClick = { calcViewModel.onKeyPressed("-") }, + modifier = Modifier.weight(1f) + ) { + Text("-") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("SINH") }, + modifier = Modifier.weight(1f) + ) { + Text("SINH") + } + Button( + onClick = { calcViewModel.onKeyPressed("COSH") }, + modifier = Modifier.weight(1f) + ) { + Text("COSH") + } + Button( + onClick = { calcViewModel.onKeyPressed("^") }, + modifier = Modifier.weight(1f) + ) { + Text("^") + } + Button( + onClick = { calcViewModel.onKeyPressed("1") }, + modifier = Modifier.weight(1f) + ) { + Text("1") + } + Button( + onClick = { calcViewModel.onKeyPressed("2") }, + modifier = Modifier.weight(1f) + ) { + Text("2") + } + Button( + onClick = { calcViewModel.onKeyPressed("3") }, + modifier = Modifier.weight(1f) + ) { + Text("3") + } + Button( + onClick = { calcViewModel.onKeyPressed("+") }, + modifier = Modifier.weight(1f) + ) { + Text("+") + } + } + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { calcViewModel.onKeyPressed("C") }, + modifier = Modifier.weight(2f) + ) { + Text("C") + } + Button( + modifier = Modifier.weight(1f), + onClick = { calcViewModel.onKeyPressed("PI") }) { + Text("PI") + } + Button( + modifier = Modifier.weight(1f), + onClick = { calcViewModel.onKeyPressed("0") }) { + Text("0") + } + Button( + modifier = Modifier.weight(1f), + onClick = { calcViewModel.onKeyPressed(".") }) { + Text(".") + } + Button( + onClick = { calcViewModel.onKeyPressed("/") }, + modifier = Modifier.weight(1f) + ) { + Text("/") + } + Button( + onClick = { + calcViewModel.onKeyPressed("=") + scope.launch { + while (scrollState.canScrollForward) { + scrollState.scrollBy(20f) + } + } + }, + modifier = Modifier.weight(1f) + ) { + Text("=") + } + } + } + } + } +} + +@Preview(showBackground = true) +@Composable +fun CalculatorPortraitPreview() { + E04SumCalculatorTheme { + CalculatorPortrait() + } +} + +@Preview(showBackground = true, device = "spec:parent=pixel_5,orientation=landscape") +@Composable +fun CalculatorLandscapePreview() { + E04SumCalculatorTheme { + CalculatorLandscape() + } +} + +@Composable +fun Banner(@DrawableRes imageSrc: Int, modifier: Modifier = Modifier) { + Image( + painter = painterResource(id = imageSrc), + contentDescription = stringResource(R.string.banner_content_description), + contentScale = ContentScale.Crop, + modifier = Modifier + .aspectRatio(16f / 9f) + .fillMaxWidth() + .then(modifier) + ) +} + +@Preview +@Composable +fun BannerPreview() { + Banner(R.drawable.math) +} \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Color.kt b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Color.kt new file mode 100644 index 0000000..b04b5d8 --- /dev/null +++ b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Color.kt @@ -0,0 +1,11 @@ +package com.example.e04sumcalculator.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Theme.kt b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Theme.kt new file mode 100644 index 0000000..adbf84b --- /dev/null +++ b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Theme.kt @@ -0,0 +1,70 @@ +package com.example.e04sumcalculator.ui.theme + +import android.app.Activity +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalView +import androidx.core.view.WindowCompat + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80 +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40 + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun E04SumCalculatorTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + val view = LocalView.current + if (!view.isInEditMode) { + SideEffect { + val window = (view.context as Activity).window + window.statusBarColor = colorScheme.primary.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme + } + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Type.kt b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Type.kt new file mode 100644 index 0000000..33e07f9 --- /dev/null +++ b/E04SumCalculator/app/src/main/java/com/example/e04sumcalculator/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package com.example.e04sumcalculator.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/drawable/ic_launcher_background.xml b/E04SumCalculator/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="108dp" + android:height="108dp" + android:viewportWidth="108" + android:viewportHeight="108"> + <path + android:fillColor="#3DDC84" + android:pathData="M0,0h108v108h-108z" /> + <path + android:fillColor="#00000000" + android:pathData="M9,0L9,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,0L19,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M29,0L29,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M39,0L39,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M49,0L49,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M59,0L59,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M69,0L69,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M79,0L79,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M89,0L89,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M99,0L99,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,9L108,9" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,19L108,19" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,29L108,29" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,39L108,39" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,49L108,49" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,59L108,59" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,69L108,69" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,79L108,79" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,89L108,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,99L108,99" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,29L89,29" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,39L89,39" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,49L89,49" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,59L89,59" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,69L89,69" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,79L89,79" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M29,19L29,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M39,19L39,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M49,19L49,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M59,19L59,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M69,19L69,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M79,19L79,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> +</vector> diff --git a/E04SumCalculator/app/src/main/res/drawable/ic_launcher_foreground.xml b/E04SumCalculator/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:aapt="http://schemas.android.com/aapt" + android:width="108dp" + android:height="108dp" + android:viewportWidth="108" + android:viewportHeight="108"> + <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z"> + <aapt:attr name="android:fillColor"> + <gradient + android:endX="85.84757" + android:endY="92.4963" + android:startX="42.9492" + android:startY="49.59793" + android:type="linear"> + <item + android:color="#44000000" + android:offset="0.0" /> + <item + android:color="#00000000" + android:offset="1.0" /> + </gradient> + </aapt:attr> + </path> + <path + android:fillColor="#FFFFFF" + android:fillType="nonZero" + android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> +</vector> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/drawable/math.jpg b/E04SumCalculator/app/src/main/res/drawable/math.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f670bf7cccac1c11a644478535a676047fb2e8a GIT binary patch literal 52278 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 J7{wF=|Jmm68@K=f literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@drawable/ic_launcher_foreground" /> + <monochrome android:drawable="@drawable/ic_launcher_foreground" /> +</adaptive-icon> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@drawable/ic_launcher_foreground" /> + <monochrome android:drawable="@drawable/ic_launcher_foreground" /> +</adaptive-icon> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cm<R)d19?=)E<{+g@mp0C)CAX%7ksNnpX=jPlJEkqD9%o*fC(U7iySOYHHS zCLH@bXPyI|^Z)Mc^PG7Oc+NfBJO`d7p5;U`M53Wbd!w|M(MUoNRc2m{@^!wFKzL?& zx_RAc-^9Azxo%DmXW^9GV0~;n_G9&dym)|QrMEx!y_F=oDunn;1y)cvAc6z{0MHiz zodGIH07w8nF%*bGq9Gv`YHnm80|d1T$uW=u4vGV%tX#>e5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!<r*4*+?g*sysFgiN}}d!-T(>jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#<RA5Hg_mG&BZS>9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG<W<SKpuS2eaDGkL-J- z!+&UV_N0e<DV*|igwqdC*l{lj0T&&`uq=ycU@f9x0i8jzLa(y*X(YV?PCtUw;ks}p z4zFn7N(-OG^(9ot1ZhYISOWe9?+l%f6v41n+j<OM$_uJgNP?ZJy}hEMMH=;WiG4I` zs(bIWwSD<LJnAN(E(Xjr4k(^UYF37F_3f{;E%%FEa&I3I0GbdH@{pD5$m+1PN5CW) zyZ&*9o#8wstdx@^rci;0B4BP2+H4Y<KbJI5L(bXG(k@`Kp=d>8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqro<oln8GL@_6LPC)kg1!M)Y!|NCn7b*0sG zEN=&c2xMM<>a($ne7EUK;#3V<N-jQ7j($tREa0F&-HzYCQtR#fTCZMRN*ZSm;T7a+ zuxa$}zDL8R9wGYkHb$+gJoiM@z+u{u7a_VUBwtd)bPzHxH}C`W=^2PsBr`s7taBMG zm#Ss=-o`)W8%%x%>YkXaew%Kh^3OrMht<?zOY6P}#rBhn_hrWY$_P`{#CBR9w?+E6 zt7r#NN-tjxFY{9q75P<|L<ZJBHwn4FhG(&i>jYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)<UE%?IC0Du41FrE~F_qc8nOq>P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9<vs%8>j@06@(!<!eaZcF<_le1MVaYMg=gRy*f2#IaBH-mJIpy+L z=Gsbhd6=3>{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/E04SumCalculator/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuH<!ckn_w-(t15itRHmqN0O$B3XH(E|jyV^QXq8=yM`Q**vy zpEpgQd+no=J<Tlv&+_>B%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}<p z;bEy|mw1;}P&gp|0ssKe4*;D3Dlh;r06r}ehC-pC4mGy`3;|+W04+#B4r_x~@mHHy z)H}bD|I2-n_L$pW;*I)~?=#N<)`92&<$3IR`#<SH6@I&FRQa6xBmQ5wPwJ2PAI(ne z$L2Yb@JHxb`+bLk*AjR$^`b?pr|?!6=+AboIQ2D-p)UI7x(J0|5(5~ur$_+)`>C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ<hjKiZs6mOSFB&+cIl`GV$93-<ciUjF#*1^<p~gh ziQ_{)r0dA7$It&Fe=obxu8n!+elxmgqxPbUL!FxW0;AOfqz@8JOz9Qbm)m-9!^7D) z480@BoIIb<oT``+rVla8L)8fXO&6}3P9n4v$`6WG<DUNWuKb9J9rUsAn7d-_YWT^U z{NXl@OAPIJ!>3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^Q<WhKYr9rXr6*~Tmpuq6NjnD6;;NNBGIg-1ZvfACQ4{ocrwM0)?`oL2ts zCXY5KT@`(ir63J0?%+_(-dDgf<6R$u{lCdy6Zi5d+Bf;1OXyD;xe3#Gug*&T|0o41 zD8;$|JvUv&@vsLIH&C5+S{!k&{~Z54^y@9r>X7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!T<mO literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/E04SumCalculator/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..62b611da081676d42f6c3f78a2c91e7bcedddedb GIT binary patch literal 1772 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 O>FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 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 literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/E04SumCalculator/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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 literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..28d4b77f9f036a47549d47db79c16788749dca10 GIT binary patch literal 2884 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 literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/E04SumCalculator/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..9287f5083623b375139afb391af71cc533a7dd37 GIT binary patch literal 5914 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�(p-{x$&=IACIfoAR<Nvvu>!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@<pC<8PLRXJuvO4y>xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5<Pf8lV3fF#Ppu>Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@<t56P}GC(ea zcuDo~%vU?vTqAIp#flPNMI2`5;t8&98^HQwmsAsoPNK_fx^Bggb1WVe*N(RqH8#4x zCQN_rN*!W39u4A)O3%B(eX4-oO~1PlFj1j%A~@Wj>9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`<bqO>pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0x<PZ)*(STjdw~o@Rw-Or2Ax?U!if0^R7qyS!JDYN`R9pBUrvi5{Lgqu za0I&Zd*A54UPC}|lJz-2f!1VYM+A-ElFU{V`W)8LtCk5Mx|)Il)$QH*gA63%JZFt} zGq@eFEWXJ~R>Ps?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeN<ek%udeE*tim(T?PyxRjZ^lIknLzS6Fbvpe_110000002i;2E&u=k literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..aa7d6427e6fa1074b79ccd52ef67ac15c5637e85 GIT binary patch literal 3844 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 G0001O&w8c+ literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/E04SumCalculator/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..9126ae37cbc3587421d6889eadd1d91fbf1994d4 GIT binary patch literal 7778 zcmV-o9-ZM*Nk&Fm9smGWMM6+kP&il$0000G0002L006%L06|PpNM;KF009|=ZQC}G z?WFVnhub3}`X3k)f7gJdHv?Xy!R81AlJ*B*AtF+%2T777MNUTbu9%sbnHg^^{r@jg z*GbiFHdh@YCSU?QVcWL6ZMJROew>#A4mU}enR_!cGmIYQ;qwfchWtFEXL)AK%*;=j znYne+hS4EMy3S)C*mZ1KI>!+)0V@9!N<vFAw%bSx)5&s%!VB9)5>6H$Y}~MJ{rYuf zz^KljIWvFi<cP&X*lv%IdKPZD;Oa}RxZ=WXTQ_f5SBivP>-?#?V@LPR&c6Nn{!=XM z>}-h$S76;$H{E{Y%@^zlmOl^efBwa%UU+jJD9UVukQ3ti_kH-?H*RC0?M1W%FCvMB zM_+v6fk$6X2sx)-p~B3&Kl{nscK}pNLM*qjtpaf9>AU{-iPKQZR8yCg!TY}Qg*(;) z)gdvCcB%kppZc$VdvsK@)3l1{&DG!d_6OHOS`y=ITLEVu`unSKA2E%JD*DVX{LJ}K z9l>hMRDqxQh0lnpGHpVYneX}eA3Pt|2v%=q;rt)``R|#bDyB)OXY&vI_@|*}h}G?^ z@aZ4_!7cQPX`!fW_?{oT1NTwHs#l5L-0`E|y@48<3Q^HFf8=Idi<poq)!h6e-w-t> zpJYD%1MkII!~|7I^WGo)IF=?{>ACnjJ_WUi39C}!Q{QnheVJqeKKqq5^o5CBde(g9 zvw$X6^jz_^E2$wSw4!q5*RG(C2_^XO$HBn_55vbl44OnTTRwRaePP0vo{K)U1#99& z<>rq7V&V(<&@I%MFoN5zrY}sz=(*-L&}1QQ*a%`u25h{cFj===17eB_uGuzG&byQ< zrm8BJZl4r_E$3k|Wo6FW0-6M7>qac5uFQsQcmkLWGfeH74S3Z_rJ!jgN++!@i=HW8 zkyjI(oPH-+-N#Qc^-mpNO`bc6r=2-<%&Wy5K1vfFJB(L_IkpS6fY^NmuL8qsgj>MD zn~BHH9WM~32_3vd=W&B)k7F9q%stJx+b_L_X-4zr^LVUMCmyCTA3sWtkvsmME?Xiy z?xOSfB=_$oY06~J-HcCq&)qcW{j;uP;?Dm}=hkq?zh&n!;m((-G-u_t|6x399Q;>A zgNpxoJNj{u|MFDH7Rhq@FCAl0dE|ddnl!oh9{Lq?@JDoR6L<VshF8r0_5hVetvvR3 zUa9QP{tlg6#T|cqYLF{a{Z~(rG;8wQAGxkbcBg-f;&yT2caC>;C941IK`ISfdE$4S zE0AUQ8+2|Ncl_q5QkSp#AODp~(^mfP&%Au@@|TBQwoP`UU+V{6u8|)6ZA{~uKmQ*M zmrMTDU8S~8Eqi{^v0Ug&5Upcm#y7Z1(RbgZAG8jB$eRwCspQ)>5;U)oGZ&E5aeR*K z8Yt`Y0$G))Yd(Y3KH}tA4`-_QmNke5hU_|nq=xtyjwW(_o<J(bXz&TLG*KqE+J2b| zzGMf@yloAVGVyLu8$qUB0*aL7J!IELCX-VpLrK)~9;`MJCx<$?q(odYLqjiF1(aQ# zL@ODYw5>?itz>B>WM&^63bNdQ)k@-IgDHW*RW$Xo9#R<IvZbwNj6)I=m!3rJ1R1ab z2r2SX+N#$AB#3}6!qHGpW<lbPOR(BWoXkKL%kIL~nqp#++Ky;w$go6AM8rlKdq5Y2 z(2QEE+W<&V$_+GEA2Ij~w6?iAbps?Q2F=yh2@>zrTrCn7L2H{9Amq|qNg@#eZY=|P zCoI?2s+L)zsM%WX(NbVEY^`C>lFjIBYmJ6@DKJ0ZT4&F&WHW!dwa%QzOG!?jY_2(S zDcEzZbz*2Q!43|z))9yOP9X1Xt%DXzwY(3tl-TR=Qb_MbZYRrooh;dYYmS!U<ZgRO zPVYNRQ_syhy#$k<o5k&9_8xKKcLFP4qp4@lDp|7eON3j=!K=ngvNK;As+}}?A#E=O zoNvBGL+^hj&C*@-@GH2L%&xby`W!OyNy2U9;JIO(gR%4JUah41RARgoaLwm;(ad|F z%xacy_j&lKc6#Zp9NA05srmrn7IN_DDAJr$pN|}*jW~LL_UB~W*EgSRr5B&8BjcrE zSL&UF+sDEEL#oZWI%~cEfLcgL?yQ;STy6LL>_as1(=YVB?Q_A|tNu5Ut&_q3jbfDM zoFxT^uEuH`nX3*sB%K?GuHUkweYReBwnHqh3P)~`+s3+Tj!rDA1e)8vuBv5J*IsxC zkd^~b(aGzArj08{>cnzOuy04C+C`}gb|Yz-1avxeWzev3NzcHb<pG3uZzt6%N_M`H z63Z^ZKqoGZc8Lo{3_x10h0fhGO0|hnn_f$^(nSX^2^uxdKSsxjo4qPli^yf&E(~ZT z1mV|r$Sq=R+vNgcB?V-eJF|f%of#c231}t2Hhy-ks#-%;>z_&4W@QCr$z3~w=8Ua- z`;vfG1~BP8CyLb=F7t1am~ph_#|O%$khSJ9%Vtcn)YmpgQxF?xM<vI^;GRAEI=6(o z!@KAW9tUBYeDbWUR*=;{nzD_?0kAXj(FnJKLyxD@W^C=OI{Dn1XoVQOdR%qPoISf= z9>^_Vb+5fnpB^W0I`f%X8gb9#X{Q-yJG0{Z56aWeI&zPxnf5pdJA38bM`cYnS#x)% z`n1tFf$i)W-hGm(f9mde^=X@NcV_lFb=P`4&CI&H=IArijGwdCk&X@uQ$5xmj!~^? z#$ROCI)V-~t%L%GS#wo@U27ddR`4`3)WoB{R-4snfNrfee|kI8^bu#yDgYqOwas9# zmcb`3!kRJ`Cr=_tq)8aMt{aGtUZsqwVlj6DgCGre>AEt&x8H_in!x@uwgExIh|-mA zjdaC(29~CTVSaaF7HPbql&*9Uo8P@f)>LqCXclr}peS7_1BQ28u9PO8Eq1@`l3q9o zkfKCaO2?T?ZyA6loW<#9_c^O=m<&h}CA!ineAD@=(gbq`vyT|tiJ6#^B1$P;;qax` z55k&Q?wEh#87niLo*+n4L@65J(Nz~=Ya%7^(miLb(E>A3B@|Jjl;FU&D>o|9#7PJH z?|a<zSu;Ip07(%g)WPBHm#+z16D28}dg#ALW>go!o;WC^h=|T7PVBg(DAB}72cyUS zb(f>Bwbr!F1eTCO5fpj<{PqhY5>143p?~5ZA5H40);=@M#MYvrB6gqHbU_!GSY??i z%s=>-ciA4*zOOZHds0a(kWewZ4h(k8h(ua7HX)Au&mY~H8KY6(_cb$_<O0w_RIGh( zj5b~uP$jJb+Xd>&fA@QjIW-*heP3%$d!m5^AdnT}`12qA^c@!g3DOwZ5WwE2?)-yU z!)Vx#Mtxt?FzFTwK!77sy7)sMzUd->w4^bxtpM2j!b1<f<x~!bqtR&8*R*Y>pjgyk zGKwWGeb4)^zjy{9Es&PU1}gwg?|J#L$KJB7ett9@4M%-nGtIQr0>Fl@8-yh`-+1ed zS6r}(MeSvgSoFmH*_WPu@i?}!AB~2?;i&IxrkNg~cQ9Som98tcq)k^|eeER|Zl77t za-TVUc;DNvzVXJ%w52+#weN?+;i#{f#!Oc&z?81*N>^e~ltRS%ZI@lR{rs()HmqG! zx*}ZrI-EZ}ckJMiy>A^oofwDfC~IH)z8{VHKGT@#E5I(Ll&+MnMCl>~AV7+>Gi%mF zkU1QlKASdR0B80!YhP<$Ywi0?W2Ux45oPfxv9QolWzJPD^weBfvo4<Lv~8xkBt=At z1tlUBk`xLcfCSQM+v&`#3$kXW7iH=TEsRjnVxh%BfWeFBVy@2gLQEqHp@pGPNU;b4 zVK9rNold70VoXyCgwUc$LP9JwHn#Di7=vk2fj|g>SONxP3<lG-Vxd@6fLYWmG!qwA zP&gpY5&!^@QvjU-D!>5106sAmh(e+vAs0GboFD@PvNs)jNPvarhW}0YliZEg{Gazv z+JDIpoojRVPr<*C|BTq<`6ga{5q^8^!|0cxe=rZ!zxH3%f5ZO0cQ*Z<^$Yt2{|Ek0 zyT|*F+CO@K;(owBKtGg!S^xj-Z~rga2m6nxKl9J=fBSuNKW_dLKWhJKeg^-Xe`^1? z`TyJj)8E!#>_3Y?uKrwqq3LJ#SGU>AzUO|6`nR^u&3FNN_j<GeeqH_3zoS&&2>GOc zw)Nw`wr3yIKhgcee6IaN=ws>M{6677%)hPwx&HzC(f&u~&)6@b2kNRzBDQAP0*H73 zq%McOmRk{B3i47qRe=DA*$&odrbEJZ*pV9XXa&p@wlW~@Yfs>V{yiTtplMhgM*-Bz zsSnlq&pG;z0OUN%$~$<ZO!D9T#`!1$`I`)uEDsTp3AbG(+{8$XAm|$7F$y3bNSK&o zhMQ9>3=g1UF+G*>+17eRbBf3=y79J}KR8owon@$1Z7MIrvvWWH)34nK2SD)GsrJ{l z1Cl#oVo3A8qY3e=aF)qzms~FG#2$LzT=gs&aVMOj>(%{y<&O0cG!nCiESl~x=^dF{ zKvj8F1K8Ng171wwM5Fh4KoQw`_c6#y$(5cAm7e}~nJ#A*fx+c9;y#&W!#VukR)ugk zK<lHF5iU?+a7q%LIY(gu+6HC@fZla2JM0Ile!_1KZv9N%EWfH8UHOSr(*_6U#b-Cb zai)>p3=+;Ut+IYn%m+r4d*<`L2h%aDnX5}^!5R|H;(34AoVWjRx(msBZvk;rCI*|~ zdOijqI@9Z{Vu!~jvHW{lBa$rnl4+!s_5sfK3bCGk-B%iDe&@-}<f8H?NUz%;&9H88 zKeI&VsF;x;0RI0CWD-A=n<aDIbr2zA<Y!3Wi(DHhnBH?R)$`P~*0>+%fOKU|(9?V1 zHE8&@<R$bW%n4d_;X)D(J`BN4--OoA!GW*A7BtPjaSmp`zgPw*Oe`>4z)Kx!RAvAs z!Wic9=o#(bg?kc-G68-m(jZ`^=XGUXb)}t(%&~sjFnV^sEX%hSy6UKC4iOhgV=BHV z2w`4g7Y=s#Vu2B_?#VQ|hP39@eArgfX>-0S+dd&^mx0*wp}>)x;c4RUgxz%;oNe?& z-7-lJ@Y^2^C;=qJsxx5|xF)*pTGhch2B&kxtn;f!7=gznk}I3}Dh}(CoMX<eGe%cp z=v9i^xLO*DOYAZWh--Ne8Y1JFpkNLk|K_#vEpqOoMnt%@<hp8sD_<1p5We4-TpTv= z@dBVR@NqKZ79EWW+IW3m@25-^MwFGYc|3Iaf{t{r;5BIY87t(~JYkd-!RZM95t^|g z07?EzPs4Z1gIL&LXZM}_wC~D}fm!$9AF#Z|NLd2|?&*W35Smz$R&Hh=C8hAKESEx; z7UL1wsQ2@>gA5-p&kS2<sXj@I%7<}I553&2vzZWIw);>02!l?!fT3t|HG*rIP~mS* z$Wjo}jq3}z$Qq!9yrtd3fM0N629ZM?<L02(oRsk|cKnS1tXi7sM+ObQ;AZLyiGDYy z1RgK8pSjl}{cQh;nYY)=9K%s6{tG&%9FL;!g~bmGX~a4g!n&7zzE^gC-I1bT&W``} z66$KuBZCs7b+dQQBIP@BJSdX=5219?|NB>LU$nv@Tv9b7I;D|;0H2dsA~g7Z7zp1| zB)XmrkMgF6OQr|R)HHD^TE{Y#j!~SR?b`Xt3Qs`B+x<<kW!i9<O`?sx%JHr)b{N_2 zsIq=l(WQUySmI-3X^7>hxexYeAjMUWdZ-*n9%(1)Wb(n2U<><7&9dwGJmrob)4%H? zlQ%z+L-^$dFhhH|@u$%97Qz?*Ynh2VG@q|?8vY&L74&fs&_b&3$x&Oyjl~LQDRRap zJU4U*R+(2Dd!G+lh8!V{<r1^+GAeYtGH~*MH@9IPqULc;?zD%ZNz2PCP@GD{4SECK zPY*^?z2ea0Y)plNuqxlsmeQ^&V)zAS)RXazR|EI17g$lgY~r6eW5A-QFMHbn4F^J8 zK?Z#1jQ&ia6vN5$+;lZLMvOdX!IncZ+^BZpbtA`^!X(k2teqsW>pT_UJn+^1Qg6$` zqkNm(a#hWyc6SP+p5=C4HL8-m`pO`5o~`-LI?_h5CsH?F_%?nDodmz&pWR20WTpJE z?N|wSzLjMUK8E)a2tI}Lf<e1!ycmj;OhldY>;+;*M|h3Y(U#>)g1>zk9|Hd}oZAa2 zLYBWBoSW!Ts!RwXr^8h+U*@{9{zqS^iH)O<vJb;bYH<NbE9~U+1jXCB%D6D6++2OF zC8hT}ItR8a8Ks4QSsg8TAvp2qTg7+tOXd=rH`PP_B@#$Ony(BV|E}YZJ0sKl#WIN9 z;n_@S>p<;r`Uw~nc}<^$V~_i%$GFjaG?X1@E|M`h)nekvFKt`Dh-f>@|0-`Xoq)o` zx;JmzDfOV9qCx|EVpogEe0LK~tGS?5$$L_i6P$P6wIsCQaP_;d{{N=iV@+8LI}o#( zvo*Ejy=IIn{rdIQh1&q-{EuohpVOjJ^Q3lD*YTp37$^RRgn8ihpdu5{Ct%5-KO!VL zcNB6dUajXI9jkm-P|i3~GB-A(X`P1Oqqb$tcku<Vg(&6)R*R}%pmBmf#me#Ed}K@H z8>)UJw0w3GeUijb__#QT4j%64z%EeB7S?jlWwx_7&+EEvB|6N=kV}DwnyAlX=?j`) zmU#!$*^@NIu#n_d7;WoJV@*Fbv9|yJO4;n|BNF2xy(54RyB>t~8lUOUW$&2%Nwi1y zx6JxW88>U2$#qhl^6KUbtmg9}D0o5vYDT7kWJthLGkpGnN4T>{St^_EU>4;DmLF9o zr|LqsA8_MoNLQ=}w?8u!ziSZ@PC#Y<#9uJFo-ozVo6D;<8j^1$c|qAE3ZTE5i~zmE z$BU5lw6l=EWsg^y^;8>r9qH{xfL|~PZYK#md$zZ0?o11gV<*WSW~cgy2GYGQir%wf zt4iW8D+;s*;RGrmd(-T<@2&j(Cb9xhV*l-x`TpK`xq|7p?5R%5*s!69?2c!cC*VY* z2DE^9pvOPLU!1e}wA8S8opcTJ3`NB>hY=JQnL~QFXR4K8A$BqJnoEB$wn-%u@E6Mh zCfMF4kusv3N!(aHC}4)Xs^xoOwXd%e^6pi5|DZo=Q25j+6HlJ^7FodH6y1bMROR^q zGu6)fopS`h%Sw<;ZH%TEPf+#81-#_v+@8nlR0jLcIDKQtLleOC)6yLZgC!D9X3GgS zohwU{v$jl=quD#Go^hB{`@Qw*a%`(^jyT~=q^bWgGzRj;|12J55HWdCWV}EB|K=%N z3Nq-qxJJ`>^|1MNN+q}zTB&ooE3j==AgK@^UW<^oSbeALa2peF)Th6{@sj0KyMNHZ zksk1+MXN2tv+22A%cQOGpS9)77(uP9mh+!5T5ERLvF@b}$+WvXM45Z?-kCa)fb~f1 znVbTD$Gx-0Zxc`0D@YgHakge6SL0H`-vN_x?AP0>iGH0_EE&=v83hMJgaKAI0jJXm zVxVz;X<$v6WW7}fxROO7vr#YLP;;lij5VrX{;>7kK6TtOH&6|Ar^xo>00%+u$C4@# z>!jOt6*3><171+WxoZnKDTzJtDRw+T030;yI}~uV@9fCnei^I*j>Bp&mzP2d=FPb_ zCM*l_+$LDR3B*a!A$g#>xsrZvw0lckxmMg>0aQd7tPyN=t{dgXb;Ie+T8{fZH=gdu zM7Rg9c(kg(Jg0?ARRRl=AONFKrvFj)lTY$KfT%6^6s`mk*ABGhsce*LsoD>K{z_M2 ziPpnu+lw22PfF!CoId^6n*G4H(Ix+#+N{C(da7<o)nCVrQ%K)QqP`yFXo7PsA<-DU zVMn^-y!SU^P0>t1BYMGEaE#PdpOLxsVD5riQXHp@OX;`S`8VnpM~)I920w~<3|mo0 zf8~Az`*?2?H&gZ&*K&bRkV@qzvMlRHXys8*Ze2+1c?5o!^+$&MHxB@4Ee5cke52R! zmn7AZtY6ST%ixgU5)%$<dO~q_W%Rzmn(4tRfE<xMHx$P1`u}U6@H!GZ8tEEf&cv?) z2u#O+2S1%b{)tq(t>%QcwHj7Es-Qu^kLAPwy%7pGBw_4Q9#da^W2$}axNHr03)_nw z5?yuNmXrI5HgS46)c5&}B)Tts49oU92>3xBLLy}FMUW=84DQbVq^;7_e7|(Sdz|&J z73N+M`rc2rt*oSWu#7S{*s~nH6HRHJS1SmzeXk|;CA)FI4bat3<%}nkB<VHA4gqfj zl0c&fw1Dm2e6sUf&4R3pS7y>%;;?=F>B7ms9QSxv#@+69;@>QaR?RE<L$*e~^=r_E zM6(YEnz4sUr&1M;q>YX4&)=itG>rM{<{A79Rmk)`5ON#GL`*KX%}Ihk3w(RtM-WLt z?f&FLF}4N^yE!(pZ&Yj&Bc`~K0@4_}*0Om?wN|}4WJ>WL;G^H2*QpgEkGA~OET-Km zkwz|5{6dnz1U<2Pe9DNL>3g5FEIvp1jzP&2<zv~g6q4yB4PSXe1Yq;eeDSaCI$tYe zd<>K#z~j%g6!7B;^zF+o95?fV{3mnB8*RMhCDNp>Am-3e@jNfMj?jHV$MWjk!DDKP zkAz$Y?Sr)!GUOX}qTQ5aMh|wq1uq}~joWyKl=b_LboM#w<m`%Ex?PAOCx}KyqH|0m zMm>i{CMuz5x6BKlA<Gnnv$B=BB8%!h*H_i-Tweiu!rKyF(6w*ztog$E7?Dn;Fsr}3 zwL`Q@oV!vslT%h4VY@}nshA9|>-<piE(ABvkYO1QD9p$yEigj)f0Cj)(&2(rbxw!V zM%K+Ek6bSac+S_7S3O;ceo@ZQD*wDR2Tdkd<OJ+c^*EYsqI1UL^Zaq0<O)p`PIMLK z$1kyCgIO}nO`jTwAU=at!sp{m4~1u%tP8UWy5ibk$HVQF2OM{>qy++cM01D3b7`uD z#l6M4pI;JCypO8<S|y?OHJ-^u$MQEUXk0j9S7^e0R+yzxu2rgvqnc)8!Jfj(0GJ|# zfKI96iqjA9&64W)LsvsI)xDh5KN*z0vDJ-~+G=~=<hD=9tEx-(&J83f7aO9jLLwyc z;)4VHlpQ`2zPH@0X%*RsWbnz+<jsLc$^=v`tAFMl7Ri{#5|T|4UeNV&U@X@+G+gki zfR-9a$JT8f!5P4x41Tc%J^4K-;T$xK1`JU-Q{7rnzr@AVEUhJG=PT@Pep_x+ESPlz z0tx?tzq#;5IlYwr`sZ)IA1-}@5w1dCdU(X7bVp3{CgA;vt3_>JZ6?U&wNxR!{4oB_ zlV!x9+-&Qy6{%MQ{~yoZGkKiTSC`YS_j22~G;xUV855g2&C(zm^V!(wpcm@zn{%!g z4}JGo(s<W9*jHf`0Z`sZNImo*zS9^}e$Hhx6?SOff0@ASakX~#!(k|vo}w9fd(?cy zwAK`)3tyun^cNZw)rZ*mX~fh|mazC{&Xr^!lQTy`eUQx>GZ1O~to-}le<P>Um<p!Q z<gGQ5FG|(-vlFWdETkYksRqG0&L`FE-FQ8}8w0Km*&aVL&VPE3Z_R*=0!8ED0m=#v zHm`a~(XYG#7=I=)B-;aP4B#qGPKdDR=l}rFl{hVhe};PI53gQSx3a&9v!900Va<9R z={~tB8-KUBmq5Ncp~B2(Z_K}=b7a=UI4je&_uXB0(>Y2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nO<lMXsPt#CNgKF%HdwG@ztDK#niqC%M#bR!wQc6I zA52LFM%an*93hR1a$6-Q5Y3MEutAX4S=G&3@BbBIaUu5=j(<^FKOPJ4u~mgGD`9GY z#;IN>H?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr<T(^i|y7FsZ?QiUH5fV)rQ^pCDAt`%;DE`N^_wDGgG|9V5D{T+0f zLdvJGflLYa)DxONTTEv{RtDYn&LmiVPZ7_9xNeE>8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfv<y6>n^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/E04SumCalculator/app/src/main/res/values/colors.xml b/E04SumCalculator/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="purple_200">#FFBB86FC</color> + <color name="purple_500">#FF6200EE</color> + <color name="purple_700">#FF3700B3</color> + <color name="teal_200">#FF03DAC5</color> + <color name="teal_700">#FF018786</color> + <color name="black">#FF000000</color> + <color name="white">#FFFFFFFF</color> +</resources> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/values/strings.xml b/E04SumCalculator/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..1aa6446 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ +<resources> + <string name="app_name">E04 Sum Calculator</string> + <string name="banner_content_description">Banner Image</string> +</resources> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/values/themes.xml b/E04SumCalculator/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..3f44e51 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <style name="Theme.E04SumCalculator" parent="android:Theme.Material.Light.NoActionBar" /> +</resources> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/xml/backup_rules.xml b/E04SumCalculator/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Sample backup rules file; uncomment and customize as necessary. + See https://developer.android.com/guide/topics/data/autobackup + for details. + Note: This file is ignored for devices older that API 31 + See https://developer.android.com/about/versions/12/backup-restore +--> +<full-backup-content> + <!-- + <include domain="sharedpref" path="."/> + <exclude domain="sharedpref" path="device.xml"/> +--> +</full-backup-content> \ No newline at end of file diff --git a/E04SumCalculator/app/src/main/res/xml/data_extraction_rules.xml b/E04SumCalculator/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/E04SumCalculator/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Sample data extraction rules file; uncomment and customize as necessary. + See https://developer.android.com/about/versions/12/backup-restore#xml-changes + for details. +--> +<data-extraction-rules> + <cloud-backup> + <!-- TODO: Use <include> and <exclude> to control what is backed up. + <include .../> + <exclude .../> + --> + </cloud-backup> + <!-- + <device-transfer> + <include .../> + <exclude .../> + </device-transfer> + --> +</data-extraction-rules> \ No newline at end of file diff --git a/E04SumCalculator/app/src/test/java/com/example/e04sumcalculator/ExampleUnitTest.kt b/E04SumCalculator/app/src/test/java/com/example/e04sumcalculator/ExampleUnitTest.kt new file mode 100644 index 0000000..8daab84 --- /dev/null +++ b/E04SumCalculator/app/src/test/java/com/example/e04sumcalculator/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.example.e04sumcalculator + +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/E04SumCalculator/build.gradle.kts b/E04SumCalculator/build.gradle.kts new file mode 100644 index 0000000..bea45c9 --- /dev/null +++ b/E04SumCalculator/build.gradle.kts @@ -0,0 +1,5 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id("com.android.application") version "8.2.0-rc03" apply false + id("org.jetbrains.kotlin.android") version "1.9.0" apply false +} diff --git a/E04SumCalculator/gradle.properties b/E04SumCalculator/gradle.properties new file mode 100644 index 0000000..3c5031e --- /dev/null +++ b/E04SumCalculator/gradle.properties @@ -0,0 +1,23 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/E04SumCalculator/gradle/wrapper/gradle-wrapper.jar b/E04SumCalculator/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/E04SumCalculator/gradle/wrapper/gradle-wrapper.properties b/E04SumCalculator/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..b9e5d24 --- /dev/null +++ b/E04SumCalculator/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Sat Nov 25 15:08:38 GMT 2023 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/E04SumCalculator/gradlew b/E04SumCalculator/gradlew new file mode 100755 index 0000000..4f906e0 --- /dev/null +++ b/E04SumCalculator/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/E04SumCalculator/gradlew.bat b/E04SumCalculator/gradlew.bat new file mode 100644 index 0000000..ac1b06f --- /dev/null +++ b/E04SumCalculator/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/E04SumCalculator/settings.gradle.kts b/E04SumCalculator/settings.gradle.kts new file mode 100644 index 0000000..f76f97b --- /dev/null +++ b/E04SumCalculator/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} + +rootProject.name = "E04 Sum Calculator" +include(":app") -- GitLab