From 87735faa856ff0c0d33fbee0742e1209e974e954 Mon Sep 17 00:00:00 2001 From: Stepan Date: Sun, 18 May 2025 19:35:24 +0200 Subject: [PATCH] init --- .gitignore | 15 ++ .idea/.gitignore | 3 + .idea/AndroidProjectSystem.xml | 6 + .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 10 + .idea/gradle.xml | 19 ++ .idea/migrations.xml | 10 + .idea/misc.xml | 10 + .idea/runConfigurations.xml | 17 ++ README.md | 26 +++ app/.gitignore | 1 + app/build.gradle.kts | 47 +++++ app/proguard-rules.pro | 21 ++ .../ExampleInstrumentedTest.java | 26 +++ app/src/main/AndroidManifest.xml | 32 +++ .../com/example/mbi_calculator/BMIResult.java | 66 +++++++ .../mbi_calculator/DetailActivity.java | 50 +++++ .../example/mbi_calculator/MainActivity.java | 75 +++++++ .../mbi_calculator/ResultActivity.java | 45 +++++ app/src/main/res/anim/slide_in_right.xml | 5 + app/src/main/res/anim/slide_out_left.xml | 5 + .../main/res/drawable-anydpi/ic_detail.xml | 12 ++ app/src/main/res/drawable-anydpi/ic_exit.xml | 14 ++ app/src/main/res/drawable-hdpi/ic_detail.png | Bin 0 -> 278 bytes app/src/main/res/drawable-hdpi/ic_exit.png | Bin 0 -> 380 bytes app/src/main/res/drawable-mdpi/ic_detail.png | Bin 0 -> 175 bytes app/src/main/res/drawable-mdpi/ic_exit.png | Bin 0 -> 218 bytes app/src/main/res/drawable-xhdpi/ic_detail.png | Bin 0 -> 287 bytes app/src/main/res/drawable-xhdpi/ic_exit.png | Bin 0 -> 429 bytes .../main/res/drawable-xxhdpi/ic_detail.png | Bin 0 -> 389 bytes app/src/main/res/drawable-xxhdpi/ic_exit.png | Bin 0 -> 644 bytes .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 +++ app/src/main/res/layout/activity_detail.xml | 63 ++++++ app/src/main/res/layout/activity_main.xml | 82 ++++++++ app/src/main/res/layout/activity_result.xml | 51 +++++ app/src/main/res/menu/app_bar_menu.xml | 17 ++ .../main/res/mipmap-anydpi/ic_launcher.xml | 6 + .../res/mipmap-anydpi/ic_launcher_round.xml | 6 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/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-night/themes.xml | 7 + app/src/main/res/values/colors.xml | 5 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/themes.xml | 9 + app/src/main/res/xml/backup_rules.xml | 13 ++ .../main/res/xml/data_extraction_rules.xml | 19 ++ .../mbi_calculator/ExampleUnitTest.java | 17 ++ build.gradle.kts | 4 + gradle.properties | 21 ++ gradle/libs.versions.toml | 22 +++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 ++++++++++++++++++ gradlew.bat | 89 +++++++++ readme_media/DetailActivity.png | Bin 0 -> 34441 bytes readme_media/MainActivity.png | Bin 0 -> 15411 bytes readme_media/ResultActivity.png | Bin 0 -> 15793 bytes settings.gradle.kts | 24 +++ 67 files changed, 1370 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 README.md create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/example/mbi_calculator/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/example/mbi_calculator/BMIResult.java create mode 100644 app/src/main/java/com/example/mbi_calculator/DetailActivity.java create mode 100644 app/src/main/java/com/example/mbi_calculator/MainActivity.java create mode 100644 app/src/main/java/com/example/mbi_calculator/ResultActivity.java create mode 100644 app/src/main/res/anim/slide_in_right.xml create mode 100644 app/src/main/res/anim/slide_out_left.xml create mode 100644 app/src/main/res/drawable-anydpi/ic_detail.xml create mode 100644 app/src/main/res/drawable-anydpi/ic_exit.xml create mode 100644 app/src/main/res/drawable-hdpi/ic_detail.png create mode 100644 app/src/main/res/drawable-hdpi/ic_exit.png create mode 100644 app/src/main/res/drawable-mdpi/ic_detail.png create mode 100644 app/src/main/res/drawable-mdpi/ic_exit.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_detail.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_exit.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_detail.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_exit.png create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/layout/activity_detail.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_result.xml create mode 100644 app/src/main/res/menu/app_bar_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/example/mbi_calculator/ExampleUnitTest.java create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 readme_media/DetailActivity.png create mode 100644 readme_media/MainActivity.png create mode 100644 readme_media/ResultActivity.png create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.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/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..639c779 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..74dd639 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..61f9f31 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# BMI Calculator + +> This is a school homework project. It is created for educational purposes only and is not intended for commercial use. + +## 📁 Main Files + +### Scripts + +- [MainActivity.java](app/src/main/java/com/example/mbi_calculator/MainActivity.java) +- [DetailActivity.java](app/src/main/java/com/example/mbi_calculator/DetailActivity.java) +- [ResultActivity.java](app/src/main/java/com/example/mbi_calculator/ResultActivity.java) +--- +- [BMIResult.java](app/src/main/java/com/example/mbi_calculator/ResultActivity.java) (for intent Extra) + +### Activities + +- [activity_main.xml](/app/src/main/res/layout/activity_main.xml) +- [activity_result.xml](/app/src/main/res/layout/activity_result.xml) +- [activity_detail.xml](/app/src/main/res/layout/activity_detail.xml) + + +## Screenshots + +| activity_main.xml | activity_result.xml | activity_detail.xml | +| --- | --- | --- | +| ![main](readme_media/MainActivity.png) | ![result](readme_media/ResultActivity.png) | ![detail](readme_media/DetailActivity.png) \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..4a1e640 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + alias(libs.plugins.android.application) +} + +android { + namespace = "com.example.mbi_calculator" + compileSdk = 35 + + defaultConfig { + applicationId = "com.example.mbi_calculator" + minSdk = 26 + targetSdk = 35 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildFeatures { + viewBinding = true + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +dependencies { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/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/app/src/androidTest/java/com/example/mbi_calculator/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/mbi_calculator/ExampleInstrumentedTest.java new file mode 100644 index 0000000..721098f --- /dev/null +++ b/app/src/androidTest/java/com/example/mbi_calculator/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.mbi_calculator; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.example.mbi_calculator", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..bdef789 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/mbi_calculator/BMIResult.java b/app/src/main/java/com/example/mbi_calculator/BMIResult.java new file mode 100644 index 0000000..ce759ab --- /dev/null +++ b/app/src/main/java/com/example/mbi_calculator/BMIResult.java @@ -0,0 +1,66 @@ +package com.example.mbi_calculator; + +import java.io.Serializable; + +public class BMIResult implements Serializable { + public enum Gender { + MAN, + WOMAN + } + public enum BMICategory { + UNDERNUTRITION, + NORMAL, + OVERWEIGHT, + OBESITY + } + + public String name; + public Gender gender; + public int age; + public int height; + public int weight; + + public BMIResult(String name, Gender gender, int age, int height, int weight) { + this.name = name; + this.gender = gender; + this.age = age; + this.height = height; + this.weight = weight; + } + + public String getGenderString() { + if(gender == Gender.MAN) + return "Man"; + else + return "Woman"; + } + public String getUserInfo() { + return this.name + " (" + this.age + ", " + this.getGenderString() + ")"; + } + public double getBMIValue() { + double heightM = this.height / 100.0; + return weight / (heightM * heightM); + } + public BMICategory getBMICategory() { + double bmiValue = getBMIValue(); + if(bmiValue < 18.5) + return BMICategory.UNDERNUTRITION; + if(bmiValue >= 18.5 && bmiValue < 25.0) + return BMICategory.NORMAL; + if(bmiValue >= 25.0 && bmiValue < 30.0) + return BMICategory.OVERWEIGHT; + + return BMICategory.OBESITY; + } + public String getBMICategoryString() { + BMICategory cat = getBMICategory(); + if(cat == BMICategory.UNDERNUTRITION) + return "Pothranjenost"; + if(cat == BMICategory.NORMAL) + return "Normalna težina"; + if(cat == BMICategory.OVERWEIGHT) + return "Prekomerna težina"; + + return "Gojaznost"; + } +} diff --git a/app/src/main/java/com/example/mbi_calculator/DetailActivity.java b/app/src/main/java/com/example/mbi_calculator/DetailActivity.java new file mode 100644 index 0000000..cd6f352 --- /dev/null +++ b/app/src/main/java/com/example/mbi_calculator/DetailActivity.java @@ -0,0 +1,50 @@ +package com.example.mbi_calculator; + +import android.content.Intent; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.View; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.example.mbi_calculator.databinding.ActivityDetailBinding; + +public class DetailActivity extends AppCompatActivity { + + private ActivityDetailBinding binding; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + + binding = ActivityDetailBinding.inflate(getLayoutInflater()); + View view = binding.getRoot(); + setContentView(view); + + binding.detailLowText.setTypeface(null, Typeface.NORMAL); + binding.detailMediumText.setTypeface(null, Typeface.NORMAL); + binding.detailHighText.setTypeface(null, Typeface.NORMAL); + + Intent intent = getIntent(); + BMIResult bmiResult = (BMIResult) intent.getSerializableExtra("EXTRA_BMI_RESULT"); + if(bmiResult != null) { + BMIResult.BMICategory cat = bmiResult.getBMICategory(); + if(cat == BMIResult.BMICategory.UNDERNUTRITION) + binding.detailLowText.setTypeface(null, Typeface.BOLD); + else if(cat == BMIResult.BMICategory.OBESITY) + binding.detailHighText.setTypeface(null, Typeface.BOLD); + else + binding.detailMediumText.setTypeface(null, Typeface.BOLD); + } + } + public void GoHomeBtn(View view) { + Intent detailIntent = new Intent(this, MainActivity.class); + + startActivity(detailIntent); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mbi_calculator/MainActivity.java b/app/src/main/java/com/example/mbi_calculator/MainActivity.java new file mode 100644 index 0000000..c2d8f35 --- /dev/null +++ b/app/src/main/java/com/example/mbi_calculator/MainActivity.java @@ -0,0 +1,75 @@ +package com.example.mbi_calculator; + +import android.content.Intent; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.Toast; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; + +import com.example.mbi_calculator.databinding.ActivityMainBinding; + + +public class MainActivity extends AppCompatActivity { + + private ActivityMainBinding binding; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + + binding = ActivityMainBinding.inflate(getLayoutInflater()); + View view = binding.getRoot(); + setContentView(view); + } + + public void CalculateBMI(View view) { + String name = binding.nameEditText.getText().toString(); + int age = Integer.parseInt(binding.ageEditText.getText().toString()); + int height = Integer.parseInt(binding.heightEditText.getText().toString()); + int weight = Integer.parseInt(binding.weightEditText.getText().toString()); + BMIResult.Gender gender; + + if(binding.manRadioBtn.isChecked()) + gender = BMIResult.Gender.MAN; + else if (binding.womanRadioBtn.isChecked()) + gender = BMIResult.Gender.WOMAN; + else { + Toast.makeText(this, "You are not chosed your gender", Toast.LENGTH_LONG).show(); + return; + } + + BMIResult bmiResult = new BMIResult(name, gender, age, height, weight); + + Intent resultIntent = new Intent(this, ResultActivity.class); + + resultIntent.putExtra("EXTRA_BMI_RESULT", bmiResult); + + startActivity(resultIntent); + } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.app_bar_menu, menu); + return true; + } + + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + if (id == R.id.miExit) { + finishAffinity(); + return true; + } else if (id == R.id.miDetail) { + Intent detailIntent = new Intent(this, DetailActivity.class); + + startActivity(detailIntent); + return true; + } + return super.onOptionsItemSelected(item); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mbi_calculator/ResultActivity.java b/app/src/main/java/com/example/mbi_calculator/ResultActivity.java new file mode 100644 index 0000000..61a90a1 --- /dev/null +++ b/app/src/main/java/com/example/mbi_calculator/ResultActivity.java @@ -0,0 +1,45 @@ +package com.example.mbi_calculator; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.example.mbi_calculator.databinding.ActivityResultBinding; + +public class ResultActivity extends AppCompatActivity { + + private ActivityResultBinding binding; + private BMIResult bmiResult; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + + binding = ActivityResultBinding.inflate(getLayoutInflater()); + View view = binding.getRoot(); + setContentView(view); + + Intent intent = getIntent(); + bmiResult = (BMIResult) intent.getSerializableExtra("EXTRA_BMI_RESULT"); + assert bmiResult != null; + binding.nameText.setText(bmiResult.getUserInfo()); + binding.categoryBMIResult.setText(bmiResult.getBMICategoryString() + "(" + String.format("%.2f", bmiResult.getBMIValue()) + ")"); + } + + public void DetailBtn(View view) { + Intent detailIntent = new Intent(this, DetailActivity.class); + + detailIntent.putExtra("EXTRA_BMI_RESULT", bmiResult); + + startActivity(detailIntent); + + overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); + } +} \ No newline at end of file diff --git a/app/src/main/res/anim/slide_in_right.xml b/app/src/main/res/anim/slide_in_right.xml new file mode 100644 index 0000000..8ea6000 --- /dev/null +++ b/app/src/main/res/anim/slide_in_right.xml @@ -0,0 +1,5 @@ + + diff --git a/app/src/main/res/anim/slide_out_left.xml b/app/src/main/res/anim/slide_out_left.xml new file mode 100644 index 0000000..0197103 --- /dev/null +++ b/app/src/main/res/anim/slide_out_left.xml @@ -0,0 +1,5 @@ + + diff --git a/app/src/main/res/drawable-anydpi/ic_detail.xml b/app/src/main/res/drawable-anydpi/ic_detail.xml new file mode 100644 index 0000000..064b6b5 --- /dev/null +++ b/app/src/main/res/drawable-anydpi/ic_detail.xml @@ -0,0 +1,12 @@ + + + diff --git a/app/src/main/res/drawable-anydpi/ic_exit.xml b/app/src/main/res/drawable-anydpi/ic_exit.xml new file mode 100644 index 0000000..055f309 --- /dev/null +++ b/app/src/main/res/drawable-anydpi/ic_exit.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_detail.png b/app/src/main/res/drawable-hdpi/ic_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..d7485b3c2910424c32fcd6012b9a30ce6bfbe367 GIT binary patch literal 278 zcmV+x0qOpUP)3p5CqUVj+&@}R}d6YJb{7u15E@ouV7*(D44i`p@D&T1P^70GR;8Gr)77Tf|qSI z1-r=tIXQZ%lO7pF)+Y@(=0!fr9uTGmUe?lrAS3XimMH`ogBP_dAV_5f-O1il0e&xd z(C+sk$85mwr8nqEx}FZ;_kss$NNdoQ%srjK?*$Jk-A7%zK^HRdbOOH@JV--YgKlIi zWOi+W2DyCHX4fXIK?V4$u`#@Xdx;HR>FdyC_aIOm7s`~7K*y4_zQ|y_|pm2VxjmLK9u*mvzwDlveR5M zD*50vIT!LVWJ4Ax6l@uhEJ&6zWl=JU1aFehmhy^#$*O2GV<48Pc#&*n$}`-)Yamvr z*yrMhS%uqogNq_m@qdM;CEMX5u_>7i7bBPmb>L=?{py=txPCt9LQI6T@6T$ks5=e1 z6Y64^2q|aqH`cGB_X@Aw45rhV2`P8*1vpPMHw;rD z?olwsYnqJ!0000j=vPXA+3MLi->Ird?fe4an+FqGX>#-#@YNEiXDR+wqDo;>684jVnr-&hXjBykct>{C@wOc6`AB?mv6XUa;?E ZsAaiwY_k#LUZ4vYJYD@<);T3K0RS7nLMQ+L literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_exit.png b/app/src/main/res/drawable-mdpi/ic_exit.png new file mode 100644 index 0000000000000000000000000000000000000000..b211f8a89f8a166c2d86c97e4632ca7d19c27ee3 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3q4&NLn`9lPW9z#P!MQU@8Y|> zOnb|VGi#%+E|Rwju`6=%QA}-`VE4l;d5^f3>zB_H!YnoU6(?Su(E7WfMLIHJgSNNg z#8w|>agUE{o4hP{IPXe}_$(OOps?m~+Lfq%h5M2OLK!RyE*2$rykOd6%3ds(rnoQs zK=hU@*X<|DPi&soDf8*|b(2;f?gttw&n2s}H5C7`%36w){9m`cYmJWuW07mOY2+GV RBcNj$JYD@<);T3K0RXDtQk4Jz literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_detail.png b/app/src/main/res/drawable-xhdpi/ic_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..9155cbf754b6877b51226fea13a413e751ec5843 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtXPz#OAr*0NZ(8#)ISMdeC(`#A zFVdQ&MBb@08w^-BLDyZ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_exit.png b/app/src/main/res/drawable-xhdpi/ic_exit.png new file mode 100644 index 0000000000000000000000000000000000000000..fef4fd026f8dd7645109aa80f36446ea917891be GIT binary patch literal 429 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqU|_IEGZjy`AZp#casq%F26J ztf>9Yg1apa#rvMHHEwhM9+`46*8jqnfUO+P%O<^9pQFV4qfz08|1*Dy^Ac? z+Nkq2@Kww!^T@(w--G-^9!@M`oBlO8%aQH=lBa7*RhTtX^;t!l8h{*N^Va8X{ndGl&zhZDnP1+! zYX6w2-?P7Z?}<285v?_z-;4J8$^6rOzH`U*?l++h3lB~!`7d#yxKS=;KNA|6;9u6O6mdKI;Vst0DY3X1^@s6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_detail.png b/app/src/main/res/drawable-xxhdpi/ic_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2cd20adc1186282f6c6646b8245627aefb72d7 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2VD#~HaSW-5dpmotS972UOTRt; zva+zIsSmVQb#Rz1iiqH_oAO=x?!8AQpIP5;Vh&F8+aw^wv64%%MZk%J@lnjP?&WH7q zGH$r?@b2zdm?&;&a;MVH#(L9j-&(o35>oGMEN$Mb$T9y~S(22o!E8> zu<3qyuI7w6RDqOnKr)*VhT(6N+S;tY|A_U;7XX@9-2dLOs#(DK@Lb6ih7hw;fC{iV z?PFkZP3d;~7YTQ+)g+YWb3I%AOnLRLy~+iCr<0eQx7su9?hg5XS89Ij|82WxH83cE d;lc5b;mesymwfxgWx(KN@O1TaS?83{1ORwgrQZMm literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_exit.png b/app/src/main/res/drawable-xxhdpi/ic_exit.png new file mode 100644 index 0000000000000000000000000000000000000000..a998758e6448b780655f14d7e516f2b9f698b187 GIT binary patch literal 644 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2VDk2KaSW-5dprAVm$0KqYrm1c za+8g$QWU9o~cHTKD@M|YO2I{mKX=)2Dc*`0$*yQ)uo zQITa6aNF_Q~%jwrPt-2)AI8;F`8#G`euR&P=SNRs}!1^hd8pF zU)jVlFPK%(CjEPp*~#mF5}3DLH(J*8{7uw_(wxt67mA%X*zWr;W&3^ohdFn-ZYiW~ zn=)nk&=|0`juF-kEV7J&3`_HUdPjAdVa&=!|&d(Kz_MboR z4Bk7*;`-dZ3bhfs2G6brXm2Z7ox(Ba`MIbGc{6wunrB#ko3=W&uhsbOO>U!Qdot~h z{>^9x2F!$w2Y2-Ib^p8dT;d_tpj^(SRN*J;0txGGR>|N0L=W!!7_-P``A=rna{|B! z^4BO32S(7IUasdIv#&i$=Xs#=leh5mrL8m9FKVnlxxT~E`?L2az7}xgXFN2|cz-2( UDUaDRVCrJ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml new file mode 100644 index 0000000..83aa40a --- /dev/null +++ b/app/src/main/res/layout/activity_detail.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + +