From 051125c52008045d1d4195cb78c7e2085033071d Mon Sep 17 00:00:00 2001 From: Niki Muhammad Nafis Date: Fri, 19 Jul 2024 14:48:27 +0700 Subject: [PATCH] first commit --- .gitignore | 15 + .idea/.gitignore | 3 + .idea/compiler.xml | 6 + .idea/gradle.xml | 20 + .idea/misc.xml | 10 + .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle | 68 ++ app/google-services.json | 48 ++ app/proguard-rules.pro | 21 + .../aquacare/ExampleInstrumentedTest.kt | 24 + app/src/main/AndroidManifest.xml | 36 + .../capstone/aquacare/data/AquascapeData.kt | 10 + .../com/capstone/aquacare/data/ArticleData.kt | 10 + .../aquacare/data/IdentificationData.kt | 12 + .../capstone/aquacare/data/StatusParameter.kt | 9 + .../com/capstone/aquacare/data/UserData.kt | 9 + .../aquacare/fuzzy/FuzzyDutchStyle.kt | 445 ++++++++++++ .../aquacare/fuzzy/FuzzyIdentification.kt | 670 ++++++++++++++++++ .../aquacare/fuzzy/FuzzyNaturalStyle.kt | 416 +++++++++++ .../com/capstone/aquacare/ui/MainActivity.kt | 20 + .../aquacare/ui/SplashScreenActivity.kt | 40 ++ .../ui/aquascape/AddAquascapeFragment.kt | 141 ++++ .../ui/aquascape/EditAquascapeFragment.kt | 154 ++++ .../capstone/aquacare/ui/auth/AuthActivity.kt | 37 + .../aquacare/ui/auth/SignInFragment.kt | 341 +++++++++ .../aquacare/ui/auth/SignUpFragment.kt | 195 +++++ .../aquacare/ui/home/AquascapeAdapter.kt | 41 ++ .../aquacare/ui/home/ArticleAdapter.kt | 46 ++ .../capstone/aquacare/ui/home/HomeFragment.kt | 196 +++++ .../identification/IdentificationFragment.kt | 217 ++++++ .../IdentificationHistoryAdapter.kt | 52 ++ .../IdentificationHistoryFragment.kt | 181 +++++ .../IdentificationResultFragment.kt | 194 +++++ .../aquacare/ui/setting/AboutFragment.kt | 24 + .../aquacare/ui/setting/AddArticleFragment.kt | 104 +++ .../aquacare/ui/setting/ArticleAdapter.kt | 45 ++ .../aquacare/ui/setting/ArticleFragment.kt | 104 +++ .../ui/setting/EditArticleFragment.kt | 148 ++++ .../ui/setting/EditPasswordFragment.kt | 184 +++++ .../ui/setting/EditProfileFragment.kt | 178 +++++ .../ui/setting/ListArticleFragment.kt | 115 +++ .../aquacare/ui/setting/SettingFragment.kt | 156 ++++ .../drawable-v24/ic_launcher_foreground.xml | 30 + .../main/res/drawable/bg_border_rounded.xml | 11 + .../main/res/drawable/bg_border_rounded_2.xml | 9 + .../main/res/drawable/bg_border_rounded_3.xml | 11 + .../res/drawable/bg_border_rounded_blue.xml | 9 + .../res/drawable/bg_border_rounded_bottom.xml | 8 + .../res/drawable/bg_border_rounded_form.xml | 9 + .../res/drawable/bg_border_rounded_green.xml | 9 + .../res/drawable/bg_border_rounded_red.xml | 9 + .../main/res/drawable/bg_person_default.jpg | Bin 0 -> 28375 bytes app/src/main/res/drawable/bg_setting.png | Bin 0 -> 2872 bytes app/src/main/res/drawable/ic_about.png | Bin 0 -> 12982 bytes app/src/main/res/drawable/ic_add_image.png | Bin 0 -> 15389 bytes .../main/res/drawable/ic_baseline_edit_24.xml | 5 + .../main/res/drawable/ic_date_range_24.xml | 5 + app/src/main/res/drawable/ic_edit.png | Bin 0 -> 11095 bytes app/src/main/res/drawable/ic_language.png | Bin 0 -> 12219 bytes .../res/drawable/ic_launcher_background.xml | 170 +++++ app/src/main/res/drawable/ic_more.png | Bin 0 -> 17102 bytes app/src/main/res/drawable/ic_password.png | Bin 0 -> 9104 bytes app/src/main/res/drawable/ic_plus.png | Bin 0 -> 3849 bytes .../main/res/drawable/ic_profile_setting.png | Bin 0 -> 13986 bytes app/src/main/res/drawable/ic_user_edit.png | Bin 0 -> 12696 bytes app/src/main/res/drawable/ic_user_picture.png | Bin 0 -> 1608 bytes .../main/res/drawable/ic_visibility_24.xml | 5 + .../res/drawable/ic_visibility_off_24.xml | 5 + .../main/res/drawable/img_aquascape_info.jpg | Bin 0 -> 189601 bytes app/src/main/res/font/poppins_bold.ttf | Bin 0 -> 153944 bytes app/src/main/res/font/poppins_regular.ttf | Bin 0 -> 158240 bytes app/src/main/res/font/poppins_semi_bold.ttf | Bin 0 -> 155232 bytes app/src/main/res/layout/activity_auth.xml | 9 + app/src/main/res/layout/activity_main.xml | 18 + .../res/layout/activity_splash_screen.xml | 24 + app/src/main/res/layout/card_aquascape.xml | 61 ++ app/src/main/res/layout/card_article.xml | 65 ++ .../layout/card_identification_history.xml | 75 ++ app/src/main/res/layout/fragment_about.xml | 38 + .../res/layout/fragment_add_aquascape.xml | 183 +++++ .../main/res/layout/fragment_add_article.xml | 195 +++++ app/src/main/res/layout/fragment_article.xml | 86 +++ .../res/layout/fragment_edit_aquascape.xml | 181 +++++ .../main/res/layout/fragment_edit_article.xml | 225 ++++++ .../res/layout/fragment_edit_password.xml | 269 +++++++ .../main/res/layout/fragment_edit_profile.xml | 145 ++++ app/src/main/res/layout/fragment_home.xml | 166 +++++ .../res/layout/fragment_identification.xml | 262 +++++++ .../fragment_identification_history.xml | 98 +++ .../layout/fragment_identification_result.xml | 276 ++++++++ .../main/res/layout/fragment_list_article.xml | 72 ++ app/src/main/res/layout/fragment_setting.xml | 304 ++++++++ app/src/main/res/layout/fragment_sign_in.xml | 207 ++++++ app/src/main/res/layout/fragment_sign_up.xml | 176 +++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../res/mipmap-anydpi-v33/ic_launcher.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 .../main/res/navigation/main_navigation.xml | 198 ++++++ app/src/main/res/values-in/strings.xml | 110 +++ app/src/main/res/values-night/themes.xml | 25 + app/src/main/res/values/colors.xml | 24 + app/src/main/res/values/strings.xml | 109 +++ app/src/main/res/values/themes.xml | 16 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../com/capstone/aquacare/ExampleUnitTest.kt | 17 + build.gradle | 16 + gradle.properties | 23 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 +++++ gradlew.bat | 89 +++ settings.gradle | 16 + 124 files changed, 9064 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/google-services.json create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/capstone/aquacare/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/capstone/aquacare/data/AquascapeData.kt create mode 100644 app/src/main/java/com/capstone/aquacare/data/ArticleData.kt create mode 100644 app/src/main/java/com/capstone/aquacare/data/IdentificationData.kt create mode 100644 app/src/main/java/com/capstone/aquacare/data/StatusParameter.kt create mode 100644 app/src/main/java/com/capstone/aquacare/data/UserData.kt create mode 100644 app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyDutchStyle.kt create mode 100644 app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyIdentification.kt create mode 100644 app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyNaturalStyle.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/MainActivity.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/SplashScreenActivity.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/aquascape/AddAquascapeFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/aquascape/EditAquascapeFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/auth/AuthActivity.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/auth/SignInFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/auth/SignUpFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/home/AquascapeAdapter.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/home/ArticleAdapter.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/home/HomeFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryAdapter.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationResultFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/AboutFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/AddArticleFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/ArticleAdapter.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/ArticleFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/EditArticleFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/EditPasswordFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/EditProfileFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/ListArticleFragment.kt create mode 100644 app/src/main/java/com/capstone/aquacare/ui/setting/SettingFragment.kt create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_2.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_3.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_blue.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_bottom.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_form.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_green.xml create mode 100644 app/src/main/res/drawable/bg_border_rounded_red.xml create mode 100644 app/src/main/res/drawable/bg_person_default.jpg create mode 100644 app/src/main/res/drawable/bg_setting.png create mode 100644 app/src/main/res/drawable/ic_about.png create mode 100644 app/src/main/res/drawable/ic_add_image.png create mode 100644 app/src/main/res/drawable/ic_baseline_edit_24.xml create mode 100644 app/src/main/res/drawable/ic_date_range_24.xml create mode 100644 app/src/main/res/drawable/ic_edit.png create mode 100644 app/src/main/res/drawable/ic_language.png create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_more.png create mode 100644 app/src/main/res/drawable/ic_password.png create mode 100644 app/src/main/res/drawable/ic_plus.png create mode 100644 app/src/main/res/drawable/ic_profile_setting.png create mode 100644 app/src/main/res/drawable/ic_user_edit.png create mode 100644 app/src/main/res/drawable/ic_user_picture.png create mode 100644 app/src/main/res/drawable/ic_visibility_24.xml create mode 100644 app/src/main/res/drawable/ic_visibility_off_24.xml create mode 100644 app/src/main/res/drawable/img_aquascape_info.jpg create mode 100644 app/src/main/res/font/poppins_bold.ttf create mode 100644 app/src/main/res/font/poppins_regular.ttf create mode 100644 app/src/main/res/font/poppins_semi_bold.ttf create mode 100644 app/src/main/res/layout/activity_auth.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_splash_screen.xml create mode 100644 app/src/main/res/layout/card_aquascape.xml create mode 100644 app/src/main/res/layout/card_article.xml create mode 100644 app/src/main/res/layout/card_identification_history.xml create mode 100644 app/src/main/res/layout/fragment_about.xml create mode 100644 app/src/main/res/layout/fragment_add_aquascape.xml create mode 100644 app/src/main/res/layout/fragment_add_article.xml create mode 100644 app/src/main/res/layout/fragment_article.xml create mode 100644 app/src/main/res/layout/fragment_edit_aquascape.xml create mode 100644 app/src/main/res/layout/fragment_edit_article.xml create mode 100644 app/src/main/res/layout/fragment_edit_password.xml create mode 100644 app/src/main/res/layout/fragment_edit_profile.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_identification.xml create mode 100644 app/src/main/res/layout/fragment_identification_history.xml create mode 100644 app/src/main/res/layout/fragment_identification_result.xml create mode 100644 app/src/main/res/layout/fragment_list_article.xml create mode 100644 app/src/main/res/layout/fragment_setting.xml create mode 100644 app/src/main/res/layout/fragment_sign_in.xml create mode 100644 app/src/main/res/layout/fragment_sign_up.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-anydpi-v33/ic_launcher.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/navigation/main_navigation.xml create mode 100644 app/src/main/res/values-in/strings.xml 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/capstone/aquacare/ExampleUnitTest.kt create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle 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/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..3943e11 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d673ade --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ 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 b/app/build.gradle new file mode 100644 index 0000000..0585853 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,68 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' + id 'com.google.gms.google-services' +} + +android { + namespace 'com.capstone.aquacare' + compileSdk 33 + + defaultConfig { + applicationId "com.capstone.aquacare" + minSdk 26 + targetSdk 33 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled 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' + } + + viewBinding { + enabled true + } + + buildFeatures { + viewBinding true + dataBinding true + } +} + +dependencies { + + implementation 'androidx.core:core-ktx:1.10.1' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.9.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' +// implementation 'com.google.firebase:firebase-auth:22.3.1' + implementation 'com.google.firebase:firebase-database:20.3.1' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.5' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' + + implementation platform('com.google.firebase:firebase-bom:32.1.0') + implementation 'com.google.firebase:firebase-auth-ktx' + implementation 'com.google.android.gms:play-services-auth:21.0.0' + + implementation 'com.github.bumptech.glide:glide:4.16.0' + implementation 'com.github.clans:fab:1.6.4' + + implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5' + implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' + + implementation 'de.hdodenhof:circleimageview:3.1.0' +} \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..b7d9c3d --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "762708816606", + "firebase_url": "https://aquacare-ddedd-default-rtdb.asia-southeast1.firebasedatabase.app", + "project_id": "aquacare-ddedd", + "storage_bucket": "aquacare-ddedd.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:762708816606:android:2eaa3255e2559acc07c84f", + "android_client_info": { + "package_name": "com.capstone.aquacare" + } + }, + "oauth_client": [ + { + "client_id": "762708816606-ieg98qv6jk7pa4bhpr9156hl0jd9eb6v.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.capstone.aquacare", + "certificate_hash": "8f6c91d4dd9ef2ff88ba8065d5c2e2fead7806df" + } + }, + { + "client_id": "762708816606-b7q7lnlu2mjk5tguiqkhvm1plvmsu5sb.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyB-70FmdTvMOf_GL7yLNvPGBzOZ3Ca8Hl8" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "762708816606-b7q7lnlu2mjk5tguiqkhvm1plvmsu5sb.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ 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/capstone/aquacare/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/capstone/aquacare/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..580b947 --- /dev/null +++ b/app/src/androidTest/java/com/capstone/aquacare/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.capstone.aquacare + +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.capstone.aquacare", appContext.packageName) + } +} \ 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..e3a5f64 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/capstone/aquacare/data/AquascapeData.kt b/app/src/main/java/com/capstone/aquacare/data/AquascapeData.kt new file mode 100644 index 0000000..ffb0ecf --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/data/AquascapeData.kt @@ -0,0 +1,10 @@ +package com.capstone.aquacare.data + +data class AquascapeData( + val id: String? = null, + val name: String? = null, + val style: String? = null, + val createDate: String? = null, + val status: String? = null, + val lastCheckDate: String? = null +) diff --git a/app/src/main/java/com/capstone/aquacare/data/ArticleData.kt b/app/src/main/java/com/capstone/aquacare/data/ArticleData.kt new file mode 100644 index 0000000..f8cd7c8 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/data/ArticleData.kt @@ -0,0 +1,10 @@ +package com.capstone.aquacare.data + +data class ArticleData( + val id: String? = null, + val title: String? = null, + val image: String? = null, + val type: String? = null, + val body: String? = null, + val link: String? = null +) diff --git a/app/src/main/java/com/capstone/aquacare/data/IdentificationData.kt b/app/src/main/java/com/capstone/aquacare/data/IdentificationData.kt new file mode 100644 index 0000000..31c9019 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/data/IdentificationData.kt @@ -0,0 +1,12 @@ +package com.capstone.aquacare.data + +data class IdentificationData( + val id: String? = null, + val result: String? = null, + val date: String? = null, + val temperature: String? = null, + val ph: String? = null, + val ammonia: String? = null, + val kh: String? = null, + val gh: String? = null +) diff --git a/app/src/main/java/com/capstone/aquacare/data/StatusParameter.kt b/app/src/main/java/com/capstone/aquacare/data/StatusParameter.kt new file mode 100644 index 0000000..ba2416a --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/data/StatusParameter.kt @@ -0,0 +1,9 @@ +package com.capstone.aquacare.data + +data class StatusParameter( + val temperature: String, + val ph: String, + val ammonia: String, + val kh: String, + val gh: String +) diff --git a/app/src/main/java/com/capstone/aquacare/data/UserData.kt b/app/src/main/java/com/capstone/aquacare/data/UserData.kt new file mode 100644 index 0000000..3e9221a --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/data/UserData.kt @@ -0,0 +1,9 @@ +package com.capstone.aquacare.data + +data class UserData( + val id: String? = null, + val name: String? = null, + val email: String? = null, + val accountType: String? = null, + val userType: String? = null +) diff --git a/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyDutchStyle.kt b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyDutchStyle.kt new file mode 100644 index 0000000..00757b9 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyDutchStyle.kt @@ -0,0 +1,445 @@ +package com.capstone.aquacare.fuzzy + +import android.content.Context +import android.util.Log +import com.capstone.aquacare.R +import com.capstone.aquacare.data.StatusParameter + +class FuzzyDutchStyle(private val context: Context) { + + private val good = context.getString(R.string.good) + private val medium = context.getString(R.string.medium) + private val bad = context.getString(R.string.bad) + + // function identified water quality + fun calculateWaterQuality(temperature: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): String { + + // Fuzzyfikasi + val goodTemperature = fungsiKeanggotaanSuhuBaik(temperature) + val badTemperature = fungsiKeanggotaanSuhuBuruk(temperature) + + val goodPh = fungsiKeanggotaanPhBaik(ph) + val mediumPh = fungsiKeanggotaanPhSedang(ph) + val badPh = fungsiKeanggotaanPhBuruk(ph) + + val goodAmmonia = fungsiKeanggotaanAmmoniaBaik(ammonia) + val badAmmonia = fungsiKeanggotaanAmmoniaBuruk(ammonia) + + val goodKh = fungsiKeanggotaanKhBaik(kh) + val mediumKh = fungsiKeanggotaanKhSedang(kh) + val badKh = fungsiKeanggotaanKhBuruk(kh) + + val goodGh = fungsiKeanggotaanGhBaik(gh) + val badGh = fungsiKeanggotaanGhBuruk(gh) + + // Inferensi + val inferensi1 = minOf(goodTemperature, goodPh, goodAmmonia, goodKh, goodGh) + val inferensi2 = minOf(goodTemperature, mediumPh, goodAmmonia, goodKh, goodGh) + val inferensi3 = minOf(goodTemperature, badPh, goodAmmonia, goodKh, goodGh) + val inferensi4 = minOf(goodTemperature, goodPh, badAmmonia, goodKh, goodGh) + val inferensi5 = minOf(goodTemperature, goodPh, goodAmmonia, mediumKh, goodGh) + val inferensi6 = minOf(goodTemperature, goodPh, goodAmmonia, badKh, goodGh) + val inferensi7 = minOf(goodTemperature, goodPh, goodAmmonia, goodKh, badGh) + + val inferensi8 = minOf(goodTemperature, mediumPh, badAmmonia, goodKh, goodGh) + val inferensi9 = minOf(goodTemperature, mediumPh, badAmmonia, mediumKh, goodGh) + val inferensi10 = minOf(goodTemperature, mediumPh, badAmmonia, badKh, goodGh) + val inferensi11 = minOf(goodTemperature, mediumPh, badAmmonia, goodKh, badGh) + val inferensi12 = minOf(goodTemperature, mediumPh, badAmmonia, mediumKh, badGh) + val inferensi13 = minOf(goodTemperature, mediumPh, badAmmonia, badKh, badGh) + val inferensi14 = minOf(goodTemperature, mediumPh, goodAmmonia, mediumKh, goodGh) + val inferensi15 = minOf(goodTemperature, mediumPh, goodAmmonia, badKh, goodGh) + val inferensi16 = minOf(goodTemperature, mediumPh, goodAmmonia, goodKh, badGh) + val inferensi17 = minOf(goodTemperature, mediumPh, goodAmmonia, mediumKh, badGh) + val inferensi18 = minOf(goodTemperature, mediumPh, goodAmmonia, badKh, badGh) + + val inferensi19 = minOf(goodTemperature, badPh, badAmmonia, goodKh, goodGh) + val inferensi20 = minOf(goodTemperature, badPh, badAmmonia, mediumKh, goodGh) + val inferensi21 = minOf(goodTemperature, badPh, badAmmonia, badKh, goodGh) + val inferensi22 = minOf(goodTemperature, badPh, badAmmonia, goodKh, badGh) + val inferensi23 = minOf(goodTemperature, badPh, badAmmonia, mediumKh, badGh) + val inferensi24 = minOf(goodTemperature, badPh, badAmmonia, badKh, badGh) + val inferensi25 = minOf(goodTemperature, badPh, goodAmmonia, mediumKh, goodGh) + val inferensi26 = minOf(goodTemperature, badPh, goodAmmonia, badKh, goodGh) + val inferensi27 = minOf(goodTemperature, badPh, goodAmmonia, goodKh, badGh) + val inferensi28 = minOf(goodTemperature, badPh, goodAmmonia, mediumKh, badGh) + val inferensi29 = minOf(goodTemperature, badPh, goodAmmonia, badKh, badGh) + + val inferensi30 = minOf(goodTemperature, goodPh, badAmmonia, mediumKh, goodGh) + val inferensi31 = minOf(goodTemperature, goodPh, badAmmonia, badKh, goodGh) + val inferensi32 = minOf(goodTemperature, goodPh, badAmmonia, goodKh, badGh) + val inferensi33 = minOf(goodTemperature, goodPh, badAmmonia, mediumKh, badGh) + val inferensi34 = minOf(goodTemperature, goodPh, badAmmonia, badKh, badGh) + val inferensi35 = minOf(goodTemperature, goodPh, goodAmmonia, mediumKh, badGh) + val inferensi36 = minOf(goodTemperature, goodPh, goodAmmonia, badKh, badGh) + + val inferensi37 = minOf(badTemperature, mediumPh, badAmmonia, goodKh, goodGh) + val inferensi38 = minOf(badTemperature, mediumPh, badAmmonia, mediumKh, goodGh) + val inferensi39 = minOf(badTemperature, mediumPh, badAmmonia, badKh, goodGh) + val inferensi40 = minOf(badTemperature, mediumPh, badAmmonia, goodKh, badGh) + val inferensi41 = minOf(badTemperature, mediumPh, badAmmonia, mediumKh, badGh) + val inferensi42 = minOf(badTemperature, mediumPh, badAmmonia, badKh, badGh) + val inferensi43 = minOf(badTemperature, mediumPh, goodAmmonia, goodKh, goodGh) + val inferensi44 = minOf(badTemperature, mediumPh, goodAmmonia, mediumKh, goodGh) + val inferensi45 = minOf(badTemperature, mediumPh, goodAmmonia, badKh, goodGh) + val inferensi46 = minOf(badTemperature, mediumPh, goodAmmonia, goodKh, badGh) + val inferensi47 = minOf(badTemperature, mediumPh, goodAmmonia, mediumKh, badGh) + val inferensi48 = minOf(badTemperature, mediumPh, goodAmmonia, badKh, badGh) + + val inferensi49 = minOf(badTemperature, badPh, badAmmonia, goodKh, goodGh) + val inferensi50 = minOf(badTemperature, badPh, badAmmonia, mediumKh, goodGh) + val inferensi51 = minOf(badTemperature, badPh, badAmmonia, badKh, goodGh) + val inferensi52 = minOf(badTemperature, badPh, badAmmonia, goodKh, badGh) + val inferensi53 = minOf(badTemperature, badPh, badAmmonia, mediumKh, badGh) + val inferensi54 = minOf(badTemperature, badPh, badAmmonia, badKh, badGh) + val inferensi55 = minOf(badTemperature, badPh, goodAmmonia, goodKh, goodGh) + val inferensi56 = minOf(badTemperature, badPh, goodAmmonia, mediumKh, goodGh) + val inferensi57 = minOf(badTemperature, badPh, goodAmmonia, badKh, goodGh) + val inferensi58 = minOf(badTemperature, badPh, goodAmmonia, goodKh, badGh) + val inferensi59 = minOf(badTemperature, badPh, goodAmmonia, mediumKh, badGh) + val inferensi60 = minOf(badTemperature, badPh, goodAmmonia, badKh, badGh) + + val inferensi61 = minOf(badTemperature, goodPh, badAmmonia, mediumKh, goodGh) + val inferensi62 = minOf(badTemperature, goodPh, badAmmonia, badKh, goodGh) + val inferensi63 = minOf(badTemperature, goodPh, badAmmonia, goodKh, goodGh) + val inferensi64 = minOf(badTemperature, goodPh, badAmmonia, goodKh, badGh) + val inferensi65 = minOf(badTemperature, goodPh, badAmmonia, mediumKh, badGh) + val inferensi66 = minOf(badTemperature, goodPh, badAmmonia, badKh, badGh) + val inferensi67 = minOf(badTemperature, goodPh, goodAmmonia, mediumKh, goodGh) + val inferensi68 = minOf(badTemperature, goodPh, goodAmmonia, badKh, goodGh) + val inferensi69 = minOf(badTemperature, goodPh, goodAmmonia, goodKh, badGh) + val inferensi70 = minOf(badTemperature, goodPh, goodAmmonia, mediumKh, badGh) + val inferensi71 = minOf(badTemperature, goodPh, goodAmmonia, badKh, badGh) + val inferensi72 = minOf(badTemperature, goodPh, badAmmonia, goodKh, badGh) + + // Hasil Inferensi + val hasilInferensi1 = fungsiKeanggotaanStatusBaik(inferensi1) + val hasilInferensi2 = fungsiKeanggotaanStatusBaik(inferensi2) + val hasilInferensi3 = fungsiKeanggotaanStatusSedang(inferensi3) + val hasilInferensi4 = fungsiKeanggotaanStatusBuruk(inferensi4) + val hasilInferensi5 = fungsiKeanggotaanStatusSedang(inferensi5) + val hasilInferensi6 = fungsiKeanggotaanStatusBuruk(inferensi6) + val hasilInferensi7 = fungsiKeanggotaanStatusSedang(inferensi7) + + val hasilInferensi8 = fungsiKeanggotaanStatusBuruk(inferensi8) + val hasilInferensi9 = fungsiKeanggotaanStatusBuruk(inferensi9) + val hasilInferensi10 = fungsiKeanggotaanStatusBuruk(inferensi10) + val hasilInferensi11 = fungsiKeanggotaanStatusBuruk(inferensi11) + val hasilInferensi12 = fungsiKeanggotaanStatusBuruk(inferensi12) + val hasilInferensi13 = fungsiKeanggotaanStatusBuruk(inferensi13) + val hasilInferensi14 = fungsiKeanggotaanStatusSedang(inferensi14) + val hasilInferensi15 = fungsiKeanggotaanStatusBuruk(inferensi15) + val hasilInferensi16 = fungsiKeanggotaanStatusSedang(inferensi16) + val hasilInferensi17 = fungsiKeanggotaanStatusBuruk(inferensi17) + val hasilInferensi18 = fungsiKeanggotaanStatusBuruk(inferensi18) + + val hasilInferensi19 = fungsiKeanggotaanStatusBuruk(inferensi19) + val hasilInferensi20 = fungsiKeanggotaanStatusBuruk(inferensi20) + val hasilInferensi21 = fungsiKeanggotaanStatusBuruk(inferensi21) + val hasilInferensi22 = fungsiKeanggotaanStatusBuruk(inferensi22) + val hasilInferensi23 = fungsiKeanggotaanStatusBuruk(inferensi23) + val hasilInferensi24 = fungsiKeanggotaanStatusBuruk(inferensi24) + val hasilInferensi25 = fungsiKeanggotaanStatusSedang(inferensi25) + val hasilInferensi26 = fungsiKeanggotaanStatusBuruk(inferensi26) + val hasilInferensi27 = fungsiKeanggotaanStatusSedang(inferensi27) + val hasilInferensi28 = fungsiKeanggotaanStatusSedang(inferensi28) + val hasilInferensi29 = fungsiKeanggotaanStatusBuruk(inferensi29) + + val hasilInferensi30 = fungsiKeanggotaanStatusBuruk(inferensi30) + val hasilInferensi31 = fungsiKeanggotaanStatusBuruk(inferensi31) + val hasilInferensi32 = fungsiKeanggotaanStatusBuruk(inferensi32) + val hasilInferensi33 = fungsiKeanggotaanStatusBuruk(inferensi33) + val hasilInferensi34 = fungsiKeanggotaanStatusBuruk(inferensi34) + val hasilInferensi35 = fungsiKeanggotaanStatusSedang(inferensi35) + val hasilInferensi36 = fungsiKeanggotaanStatusBuruk(inferensi36) + + val hasilInferensi37 = fungsiKeanggotaanStatusBuruk(inferensi37) + val hasilInferensi38 = fungsiKeanggotaanStatusBuruk(inferensi38) + val hasilInferensi39 = fungsiKeanggotaanStatusBuruk(inferensi39) + val hasilInferensi40 = fungsiKeanggotaanStatusBuruk(inferensi40) + val hasilInferensi41 = fungsiKeanggotaanStatusBuruk(inferensi41) + val hasilInferensi42 = fungsiKeanggotaanStatusBuruk(inferensi42) + val hasilInferensi43 = fungsiKeanggotaanStatusSedang(inferensi43) + val hasilInferensi44 = fungsiKeanggotaanStatusSedang(inferensi44) + val hasilInferensi45 = fungsiKeanggotaanStatusBuruk(inferensi45) + val hasilInferensi46 = fungsiKeanggotaanStatusSedang(inferensi46) + val hasilInferensi47 = fungsiKeanggotaanStatusBuruk(inferensi47) + val hasilInferensi48 = fungsiKeanggotaanStatusBuruk(inferensi48) + + val hasilInferensi49 = fungsiKeanggotaanStatusBuruk(inferensi49) + val hasilInferensi50 = fungsiKeanggotaanStatusBuruk(inferensi50) + val hasilInferensi51 = fungsiKeanggotaanStatusBuruk(inferensi51) + val hasilInferensi52 = fungsiKeanggotaanStatusBuruk(inferensi52) + val hasilInferensi53 = fungsiKeanggotaanStatusBuruk(inferensi53) + val hasilInferensi54 = fungsiKeanggotaanStatusBuruk(inferensi54) + val hasilInferensi55 = fungsiKeanggotaanStatusSedang(inferensi55) + val hasilInferensi56 = fungsiKeanggotaanStatusBuruk(inferensi56) + val hasilInferensi57 = fungsiKeanggotaanStatusBuruk(inferensi57) + val hasilInferensi58 = fungsiKeanggotaanStatusBuruk(inferensi58) + val hasilInferensi59 = fungsiKeanggotaanStatusBuruk(inferensi59) + val hasilInferensi60 = fungsiKeanggotaanStatusBuruk(inferensi60) + + val hasilInferensi61 = fungsiKeanggotaanStatusBuruk(inferensi61) + val hasilInferensi62 = fungsiKeanggotaanStatusBuruk(inferensi62) + val hasilInferensi63 = fungsiKeanggotaanStatusBuruk(inferensi63) + val hasilInferensi64 = fungsiKeanggotaanStatusBuruk(inferensi64) + val hasilInferensi65 = fungsiKeanggotaanStatusBuruk(inferensi65) + val hasilInferensi66 = fungsiKeanggotaanStatusBuruk(inferensi66) + val hasilInferensi67 = fungsiKeanggotaanStatusSedang(inferensi67) + val hasilInferensi68 = fungsiKeanggotaanStatusBuruk(inferensi68) + val hasilInferensi69 = fungsiKeanggotaanStatusSedang(inferensi69) + val hasilInferensi70 = fungsiKeanggotaanStatusSedang(inferensi70) + val hasilInferensi71 = fungsiKeanggotaanStatusBuruk(inferensi71) + val hasilInferensi72 = fungsiKeanggotaanStatusBuruk(inferensi72) + + // Defuzzyfikasi + val defuzzifikasi1 = ((inferensi1 * hasilInferensi1) + (inferensi2 * hasilInferensi2) + (inferensi3 * hasilInferensi3) + (inferensi4 * hasilInferensi4) + (inferensi5 * hasilInferensi5) + (inferensi6 * hasilInferensi6) + (inferensi7 * hasilInferensi7) + (inferensi8 * hasilInferensi8) + (inferensi9 * hasilInferensi9) + (inferensi10 * hasilInferensi10) + (inferensi11 * hasilInferensi11) + (inferensi12 * hasilInferensi12) + (inferensi13 * hasilInferensi13) + (inferensi14 * hasilInferensi14) + (inferensi15 * hasilInferensi15)) + val defuzzifikasi2 = ((inferensi16 * hasilInferensi16) + (inferensi17 * hasilInferensi17) + (inferensi18 * hasilInferensi18) + (inferensi19 * hasilInferensi19) + (inferensi20 * hasilInferensi20) + (inferensi21 * hasilInferensi21) + (inferensi22 * hasilInferensi22) + (inferensi23 * hasilInferensi23) + (inferensi24 * hasilInferensi24) + (inferensi25 * hasilInferensi25) + (inferensi26 * hasilInferensi26) + (inferensi27 * hasilInferensi27) + (inferensi28 * hasilInferensi28) + (inferensi29 * hasilInferensi29) + (inferensi30 * hasilInferensi30)) + val defuzzifikasi3 = ((inferensi31 * hasilInferensi31) + (inferensi32 * hasilInferensi32) + (inferensi33 * hasilInferensi33) + (inferensi34 * hasilInferensi34) + (inferensi35 * hasilInferensi35) + (inferensi36 * hasilInferensi36) + (inferensi37 * hasilInferensi37) + (inferensi38 * hasilInferensi38) + (inferensi39 * hasilInferensi39) + (inferensi40 * hasilInferensi40) + (inferensi41 * hasilInferensi41) + (inferensi42 * hasilInferensi42) + (inferensi43 * hasilInferensi43) + (inferensi44 * hasilInferensi44) + (inferensi45 * hasilInferensi45)) + val defuzzifikasi4 = ((inferensi46 * hasilInferensi46) + (inferensi47 * hasilInferensi47) + (inferensi48 * hasilInferensi48) + (inferensi49 * hasilInferensi49) + (inferensi50 * hasilInferensi50) + (inferensi51 * hasilInferensi51) + (inferensi52 * hasilInferensi52) + (inferensi53 * hasilInferensi53) + (inferensi54 * hasilInferensi54) + (inferensi55 * hasilInferensi55) + (inferensi56 * hasilInferensi56) + (inferensi57 * hasilInferensi57) + (inferensi58 * hasilInferensi58) + (inferensi59 * hasilInferensi59) + (inferensi60 * hasilInferensi60)) + val defuzzifikasi5 = ((inferensi61 * hasilInferensi61) + (inferensi62 * hasilInferensi62) + (inferensi63 * hasilInferensi63) + (inferensi64 * hasilInferensi64) + (inferensi65 * hasilInferensi65) + (inferensi66 * hasilInferensi66) + (inferensi67 * hasilInferensi67) + (inferensi68 * hasilInferensi68) + (inferensi69 * hasilInferensi69) + (inferensi70 * hasilInferensi70) + (inferensi71 * hasilInferensi71) + (inferensi72 * hasilInferensi72)) + + val defuzzifikasiA = inferensi1 + inferensi2 + inferensi3 + inferensi4 + inferensi5 + inferensi6 + inferensi7 + inferensi8 + inferensi9 + inferensi10 + inferensi11 + inferensi12 + inferensi13 + inferensi14 + inferensi15 + inferensi16 + inferensi17 + inferensi18 + inferensi19 + inferensi20 + val defuzzifikasiB = inferensi21 + inferensi22 + inferensi23 + inferensi24 + inferensi25 + inferensi26 + inferensi27 + inferensi28 + inferensi29 + inferensi30 + inferensi31 + inferensi32 + inferensi33 + inferensi34 + inferensi35 + inferensi36 + inferensi37 + inferensi38 + inferensi39 + inferensi40 + val defuzzifikasiC = inferensi41 + inferensi42 + inferensi43 + inferensi44 + inferensi45 + inferensi46 + inferensi47 + inferensi48 + inferensi49 + inferensi50 + inferensi51 + inferensi52 + inferensi53 + inferensi54 + inferensi55 + inferensi56 + inferensi57 + inferensi58 + inferensi59 + inferensi60 + val defuzzifikasiD = inferensi61 + inferensi62 + inferensi63 + inferensi64 + inferensi65 + inferensi66 + inferensi67 + inferensi68 + inferensi69 + inferensi70 + inferensi71 + inferensi72 + + val totalDefuzzifikasi1 = defuzzifikasi1 + defuzzifikasi2 + defuzzifikasi3 + defuzzifikasi4 + defuzzifikasi5 + val totalDefuzzifikasi2 = defuzzifikasiA + defuzzifikasiB + defuzzifikasiC + defuzzifikasiD + + val defuzzifikasi = totalDefuzzifikasi1 / totalDefuzzifikasi2 + + val resultDefuzzifikasi = if (defuzzifikasi >= 40) { + good + } else if (defuzzifikasi <= 20){ + bad + } else { + medium + } + +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 1: α = $inferensi1, Z1 = $hasilInferensi1") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 13: α = $inferensi13, Z13 = $hasilInferensi13") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 25: α = $inferensi25, Z25 = $hasilInferensi25") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 32: α = $inferensi32, Z32 = $hasilInferensi32") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 44: α = $inferensi44, Z44 = $hasilInferensi44") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 58: α = $inferensi58, Z58 = $hasilInferensi58") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 63: α = $inferensi63, Z63 = $hasilInferensi63") +// Log.d("Fuzzy Dutch", "Hasil Inferensi Aturan 70: α = $inferensi70, Z70 = $hasilInferensi70") +// +// Log.d("Fuzzy Dutch", "Defuzzyfikasi: Jumlah α * Z = $totalDefuzzifikasi1, Jumlah α = $totalDefuzzifikasi2, Grade = $resultDefuzzifikasi") + + return resultDefuzzifikasi + } + + fun checkParameter(suhu: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): StatusParameter { + val suhuBaik = fungsiKeanggotaanSuhuBaik(suhu) + val suhuBuruk = fungsiKeanggotaanSuhuBuruk(suhu) + + val phBaik = fungsiKeanggotaanPhBaik(ph) + val phSedang = fungsiKeanggotaanPhSedang(ph) + val phBuruk = fungsiKeanggotaanPhBuruk(ph) + + val ammoniaBaik = fungsiKeanggotaanAmmoniaBaik(ammonia) + val ammoniaBuruk = fungsiKeanggotaanAmmoniaBuruk(ammonia) + + val khBaik = fungsiKeanggotaanKhBaik(kh) + val khSedang = fungsiKeanggotaanKhSedang(kh) + val khBuruk = fungsiKeanggotaanKhBuruk(kh) + + val ghBaik = fungsiKeanggotaanGhBaik(gh) + val ghBuruk = fungsiKeanggotaanGhBuruk(gh) + + val _temperature = if (suhuBaik >= suhuBuruk) { + good + } else { + bad + } + + val _ph = if (phBaik >= phSedang && phBaik >= phBuruk) { + good + } else if (phSedang >= phBaik && phSedang >= phBuruk) { + medium + } else { + bad + } + + val _ammonia = if (ammoniaBaik >= ammoniaBuruk) { + good + } else { + bad + } + + val _kh = if (khBaik >= khSedang && khBaik >= khBuruk) { + good + } else if (khSedang >= khBaik && khSedang >= khBuruk) { + medium + } else { + bad + } + + val _gh = if (ghBaik >= ghBuruk) { + good + } else { + bad + } + + return StatusParameter(_temperature, _ph, _ammonia, _kh, _gh) + } + + //======================================================================== + + // Fungsi-fungsi keanggotaan + private fun fungsiKeanggotaanSuhuBaik(suhu: Double): Double { + return when { + suhu in 25.0..28.0 -> 1.0 + suhu > 23 && suhu < 25 -> (suhu - 23) / (25 - 23) + suhu > 28 && suhu < 31 -> (31 - suhu) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanSuhuBuruk(suhu: Double): Double { + return when { + suhu <= 23 || suhu >= 31 -> 1.0 + suhu > 23 && suhu < 25 -> (25 - suhu) / (25 - 23) + suhu > 28 && suhu < 31 -> (suhu - 28) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhBaik(ph: Double): Double { + return when { + ph in 6.3..6.6 -> 1.0 + ph > 6 && ph < 6.3 -> (ph - 6) / (6.3 - 6) + ph > 6.6 && ph < 6.8 -> (6.8 - ph) / (6.8 - 6.6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhSedang(ph: Double): Double { + return when { + ph > 6.6 && ph <= 6.8 -> (ph - 6.6) / (6.8 - 6.6) + ph >= 6.8 && ph < 7 -> (7 - ph) / (7 - 6.8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhBuruk(ph: Double): Double { + return when { + ph <= 6 || ph >= 7 -> 1.0 + ph > 6 && ph < 6.3 -> (6.3 - ph) / (6.3 - 6) + ph > 6.8 && ph < 7 -> (ph - 6.8) / (7 - 6.8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaBaik(ammonia: Double): Double { + return when { + ammonia <= 0.1 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (0.5 - ammonia) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaBuruk(ammonia: Double): Double { + return when { + ammonia >= 0.5 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (ammonia - 0.1) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhBaik(kh: Double): Double { + return when { + kh <= 1 -> 1.0 + kh > 1 && kh < 2 -> (2 - kh) / (2 - 1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhSedang(kh: Double): Double { + return when { + kh in 2.0..4.0 -> 1.0 + kh > 1 && kh < 2 -> (kh - 1) / (2 - 1) + kh > 4 && kh < 6 -> (6 - kh) / (6 - 4) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhBuruk(kh: Double): Double { + return when { + kh >= 6 -> 1.0 + kh > 4 && kh < 6 -> (kh - 4) / (6 - 4) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhBaik(gh: Double): Double { + return when { + gh <= 8 -> 1.0 + gh > 8 && gh < 12 -> (12 - gh) / (12 - 8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhBuruk(gh: Double): Double { + return when { + gh >= 12 -> 1.0 + gh > 8 && gh < 12 -> (gh - 8) / (12 - 8) + else -> 0.0 + } + } + + // ==============--------------------================= + + private fun fungsiKeanggotaanStatusBaik(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 40.0 + in 0.1..0.9 -> (inverensi * 10) + 30 + else -> 30.0 + } + } + + private fun fungsiKeanggotaanStatusSedang(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 30.0 + in 0.1..0.9 -> (inverensi * 10) + 20 + else -> 20.0 + } + } + + private fun fungsiKeanggotaanStatusBuruk(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 20.0 + in 0.1..0.9 -> 30 - (inverensi * 10) + else -> 30.0 + } + } + +// private fun fungsiKeanggotaanStatusBaik(inverensi: Double): Double { +// return when (inverensi) { +// 1.0 -> 70.0 +// in 0.1..0.9 -> (inverensi * 20) + 50 +// else -> 50.0 +// } +// } +// +// private fun fungsiKeanggotaanStatusSedang(inverensi: Double): Double { +// return when (inverensi) { +// 1.0 -> 50.0 +// in 0.1..0.9 -> (((inverensi * 20) + 30) + (70 - (inverensi * 20))) / 2 +// else -> 70.0 +// } +// } +// +// private fun fungsiKeanggotaanStatusBuruk(inverensi: Double): Double { +// return when (inverensi) { +// 1.0 -> 30.0 +// in 0.1..0.9 -> 50 - (inverensi * 20) +// else -> 50.0 +// } +// } + +} + + diff --git a/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyIdentification.kt b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyIdentification.kt new file mode 100644 index 0000000..2ee3b36 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyIdentification.kt @@ -0,0 +1,670 @@ +package com.capstone.aquacare.fuzzy + +import android.content.Context +import android.util.Log +import com.capstone.aquacare.R +import com.capstone.aquacare.data.StatusParameter + +class FuzzyIdentification(private val context: Context, private val style: String) { + + private val good = context.getString(R.string.good) + private val medium = context.getString(R.string.medium) + private val bad = context.getString(R.string.bad) + + fun calculateWaterQuality(temperature: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): String { + + val dinginTemperature = fungsiKeanggotaanSuhuDingin(temperature) + val normalTemperature = fungsiKeanggotaanSuhuNormal(temperature) + val panasTemperature = fungsiKeanggotaanSuhuPanas(temperature) + + val asamPh = fungsiKeanggotaanPhAsam(ph) + val sedikitAsamPh = fungsiKeanggotaanPhSedikitAsam(ph) + val netralPh = fungsiKeanggotaanPhNetral(ph) + val basaPh = fungsiKeanggotaanPhBasa(ph) + + val rendahAmmonia = fungsiKeanggotaanAmmoniaRendah(ammonia) + val tinggiAmmonia = fungsiKeanggotaanAmmoniaTinggi(ammonia) + + val rendahKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhRendah(kh) + } else { + fungsiKeanggotaanDutchKhRendah(kh) + } + val sedangKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhSedang(kh) + } else { + fungsiKeanggotaanDutchKhSedang(kh) + } + val tinggiKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhTinggi(kh) + } else { + fungsiKeanggotaanDutchKhTinggi(kh) + } + + val rendahGh = fungsiKeanggotaanGhRendah(gh) + val tinggiGh = fungsiKeanggotaanGhTinggi(gh) + + val inferensi1 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi2 = minOf(normalTemperature, netralPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi3 = minOf(normalTemperature, asamPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi4 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi5 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi6 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi7 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, rendahKh, tinggiGh) + + val inferensi8 = minOf(normalTemperature, netralPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi9 = minOf(normalTemperature, netralPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi10 = minOf(normalTemperature, netralPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi11 = minOf(normalTemperature, netralPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi12 = minOf(normalTemperature, netralPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi13 = minOf(normalTemperature, netralPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi14 = minOf(normalTemperature, netralPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi15 = minOf(normalTemperature, netralPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi16 = minOf(normalTemperature, netralPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi17 = minOf(normalTemperature, netralPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi18 = minOf(normalTemperature, netralPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi19 = minOf(normalTemperature, asamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi20 = minOf(normalTemperature, asamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi21 = minOf(normalTemperature, asamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi22 = minOf(normalTemperature, asamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi23 = minOf(normalTemperature, asamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi24 = minOf(normalTemperature, asamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi25 = minOf(normalTemperature, asamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi26 = minOf(normalTemperature, asamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi27 = minOf(normalTemperature, asamPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi28 = minOf(normalTemperature, asamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi29 = minOf(normalTemperature, asamPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi30 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi31 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi32 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi33 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi34 = minOf(normalTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi35 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi36 = minOf(normalTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi37 = minOf(panasTemperature, netralPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi38 = minOf(panasTemperature, netralPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi39 = minOf(panasTemperature, netralPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi40 = minOf(panasTemperature, netralPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi41 = minOf(panasTemperature, netralPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi42 = minOf(panasTemperature, netralPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi43 = minOf(panasTemperature, netralPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi44 = minOf(panasTemperature, netralPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi45 = minOf(panasTemperature, netralPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi46 = minOf(panasTemperature, netralPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi47 = minOf(panasTemperature, netralPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi48 = minOf(panasTemperature, netralPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi49 = minOf(panasTemperature, asamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi50 = minOf(panasTemperature, asamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi51 = minOf(panasTemperature, asamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi52 = minOf(panasTemperature, asamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi53 = minOf(panasTemperature, asamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi54 = minOf(panasTemperature, asamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi55 = minOf(panasTemperature, asamPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi56 = minOf(panasTemperature, asamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi57 = minOf(panasTemperature, asamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi58 = minOf(panasTemperature, asamPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi59 = minOf(panasTemperature, asamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi60 = minOf(panasTemperature, asamPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi61 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi62 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi63 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi64 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi65 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi66 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi67 = minOf(panasTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi68 = minOf(panasTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi69 = minOf(panasTemperature, sedikitAsamPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi70 = minOf(panasTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi71 = minOf(panasTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, tinggiGh) + val inferensi72 = minOf(panasTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, tinggiGh) + + val inferensi73 = minOf(dinginTemperature, netralPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi74 = minOf(dinginTemperature, netralPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi75 = minOf(dinginTemperature, netralPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi76 = minOf(dinginTemperature, netralPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi77 = minOf(dinginTemperature, netralPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi78 = minOf(dinginTemperature, netralPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi79 = minOf(dinginTemperature, netralPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi80 = minOf(dinginTemperature, netralPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi81 = minOf(dinginTemperature, netralPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi82 = minOf(dinginTemperature, netralPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi83 = minOf(dinginTemperature, netralPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi84 = minOf(dinginTemperature, netralPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi85 = minOf(dinginTemperature, asamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi86 = minOf(dinginTemperature, asamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi87 = minOf(dinginTemperature, asamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi88 = minOf(dinginTemperature, asamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi89 = minOf(dinginTemperature, asamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi90 = minOf(dinginTemperature, asamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi91 = minOf(dinginTemperature, asamPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi92 = minOf(dinginTemperature, asamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi93 = minOf(dinginTemperature, asamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi94 = minOf(dinginTemperature, asamPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi95 = minOf(dinginTemperature, asamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi96 = minOf(dinginTemperature, asamPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi97 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi98 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi99 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi100 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi101 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi102 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi103 = minOf(dinginTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi104 = minOf(dinginTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi105 = minOf(dinginTemperature, sedikitAsamPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi106 = minOf(dinginTemperature, sedikitAsamPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi107 = minOf(dinginTemperature, sedikitAsamPh, rendahAmmonia, tinggiKh, tinggiGh) + val inferensi108 = minOf(dinginTemperature, sedikitAsamPh, tinggiAmmonia, rendahKh, tinggiGh) + + val inferensi109 = minOf(normalTemperature, basaPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi110 = minOf(normalTemperature, basaPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi111 = minOf(normalTemperature, basaPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi112 = minOf(normalTemperature, basaPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi113 = minOf(normalTemperature, basaPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi114 = minOf(normalTemperature, basaPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi115 = minOf(normalTemperature, basaPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi116 = minOf(normalTemperature, basaPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi117 = minOf(normalTemperature, basaPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi118 = minOf(normalTemperature, basaPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi119 = minOf(normalTemperature, basaPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi120 = minOf(panasTemperature, basaPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi121 = minOf(panasTemperature, basaPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi122 = minOf(panasTemperature, basaPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi123 = minOf(panasTemperature, basaPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi124 = minOf(panasTemperature, basaPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi125 = minOf(panasTemperature, basaPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi126 = minOf(panasTemperature, basaPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi127 = minOf(panasTemperature, basaPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi128 = minOf(panasTemperature, basaPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi129 = minOf(panasTemperature, basaPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi130 = minOf(panasTemperature, basaPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi131 = minOf(panasTemperature, basaPh, rendahAmmonia, tinggiKh, tinggiGh) + + val inferensi132 = minOf(dinginTemperature, basaPh, tinggiAmmonia, rendahKh, rendahGh) + val inferensi133 = minOf(dinginTemperature, basaPh, tinggiAmmonia, sedangKh, rendahGh) + val inferensi134 = minOf(dinginTemperature, basaPh, tinggiAmmonia, tinggiKh, rendahGh) + val inferensi135 = minOf(dinginTemperature, basaPh, tinggiAmmonia, rendahKh, tinggiGh) + val inferensi136 = minOf(dinginTemperature, basaPh, tinggiAmmonia, sedangKh, tinggiGh) + val inferensi137 = minOf(dinginTemperature, basaPh, tinggiAmmonia, tinggiKh, tinggiGh) + val inferensi138 = minOf(dinginTemperature, basaPh, rendahAmmonia, rendahKh, rendahGh) + val inferensi139 = minOf(dinginTemperature, basaPh, rendahAmmonia, sedangKh, rendahGh) + val inferensi140 = minOf(dinginTemperature, basaPh, rendahAmmonia, tinggiKh, rendahGh) + val inferensi141 = minOf(dinginTemperature, basaPh, rendahAmmonia, rendahKh, tinggiGh) + val inferensi142 = minOf(dinginTemperature, basaPh, rendahAmmonia, sedangKh, tinggiGh) + val inferensi143 = minOf(dinginTemperature, basaPh, rendahAmmonia, tinggiKh, tinggiGh) + + + val hasilInferensi1 = fungsiKeanggotaanStatusBaik(inferensi1) + val hasilInferensi2 = fungsiKeanggotaanStatusBaik(inferensi2) + val hasilInferensi3 = fungsiKeanggotaanStatusSedang(inferensi3) + val hasilInferensi4 = fungsiKeanggotaanStatusBuruk(inferensi4) + val hasilInferensi5 = fungsiKeanggotaanStatusSedang(inferensi5) + val hasilInferensi6 = fungsiKeanggotaanStatusBuruk(inferensi6) + val hasilInferensi7 = fungsiKeanggotaanStatusSedang(inferensi7) + + val hasilInferensi8 = fungsiKeanggotaanStatusBuruk(inferensi8) + val hasilInferensi9 = fungsiKeanggotaanStatusBuruk(inferensi9) + val hasilInferensi10 = fungsiKeanggotaanStatusBuruk(inferensi10) + val hasilInferensi11 = fungsiKeanggotaanStatusBuruk(inferensi11) + val hasilInferensi12 = fungsiKeanggotaanStatusBuruk(inferensi12) + val hasilInferensi13 = fungsiKeanggotaanStatusBuruk(inferensi13) + val hasilInferensi14 = fungsiKeanggotaanStatusSedang(inferensi14) + val hasilInferensi15 = fungsiKeanggotaanStatusBuruk(inferensi15) + val hasilInferensi16 = fungsiKeanggotaanStatusSedang(inferensi16) + val hasilInferensi17 = fungsiKeanggotaanStatusBuruk(inferensi17) + val hasilInferensi18 = fungsiKeanggotaanStatusBuruk(inferensi18) + + val hasilInferensi19 = fungsiKeanggotaanStatusBuruk(inferensi19) + val hasilInferensi20 = fungsiKeanggotaanStatusBuruk(inferensi20) + val hasilInferensi21 = fungsiKeanggotaanStatusBuruk(inferensi21) + val hasilInferensi22 = fungsiKeanggotaanStatusBuruk(inferensi22) + val hasilInferensi23 = fungsiKeanggotaanStatusBuruk(inferensi23) + val hasilInferensi24 = fungsiKeanggotaanStatusBuruk(inferensi24) + val hasilInferensi25 = fungsiKeanggotaanStatusSedang(inferensi25) + val hasilInferensi26 = fungsiKeanggotaanStatusBuruk(inferensi26) + val hasilInferensi27 = fungsiKeanggotaanStatusSedang(inferensi27) + val hasilInferensi28 = fungsiKeanggotaanStatusSedang(inferensi28) + val hasilInferensi29 = fungsiKeanggotaanStatusBuruk(inferensi29) + + val hasilInferensi30 = fungsiKeanggotaanStatusBuruk(inferensi30) + val hasilInferensi31 = fungsiKeanggotaanStatusBuruk(inferensi31) + val hasilInferensi32 = fungsiKeanggotaanStatusBuruk(inferensi32) + val hasilInferensi33 = fungsiKeanggotaanStatusBuruk(inferensi33) + val hasilInferensi34 = fungsiKeanggotaanStatusBuruk(inferensi34) + val hasilInferensi35 = fungsiKeanggotaanStatusSedang(inferensi35) + val hasilInferensi36 = fungsiKeanggotaanStatusBuruk(inferensi36) + + val hasilInferensi37 = fungsiKeanggotaanStatusBuruk(inferensi37) + val hasilInferensi38 = fungsiKeanggotaanStatusBuruk(inferensi38) + val hasilInferensi39 = fungsiKeanggotaanStatusBuruk(inferensi39) + val hasilInferensi40 = fungsiKeanggotaanStatusBuruk(inferensi40) + val hasilInferensi41 = fungsiKeanggotaanStatusBuruk(inferensi41) + val hasilInferensi42 = fungsiKeanggotaanStatusBuruk(inferensi42) + val hasilInferensi43 = fungsiKeanggotaanStatusSedang(inferensi43) + val hasilInferensi44 = fungsiKeanggotaanStatusSedang(inferensi44) + val hasilInferensi45 = fungsiKeanggotaanStatusBuruk(inferensi45) + val hasilInferensi46 = fungsiKeanggotaanStatusSedang(inferensi46) + val hasilInferensi47 = fungsiKeanggotaanStatusBuruk(inferensi47) + val hasilInferensi48 = fungsiKeanggotaanStatusBuruk(inferensi48) + + val hasilInferensi49 = fungsiKeanggotaanStatusBuruk(inferensi49) + val hasilInferensi50 = fungsiKeanggotaanStatusBuruk(inferensi50) + val hasilInferensi51 = fungsiKeanggotaanStatusBuruk(inferensi51) + val hasilInferensi52 = fungsiKeanggotaanStatusBuruk(inferensi52) + val hasilInferensi53 = fungsiKeanggotaanStatusBuruk(inferensi53) + val hasilInferensi54 = fungsiKeanggotaanStatusBuruk(inferensi54) + val hasilInferensi55 = fungsiKeanggotaanStatusSedang(inferensi55) + val hasilInferensi56 = fungsiKeanggotaanStatusBuruk(inferensi56) + val hasilInferensi57 = fungsiKeanggotaanStatusBuruk(inferensi57) + val hasilInferensi58 = fungsiKeanggotaanStatusBuruk(inferensi58) + val hasilInferensi59 = fungsiKeanggotaanStatusBuruk(inferensi59) + val hasilInferensi60 = fungsiKeanggotaanStatusBuruk(inferensi60) + + val hasilInferensi61 = fungsiKeanggotaanStatusBuruk(inferensi61) + val hasilInferensi62 = fungsiKeanggotaanStatusBuruk(inferensi62) + val hasilInferensi63 = fungsiKeanggotaanStatusBuruk(inferensi63) + val hasilInferensi64 = fungsiKeanggotaanStatusBuruk(inferensi64) + val hasilInferensi65 = fungsiKeanggotaanStatusBuruk(inferensi65) + val hasilInferensi66 = fungsiKeanggotaanStatusBuruk(inferensi66) + val hasilInferensi67 = fungsiKeanggotaanStatusSedang(inferensi67) + val hasilInferensi68 = fungsiKeanggotaanStatusBuruk(inferensi68) + val hasilInferensi69 = fungsiKeanggotaanStatusSedang(inferensi69) + val hasilInferensi70 = fungsiKeanggotaanStatusSedang(inferensi70) + val hasilInferensi71 = fungsiKeanggotaanStatusBuruk(inferensi71) + val hasilInferensi72 = fungsiKeanggotaanStatusBuruk(inferensi72) + + val hasilInferensi73 = fungsiKeanggotaanStatusBuruk(inferensi73) + val hasilInferensi74 = fungsiKeanggotaanStatusBuruk(inferensi74) + val hasilInferensi75 = fungsiKeanggotaanStatusBuruk(inferensi75) + val hasilInferensi76 = fungsiKeanggotaanStatusBuruk(inferensi76) + val hasilInferensi77 = fungsiKeanggotaanStatusBuruk(inferensi77) + val hasilInferensi78 = fungsiKeanggotaanStatusBuruk(inferensi78) + val hasilInferensi79 = fungsiKeanggotaanStatusSedang(inferensi79) + val hasilInferensi80 = fungsiKeanggotaanStatusSedang(inferensi80) + val hasilInferensi81 = fungsiKeanggotaanStatusBuruk(inferensi81) + val hasilInferensi82 = fungsiKeanggotaanStatusSedang(inferensi82) + val hasilInferensi83 = fungsiKeanggotaanStatusBuruk(inferensi83) + val hasilInferensi84 = fungsiKeanggotaanStatusBuruk(inferensi84) + + val hasilInferensi85 = fungsiKeanggotaanStatusBuruk(inferensi85) + val hasilInferensi86 = fungsiKeanggotaanStatusBuruk(inferensi86) + val hasilInferensi87 = fungsiKeanggotaanStatusBuruk(inferensi87) + val hasilInferensi88 = fungsiKeanggotaanStatusBuruk(inferensi88) + val hasilInferensi89 = fungsiKeanggotaanStatusBuruk(inferensi89) + val hasilInferensi90 = fungsiKeanggotaanStatusBuruk(inferensi90) + val hasilInferensi91 = fungsiKeanggotaanStatusSedang(inferensi91) + val hasilInferensi92 = fungsiKeanggotaanStatusBuruk(inferensi92) + val hasilInferensi93 = fungsiKeanggotaanStatusBuruk(inferensi93) + val hasilInferensi94 = fungsiKeanggotaanStatusBuruk(inferensi94) + val hasilInferensi95 = fungsiKeanggotaanStatusBuruk(inferensi95) + val hasilInferensi96 = fungsiKeanggotaanStatusBuruk(inferensi96) + + val hasilInferensi97 = fungsiKeanggotaanStatusBuruk(inferensi97) + val hasilInferensi98 = fungsiKeanggotaanStatusBuruk(inferensi98) + val hasilInferensi99 = fungsiKeanggotaanStatusBuruk(inferensi99) + val hasilInferensi100 = fungsiKeanggotaanStatusBuruk(inferensi100) + val hasilInferensi101 = fungsiKeanggotaanStatusBuruk(inferensi101) + val hasilInferensi102 = fungsiKeanggotaanStatusBuruk(inferensi102) + val hasilInferensi103 = fungsiKeanggotaanStatusSedang(inferensi103) + val hasilInferensi104 = fungsiKeanggotaanStatusBuruk(inferensi104) + val hasilInferensi105 = fungsiKeanggotaanStatusSedang(inferensi105) + val hasilInferensi106 = fungsiKeanggotaanStatusSedang(inferensi106) + val hasilInferensi107 = fungsiKeanggotaanStatusBuruk(inferensi107) + val hasilInferensi108 = fungsiKeanggotaanStatusBuruk(inferensi108) + + val hasilInferensi109 = fungsiKeanggotaanStatusBuruk(inferensi19) + val hasilInferensi110 = fungsiKeanggotaanStatusBuruk(inferensi20) + val hasilInferensi111 = fungsiKeanggotaanStatusBuruk(inferensi21) + val hasilInferensi112 = fungsiKeanggotaanStatusBuruk(inferensi22) + val hasilInferensi113 = fungsiKeanggotaanStatusBuruk(inferensi23) + val hasilInferensi114 = fungsiKeanggotaanStatusBuruk(inferensi24) + val hasilInferensi115 = fungsiKeanggotaanStatusSedang(inferensi25) + val hasilInferensi116 = fungsiKeanggotaanStatusBuruk(inferensi26) + val hasilInferensi117 = fungsiKeanggotaanStatusSedang(inferensi27) + val hasilInferensi118 = fungsiKeanggotaanStatusSedang(inferensi28) + val hasilInferensi119 = fungsiKeanggotaanStatusBuruk(inferensi29) + + val hasilInferensi120 = fungsiKeanggotaanStatusBuruk(inferensi49) + val hasilInferensi121 = fungsiKeanggotaanStatusBuruk(inferensi50) + val hasilInferensi122 = fungsiKeanggotaanStatusBuruk(inferensi51) + val hasilInferensi123 = fungsiKeanggotaanStatusBuruk(inferensi52) + val hasilInferensi124 = fungsiKeanggotaanStatusBuruk(inferensi53) + val hasilInferensi125 = fungsiKeanggotaanStatusBuruk(inferensi54) + val hasilInferensi126 = fungsiKeanggotaanStatusSedang(inferensi55) + val hasilInferensi127 = fungsiKeanggotaanStatusBuruk(inferensi56) + val hasilInferensi128 = fungsiKeanggotaanStatusBuruk(inferensi57) + val hasilInferensi129 = fungsiKeanggotaanStatusBuruk(inferensi58) + val hasilInferensi130 = fungsiKeanggotaanStatusBuruk(inferensi59) + val hasilInferensi131 = fungsiKeanggotaanStatusBuruk(inferensi60) + + val hasilInferensi132 = fungsiKeanggotaanStatusBuruk(inferensi85) + val hasilInferensi133 = fungsiKeanggotaanStatusBuruk(inferensi86) + val hasilInferensi134 = fungsiKeanggotaanStatusBuruk(inferensi87) + val hasilInferensi135 = fungsiKeanggotaanStatusBuruk(inferensi88) + val hasilInferensi136 = fungsiKeanggotaanStatusBuruk(inferensi89) + val hasilInferensi137 = fungsiKeanggotaanStatusBuruk(inferensi90) + val hasilInferensi138 = fungsiKeanggotaanStatusSedang(inferensi91) + val hasilInferensi139 = fungsiKeanggotaanStatusBuruk(inferensi92) + val hasilInferensi140 = fungsiKeanggotaanStatusBuruk(inferensi93) + val hasilInferensi141 = fungsiKeanggotaanStatusBuruk(inferensi94) + val hasilInferensi142 = fungsiKeanggotaanStatusBuruk(inferensi95) + val hasilInferensi143 = fungsiKeanggotaanStatusBuruk(inferensi96) + +// val defuzzifikasi1 = ((inferensi1 * hasilInferensi1) + (inferensi2 * hasilInferensi2) + (inferensi3 * hasilInferensi3) + (inferensi4 * hasilInferensi4) + (inferensi5 * hasilInferensi5) + (inferensi6 * hasilInferensi6) + (inferensi7 * hasilInferensi7) + (inferensi8 * hasilInferensi8) + (inferensi9 * hasilInferensi9) + (inferensi10 * hasilInferensi10) + (inferensi11 * hasilInferensi11) + (inferensi12 * hasilInferensi12) + (inferensi13 * hasilInferensi13) + (inferensi14 * hasilInferensi14) + (inferensi15 * hasilInferensi15)) +// val defuzzifikasi2 = ((inferensi16 * hasilInferensi16) + (inferensi17 * hasilInferensi17) + (inferensi18 * hasilInferensi18) + (inferensi19 * hasilInferensi19) + (inferensi20 * hasilInferensi20) + (inferensi21 * hasilInferensi21) + (inferensi22 * hasilInferensi22) + (inferensi23 * hasilInferensi23) + (inferensi24 * hasilInferensi24) + (inferensi25 * hasilInferensi25) + (inferensi26 * hasilInferensi26) + (inferensi27 * hasilInferensi27) + (inferensi28 * hasilInferensi28) + (inferensi29 * hasilInferensi29) + (inferensi30 * hasilInferensi30)) +// val defuzzifikasi3 = ((inferensi31 * hasilInferensi31) + (inferensi32 * hasilInferensi32) + (inferensi33 * hasilInferensi33) + (inferensi34 * hasilInferensi34) + (inferensi35 * hasilInferensi35) + (inferensi36 * hasilInferensi36) + (inferensi37 * hasilInferensi37) + (inferensi38 * hasilInferensi38) + (inferensi39 * hasilInferensi39) + (inferensi40 * hasilInferensi40) + (inferensi41 * hasilInferensi41) + (inferensi42 * hasilInferensi42) + (inferensi43 * hasilInferensi43) + (inferensi44 * hasilInferensi44) + (inferensi45 * hasilInferensi45)) +// val defuzzifikasi4 = ((inferensi46 * hasilInferensi46) + (inferensi47 * hasilInferensi47) + (inferensi48 * hasilInferensi48) + (inferensi49 * hasilInferensi49) + (inferensi50 * hasilInferensi50) + (inferensi51 * hasilInferensi51) + (inferensi52 * hasilInferensi52) + (inferensi53 * hasilInferensi53) + (inferensi54 * hasilInferensi54) + (inferensi55 * hasilInferensi55) + (inferensi56 * hasilInferensi56) + (inferensi57 * hasilInferensi57) + (inferensi58 * hasilInferensi58) + (inferensi59 * hasilInferensi59) + (inferensi60 * hasilInferensi60)) +// val defuzzifikasi5 = ((inferensi61 * hasilInferensi61) + (inferensi62 * hasilInferensi62) + (inferensi63 * hasilInferensi63) + (inferensi64 * hasilInferensi64) + (inferensi65 * hasilInferensi65) + (inferensi66 * hasilInferensi66) + (inferensi67 * hasilInferensi67) + (inferensi68 * hasilInferensi68) + (inferensi69 * hasilInferensi69) + (inferensi70 * hasilInferensi70) + (inferensi71 * hasilInferensi71) + (inferensi72 * hasilInferensi72)) + +// val defuzzifikasiA = inferensi1 + inferensi2 + inferensi3 + inferensi4 + inferensi5 + inferensi6 + inferensi7 + inferensi8 + inferensi9 + inferensi10 + inferensi11 + inferensi12 + inferensi13 + inferensi14 + inferensi15 + inferensi16 + inferensi17 + inferensi18 + inferensi19 + inferensi20 +// val defuzzifikasiB = inferensi21 + inferensi22 + inferensi23 + inferensi24 + inferensi25 + inferensi26 + inferensi27 + inferensi28 + inferensi29 + inferensi30 + inferensi31 + inferensi32 + inferensi33 + inferensi34 + inferensi35 + inferensi36 + inferensi37 + inferensi38 + inferensi39 + inferensi40 +// val defuzzifikasiC = inferensi41 + inferensi42 + inferensi43 + inferensi44 + inferensi45 + inferensi46 + inferensi47 + inferensi48 + inferensi49 + inferensi50 + inferensi51 + inferensi52 + inferensi53 + inferensi54 + inferensi55 + inferensi56 + inferensi57 + inferensi58 + inferensi59 + inferensi60 +// val defuzzifikasiD = inferensi61 + inferensi62 + inferensi63 + inferensi64 + inferensi65 + inferensi66 + inferensi67 + inferensi68 + inferensi69 + inferensi70 + inferensi71 + inferensi72 + + val totalA = listOf( + inferensi1 * hasilInferensi1, inferensi2 * hasilInferensi2, inferensi3 * hasilInferensi3, inferensi4 * hasilInferensi4, inferensi5 * hasilInferensi5, inferensi6 * hasilInferensi6, inferensi7 * hasilInferensi7, inferensi8 * hasilInferensi8, + inferensi9 * hasilInferensi9, inferensi10 * hasilInferensi10, inferensi11 * hasilInferensi11, inferensi12 * hasilInferensi12, inferensi13 * hasilInferensi13, inferensi14 * hasilInferensi14, inferensi15 * hasilInferensi15, inferensi16 * hasilInferensi16, + inferensi17 * hasilInferensi17, inferensi18 * hasilInferensi18, inferensi19 * hasilInferensi19, inferensi20 * hasilInferensi20, inferensi21 * hasilInferensi21, inferensi22 * hasilInferensi22, inferensi23 * hasilInferensi23, inferensi24 * hasilInferensi24, + inferensi25 * hasilInferensi25, inferensi26 * hasilInferensi26, inferensi27 * hasilInferensi27, inferensi28 * hasilInferensi28, inferensi29 * hasilInferensi29, inferensi30 * hasilInferensi30, inferensi31 * hasilInferensi31, inferensi32 * hasilInferensi32, + inferensi33 * hasilInferensi33, inferensi34 * hasilInferensi34, inferensi35 * hasilInferensi35, inferensi36 * hasilInferensi36, inferensi37 * hasilInferensi37, inferensi38 * hasilInferensi38, inferensi39 * hasilInferensi39, inferensi40 * hasilInferensi40, + inferensi41 * hasilInferensi41, inferensi42 * hasilInferensi42, inferensi43 * hasilInferensi43, inferensi44 * hasilInferensi44, inferensi45 * hasilInferensi45, inferensi46 * hasilInferensi46, inferensi47 * hasilInferensi47, inferensi48 * hasilInferensi48, + inferensi49 * hasilInferensi49, inferensi50 * hasilInferensi50, inferensi51 * hasilInferensi51, inferensi52 * hasilInferensi52, inferensi53 * hasilInferensi53, inferensi54 * hasilInferensi54, inferensi55 * hasilInferensi55, inferensi56 * hasilInferensi56, + inferensi57 * hasilInferensi57, inferensi58 * hasilInferensi58, inferensi59 * hasilInferensi59, inferensi60 * hasilInferensi60, inferensi61 * hasilInferensi61, inferensi62 * hasilInferensi62, inferensi63 * hasilInferensi63, inferensi64 * hasilInferensi64, + inferensi65 * hasilInferensi65, inferensi66 * hasilInferensi66, inferensi67 * hasilInferensi67, inferensi68 * hasilInferensi68, inferensi69 * hasilInferensi69, inferensi70 * hasilInferensi70, inferensi71 * hasilInferensi71, inferensi72 * hasilInferensi72, + inferensi73 * hasilInferensi73, inferensi74 * hasilInferensi74, inferensi75 * hasilInferensi75, inferensi76 * hasilInferensi76, inferensi77 * hasilInferensi77, inferensi78 * hasilInferensi78, inferensi79 * hasilInferensi79, inferensi80 * hasilInferensi80, + inferensi81 * hasilInferensi81, inferensi82 * hasilInferensi82, inferensi83 * hasilInferensi83, inferensi84 * hasilInferensi84, inferensi85 * hasilInferensi85, inferensi86 * hasilInferensi86, inferensi87 * hasilInferensi87, inferensi88 * hasilInferensi88, + inferensi89 * hasilInferensi89, inferensi90 * hasilInferensi90, inferensi91 * hasilInferensi91, inferensi92 * hasilInferensi92, inferensi93 * hasilInferensi93, inferensi94 * hasilInferensi94, inferensi95 * hasilInferensi95, inferensi96 * hasilInferensi96, + inferensi97 * hasilInferensi97, inferensi98 * hasilInferensi98, inferensi99 * hasilInferensi99, inferensi100 * hasilInferensi100, inferensi101 * hasilInferensi101, inferensi102 * hasilInferensi102, inferensi103 * hasilInferensi103, inferensi104 * hasilInferensi104, + inferensi105 * hasilInferensi105, inferensi106 * hasilInferensi106, inferensi107 * hasilInferensi107, inferensi108 * hasilInferensi108, inferensi109 * hasilInferensi109, inferensi110 * hasilInferensi110, inferensi111 * hasilInferensi111, inferensi112 * hasilInferensi112, + inferensi113 * hasilInferensi113, inferensi114 * hasilInferensi114, inferensi115 * hasilInferensi115, inferensi116 * hasilInferensi116, inferensi117 * hasilInferensi117, inferensi118 * hasilInferensi118, inferensi119 * hasilInferensi119, inferensi120 * hasilInferensi120, + inferensi121 * hasilInferensi121, inferensi122 * hasilInferensi122, inferensi123 * hasilInferensi123, inferensi124 * hasilInferensi124, inferensi125 * hasilInferensi125, inferensi126 * hasilInferensi126, inferensi127 * hasilInferensi127, inferensi128 * hasilInferensi128, + inferensi129 * hasilInferensi129, inferensi130 * hasilInferensi130, inferensi131 * hasilInferensi131, inferensi132 * hasilInferensi132, inferensi133 * hasilInferensi133, inferensi134 * hasilInferensi134, inferensi135 * hasilInferensi135, inferensi136 * hasilInferensi136, + inferensi137 * hasilInferensi137, inferensi138 * hasilInferensi138, inferensi139 * hasilInferensi139, inferensi140 * hasilInferensi140, inferensi141 * hasilInferensi141, inferensi142 * hasilInferensi142, inferensi143 * hasilInferensi143 + ).sumOf { it } + + val totalB = listOf( + inferensi1, inferensi2, inferensi3, inferensi4, inferensi5, inferensi6, inferensi7, inferensi8, inferensi9, inferensi10, inferensi11, inferensi12, inferensi13, inferensi14, inferensi15, inferensi16, inferensi17, inferensi18, inferensi19, inferensi20, + inferensi21, inferensi22, inferensi23, inferensi24, inferensi25, inferensi26, inferensi27, inferensi28, inferensi29, inferensi30, inferensi31, inferensi32, inferensi33, inferensi34, inferensi35, inferensi36, inferensi37, inferensi38, inferensi39, inferensi40, + inferensi41, inferensi42, inferensi43, inferensi44, inferensi45, inferensi46, inferensi47, inferensi48, inferensi49, inferensi50, inferensi51, inferensi52, inferensi53, inferensi54, inferensi55, inferensi56, inferensi57, inferensi58, inferensi59, inferensi60, + inferensi61, inferensi62, inferensi63, inferensi64, inferensi65, inferensi66, inferensi67, inferensi68, inferensi69, inferensi70, inferensi71, inferensi72, inferensi73, inferensi74, inferensi75, inferensi76, inferensi77, inferensi78, inferensi79, inferensi80, + inferensi81, inferensi82, inferensi83, inferensi84, inferensi85, inferensi86, inferensi87, inferensi88, inferensi89, inferensi90, inferensi91, inferensi92, inferensi93, inferensi94, inferensi95, inferensi96, inferensi97, inferensi98, inferensi99, inferensi100, + inferensi101, inferensi102, inferensi103, inferensi104, inferensi105, inferensi106, inferensi107, inferensi108, inferensi109, inferensi110, inferensi111, inferensi112, inferensi113, inferensi114, inferensi115, inferensi116, inferensi117, inferensi118, + inferensi119, inferensi120, inferensi121, inferensi122, inferensi123, inferensi124, inferensi125, inferensi126, inferensi127, inferensi128, inferensi129, inferensi130, inferensi131, inferensi132, inferensi133, inferensi134, inferensi135, inferensi136, + inferensi137, inferensi138, inferensi139, inferensi140, inferensi141, inferensi142, inferensi143 + ).sumOf { it } + +// val totalDefuzzifikasi1 = defuzzifikasi1 + defuzzifikasi2 + defuzzifikasi3 + defuzzifikasi4 + defuzzifikasi5 +// val totalDefuzzifikasi2 = defuzzifikasiA + defuzzifikasiB + defuzzifikasiC + defuzzifikasiD + +// val defuzzifikasi = totalDefuzzifikasi1 / totalDefuzzifikasi2 + val defuzzifikasi = totalA / totalB + + val resultDefuzzifikasi = if (defuzzifikasi >= 70) { + good + } else if (defuzzifikasi <= 30){ + bad + } else { + medium + } + +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 3: α = $inferensi3, Z3 = $hasilInferensi3") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 13: α = $inferensi13, Z13 = $hasilInferensi13") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 25: α = $inferensi25, Z25 = $hasilInferensi25") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 32: α = $inferensi32, Z32 = $hasilInferensi32") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 44: α = $inferensi44, Z44 = $hasilInferensi44") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 58: α = $inferensi58, Z58 = $hasilInferensi58") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 63: α = $inferensi63, Z63 = $hasilInferensi63") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 70: α = $inferensi70, Z70 = $hasilInferensi70") +// + Log.d("Fuzzy Natural", "Defuzzyfikasi: Jumlah α * Z = $totalA, Jumlah α = $totalB, Grade = $resultDefuzzifikasi") + + return resultDefuzzifikasi + } + + fun checkParameter(suhu: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): StatusParameter { + val dinginTemperature = fungsiKeanggotaanSuhuDingin(suhu) + val normalTemperature = fungsiKeanggotaanSuhuNormal(suhu) + val panasTemperature = fungsiKeanggotaanSuhuPanas(suhu) + + val asamPh = fungsiKeanggotaanPhAsam(ph) + val sedikitAsamPh = fungsiKeanggotaanPhSedikitAsam(ph) + val netralPh = fungsiKeanggotaanPhNetral(ph) + val basaPh = fungsiKeanggotaanPhBasa(ph) + + val rendahAmmonia = fungsiKeanggotaanAmmoniaRendah(ammonia) + val tinggiAmmonia = fungsiKeanggotaanAmmoniaTinggi(ammonia) + + val rendahKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhRendah(kh) + } else { + fungsiKeanggotaanDutchKhRendah(kh) + } + val sedangKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhSedang(kh) + } else { + fungsiKeanggotaanDutchKhSedang(kh) + } + val tinggiKh = if (style == "Natural Style") { + fungsiKeanggotaanNaturalKhTinggi(kh) + } else { + fungsiKeanggotaanDutchKhTinggi(kh) + } + + val rendahGh = fungsiKeanggotaanGhRendah(gh) + val tinggiGh = fungsiKeanggotaanGhTinggi(gh) + + val _temperature = if (normalTemperature >= dinginTemperature && normalTemperature >= panasTemperature) { + good + } else { + bad + } + + val _ph = if (sedikitAsamPh >= netralPh && sedikitAsamPh >= asamPh && sedikitAsamPh >= basaPh) { + good + } else if (netralPh >= sedikitAsamPh && netralPh >= asamPh && netralPh >= basaPh) { + medium + } else { + bad + } + + val _ammonia = if (rendahAmmonia >= tinggiAmmonia) { + good + } else { + bad + } + + val _kh = if (rendahKh >= sedangKh && rendahKh >= tinggiKh) { + good + } else if (sedangKh >= rendahKh && sedangKh >= tinggiKh) { + medium + } else { + bad + } + + val _gh = if (rendahGh >= tinggiGh) { + good + } else { + bad + } + + return StatusParameter(_temperature, _ph, _ammonia, _kh, _gh) + } + + //======================================================================== + + // Fungsi Keanggotaan + private fun fungsiKeanggotaanSuhuDingin(suhu: Double): Double { + return when { + suhu <= 22 -> 1.0 + suhu > 22 && suhu < 25 -> (25 - suhu) / (25 - 22) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanSuhuNormal(suhu: Double): Double { + return when { + suhu in 25.0..28.0 -> 1.0 + suhu > 22 && suhu < 25 -> (suhu - 22) / (25 - 22) + suhu > 28 && suhu < 31 -> (31 - suhu) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanSuhuPanas(suhu: Double): Double { + return when { + suhu >= 31 -> 1.0 + suhu > 28 && suhu < 31 -> (suhu - 28) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhAsam(ph: Double): Double { + return when { + ph <= 6 -> 1.0 + ph > 6 && ph < 6.3 -> (6.3 - ph) / (6.3 - 6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhSedikitAsam(ph: Double): Double { + return when { + ph in 6.3..6.6 -> 1.0 + ph > 6 && ph < 6.3 -> (ph - 6) / (6.3 - 6) + ph > 6.6 && ph < 7 -> (7 - ph) / (7 - 6.6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhNetral(ph: Double): Double { + return when { + ph > 6.6 && ph <= 7 -> (ph - 6.6) / (7 - 6.6) + ph >= 7 && ph < 7.4 -> (7.4 - ph) / (7.4 - 7) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhBasa(ph: Double): Double { + return when { + ph >= 7.4 -> 1.0 + ph > 7 && ph < 7.4 -> (ph - 7) / (7.4 - 7) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaRendah(ammonia: Double): Double { + return when { + ammonia <= 0.1 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (0.5 - ammonia) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaTinggi(ammonia: Double): Double { + return when { + ammonia >= 0.5 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (ammonia - 0.1) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanNaturalKhRendah(kh: Double): Double { + return when { + kh <= 5 -> 1.0 + kh > 5 && kh < 8 -> (8 - kh) / (8 - 5) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanNaturalKhSedang(kh: Double): Double { + return when { + kh in 8.0..10.0 -> 1.0 + kh > 5 && kh < 8 -> (kh - 5) / (8 - 5) + kh > 10 && kh < 13 -> (13 - kh) / (13 - 10) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanNaturalKhTinggi(kh: Double): Double { + return when { + kh >= 13 -> 1.0 + kh > 10 && kh < 13 -> (kh - 10) / (13 - 10) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanDutchKhRendah(kh: Double): Double { + return when { + kh <= 2 -> 1.0 + kh > 2 && kh < 5 -> (5 - kh) / (5 - 2) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanDutchKhSedang(kh: Double): Double { + return when { + kh in 5.0..6.0 -> 1.0 + kh > 2 && kh < 5 -> (kh - 2) / (5 - 2) + kh > 6 && kh < 9 -> (9 - kh) / (9 - 6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanDutchKhTinggi(kh: Double): Double { + return when { + kh >= 9 -> 1.0 + kh > 6 && kh < 9 -> (kh - 6) / (9 - 6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhRendah(gh: Double): Double { + return when { + gh <= 8 -> 1.0 + gh > 8 && gh < 12 -> (12 - gh) / (12 - 8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhTinggi(gh: Double): Double { + return when { + gh >= 12 -> 1.0 + gh > 8 && gh < 12 -> (gh - 8) / (12 - 8) + else -> 0.0 + } + } + + // ==============--------------------================= + + private fun fungsiKeanggotaanStatusBaik(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 70.0 + in 0.1..0.9 -> (inverensi * 20) + 50 + else -> 50.0 + } + } + + private fun fungsiKeanggotaanStatusSedang(inverensi: Double): Double { + return when (inverensi) { + in 0.1..1.0 -> (inverensi * 20) + 30 + else -> 70.0 + } + } + + private fun fungsiKeanggotaanStatusBuruk(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 30.0 + in 0.1..0.9 -> 50 - (inverensi * 20) + else -> 50.0 + } + } + +} + + diff --git a/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyNaturalStyle.kt b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyNaturalStyle.kt new file mode 100644 index 0000000..855c84f --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/fuzzy/FuzzyNaturalStyle.kt @@ -0,0 +1,416 @@ +package com.capstone.aquacare.fuzzy + +import android.content.Context +import android.util.Log +import com.capstone.aquacare.R +import com.capstone.aquacare.data.StatusParameter + +class FuzzyNaturalStyle(private val context: Context) { + + private val good = context.getString(R.string.good) + private val medium = context.getString(R.string.medium) + private val bad = context.getString(R.string.bad) + + fun calculateWaterQuality(temperature: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): String { + + val goodTemperature = fungsiKeanggotaanSuhuBaik(temperature) + val badTemperature = fungsiKeanggotaanSuhuBuruk(temperature) + + val goodPh = fungsiKeanggotaanPhBaik(ph) + val mediumPh = fungsiKeanggotaanPhSedang(ph) + val badPh = fungsiKeanggotaanPhBuruk(ph) + + val goodAmmonia = fungsiKeanggotaanAmmoniaBaik(ammonia) + val badAmmonia = fungsiKeanggotaanAmmoniaBuruk(ammonia) + + val goodKh = fungsiKeanggotaanKhBaik(kh) + val mediumKh = fungsiKeanggotaanKhSedang(kh) + val badKh = fungsiKeanggotaanKhBuruk(kh) + + val goodGh = fungsiKeanggotaanGhBaik(gh) + val badGh = fungsiKeanggotaanGhBuruk(gh) + + val inferensi1 = minOf(goodTemperature, goodPh, goodAmmonia, goodKh, goodGh) + val inferensi2 = minOf(goodTemperature, mediumPh, goodAmmonia, goodKh, goodGh) + val inferensi3 = minOf(goodTemperature, badPh, goodAmmonia, goodKh, goodGh) + val inferensi4 = minOf(goodTemperature, goodPh, badAmmonia, goodKh, goodGh) + val inferensi5 = minOf(goodTemperature, goodPh, goodAmmonia, mediumKh, goodGh) + val inferensi6 = minOf(goodTemperature, goodPh, goodAmmonia, badKh, goodGh) + val inferensi7 = minOf(goodTemperature, goodPh, goodAmmonia, goodKh, badGh) + + val inferensi8 = minOf(goodTemperature, mediumPh, badAmmonia, goodKh, goodGh) + val inferensi9 = minOf(goodTemperature, mediumPh, badAmmonia, mediumKh, goodGh) + val inferensi10 = minOf(goodTemperature, mediumPh, badAmmonia, badKh, goodGh) + val inferensi11 = minOf(goodTemperature, mediumPh, badAmmonia, goodKh, badGh) + val inferensi12 = minOf(goodTemperature, mediumPh, badAmmonia, mediumKh, badGh) + val inferensi13 = minOf(goodTemperature, mediumPh, badAmmonia, badKh, badGh) + val inferensi14 = minOf(goodTemperature, mediumPh, goodAmmonia, mediumKh, goodGh) + val inferensi15 = minOf(goodTemperature, mediumPh, goodAmmonia, badKh, goodGh) + val inferensi16 = minOf(goodTemperature, mediumPh, goodAmmonia, goodKh, badGh) + val inferensi17 = minOf(goodTemperature, mediumPh, goodAmmonia, mediumKh, badGh) + val inferensi18 = minOf(goodTemperature, mediumPh, goodAmmonia, badKh, badGh) + + val inferensi19 = minOf(goodTemperature, badPh, badAmmonia, goodKh, goodGh) + val inferensi20 = minOf(goodTemperature, badPh, badAmmonia, mediumKh, goodGh) + val inferensi21 = minOf(goodTemperature, badPh, badAmmonia, badKh, goodGh) + val inferensi22 = minOf(goodTemperature, badPh, badAmmonia, goodKh, badGh) + val inferensi23 = minOf(goodTemperature, badPh, badAmmonia, mediumKh, badGh) + val inferensi24 = minOf(goodTemperature, badPh, badAmmonia, badKh, badGh) + val inferensi25 = minOf(goodTemperature, badPh, goodAmmonia, mediumKh, goodGh) + val inferensi26 = minOf(goodTemperature, badPh, goodAmmonia, badKh, goodGh) + val inferensi27 = minOf(goodTemperature, badPh, goodAmmonia, goodKh, badGh) + val inferensi28 = minOf(goodTemperature, badPh, goodAmmonia, mediumKh, badGh) + val inferensi29 = minOf(goodTemperature, badPh, goodAmmonia, badKh, badGh) + + val inferensi30 = minOf(goodTemperature, goodPh, badAmmonia, mediumKh, goodGh) + val inferensi31 = minOf(goodTemperature, goodPh, badAmmonia, badKh, goodGh) + val inferensi32 = minOf(goodTemperature, goodPh, badAmmonia, goodKh, badGh) + val inferensi33 = minOf(goodTemperature, goodPh, badAmmonia, mediumKh, badGh) + val inferensi34 = minOf(goodTemperature, goodPh, badAmmonia, badKh, badGh) + val inferensi35 = minOf(goodTemperature, goodPh, goodAmmonia, mediumKh, badGh) + val inferensi36 = minOf(goodTemperature, goodPh, goodAmmonia, badKh, badGh) + + val inferensi37 = minOf(badTemperature, mediumPh, badAmmonia, goodKh, goodGh) + val inferensi38 = minOf(badTemperature, mediumPh, badAmmonia, mediumKh, goodGh) + val inferensi39 = minOf(badTemperature, mediumPh, badAmmonia, badKh, goodGh) + val inferensi40 = minOf(badTemperature, mediumPh, badAmmonia, goodKh, badGh) + val inferensi41 = minOf(badTemperature, mediumPh, badAmmonia, mediumKh, badGh) + val inferensi42 = minOf(badTemperature, mediumPh, badAmmonia, badKh, badGh) + val inferensi43 = minOf(badTemperature, mediumPh, goodAmmonia, goodKh, goodGh) + val inferensi44 = minOf(badTemperature, mediumPh, goodAmmonia, mediumKh, goodGh) + val inferensi45 = minOf(badTemperature, mediumPh, goodAmmonia, badKh, goodGh) + val inferensi46 = minOf(badTemperature, mediumPh, goodAmmonia, goodKh, badGh) + val inferensi47 = minOf(badTemperature, mediumPh, goodAmmonia, mediumKh, badGh) + val inferensi48 = minOf(badTemperature, mediumPh, goodAmmonia, badKh, badGh) + + val inferensi49 = minOf(badTemperature, badPh, badAmmonia, goodKh, goodGh) + val inferensi50 = minOf(badTemperature, badPh, badAmmonia, mediumKh, goodGh) + val inferensi51 = minOf(badTemperature, badPh, badAmmonia, badKh, goodGh) + val inferensi52 = minOf(badTemperature, badPh, badAmmonia, goodKh, badGh) + val inferensi53 = minOf(badTemperature, badPh, badAmmonia, mediumKh, badGh) + val inferensi54 = minOf(badTemperature, badPh, badAmmonia, badKh, badGh) + val inferensi55 = minOf(badTemperature, badPh, goodAmmonia, goodKh, goodGh) + val inferensi56 = minOf(badTemperature, badPh, goodAmmonia, mediumKh, goodGh) + val inferensi57 = minOf(badTemperature, badPh, goodAmmonia, badKh, goodGh) + val inferensi58 = minOf(badTemperature, badPh, goodAmmonia, goodKh, badGh) + val inferensi59 = minOf(badTemperature, badPh, goodAmmonia, mediumKh, badGh) + val inferensi60 = minOf(badTemperature, badPh, goodAmmonia, badKh, badGh) + + val inferensi61 = minOf(badTemperature, goodPh, badAmmonia, mediumKh, goodGh) + val inferensi62 = minOf(badTemperature, goodPh, badAmmonia, badKh, goodGh) + val inferensi63 = minOf(badTemperature, goodPh, badAmmonia, goodKh, goodGh) + val inferensi64 = minOf(badTemperature, goodPh, badAmmonia, goodKh, badGh) + val inferensi65 = minOf(badTemperature, goodPh, badAmmonia, mediumKh, badGh) + val inferensi66 = minOf(badTemperature, goodPh, badAmmonia, badKh, badGh) + val inferensi67 = minOf(badTemperature, goodPh, goodAmmonia, mediumKh, goodGh) + val inferensi68 = minOf(badTemperature, goodPh, goodAmmonia, badKh, goodGh) + val inferensi69 = minOf(badTemperature, goodPh, goodAmmonia, goodKh, badGh) + val inferensi70 = minOf(badTemperature, goodPh, goodAmmonia, mediumKh, badGh) + val inferensi71 = minOf(badTemperature, goodPh, goodAmmonia, badKh, badGh) + val inferensi72 = minOf(badTemperature, goodPh, badAmmonia, goodKh, badGh) + + val hasilInferensi1 = fungsiKeanggotaanStatusBaik(inferensi1) + val hasilInferensi2 = fungsiKeanggotaanStatusBaik(inferensi2) + val hasilInferensi3 = fungsiKeanggotaanStatusSedang(inferensi3) + val hasilInferensi4 = fungsiKeanggotaanStatusBuruk(inferensi4) + val hasilInferensi5 = fungsiKeanggotaanStatusSedang(inferensi5) + val hasilInferensi6 = fungsiKeanggotaanStatusBuruk(inferensi6) + val hasilInferensi7 = fungsiKeanggotaanStatusSedang(inferensi7) + + val hasilInferensi8 = fungsiKeanggotaanStatusBuruk(inferensi8) + val hasilInferensi9 = fungsiKeanggotaanStatusBuruk(inferensi9) + val hasilInferensi10 = fungsiKeanggotaanStatusBuruk(inferensi10) + val hasilInferensi11 = fungsiKeanggotaanStatusBuruk(inferensi11) + val hasilInferensi12 = fungsiKeanggotaanStatusBuruk(inferensi12) + val hasilInferensi13 = fungsiKeanggotaanStatusBuruk(inferensi13) + val hasilInferensi14 = fungsiKeanggotaanStatusSedang(inferensi14) + val hasilInferensi15 = fungsiKeanggotaanStatusBuruk(inferensi15) + val hasilInferensi16 = fungsiKeanggotaanStatusSedang(inferensi16) + val hasilInferensi17 = fungsiKeanggotaanStatusBuruk(inferensi17) + val hasilInferensi18 = fungsiKeanggotaanStatusBuruk(inferensi18) + + val hasilInferensi19 = fungsiKeanggotaanStatusBuruk(inferensi19) + val hasilInferensi20 = fungsiKeanggotaanStatusBuruk(inferensi20) + val hasilInferensi21 = fungsiKeanggotaanStatusBuruk(inferensi21) + val hasilInferensi22 = fungsiKeanggotaanStatusBuruk(inferensi22) + val hasilInferensi23 = fungsiKeanggotaanStatusBuruk(inferensi23) + val hasilInferensi24 = fungsiKeanggotaanStatusBuruk(inferensi24) + val hasilInferensi25 = fungsiKeanggotaanStatusSedang(inferensi25) + val hasilInferensi26 = fungsiKeanggotaanStatusBuruk(inferensi26) + val hasilInferensi27 = fungsiKeanggotaanStatusSedang(inferensi27) + val hasilInferensi28 = fungsiKeanggotaanStatusSedang(inferensi28) + val hasilInferensi29 = fungsiKeanggotaanStatusBuruk(inferensi29) + + val hasilInferensi30 = fungsiKeanggotaanStatusBuruk(inferensi30) + val hasilInferensi31 = fungsiKeanggotaanStatusBuruk(inferensi31) + val hasilInferensi32 = fungsiKeanggotaanStatusBuruk(inferensi32) + val hasilInferensi33 = fungsiKeanggotaanStatusBuruk(inferensi33) + val hasilInferensi34 = fungsiKeanggotaanStatusBuruk(inferensi34) + val hasilInferensi35 = fungsiKeanggotaanStatusSedang(inferensi35) + val hasilInferensi36 = fungsiKeanggotaanStatusBuruk(inferensi36) + + val hasilInferensi37 = fungsiKeanggotaanStatusBuruk(inferensi37) + val hasilInferensi38 = fungsiKeanggotaanStatusBuruk(inferensi38) + val hasilInferensi39 = fungsiKeanggotaanStatusBuruk(inferensi39) + val hasilInferensi40 = fungsiKeanggotaanStatusBuruk(inferensi40) + val hasilInferensi41 = fungsiKeanggotaanStatusBuruk(inferensi41) + val hasilInferensi42 = fungsiKeanggotaanStatusBuruk(inferensi42) + val hasilInferensi43 = fungsiKeanggotaanStatusSedang(inferensi43) + val hasilInferensi44 = fungsiKeanggotaanStatusSedang(inferensi44) + val hasilInferensi45 = fungsiKeanggotaanStatusBuruk(inferensi45) + val hasilInferensi46 = fungsiKeanggotaanStatusSedang(inferensi46) + val hasilInferensi47 = fungsiKeanggotaanStatusBuruk(inferensi47) + val hasilInferensi48 = fungsiKeanggotaanStatusBuruk(inferensi48) + + val hasilInferensi49 = fungsiKeanggotaanStatusBuruk(inferensi49) + val hasilInferensi50 = fungsiKeanggotaanStatusBuruk(inferensi50) + val hasilInferensi51 = fungsiKeanggotaanStatusBuruk(inferensi51) + val hasilInferensi52 = fungsiKeanggotaanStatusBuruk(inferensi52) + val hasilInferensi53 = fungsiKeanggotaanStatusBuruk(inferensi53) + val hasilInferensi54 = fungsiKeanggotaanStatusBuruk(inferensi54) + val hasilInferensi55 = fungsiKeanggotaanStatusSedang(inferensi55) + val hasilInferensi56 = fungsiKeanggotaanStatusBuruk(inferensi56) + val hasilInferensi57 = fungsiKeanggotaanStatusBuruk(inferensi57) + val hasilInferensi58 = fungsiKeanggotaanStatusBuruk(inferensi58) + val hasilInferensi59 = fungsiKeanggotaanStatusBuruk(inferensi59) + val hasilInferensi60 = fungsiKeanggotaanStatusBuruk(inferensi60) + + val hasilInferensi61 = fungsiKeanggotaanStatusBuruk(inferensi61) + val hasilInferensi62 = fungsiKeanggotaanStatusBuruk(inferensi62) + val hasilInferensi63 = fungsiKeanggotaanStatusBuruk(inferensi63) + val hasilInferensi64 = fungsiKeanggotaanStatusBuruk(inferensi64) + val hasilInferensi65 = fungsiKeanggotaanStatusBuruk(inferensi65) + val hasilInferensi66 = fungsiKeanggotaanStatusBuruk(inferensi66) + val hasilInferensi67 = fungsiKeanggotaanStatusSedang(inferensi67) + val hasilInferensi68 = fungsiKeanggotaanStatusBuruk(inferensi68) + val hasilInferensi69 = fungsiKeanggotaanStatusSedang(inferensi69) + val hasilInferensi70 = fungsiKeanggotaanStatusSedang(inferensi70) + val hasilInferensi71 = fungsiKeanggotaanStatusBuruk(inferensi71) + val hasilInferensi72 = fungsiKeanggotaanStatusBuruk(inferensi72) + + val defuzzifikasi1 = ((inferensi1 * hasilInferensi1) + (inferensi2 * hasilInferensi2) + (inferensi3 * hasilInferensi3) + (inferensi4 * hasilInferensi4) + (inferensi5 * hasilInferensi5) + (inferensi6 * hasilInferensi6) + (inferensi7 * hasilInferensi7) + (inferensi8 * hasilInferensi8) + (inferensi9 * hasilInferensi9) + (inferensi10 * hasilInferensi10) + (inferensi11 * hasilInferensi11) + (inferensi12 * hasilInferensi12) + (inferensi13 * hasilInferensi13) + (inferensi14 * hasilInferensi14) + (inferensi15 * hasilInferensi15)) + val defuzzifikasi2 = ((inferensi16 * hasilInferensi16) + (inferensi17 * hasilInferensi17) + (inferensi18 * hasilInferensi18) + (inferensi19 * hasilInferensi19) + (inferensi20 * hasilInferensi20) + (inferensi21 * hasilInferensi21) + (inferensi22 * hasilInferensi22) + (inferensi23 * hasilInferensi23) + (inferensi24 * hasilInferensi24) + (inferensi25 * hasilInferensi25) + (inferensi26 * hasilInferensi26) + (inferensi27 * hasilInferensi27) + (inferensi28 * hasilInferensi28) + (inferensi29 * hasilInferensi29) + (inferensi30 * hasilInferensi30)) + val defuzzifikasi3 = ((inferensi31 * hasilInferensi31) + (inferensi32 * hasilInferensi32) + (inferensi33 * hasilInferensi33) + (inferensi34 * hasilInferensi34) + (inferensi35 * hasilInferensi35) + (inferensi36 * hasilInferensi36) + (inferensi37 * hasilInferensi37) + (inferensi38 * hasilInferensi38) + (inferensi39 * hasilInferensi39) + (inferensi40 * hasilInferensi40) + (inferensi41 * hasilInferensi41) + (inferensi42 * hasilInferensi42) + (inferensi43 * hasilInferensi43) + (inferensi44 * hasilInferensi44) + (inferensi45 * hasilInferensi45)) + val defuzzifikasi4 = ((inferensi46 * hasilInferensi46) + (inferensi47 * hasilInferensi47) + (inferensi48 * hasilInferensi48) + (inferensi49 * hasilInferensi49) + (inferensi50 * hasilInferensi50) + (inferensi51 * hasilInferensi51) + (inferensi52 * hasilInferensi52) + (inferensi53 * hasilInferensi53) + (inferensi54 * hasilInferensi54) + (inferensi55 * hasilInferensi55) + (inferensi56 * hasilInferensi56) + (inferensi57 * hasilInferensi57) + (inferensi58 * hasilInferensi58) + (inferensi59 * hasilInferensi59) + (inferensi60 * hasilInferensi60)) + val defuzzifikasi5 = ((inferensi61 * hasilInferensi61) + (inferensi62 * hasilInferensi62) + (inferensi63 * hasilInferensi63) + (inferensi64 * hasilInferensi64) + (inferensi65 * hasilInferensi65) + (inferensi66 * hasilInferensi66) + (inferensi67 * hasilInferensi67) + (inferensi68 * hasilInferensi68) + (inferensi69 * hasilInferensi69) + (inferensi70 * hasilInferensi70) + (inferensi71 * hasilInferensi71) + (inferensi72 * hasilInferensi72)) + + val defuzzifikasiA = inferensi1 + inferensi2 + inferensi3 + inferensi4 + inferensi5 + inferensi6 + inferensi7 + inferensi8 + inferensi9 + inferensi10 + inferensi11 + inferensi12 + inferensi13 + inferensi14 + inferensi15 + inferensi16 + inferensi17 + inferensi18 + inferensi19 + inferensi20 + val defuzzifikasiB = inferensi21 + inferensi22 + inferensi23 + inferensi24 + inferensi25 + inferensi26 + inferensi27 + inferensi28 + inferensi29 + inferensi30 + inferensi31 + inferensi32 + inferensi33 + inferensi34 + inferensi35 + inferensi36 + inferensi37 + inferensi38 + inferensi39 + inferensi40 + val defuzzifikasiC = inferensi41 + inferensi42 + inferensi43 + inferensi44 + inferensi45 + inferensi46 + inferensi47 + inferensi48 + inferensi49 + inferensi50 + inferensi51 + inferensi52 + inferensi53 + inferensi54 + inferensi55 + inferensi56 + inferensi57 + inferensi58 + inferensi59 + inferensi60 + val defuzzifikasiD = inferensi61 + inferensi62 + inferensi63 + inferensi64 + inferensi65 + inferensi66 + inferensi67 + inferensi68 + inferensi69 + inferensi70 + inferensi71 + inferensi72 + + val totalDefuzzifikasi1 = defuzzifikasi1 + defuzzifikasi2 + defuzzifikasi3 + defuzzifikasi4 + defuzzifikasi5 + val totalDefuzzifikasi2 = defuzzifikasiA + defuzzifikasiB + defuzzifikasiC + defuzzifikasiD + + val defuzzifikasi = totalDefuzzifikasi1 / totalDefuzzifikasi2 + + val resultDefuzzifikasi = if (defuzzifikasi >= 40) { + good + } else if (defuzzifikasi <= 20){ + bad + } else { + medium + } + +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 3: α = $inferensi3, Z3 = $hasilInferensi3") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 13: α = $inferensi13, Z13 = $hasilInferensi13") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 25: α = $inferensi25, Z25 = $hasilInferensi25") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 32: α = $inferensi32, Z32 = $hasilInferensi32") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 44: α = $inferensi44, Z44 = $hasilInferensi44") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 58: α = $inferensi58, Z58 = $hasilInferensi58") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 63: α = $inferensi63, Z63 = $hasilInferensi63") +// Log.d("Fuzzy Natural", "Hasil Inferensi Aturan 70: α = $inferensi70, Z70 = $hasilInferensi70") +// +// Log.d("Fuzzy Natural", "Defuzzyfikasi: Jumlah α * Z = $totalDefuzzifikasi1, Jumlah α = $totalDefuzzifikasi2, Grade = $resultDefuzzifikasi") + + return resultDefuzzifikasi + } + + fun checkParameter(suhu: Double, ph: Double, ammonia: Double, kh: Double, gh: Double): StatusParameter { + val suhuBaik = fungsiKeanggotaanSuhuBaik(suhu) + val suhuBuruk = fungsiKeanggotaanSuhuBuruk(suhu) + + val phBaik = fungsiKeanggotaanPhBaik(ph) + val phSedang = fungsiKeanggotaanPhSedang(ph) + val phBuruk = fungsiKeanggotaanPhBuruk(ph) + + val ammoniaBaik = fungsiKeanggotaanAmmoniaBaik(ammonia) + val ammoniaBuruk = fungsiKeanggotaanAmmoniaBuruk(ammonia) + + val khBaik = fungsiKeanggotaanKhBaik(kh) + val khSedang = fungsiKeanggotaanKhSedang(kh) + val khBuruk = fungsiKeanggotaanKhBuruk(kh) + + val ghBaik = fungsiKeanggotaanGhBaik(gh) + val ghBuruk = fungsiKeanggotaanGhBuruk(gh) + + val _temperature = if (suhuBaik >= suhuBuruk) { + good + } else { + bad + } + + val _ph = if (phBaik >= phSedang && phBaik >= phBuruk) { + good + } else if (phSedang >= phBaik && phSedang >= phBuruk) { + medium + } else { + bad + } + + val _ammonia = if (ammoniaBaik >= ammoniaBuruk) { + good + } else { + bad + } + + val _kh = if (khBaik >= khSedang && khBaik >= khBuruk) { + good + } else if (khSedang >= khBaik && khSedang >= khBuruk) { + medium + } else { + bad + } + + val _gh = if (ghBaik >= ghBuruk) { + good + } else { + bad + } + + return StatusParameter(_temperature, _ph, _ammonia, _kh, _gh) + } + + //======================================================================== + + // Fungsi-fungsi keanggotaan + private fun fungsiKeanggotaanSuhuBaik(suhu: Double): Double { + return when { + suhu in 25.0..28.0 -> 1.0 + suhu > 23 && suhu < 25 -> (suhu - 23) / (25 - 23) + suhu > 28 && suhu < 31 -> (31 - suhu) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanSuhuBuruk(suhu: Double): Double { + return when { + suhu <= 23 || suhu >= 31 -> 1.0 + suhu > 23 && suhu < 25 -> (25 - suhu) / (25 - 23) + suhu > 28 && suhu < 31 -> (suhu - 28) / (31 - 28) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhBaik(ph: Double): Double { + return when { + ph in 6.3..6.6 -> 1.0 + ph > 6 && ph < 6.3 -> (ph - 6) / (6.3 - 6) + ph > 6.6 && ph < 6.8 -> (6.8 - ph) / (6.8 - 6.6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhSedang(ph: Double): Double { + return when { + ph > 6.6 && ph <= 6.8 -> (ph - 6.6) / (6.8 - 6.6) + ph >= 6.8 && ph < 7 -> (7 - ph) / (7 - 6.8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanPhBuruk(ph: Double): Double { + return when { + ph <= 6 || ph >= 7 -> 1.0 + ph > 6 && ph < 6.3 -> (6.3 - ph) / (6.3 - 6) + ph > 6.8 && ph < 7 -> (ph - 6.8) / (7 - 6.8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaBaik(ammonia: Double): Double { + return when { + ammonia <= 0.1 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (0.5 - ammonia) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanAmmoniaBuruk(ammonia: Double): Double { + return when { + ammonia >= 0.5 -> 1.0 + ammonia > 0.1 && ammonia < 0.5 -> (ammonia - 0.1) / (0.5 - 0.1) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhBaik(kh: Double): Double { + return when { + kh <= 6 -> 1.0 + kh > 6 && kh < 8 -> (8 - kh) / (8 - 6) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhSedang(kh: Double): Double { + return when { + kh in 8.0..10.0 -> 1.0 + kh > 6 && kh < 8 -> (kh - 6) / (8 - 6) + kh > 10 && kh < 12 -> (12 - kh) / (12 - 10) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanKhBuruk(kh: Double): Double { + return when { + kh >= 12 -> 1.0 + kh > 10 && kh < 12 -> (kh - 10) / (12 - 10) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhBaik(gh: Double): Double { + return when { + gh <= 8 -> 1.0 + gh > 8 && gh < 12 -> (12 - gh) / (12 - 8) + else -> 0.0 + } + } + + private fun fungsiKeanggotaanGhBuruk(gh: Double): Double { + return when { + gh >= 12 -> 1.0 + gh > 8 && gh < 12 -> (gh - 8) / (12 - 8) + else -> 0.0 + } + } + + // ==============--------------------================= + + private fun fungsiKeanggotaanStatusBaik(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 40.0 + in 0.1..0.9 -> (inverensi * 10) + 30 + else -> 30.0 + } + } + + private fun fungsiKeanggotaanStatusSedang(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 30.0 + in 0.1..0.9 -> (inverensi * 10) + 20 + else -> 20.0 + } + } + + private fun fungsiKeanggotaanStatusBuruk(inverensi: Double): Double { + return when (inverensi) { + 1.0 -> 20.0 + in 0.1..0.9 -> 30 - (inverensi * 10) + else -> 30.0 + } + } + +} + + diff --git a/app/src/main/java/com/capstone/aquacare/ui/MainActivity.kt b/app/src/main/java/com/capstone/aquacare/ui/MainActivity.kt new file mode 100644 index 0000000..e0994c3 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/MainActivity.kt @@ -0,0 +1,20 @@ +package com.capstone.aquacare.ui + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import com.capstone.aquacare.databinding.ActivityMainBinding + +class MainActivity : AppCompatActivity() { + + private var _binding: ActivityMainBinding? = null + private val binding get() = _binding!! + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + _binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + + supportActionBar?.hide() + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/SplashScreenActivity.kt b/app/src/main/java/com/capstone/aquacare/ui/SplashScreenActivity.kt new file mode 100644 index 0000000..29d39ea --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/SplashScreenActivity.kt @@ -0,0 +1,40 @@ +package com.capstone.aquacare.ui + +import android.content.Intent +import android.os.Build +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import android.view.WindowInsets +import android.view.WindowManager +import com.capstone.aquacare.R +import com.capstone.aquacare.ui.auth.AuthActivity + +class SplashScreenActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_splash_screen) + supportActionBar?.hide() + + @Suppress("DEPRECATION") + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + window.insetsController?.hide(WindowInsets.Type.statusBars()) + } else { + window.setFlags( + WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN + ) + } + + Handler(Looper.getMainLooper()).postDelayed({ + val intent = Intent(this, AuthActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + finish() + startActivity(intent) + + }, 3000.toLong()) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/aquascape/AddAquascapeFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/aquascape/AddAquascapeFragment.kt new file mode 100644 index 0000000..b11c827 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/aquascape/AddAquascapeFragment.kt @@ -0,0 +1,141 @@ +package com.capstone.aquacare.ui.aquascape + +import android.app.DatePickerDialog +import android.content.Context +import android.os.Bundle +import android.text.TextUtils +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.ArrayAdapter +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.databinding.FragmentAddAquascapeBinding +import com.google.firebase.database.* +import java.text.SimpleDateFormat +import java.util.* + +class AddAquascapeFragment : Fragment() { + + private var _binding: FragmentAddAquascapeBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + private var selectedStyle: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentAddAquascapeBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val aquascapeStyle = listOf("Natural Style", "Dutch Style") + val arrayAdapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, aquascapeStyle) + arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + binding.spinStyle.adapter = arrayAdapter + + binding.spinStyle.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + selectedStyle = parent?.getItemAtPosition(position).toString() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + + val myCalendar = Calendar.getInstance() + val datePicker = DatePickerDialog.OnDateSetListener { _, year, month, dayOfMonth -> + myCalendar.set(Calendar.YEAR, year) + myCalendar.set(Calendar.MONTH, month) + myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth) + updateLable(myCalendar) + } + + binding.btnSelectDate.setOnClickListener { + DatePickerDialog(requireContext(), datePicker, myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show() + } + + binding.btnSave.setOnClickListener { + if (checkForm()){ + addAquascape() + } + } + } + + private fun updateLable(myCalendar: Calendar) { + val myFormat = "dd-MM-yyyy" + val sdf = SimpleDateFormat(myFormat, Locale.UK) + binding.tvDateCreate.text = sdf.format(myCalendar.time) + } + + private fun checkForm(): Boolean { + val email = binding.edtName.text.toString() + val date = binding.tvDateCreate.text.toString() + + if (TextUtils.isEmpty(email)) { + binding.edtName.error = getString(R.string.please_enter_name) + return false + } + + if (date == "Select Date" || date == "Pilih Tanggal") { + Toast.makeText(activity, getString(R.string.please_enter_date), Toast.LENGTH_SHORT).show() + return false + } + + return true + } + + private fun addAquascape() { + val name = binding.edtName.text.toString() + val style = selectedStyle.toString() + val date = binding.tvDateCreate.text.toString() + val status = "" + val lastCheckDate = "" + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "") + + if (userId.isNullOrEmpty()) { + Toast.makeText(activity, "User ID not found", Toast.LENGTH_SHORT).show() + return + } + + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + val newAquascapeId = aquascapeReference.push().key + + if (newAquascapeId != null) { + val newAquascapeData = AquascapeData(newAquascapeId, name, style, date, status, lastCheckDate) + aquascapeReference.child(newAquascapeId).setValue(newAquascapeData) + .addOnSuccessListener { + Toast.makeText(activity, getString(R.string.success_to_add_aquascape), Toast.LENGTH_SHORT).show() + findNavController().navigate(R.id.action_addAquascapeFragment_to_homeFragment) + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to add Aquascape: ${e.message}", Toast.LENGTH_SHORT).show() + } + } else { + Toast.makeText(activity, "Failed to generate Aquascape ID", Toast.LENGTH_SHORT).show() + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/aquascape/EditAquascapeFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/aquascape/EditAquascapeFragment.kt new file mode 100644 index 0000000..114d0d7 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/aquascape/EditAquascapeFragment.kt @@ -0,0 +1,154 @@ +package com.capstone.aquacare.ui.aquascape + +import android.content.Context +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.ArrayAdapter +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.databinding.FragmentEditAquascapeBinding +import com.google.firebase.database.* + +class EditAquascapeFragment : Fragment() { + + private var _binding: FragmentEditAquascapeBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + private var selectedStyle: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentEditAquascapeBinding.inflate(inflater,container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val aquascapeId = arguments?.getString("aquascapeId").toString() + val aquascapeName = arguments?.getString("aquascapeName").toString() + val style = arguments?.getString("style").toString() + val createDate = arguments?.getString("createDate").toString() + + binding.edtName.setText(aquascapeName) + binding.edtDateCreate.setText(createDate) + + val spinner = binding.spinStyle + + val aquascapeStyle = listOf("Natural Style", "Dutch Style") + val arrayAdapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, aquascapeStyle) + arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + spinner.adapter = arrayAdapter + + + val index = aquascapeStyle.indexOf(style) + if (index != -1) { + spinner.setSelection(index) + } + + selectedStyle = style + + binding.spinStyle.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + selectedStyle = parent?.getItemAtPosition(position).toString() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + + binding.btnSave.setOnClickListener { + editAquascape(aquascapeId) + } + + binding.btnDelete.setOnClickListener { + deleteAquascape(aquascapeId) + } + + } + + private fun editAquascape(aquascapeId : String) { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + + val name = binding.edtName.text.toString() + val style = selectedStyle.toString() + + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + + aquascapeReference.orderByChild("id").equalTo(aquascapeId).addListenerForSingleValueEvent(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (snapshot in dataSnapshot.children) { + val aquascapeData = snapshot.getValue(AquascapeData::class.java) + if (aquascapeData != null) { + + val createDate = aquascapeData.createDate.toString() + + val updateData = mapOf("name" to name, "style" to style, "createDate" to createDate) + + aquascapeReference.child(aquascapeId).updateChildren(updateData) + .addOnSuccessListener { + + Toast.makeText(activity, getString(R.string.success_to_edit_aquascape), Toast.LENGTH_SHORT).show() + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId) + } + findNavController().navigate(R.id.action_editAquascapeFragment_to_historyFragment, bundle) + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to Edit Aquascape: ${e.message}", Toast.LENGTH_SHORT).show() + } + + Log.d(TAG, "Aquascape ID: ${snapshot.key}, Name: ${aquascapeData.name}, Style: ${aquascapeData.style}, Date: ${aquascapeData.createDate}") + } + } + } else { + Log.d(TAG, "No aquascape data available") + } + } + + override fun onCancelled(error: DatabaseError) { + TODO("Not yet implemented") + } + }) + } + + private fun deleteAquascape(aquascapeId : String) { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + + aquascapeReference.child(aquascapeId).removeValue().addOnSuccessListener { + findNavController().navigate(R.id.action_editAquascapeFragment_to_homeFragment) + } + + } + + companion object { + + private const val TAG = "MainActivity" + } +} diff --git a/app/src/main/java/com/capstone/aquacare/ui/auth/AuthActivity.kt b/app/src/main/java/com/capstone/aquacare/ui/auth/AuthActivity.kt new file mode 100644 index 0000000..fe6ab06 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/auth/AuthActivity.kt @@ -0,0 +1,37 @@ +package com.capstone.aquacare.ui.auth + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import android.util.Log +import com.capstone.aquacare.R +import com.capstone.aquacare.databinding.ActivityAuthBinding + +class AuthActivity : AppCompatActivity() { + + private var _binding: ActivityAuthBinding? = null + private val binding get() = _binding!! + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + _binding = ActivityAuthBinding.inflate(layoutInflater) + setContentView(binding.root) + + supportActionBar?.hide() + + val fragmentManager = supportFragmentManager + val signInFragment = SignInFragment() + val fragment = fragmentManager.findFragmentByTag(SignInFragment::class.java.simpleName) + + if (fragment !is SignInFragment) { + Log.d(TAG, "Fragment Name :" + SignInFragment::class.java.simpleName) + fragmentManager + .beginTransaction() + .add(R.id.auth_frame_container, signInFragment, SignInFragment::class.java.simpleName) + .commit() + } + } + + companion object { + private const val TAG = "AuthActivity" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/auth/SignInFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/auth/SignInFragment.kt new file mode 100644 index 0000000..dc40a99 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/auth/SignInFragment.kt @@ -0,0 +1,341 @@ +package com.capstone.aquacare.ui.auth + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import com.capstone.aquacare.ui.MainActivity +import com.capstone.aquacare.R +import com.capstone.aquacare.data.UserData +import com.capstone.aquacare.databinding.FragmentSignInBinding +import com.google.android.gms.auth.api.signin.GoogleSignIn +import com.google.android.gms.auth.api.signin.GoogleSignInOptions +import com.google.android.gms.common.api.ApiException +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.GoogleAuthProvider +import com.google.firebase.database.* + +class SignInFragment : Fragment() { + + private var _binding: FragmentSignInBinding? = null + private val binding get() = _binding!! + + private lateinit var auth: FirebaseAuth + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + auth = FirebaseAuth.getInstance() + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onStart() { + super.onStart() + checkUserLoginStatus() + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentSignInBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.apply { + btnLogin.setOnClickListener { + if (checkForm()) { + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + +// signInUser(email, password) + signInAuth(email, password) + } + } + + tvSignup.setOnClickListener{ + val signUpFragment = SignUpFragment() + val fragmentManager = parentFragmentManager + fragmentManager.beginTransaction().apply { + replace( + R.id.auth_frame_container, + signUpFragment, + SignUpFragment::class.java.simpleName + ) + addToBackStack(null) + commit() + } + } + + btnLoginGoogle.setOnClickListener{ + signInGoogle() + } + + tvForgotPassword.setOnClickListener{ + val email = binding.edtEmail.text.toString() + if (email.isEmpty()) { + Toast.makeText(activity, getString(R.string.please_enter_email), Toast.LENGTH_SHORT).show() + } else { + forgotPassword(email) + } + } + + } + + } + + private fun checkForm(): Boolean { + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + + if (TextUtils.isEmpty(email)) { + binding.edtEmail.error = getString(R.string.please_enter_email) + return false + } + + if (TextUtils.isEmpty(password)) { + binding.edtPassword.error = getString(R.string.please_enter_password) + return false + } + + return true + } + + private fun signInAuth(email: String, password: String) { + + auth.signInWithEmailAndPassword(email, password) + .addOnCompleteListener(requireActivity()) { task -> + if (task.isSuccessful) { + // Sign in success, update UI with the signed-in user's information + Log.d(TAG, "signInWithEmail:success") + Toast.makeText(activity, "Login Success", Toast.LENGTH_SHORT).show() + val user = auth.currentUser +// val id = user?.uid.toString() + val name = user?.displayName.toString() +// val email = user?.email.toString() + val photo = "" + + val userType = "user" + + val accountType = "Regular Account" + + databaseReference.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (!dataSnapshot.exists()) { + val id = databaseReference.push().key + val userData = UserData(id, name, email, accountType, userType) + databaseReference.child(id!!).setValue(userData) + + saveLoginSession(id, name, email, photo, userType, accountType) + + Toast.makeText(activity, getString(R.string.login_success), Toast.LENGTH_SHORT).show() + startActivity(Intent(activity, MainActivity::class.java)) + requireActivity().finish() + } else { + for (userSnapshot in dataSnapshot.children) { + val userData = userSnapshot.getValue(UserData::class.java) + + val id = userData?.id.toString() + val name = userData?.name.toString() + val email = userData?.email.toString() + val userType = userData?.userType.toString() + + saveLoginSession(id, name, email, photo, userType, accountType) + + Toast.makeText(activity, getString(R.string.login_success), Toast.LENGTH_SHORT).show() + startActivity(Intent(activity, MainActivity::class.java)) + requireActivity().finish() + + } + } + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } else { + // If sign in fails, display a message to the user. + Log.w(TAG, "signInWithEmail:failure", task.exception) + Toast.makeText( + activity, + "Authentication failed.", + Toast.LENGTH_SHORT, + ).show() + } + } + + } + +// private fun signInUser(email: String, password: String) { +// databaseReference.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(object : ValueEventListener { +// override fun onDataChange(dataSnapshot: DataSnapshot) { +// if (dataSnapshot.exists()) { +// for (userSnapshot in dataSnapshot.children) { +// val userData = userSnapshot.getValue(UserData::class.java) +// +// if (userData != null && userData.accountType == password){ +// val id = userData.id.toString() +// val name = userData.name.toString() +// val email = userData.email.toString() +// val userType = userData.userType.toString() +// val accountType = userData.accountType.toString() +// val photo = "" +// +// saveLoginSession(id, name, email, photo, userType, accountType) +// +// Toast.makeText(activity, getString(R.string.login_success), Toast.LENGTH_SHORT).show() +// startActivity(Intent(activity, MainActivity::class.java)) +// requireActivity().finish() +// } else { +// Toast.makeText(activity, getString(R.string.wrong_password), Toast.LENGTH_SHORT).show() +// } +// } +// } else { +// Toast.makeText(activity, getString(R.string.account_not_found), Toast.LENGTH_SHORT).show() +// } +// } +// +// override fun onCancelled(databaseError: DatabaseError) { +// Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() +// } +// }) +// } + + private fun signInGoogle() { + val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) + .requestIdToken(getString(R.string.defaultweb_client_id)) + .requestEmail() + .build() + + val googleSignInClient = GoogleSignIn.getClient(requireActivity(), gso) + val signInIntent = googleSignInClient.signInIntent + startActivityForResult(signInIntent, RC_SIGN_IN) + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + + // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); + if (requestCode == RC_SIGN_IN) { + val task = GoogleSignIn.getSignedInAccountFromIntent(data) + try { + // Google Sign In was successful, authenticate with Firebase + val account = task.getResult(ApiException::class.java)!! + Log.d(TAG, "firebaseAuthWithGoogle:" + account.id) + firebaseAuthWithGoogle(account.idToken!!) + } catch (e: ApiException) { + // Google Sign In failed, update UI appropriately + Log.w(TAG, "Google sign in failed", e) + } + } + } + + private fun firebaseAuthWithGoogle(idToken: String) { + val credential = GoogleAuthProvider.getCredential(idToken, null) + auth.signInWithCredential(credential) + .addOnCompleteListener(requireActivity()) { task -> + if (task.isSuccessful) { + // Sign in success, update UI with the signed-in user's information + Log.d(TAG, "signInWithCredential:success") + val user = auth.currentUser + val name = user?.displayName.toString() + val email = user?.email.toString() + val photo = user?.photoUrl.toString() + val userType = "user" + + val accountType = "Google Account" + + databaseReference.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (!dataSnapshot.exists()) { + val id = databaseReference.push().key + val userData = UserData(id, name, email, accountType, userType) + databaseReference.child(id!!).setValue(userData) + + saveLoginSession(id, name, email, photo, userType, accountType) + + Toast.makeText(activity, getString(R.string.login_success), Toast.LENGTH_SHORT).show() + startActivity(Intent(activity, MainActivity::class.java)) + requireActivity().finish() + } else { + for (userSnapshot in dataSnapshot.children) { + val userData = userSnapshot.getValue(UserData::class.java) + + val id = userData?.id.toString() + val name = userData?.name.toString() + val email = userData?.email.toString() + val userType = userData?.userType.toString() + + saveLoginSession(id, name, email, photo, userType, accountType) + + Toast.makeText(activity, getString(R.string.login_success), Toast.LENGTH_SHORT).show() + startActivity(Intent(activity, MainActivity::class.java)) + requireActivity().finish() + + } + } + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + + } else { + // If sign in fails, display a message to the user. + Log.w(TAG, "signInWithCredential:failure", task.exception) + } + } + } + + private fun forgotPassword(email: String) { + auth.sendPasswordResetEmail(email).addOnCompleteListener { task -> + if (task.isSuccessful) { + Toast.makeText(activity, "Reset password email sent.", Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(activity, "Error: ${task.exception?.message}", Toast.LENGTH_SHORT).show() + } + } + } + + private fun saveLoginSession(userId: String, name: String, email: String, photo: String, userType: String, accountType: String) { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val editor = sharedPreferences?.edit() + editor?.putString("userId", userId) + editor?.putString("name", name) + editor?.putString("email", email) + editor?.putString("photo", photo) + editor?.putString("userType", userType) + editor?.putString("accountType", accountType) + editor?.apply() + } + + private fun checkUserLoginStatus() { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val id = sharedPreferences?.getString("userId", "") + if (id != "") { + startActivity(Intent(activity, MainActivity::class.java)) + requireActivity().finish() + } + } + + + companion object { + + private const val TAG = "AuthActivity" + private const val RC_SIGN_IN = 9001 + } +} diff --git a/app/src/main/java/com/capstone/aquacare/ui/auth/SignUpFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/auth/SignUpFragment.kt new file mode 100644 index 0000000..6f5b948 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/auth/SignUpFragment.kt @@ -0,0 +1,195 @@ +package com.capstone.aquacare.ui.auth + +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import android.util.Patterns +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import com.capstone.aquacare.R +import com.capstone.aquacare.data.UserData +import com.capstone.aquacare.databinding.FragmentSignUpBinding +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.* + +class SignUpFragment : Fragment() { + + private var _binding: FragmentSignUpBinding? = null + private val binding get() = _binding!! + + private lateinit var auth: FirebaseAuth + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + auth = FirebaseAuth.getInstance() + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentSignUpBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.btnSignup.setOnClickListener { + if (checkForm()) { + val name = binding.edtName.text.toString() + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + +// signUpUser(name, email, password) + signUpAuth(name, email, password) + } + } + } + + private fun checkForm(): Boolean { + val name = binding.edtName.text.toString() + val email = binding.edtEmail.text.toString() + val password = binding.edtPassword.text.toString() + val confirmPassword = binding.edtConfirmPassword.text.toString() + + if (TextUtils.isEmpty(name)) { + binding.edtName.error = getString(R.string.please_enter_name) + return false + } + + if (TextUtils.isEmpty(email)) { + binding.edtEmail.error = getString(R.string.please_enter_email) + return false + } + + if (!validEmail()) { + binding.edtEmail.error = "Invalid Email" + return false + } + + if (TextUtils.isEmpty(password)) { + binding.edtPassword.error = getString(R.string.please_enter_password) + return false + } + + if (TextUtils.isEmpty(confirmPassword)) { + binding.edtConfirmPassword.error = getString(R.string.please_enter_confirm_password) + return false + } + + if (password != confirmPassword) { + binding.edtConfirmPassword.error = getString(R.string.confirm_password_wrong) + return false + } + + return true + } + + private fun signUpAuth(name: String, email: String, password: String) { + + auth.createUserWithEmailAndPassword(email, password) + .addOnCompleteListener(requireActivity()) { task -> + if (task.isSuccessful) { + // Sign in success, update UI with the signed-in user's information + Log.d(TAG, "createUserWithEmail:success") +// val user = auth.currentUser + val userType = "user" + val accountType = "Regular Account" + + databaseReference.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (!dataSnapshot.exists()) { + val id = databaseReference.push().key + val userData = UserData(id, name, email, accountType, userType) + databaseReference.child(id!!).setValue(userData) + + Toast.makeText(activity, getString(R.string.account_created), Toast.LENGTH_SHORT).show() + val fragmentManager = parentFragmentManager + fragmentManager.popBackStack() + } else { +// Toast.makeText(activity, getString(R.string.account_already_exists), Toast.LENGTH_SHORT).show() + val fragmentManager = parentFragmentManager + fragmentManager.popBackStack() + } + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + + } else { + // If sign in fails, display a message to the user. + Log.w(TAG, "createUserWithEmail:failure", task.exception) + Toast.makeText( + activity, + "Authentication failed.", + Toast.LENGTH_SHORT, + ).show() + } + } + } + +// private fun signUpUser(name: String, email: String, password: String) { +// val userType = "user" +// databaseReference.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(object : ValueEventListener { +// override fun onDataChange(dataSnapshot: DataSnapshot) { +// if (!dataSnapshot.exists()) { +// val id = databaseReference.push().key +// val userData = UserData(id, name, email, password, userType) +// databaseReference.child(id!!).setValue(userData) +// +// Toast.makeText(activity, getString(R.string.account_created), Toast.LENGTH_SHORT).show() +// val fragmentManager = parentFragmentManager +// fragmentManager.popBackStack() +// } else { +// for (userSnapshot in dataSnapshot.children) { +// val userData = userSnapshot.getValue(UserData::class.java) +// val userId = userData?.id.toString() +// val userName = userData?.name.toString() +// +// if (userData != null && userData.accountType == "Google Account") { +// val newDataUser = mapOf("name" to userName, "password" to password) +// databaseReference.child(userId).updateChildren(newDataUser) +// +// Toast.makeText(activity, getString(R.string.account_created), Toast.LENGTH_SHORT).show() +// val fragmentManager = parentFragmentManager +// fragmentManager.popBackStack() +// } else { +// Toast.makeText(activity, getString(R.string.account_already_exists), Toast.LENGTH_SHORT).show() +// val fragmentManager = parentFragmentManager +// fragmentManager.popBackStack() +// } +// } +// } +// } +// +// override fun onCancelled(databaseError: DatabaseError) { +// Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() +// } +// }) +// } + + private fun validEmail(): Boolean { + val email = binding.edtEmail.text.toString() + if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) + { + return false + } + return true + } + + companion object { + private const val TAG = "AuthActivity" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/home/AquascapeAdapter.kt b/app/src/main/java/com/capstone/aquacare/ui/home/AquascapeAdapter.kt new file mode 100644 index 0000000..13befc3 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/home/AquascapeAdapter.kt @@ -0,0 +1,41 @@ +package com.capstone.aquacare.ui.home + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.databinding.CardAquascapeBinding + +class AquascapeAdapter (private val list: List) : RecyclerView.Adapter() { + + private lateinit var onItemClickCallback: OnItemClickCallback + + fun setOnItemClickCallBack(onItemClickCallback: OnItemClickCallback) { + this.onItemClickCallback = onItemClickCallback + } + + interface OnItemClickCallback { + fun onItemClicked(data: AquascapeData) + } + + class ViewHolder(var binding: CardAquascapeBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = CardAquascapeBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) + } + + override fun getItemCount(): Int = list.size + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val currentAquascape = list[position] + + holder.binding.tvAquascapeName.text = currentAquascape.name + holder.binding.tvStatusAquascape.text = currentAquascape.status + holder.binding.tvDate.text = currentAquascape.lastCheckDate + + holder.itemView.setOnClickListener { + onItemClickCallback.onItemClicked(list[holder.adapterPosition]) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/home/ArticleAdapter.kt b/app/src/main/java/com/capstone/aquacare/ui/home/ArticleAdapter.kt new file mode 100644 index 0000000..5e31c1f --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/home/ArticleAdapter.kt @@ -0,0 +1,46 @@ +package com.capstone.aquacare.ui.home + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.CardArticleBinding + +class ArticleAdapter (private val list: List) : RecyclerView.Adapter() { + + private lateinit var onItemClickCallback: OnItemClickCallback + + fun setOnItemClickCallBack(onItemClickCallback: OnItemClickCallback) { + this.onItemClickCallback = onItemClickCallback + } + + interface OnItemClickCallback { + fun onItemClicked(data: ArticleData) + } + + class ViewHolder(var binding: CardArticleBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = CardArticleBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) + } + + override fun getItemCount(): Int = list.size + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val currentAquascapeInfo = list[position] + holder.binding.tvTitle.text = currentAquascapeInfo.title + if (!currentAquascapeInfo.image.isNullOrEmpty()) { + Glide.with(holder.itemView.context) + .load(currentAquascapeInfo.image) + .into(holder.binding.ivImage) + } + + holder.binding.tvType.text = currentAquascapeInfo.type + + holder.itemView.setOnClickListener { + onItemClickCallback.onItemClicked(list[holder.adapterPosition]) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/home/HomeFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/home/HomeFragment.kt new file mode 100644 index 0000000..dd2e2eb --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/home/HomeFragment.kt @@ -0,0 +1,196 @@ +package com.capstone.aquacare.ui.home + +import android.content.Context +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import com.capstone.aquacare.R +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.FragmentHomeBinding +import com.google.android.play.integrity.internal.l +import com.google.firebase.database.* + +class HomeFragment : Fragment() { + + private var _binding: FragmentHomeBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + private lateinit var databaseInfoReference: DatabaseReference + + val list = mutableListOf() + val listInfo = mutableListOf() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + databaseInfoReference = firebaseDatabase.reference.child("article") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentHomeBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val name = sharedPreferences?.getString("name", "") + val userId = sharedPreferences?.getString("userId", "").toString() + val hello = getString(R.string.hello) + binding.tvName.text = "$hello, $name" + + val rvAquascape = binding.rvListAquascape + val rvAquascapeInfo = binding.rvAquascapeInfo + + val layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, true) + layoutManager.stackFromEnd = true + + rvAquascape.layoutManager = layoutManager + rvAquascape.setHasFixedSize(true) + + val layoutManager2 = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, true) + layoutManager2.stackFromEnd = true + + rvAquascapeInfo.layoutManager = layoutManager2 + rvAquascapeInfo.setHasFixedSize(true) + + binding.ivProfile.setOnClickListener { + findNavController().navigate(R.id.action_homeFragment_to_settingFragment) + } + + binding.tvAdd.setOnClickListener{ + findNavController().navigate(R.id.action_homeFragment_to_addAquascapeFragment) + } + + getAquascapeData(userId) + getAquascapeInfoData() + } + + private fun getAquascapeData(userId: String) { + binding.pbAquascape.visibility = View.VISIBLE + binding.rvListAquascape.visibility = View.GONE + + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + + aquascapeReference.addValueEventListener(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + list.clear() + for (snapshot in dataSnapshot.children) { + val dataAquascape = snapshot.getValue(AquascapeData::class.java) + if (dataAquascape != null) { + list.add(dataAquascape) + } + } + binding.pbAquascape.visibility = View.GONE + binding.rvListAquascape.visibility = View.VISIBLE + showAquascape() + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(requireContext(), "Failed to retrieve aquascape data: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } + + private fun getAquascapeInfoData() { + binding.pbArticle.visibility = View.VISIBLE + binding.rvAquascapeInfo.visibility = View.GONE + + databaseInfoReference.addValueEventListener(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + listInfo.clear() + for (snapshot in dataSnapshot.children) { + val dataAquascapeInfo = snapshot.getValue(ArticleData::class.java) + if (dataAquascapeInfo != null) { + listInfo.add(dataAquascapeInfo) + } + } + + binding.rvAquascapeInfo.visibility = View.VISIBLE + binding.pbArticle.visibility = View.GONE + showArticle() + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(requireContext(), "Failed to retrieve aquascape info data: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } + + private fun showAquascape() { + val adapter = AquascapeAdapter(list) + binding.rvListAquascape.adapter = adapter + Log.d("DataList", "Jumlah data dalam list aquascape: ${list.size}") + + adapter.setOnItemClickCallBack(object : AquascapeAdapter.OnItemClickCallback{ + override fun onItemClicked(data: AquascapeData) { + + val aquascapeId = data.id + + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId) + } + + findNavController().navigate(R.id.action_homeFragment_to_historyFragment, bundle) + +// val identificationHistoryFragment = IdentificationHistoryFragment() +// identificationHistoryFragment.arguments = bundle +// val fragmentManager = parentFragmentManager +// fragmentManager.beginTransaction().apply { +// replace( +// R.id.main_frame_container, +// identificationHistoryFragment, +// IdentificationHistoryFragment::class.java.simpleName +// ) +// addToBackStack(null) +// commit() +// } + } + }) + } + + private fun showArticle() { + val adapter = ArticleAdapter(listInfo) + binding.rvAquascapeInfo.adapter = adapter + Log.d("DataList", "Jumlah data dalam list aquascape info: ${listInfo.size}") + + adapter.setOnItemClickCallBack(object : ArticleAdapter.OnItemClickCallback{ + override fun onItemClicked(data: ArticleData) { + + val infoId = data.id + val title = data.title + val image = data.image + val body = data.body + val link = data.link + val edit = "false" + + val bundle = Bundle().apply { + putString("infoId", infoId) + putString("title", title) + putString("image", image) + putString("body", body) + putString("link", link) + putString("edit", edit) + } + + findNavController().navigate(R.id.action_homeFragment_to_AquascapeInfoFragment, bundle) + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationFragment.kt new file mode 100644 index 0000000..a515bd5 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationFragment.kt @@ -0,0 +1,217 @@ +package com.capstone.aquacare.ui.identification + +import android.content.Context +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.data.IdentificationData +import com.capstone.aquacare.databinding.FragmentIdentificationBinding +import com.capstone.aquacare.fuzzy.FuzzyDutchStyle +import com.capstone.aquacare.fuzzy.FuzzyIdentification +import com.capstone.aquacare.fuzzy.FuzzyNaturalStyle +import com.google.firebase.database.* +import java.text.SimpleDateFormat +import java.util.* + +class IdentificationFragment : Fragment() { + + private var _binding: FragmentIdentificationBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + private var aquascapeId: String? = null + private var aquascapeName: String? = null + private var style: String? = null + private var result: String? = null + private var currentDate: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentIdentificationBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + aquascapeId = arguments?.getString("aquascapeId").toString() + aquascapeName = arguments?.getString("aquascapeName").toString() + style = arguments?.getString("style").toString() + + binding.tvName.text = aquascapeName + + binding.btnIdentified.setOnClickListener { + if (checkForm()) { + addIdentification(aquascapeId!!) + } + } + } + + private fun checkForm(): Boolean { + val temperature = binding.edtTemperature.text.toString() + val ph = binding.edtPh.text.toString() + val ammonia = binding.edtAmmonia.text.toString() + val kh = binding.edtKh.text.toString() + val gh = binding.edtGh.text.toString() + + if (temperature.isEmpty()) { + binding.edtTemperature.error = getString(R.string.enter_temperature) + return false + } + + if (ph.isEmpty()) { + binding.edtPh.error = getString(R.string.enter_ph) + return false + } + + if (ammonia.isEmpty()) { + binding.edtAmmonia.error = getString(R.string.enter_ammonia) + return false + } + + if (kh.isEmpty()) { + binding.edtKh.error = getString(R.string.enter_kh) + return false + } + + if (gh.isEmpty()) { + binding.edtGh.error = getString(R.string.enter_gh) + return false + } + + return true + } + + private fun addIdentification(aquascapeId: String) { + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "") + + currentDate = getCurrentDate() + val temperature = binding.edtTemperature.text.toString().toDoubleOrNull() ?: 0.0 + val ph = binding.edtPh.text.toString().toDoubleOrNull() ?: 0.0 + val ammonia = binding.edtAmmonia.text.toString().toDoubleOrNull() ?: 0.0 + val kh = binding.edtKh.text.toString().toDoubleOrNull() ?: 0.0 + val gh = binding.edtGh.text.toString().toDoubleOrNull() ?: 0.0 + +// val fuzzyDutchStyle = FuzzyDutchStyle(requireContext()) +// val fuzzyNaturalStyle = FuzzyNaturalStyle(requireContext()) +// +// result = if (style == "Dutch Style") { +// fuzzyDutchStyle.calculateWaterQuality(temperature, ph, ammonia, kh, gh) +// } else { +// fuzzyNaturalStyle.calculateWaterQuality(temperature, ph, ammonia, kh, gh) +// } + + val fuzzyIdentification = FuzzyIdentification(requireContext(), style.toString()) + + result = fuzzyIdentification.calculateWaterQuality(temperature, ph, ammonia, kh, gh) + + if (aquascapeId.isEmpty()) { + Toast.makeText(activity, "Aquascape ID not found", Toast.LENGTH_SHORT).show() + return + } + + if (userId.isNullOrEmpty()) { + Toast.makeText(activity, "User ID not found", Toast.LENGTH_SHORT).show() + return + } + + val identificationReference = databaseReference.child(userId).child("aquascapes").child(aquascapeId).child("identification") + val newIdentificationId = identificationReference.push().key + + if (newIdentificationId != null) { + val newIdentificationData = IdentificationData(newIdentificationId, result, currentDate, + temperature.toString(), ph.toString(), ammonia.toString(), kh.toString(), gh.toString()) + identificationReference.child(newIdentificationId).setValue(newIdentificationData) + .addOnSuccessListener { + updateAquascapeData(userId, aquascapeId) + + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId) + putString("style", style) + putString("result", result) + putString("date", currentDate) + putString("temperature", temperature.toString()) + putString("ph", ph.toString()) + putString("ammonia", ammonia.toString()) + putString("kh", kh.toString()) + putString("gh", gh.toString()) + } + findNavController().navigate(R.id.action_identificationFragment_to_resultFragment, bundle) + +// Toast.makeText(activity, getString(R.string.successful_identification), Toast.LENGTH_SHORT).show() + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to Identification Water Quality: ${e.message}", Toast.LENGTH_SHORT).show() + } + } else { + Toast.makeText(activity, "Failed to generate Identification ID", Toast.LENGTH_SHORT).show() + } + + } + + private fun updateAquascapeData(userId: String, aquascapeId: String) { + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + aquascapeReference.orderByChild("id").equalTo(aquascapeId).addListenerForSingleValueEvent(object : + ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (snapshot in dataSnapshot.children) { + val aquascapeData = snapshot.getValue(AquascapeData::class.java) + if (aquascapeData != null) { + + val updateData = mapOf("status" to result, "lastCheckDate" to currentDate) + + aquascapeReference.child(aquascapeId).updateChildren(updateData) + .addOnSuccessListener { + Toast.makeText(activity, getString(R.string.successful_identification), Toast.LENGTH_SHORT).show() + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to Identification Water Quality: ${e.message}", Toast.LENGTH_SHORT).show() + } + + Log.d(TAG, "Aquascape ID: ${snapshot.key}, Name: ${aquascapeData.name}, Style: ${aquascapeData.style}, Date: ${aquascapeData.createDate}") + } + } + } else { + Log.d(TAG, "No aquascape data available") + } + } + + override fun onCancelled(error: DatabaseError) { + TODO("Not yet implemented") + } + }) + } + + private fun getCurrentDate(): String { + val calendar = Calendar.getInstance() + val dateFormat = SimpleDateFormat("dd-MM-yyyy") + return dateFormat.format(calendar.time) + } + + companion object { + + private const val TAG = "MainActivity" + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryAdapter.kt b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryAdapter.kt new file mode 100644 index 0000000..272e52c --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryAdapter.kt @@ -0,0 +1,52 @@ +package com.capstone.aquacare.ui.identification + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.capstone.aquacare.R +import com.capstone.aquacare.data.IdentificationData +import com.capstone.aquacare.databinding.CardIdentificationHistoryBinding + +class IdentificationHistoryAdapter (private val list: List) : RecyclerView.Adapter() { + + private lateinit var onItemClickCallback: OnItemClickCallback + + fun setOnItemClickCallBack(onItemClickCallback: OnItemClickCallback) { + this.onItemClickCallback = onItemClickCallback + } + + interface OnItemClickCallback { + fun onItemClicked(data: IdentificationData) + } + + class ViewHolder(var binding: CardIdentificationHistoryBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = CardIdentificationHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) + } + + override fun getItemCount(): Int = list.size + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val currentIdentification = list[position] + holder.binding.tvStatusAquascape.text = currentIdentification.result + holder.binding.tvDate.text = currentIdentification.date + + when (currentIdentification.result) { + "Good", "Baik" -> { + holder.binding.tvStatusAquascape.setBackgroundResource(R.drawable.bg_border_rounded_green) + } + "Medium", "Sedang" -> { + holder.binding.tvStatusAquascape.setBackgroundResource(R.drawable.bg_border_rounded_blue) + } + else -> { + holder.binding.tvStatusAquascape.setBackgroundResource(R.drawable.bg_border_rounded_red) + } + } + + holder.itemView.setOnClickListener { + onItemClickCallback.onItemClicked(list[holder.adapterPosition]) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryFragment.kt new file mode 100644 index 0000000..a47f3f2 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationHistoryFragment.kt @@ -0,0 +1,181 @@ +package com.capstone.aquacare.ui.identification + +import android.content.Context +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import com.capstone.aquacare.R +import com.capstone.aquacare.data.AquascapeData +import com.capstone.aquacare.data.IdentificationData +import com.capstone.aquacare.databinding.FragmentIdentificationHistoryBinding +import com.google.firebase.database.* + +class IdentificationHistoryFragment : Fragment() { + + private var _binding: FragmentIdentificationHistoryBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + val list = mutableListOf() + + private var aquascapeId: String? = null + private var aquascapeName: String? = null + private var style: String? = null + private var createDate: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentIdentificationHistoryBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + + aquascapeId = arguments?.getString("aquascapeId") + + val rvIdentification = binding.rvListIdentification + + val layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, true) + layoutManager.stackFromEnd = true + + rvIdentification.layoutManager = layoutManager + rvIdentification.setHasFixedSize(true) + + binding.btnAddIdentification.setOnClickListener { + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId) + putString("aquascapeName", aquascapeName) + putString("style", style) + } + findNavController().navigate(R.id.action_historyFragment_to_identificationFragment, bundle) + } + + binding.tvEdit.setOnClickListener { + val bundleEdit = Bundle().apply { + putString("aquascapeId", aquascapeId) + putString("aquascapeName", aquascapeName) + putString("style", style) + putString("createDate", createDate) + } + findNavController().navigate(R.id.action_historyFragment_to_editAquascapeFragment, bundleEdit) + } + + getUpdateData(userId, aquascapeId!!) + getIdentificationData(userId, aquascapeId!!) + } + + private fun getUpdateData(userId: String, aquascapeId : String) { + val aquascapeReference = databaseReference.child(userId).child("aquascapes") + + aquascapeReference.orderByChild("id").equalTo(aquascapeId).addListenerForSingleValueEvent(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (snapshot in dataSnapshot.children) { + val aquascapeData = snapshot.getValue(AquascapeData::class.java) + if (aquascapeData != null) { + + aquascapeName = aquascapeData.name + style = aquascapeData.style + createDate = aquascapeData.createDate + binding.tvName.text = aquascapeName + + Log.d("Aquascape", "Aquascape ID: ${snapshot.key}, Name: ${aquascapeData.name}, Style: ${aquascapeData.style}, Date: ${aquascapeData.createDate}") + } + } + } else { + Log.d("Aquascape", "No aquascape data available") + } + } + + override fun onCancelled(error: DatabaseError) { + } + }) + } + + private fun getIdentificationData(userId : String, aquascapeId : String) { + binding.pbHistory.visibility = View.VISIBLE + + if (aquascapeId.isEmpty()) { + Toast.makeText(activity, "Aquascape ID not found", Toast.LENGTH_SHORT).show() + return + } + + if (userId.isEmpty()) { + Toast.makeText(activity, "User ID not found", Toast.LENGTH_SHORT).show() + return + } + + val identificationReference = databaseReference.child(userId).child("aquascapes").child(aquascapeId).child("identification") + + identificationReference.addValueEventListener(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + list.clear() + for (snapshot in dataSnapshot.children) { + val dataIdentification = snapshot.getValue(IdentificationData::class.java) + if (dataIdentification != null) { + list.add(dataIdentification) + } + } + binding.pbHistory.visibility = View.GONE + showIdentification() + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(requireContext(), "Failed to retrieve aquascape data: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } + + private fun showIdentification() { + val adapter = IdentificationHistoryAdapter(list) + binding.rvListIdentification.adapter = adapter + Log.d("DataList", "Jumlah data dalam list identification: ${list.size}") + + adapter.setOnItemClickCallBack(object : IdentificationHistoryAdapter.OnItemClickCallback{ + override fun onItemClicked(data: IdentificationData) { + val result = data.result + val date = data.date + val temperature = data.temperature + val ph = data.ph + val ammonia = data.ammonia + val kh = data.kh + val gh = data.gh + + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId.toString()) + putString("style", style.toString()) + putString("result", result) + putString("date", date) + putString("temperature", temperature) + putString("ph", ph) + putString("ammonia", ammonia) + putString("kh", kh) + putString("gh", gh) + } + findNavController().navigate(R.id.action_historyFragment_to_resultFragment, bundle) + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationResultFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationResultFragment.kt new file mode 100644 index 0000000..818ae98 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/identification/IdentificationResultFragment.kt @@ -0,0 +1,194 @@ +package com.capstone.aquacare.ui.identification + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.databinding.FragmentIdentificationResultBinding +import com.capstone.aquacare.fuzzy.FuzzyDutchStyle +import com.capstone.aquacare.fuzzy.FuzzyIdentification +import com.capstone.aquacare.fuzzy.FuzzyNaturalStyle + +class IdentificationResultFragment : Fragment() { + + private var _binding: FragmentIdentificationResultBinding? = null + private val binding get() = _binding!! + + private var aquascapeId: String? = null + private var style: String? = null + private var result: String? = null + private var date: String? = null + private var temperature: String? = null + private var ph: String? = null + private var ammonia: String? = null + private var kh: String? = null + private var gh: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + aquascapeId = arguments?.getString("aquascapeId") + style = arguments?.getString("style") + result = arguments?.getString("result") + date = arguments?.getString("date") + temperature = arguments?.getString("temperature") + ph = arguments?.getString("ph") + ammonia = arguments?.getString("ammonia") + kh = arguments?.getString("kh") + gh = arguments?.getString("gh") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentIdentificationResultBinding.inflate(inflater, container, false) + setupOnBackPressed() + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.tvHasil.text = result + binding.tvTemperature.text = temperature + binding.tvPh.text = ph + binding.tvAmmonia.text = ammonia + binding.tvKh.text = kh + binding.tvGh.text = gh + binding.tvDate.text = date + + checkParameter(style) + } + + private fun setupOnBackPressed() { + requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + val bundle = Bundle().apply { + putString("aquascapeId", aquascapeId.toString()) + } + findNavController().navigate(R.id.action_resultFragment_to_historyFragment, bundle) + } + }) + } + + private fun checkParameter(style: String?) { + + if (temperature.isNullOrEmpty() || ph.isNullOrEmpty() || ammonia.isNullOrEmpty() || kh.isNullOrEmpty() || gh.isNullOrEmpty()) { + return + } + + val temperature = temperature?.toDouble() + val ph = ph?.toDouble() + val ammonia = ammonia?.toDouble() + val kh = kh?.toDouble() + val gh = gh?.toDouble() + +// val fuzzyDutchStyle = FuzzyDutchStyle(requireContext()) +// val fuzzyNaturalStyle = FuzzyNaturalStyle(requireContext()) + val fuzzyIdentification = FuzzyIdentification(requireContext(), style.toString()) + + val checkResult = fuzzyIdentification.checkParameter(temperature!!, ph!!, ammonia!!, kh!!, gh!!) + val temperatureD = checkResult.temperature + val phD = checkResult.ph + val ammoniaD = checkResult.ammonia + val khD = checkResult.kh + val ghD = checkResult.gh + + binding.tvTemperature.text = "$temperatureD - $temperature" + binding.tvPh.text = "$phD - $ph" + binding.tvAmmonia.text = "$ammoniaD - $ammonia" + binding.tvKh.text = "$khD - $kh" + binding.tvGh.text = "$ghD - $gh" + + tipsResult(temperatureD, phD, ammoniaD, khD, ghD) + +// if (style == "Dutch Style") { +// val checkResult = fuzzyDutchStyle.checkParameter(temperature!!, ph!!, ammonia!!, kh!!, gh!!) +// val temperatureD = checkResult.temperature +// val phD = checkResult.ph +// val ammoniaD = checkResult.ammonia +// val khD = checkResult.kh +// val ghD = checkResult.gh +// +// binding.tvTemperature.text = "$temperatureD - $temperature" +// binding.tvPh.text = "$phD - $ph" +// binding.tvAmmonia.text = "$ammoniaD - $ammonia" +// binding.tvKh.text = "$khD - $kh" +// binding.tvGh.text = "$ghD - $gh" +// +// tipsResult(temperatureD, phD, ammoniaD, khD, ghD) +// +// } else { +// val checkResult = fuzzyNaturalStyle.checkParameter(temperature!!, ph!!, ammonia!!, kh!!, gh!!) +// val temperatureN = checkResult.temperature +// val phN = checkResult.ph +// val ammoniaN = checkResult.ammonia +// val khN = checkResult.kh +// val ghN = checkResult.gh +// +// binding.tvTemperature.text = "$temperatureN - $temperature" +// binding.tvPh.text = "$phN - $ph" +// binding.tvAmmonia.text = "$ammoniaN - $ammonia" +// binding.tvKh.text = "$khN - $kh" +// binding.tvGh.text = "$ghN - $gh" +// +// tipsResult(temperatureN, phN, ammoniaN, khN, ghN) +// } + } + + private fun tipsResult(temperature: String?, ph: String?, ammonia: String?, kh: String?, gh: String?) { + var tips = "" + val good = getString(R.string.good) + val medium = getString(R.string.medium) + + tips += when (temperature) { + good -> { + " - Selalu jaga suhu air \n" + } + else -> " - Tambah kipas kecil untuk mendinginkan air \n" + } + + tips += when (ph) { + good -> { + " - Selalu jaga PH optimal air \n" + } + medium -> { + " - Selalu jaga PH di batas optimal \n" + } + else -> " - Ganti sumber air untuk menyesuaikan PH atau injeksikan CO2 tambahan \n" + } + + tips += when (ammonia) { + good -> { + " - Selalu jaga kadar ammonia air \n" + } + else -> " - Segera lakukan pergantian air dan bersihkan kotoran penyebab ammonia \n" + } + + tips += when (kh) { + good -> { + " - Selalu jaga kadar KH air \n" + } + medium -> { + " - Selalu jaga kadar KH di batas optimal \n" + } + else -> " - Ganti sumber air untuk mengurangi kadar KH \n" + } + + tips += when (gh) { + good -> { + " - Selalu jaga kadar GH air" + } + else -> " - Ganti sumber air untuk mengurangi kadar GH" + } + + binding.tvDetailTips.text = tips + } + +} diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/AboutFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/AboutFragment.kt new file mode 100644 index 0000000..7eadc2d --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/AboutFragment.kt @@ -0,0 +1,24 @@ +package com.capstone.aquacare.ui.setting + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.capstone.aquacare.databinding.FragmentAboutBinding + +class AboutFragment : Fragment() { + + private var _binding: FragmentAboutBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentAboutBinding.inflate(inflater, container, false) + return binding.root + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/AddArticleFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/AddArticleFragment.kt new file mode 100644 index 0000000..6b600fb --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/AddArticleFragment.kt @@ -0,0 +1,104 @@ +package com.capstone.aquacare.ui.setting + +import android.os.Bundle +import android.text.TextUtils +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.FragmentAddArticleBinding +import com.google.firebase.database.* + +class AddArticleFragment : Fragment() { + + private var _binding: FragmentAddArticleBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("article") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentAddArticleBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.btnSave.setOnClickListener { + if (checkForm()) { + addAquascapeInfo() + } + } + + } + + private fun checkForm(): Boolean { + val title = binding.edtTitle.text.toString() + val image = binding.edtImage.text.toString() + val body = binding.edtBody.text.toString() + val type = binding.edtType.text.toString() + + if (TextUtils.isEmpty(title)) { + binding.edtTitle.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(image)) { + binding.edtImage.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(body)) { + binding.edtBody.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(type)) { + binding.edtType.error = getString(R.string.please_fill) + return false + } + + return true + } + + private fun addAquascapeInfo() { + + val title = binding.edtTitle.text.toString() + val image = binding.edtImage.text.toString() + val type = binding.edtType.text.toString() + val body = binding.edtBody.text.toString() + val link = binding.edtLink.text.toString() + + val infoId = databaseReference.push().key + + if (infoId != null) { + val infoData = ArticleData(infoId, title, image, type, body, link) + databaseReference.child(infoId).setValue(infoData) + .addOnSuccessListener { + Toast.makeText(activity, getString(R.string.success_to_add_aquascape_info), Toast.LENGTH_SHORT).show() + findNavController().navigate(R.id.action_addAquascapeInfoFragment_to_aquascapeInfoFragment) + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to add Aquascape info: ${e.message}", Toast.LENGTH_SHORT).show() + } + } else { + Toast.makeText(activity, "Failed to generate Aquascape Info ID", Toast.LENGTH_SHORT).show() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleAdapter.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleAdapter.kt new file mode 100644 index 0000000..0607867 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleAdapter.kt @@ -0,0 +1,45 @@ +package com.capstone.aquacare.ui.setting + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.CardArticleBinding + +class ArticleAdapter (private val list: List) : RecyclerView.Adapter() { + + private lateinit var onItemClickCallback: OnItemClickCallback + + fun setOnItemClickCallBack(onItemClickCallback: OnItemClickCallback) { + this.onItemClickCallback = onItemClickCallback + } + + interface OnItemClickCallback { + fun onItemClicked(data: ArticleData) + } + + class ViewHolder(var binding: CardArticleBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = CardArticleBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) + } + + override fun getItemCount(): Int = list.size + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val currentAquascapeInfo = list[position] + holder.binding.tvTitle.text = currentAquascapeInfo.title + if (!currentAquascapeInfo.image.isNullOrEmpty()) { + Glide.with(holder.itemView.context) + .load(currentAquascapeInfo.image) + .into(holder.binding.ivImage) + } + holder.binding.tvType.text = currentAquascapeInfo.type + + holder.itemView.setOnClickListener { + onItemClickCallback.onItemClicked(list[holder.adapterPosition]) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleFragment.kt new file mode 100644 index 0000000..ba54fbd --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/ArticleFragment.kt @@ -0,0 +1,104 @@ +package com.capstone.aquacare.ui.setting + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.webkit.WebSettings +import android.webkit.WebView +import android.webkit.WebViewClient +import androidx.navigation.fragment.findNavController +import com.bumptech.glide.Glide +import com.capstone.aquacare.R +import com.capstone.aquacare.databinding.FragmentArticleBinding + +class ArticleFragment : Fragment() { + + private var _binding: FragmentArticleBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentArticleBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val infoId = arguments?.getString("infoId").toString() + val title = arguments?.getString("title").toString() + val image = arguments?.getString("image").toString() + val type = arguments?.getString("type").toString() + val body = arguments?.getString("body").toString() + val link = arguments?.getString("link").toString() + val edit = arguments?.getString("edit").toString() + + val webView = binding.webView + + if (edit == "false") { + binding.tvEdit.visibility = View.GONE + } + + if (link.isNotEmpty()) { + binding.tvTitle.visibility = View.GONE + binding.ivImage.visibility = View.GONE + binding.tvBody.visibility = View.GONE + + webView.apply { + webViewClient = WebViewClient() + settings.javaScriptEnabled = true + settings.setRenderPriority(WebSettings.RenderPriority.HIGH) + settings.cacheMode = WebSettings.LOAD_NO_CACHE + settings.domStorageEnabled = true + settings.databaseEnabled = true + setLayerType(WebView.LAYER_TYPE_HARDWARE, null) // atau WebView.LAYER_TYPE_SOFTWARE + } + + webView.loadUrl(link) + } else { + webView.visibility = View.GONE + } + + binding.tvTitle.text = title + binding.tvBody.text = body + if (image.isNotEmpty()) { + Glide.with(requireActivity()) + .load(image) + .into(binding.ivImage) + } else { + binding.ivImage.visibility = View.GONE + } + + binding.tvEdit.setOnClickListener { + val bundle = Bundle().apply { + putString("infoId", infoId) + putString("title", title) + putString("image", image) + putString("type", type) + putString("body", body) + putString("link", link) + } + findNavController().navigate(R.id.action_AquascapeInfoFragment_to_editAquascapeInfoFragment, bundle) + } + } + + override fun onDestroyView() { + super.onDestroyView() + // Cleanup the WebView to prevent memory leaks + val webView = binding.webView + webView.apply { + loadUrl("about:blank") + stopLoading() + settings.javaScriptEnabled = false + clearHistory() + removeAllViews() + destroy() + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/EditArticleFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/EditArticleFragment.kt new file mode 100644 index 0000000..96731d4 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/EditArticleFragment.kt @@ -0,0 +1,148 @@ +package com.capstone.aquacare.ui.setting + +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.FragmentEditArticleBinding +import com.google.firebase.database.* + +class EditArticleFragment : Fragment() { + + private var _binding: FragmentEditArticleBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("article") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentEditArticleBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val infoId = arguments?.getString("infoId").toString() + val title = arguments?.getString("title").toString() + val image = arguments?.getString("image").toString() + val type = arguments?.getString("type").toString() + val body = arguments?.getString("body").toString() + val link = arguments?.getString("link").toString() + + binding.edtTitle.setText(title) + binding.edtImage.setText(image) + binding.edtType.setText(type) + binding.edtBody.setText(body) + binding.edtLink.setText(link) + + binding.btnSave.setOnClickListener { + if (checkForm()) { + editAquascapeInfo(infoId) + } + } + + binding.btnDelete.setOnClickListener { + deleteAquascapeInfo(infoId) + } + } + + private fun checkForm(): Boolean { + val title = binding.edtTitle.text.toString() + val image = binding.edtImage.text.toString() + val body = binding.edtBody.text.toString() + val type = binding.edtType.text.toString() + + if (TextUtils.isEmpty(title)) { + binding.edtTitle.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(image)) { + binding.edtImage.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(body)) { + binding.edtBody.error = getString(R.string.please_fill) + return false + } + + if (TextUtils.isEmpty(type)) { + binding.edtType.error = getString(R.string.please_fill) + return false + } + + return true + } + + private fun editAquascapeInfo(id: String) { + + val title = binding.edtTitle.text.toString() + val image = binding.edtImage.text.toString() + val type = binding.edtType.text.toString() + val body = binding.edtBody.text.toString() + val link = binding.edtLink.text.toString() + + databaseReference.orderByChild("id").equalTo(id).addListenerForSingleValueEvent(object : + ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (snapshot in dataSnapshot.children) { + val infoData = snapshot.getValue(ArticleData::class.java) + if (infoData != null) { + + val updateData = mapOf("title" to title, "image" to image, "type" to type, "body" to body, "link" to link) + + databaseReference.child(id).updateChildren(updateData) + .addOnSuccessListener { + + Toast.makeText(activity, getString(R.string.success_to_edit_aquascape_info), Toast.LENGTH_SHORT).show() + findNavController().navigate(R.id.action_editAquascapeInfoFragment_to_aquascapeInfoFragment) + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to Edit Aquascape Info: ${e.message}", Toast.LENGTH_SHORT).show() + } + } + } + } else { + Log.d(TAG, "No Aquascape Info data available") + } + } + + override fun onCancelled(error: DatabaseError) { + TODO("Not yet implemented") + } + }) + } + + private fun deleteAquascapeInfo(id: String) { + databaseReference.child(id).removeValue().addOnSuccessListener { + findNavController().navigate(R.id.action_editAquascapeInfoFragment_to_aquascapeInfoFragment) + } + } + + companion object { + + private const val TAG = "MainActivity" + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/EditPasswordFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/EditPasswordFragment.kt new file mode 100644 index 0000000..aada80f --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/EditPasswordFragment.kt @@ -0,0 +1,184 @@ +package com.capstone.aquacare.ui.setting + +import android.content.Context +import android.os.Bundle +import android.text.TextUtils +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.databinding.FragmentEditPasswordBinding +import com.google.firebase.auth.EmailAuthProvider +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.* + +class EditPasswordFragment : Fragment() { + + private var _binding: FragmentEditPasswordBinding? = null + private val binding get() = _binding!! + + private lateinit var auth: FirebaseAuth + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + auth = FirebaseAuth.getInstance() + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentEditPasswordBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val email = sharedPreferences?.getString("email", "").toString() + + binding.btnSave.setOnClickListener { +// editPassword() + val oldPassword = binding.edtOldPassword.text.toString() + val newPassword = binding.edtNewPassword.text.toString() + + if (checkForm()) { + changePassword(oldPassword, newPassword) + } + } + + binding.tvForgotPassword.setOnClickListener{ + forgotPassword(email) + } + } + + private fun checkForm(): Boolean { + val oldPassword = binding.edtOldPassword.text.toString() + val newPassword = binding.edtNewPassword.text.toString() + val confirmPassword = binding.edtConfirmPassword.text.toString() + + if (TextUtils.isEmpty(oldPassword)) { + binding.edtOldPassword.error = getString(R.string.please_enter_password) + return false + } + + if (TextUtils.isEmpty(newPassword)) { + binding.edtNewPassword.error = getString(R.string.please_enter_password) + return false + } + + if (TextUtils.isEmpty(confirmPassword)) { + binding.edtConfirmPassword.error = getString(R.string.please_enter_confirm_password) + return false + } + + if (newPassword != confirmPassword) { + binding.edtConfirmPassword.error = getString(R.string.confirm_password_wrong) + return false + } + + return true + } + + private fun changePassword(oldPassword: String, newPassword: String) { + val user = auth.currentUser + if (user != null && user.email != null) { + val credential = EmailAuthProvider.getCredential(user.email!!, oldPassword) + + user.reauthenticate(credential) + .addOnCompleteListener { task -> + if (task.isSuccessful) { + user.updatePassword(newPassword) + .addOnCompleteListener { task2 -> + if (task2.isSuccessful) { + Toast.makeText(activity, getString(R.string.success_to_edit_password), Toast.LENGTH_SHORT).show() + findNavController().navigate(R.id.action_editPasswordFragment_to_settingFragment) + } else { + Toast.makeText(activity, "Password change failed.", Toast.LENGTH_SHORT).show() + } + } + } else { + Toast.makeText(activity, "Re-authentication failed.", Toast.LENGTH_SHORT).show() + } + } + } else { + Toast.makeText(activity, "No user is logged in.", Toast.LENGTH_SHORT).show() + } + } + +// private fun editPassword() { +// val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) +// val userId = sharedPreferences?.getString("userId", "").toString() +// +// val password = binding.edtNewPassword.text.toString() +// val confirmPassword = binding.edtConfirmPassword.text.toString() +// +// if (password.isEmpty()) { +// binding.edtNewPassword.error = getString(R.string.enter_new_password) +// return +// } +// +// if (password == confirmPassword) { +// databaseReference.orderByChild("id").equalTo(userId).addListenerForSingleValueEvent(object : +// ValueEventListener { +// override fun onDataChange(dataSnapshot: DataSnapshot) { +// if (dataSnapshot.exists()) { +// for (snapshot in dataSnapshot.children) { +// val userData = snapshot.getValue(UserData::class.java) +// if (userData != null) { +// +// val updateData = mapOf("password" to password) +// +// databaseReference.child(userId).updateChildren(updateData) +// .addOnSuccessListener { +// +// Toast.makeText(activity, getString(R.string.success_to_edit_password), Toast.LENGTH_SHORT).show() +// findNavController().navigate(R.id.action_editPasswordFragment_to_settingFragment) +// } +// .addOnFailureListener { e -> +// Toast.makeText(activity, "Failed to Edit Password: ${e.message}", Toast.LENGTH_SHORT).show() +// } +// +// Log.d(TAG, "User ID: ${snapshot.key}, Name: ${userData.name}, Style: ${userData.email}") +// } +// } +// } else { +// Log.d(TAG, "No user data available") +// } +// } +// +// override fun onCancelled(error: DatabaseError) { +// TODO("Not yet implemented") +// } +// }) +// } else { +// binding.edtConfirmPassword.error = getString(R.string.please_enter_confirm_password) +// } +// +// } + + private fun forgotPassword(email: String) { + auth.sendPasswordResetEmail(email).addOnCompleteListener { task -> + if (task.isSuccessful) { + Toast.makeText(activity, "Reset password email sent.", Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(activity, "Error: ${task.exception?.message}", Toast.LENGTH_SHORT).show() + } + } + } + + companion object { + + private const val TAG = "MainActivity" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/EditProfileFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/EditProfileFragment.kt new file mode 100644 index 0000000..69df4dc --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/EditProfileFragment.kt @@ -0,0 +1,178 @@ +package com.capstone.aquacare.ui.setting + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.capstone.aquacare.R +import com.capstone.aquacare.data.UserData +import com.capstone.aquacare.databinding.FragmentEditProfileBinding +import com.capstone.aquacare.ui.auth.AuthActivity +import com.google.android.play.integrity.internal.ac +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.ktx.auth +import com.google.firebase.database.* +import com.google.firebase.ktx.Firebase + +class EditProfileFragment : Fragment() { + + private var _binding: FragmentEditProfileBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + private lateinit var auth: FirebaseAuth + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + auth = FirebaseAuth.getInstance() + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentEditProfileBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val name = sharedPreferences?.getString("name", "") + val email = sharedPreferences?.getString("email", "") + + binding.edtName.setText(name) + binding.edtEmail.setText(email) + + binding.btnSave.setOnClickListener { + editUserProfile() + } + + binding.btnDelete.setOnClickListener { + deleteUser() + } + } + + private fun editUserProfile() { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + val userType = sharedPreferences?.getString("userType", "").toString() + val photo = sharedPreferences?.getString("photo", "").toString() + + val name = binding.edtName.text.toString() + val email = binding.edtEmail.text.toString() + + if (name.isEmpty()) { + binding.edtName.error = getString(R.string.please_enter_name) + return + } + + if (email.isEmpty()) { + binding.edtEmail.error = getString(R.string.please_enter_email) + return + } + + databaseReference.orderByChild("id").equalTo(userId).addListenerForSingleValueEvent(object : + ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (snapshot in dataSnapshot.children) { + val userData = snapshot.getValue(UserData::class.java) + if (userData != null) { + + val updateData = mapOf("name" to name, "email" to email) + + databaseReference.child(userId).updateChildren(updateData) + .addOnSuccessListener { + + saveLoginSession(userId, name, email, photo, userType) + + Toast.makeText(activity, getString(R.string.success_to_edit_profile), Toast.LENGTH_SHORT).show() + findNavController().navigate(R.id.action_editProfileFragment_to_settingFragment) + } + .addOnFailureListener { e -> + Toast.makeText(activity, "Failed to Edit User Profile: ${e.message}", Toast.LENGTH_SHORT).show() + } + + Log.d(TAG, "User ID: ${snapshot.key}, Name: ${userData.name}, Style: ${userData.email}") + } + } + } else { + Log.d(TAG, "No user data available") + } + } + + override fun onCancelled(error: DatabaseError) { + TODO("Not yet implemented") + } + }) + } + + private fun deleteUser() { + val user = auth.currentUser + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + + user?.let { + it.delete() + .addOnCompleteListener { task -> + if (task.isSuccessful) { + databaseReference.child(userId).removeValue().addOnSuccessListener { + Firebase.auth.signOut() + deleteLoginSession(requireContext()) + startActivity( + Intent( + activity, AuthActivity::class.java + ) + ) + activity?.finish() + Toast.makeText(activity, getString(R.string.success_to_delete_account), Toast.LENGTH_SHORT).show() + }.addOnFailureListener { + Toast.makeText(activity, "Failed to Delete User Account", Toast.LENGTH_SHORT).show() + } + } else { + Toast.makeText(activity, "Failed to Delete Account", Toast.LENGTH_SHORT).show() + } + } + } + + } + + private fun saveLoginSession(userId: String, name: String, email: String, photo: String, userType: String) { + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val editor = sharedPreferences?.edit() + editor?.putString("userId", userId) + editor?.putString("name", name) + editor?.putString("email", email) + editor?.putString("photo", photo) + editor?.putString("userType", userType) + editor?.apply() + } + + private fun deleteLoginSession(context: Context) { + val sharedPreferences = context.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val editor = sharedPreferences?.edit() + editor?.putString("userId", "") + editor?.putString("name", "") + editor?.putString("email", "") + editor?.putString("photo", "") + editor?.apply() + } + + companion object { + + private const val TAG = "MainActivity" + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/ListArticleFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/ListArticleFragment.kt new file mode 100644 index 0000000..9ecd389 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/ListArticleFragment.kt @@ -0,0 +1,115 @@ +package com.capstone.aquacare.ui.setting + +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import com.capstone.aquacare.R +import com.capstone.aquacare.data.ArticleData +import com.capstone.aquacare.databinding.FragmentListArticleBinding +import com.google.firebase.database.* + +class ListArticleFragment : Fragment() { + + private var _binding: FragmentListArticleBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + val listInfo = mutableListOf() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("article") + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentListArticleBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val rvAquascapeInfo = binding.rvAquascapeInfo + + val layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, true) + layoutManager.stackFromEnd = true + + rvAquascapeInfo.layoutManager = layoutManager + rvAquascapeInfo.setHasFixedSize(true) + + binding.tvAddAquascapeInfo.setOnClickListener { + findNavController().navigate(R.id.action_listAquascapeInfoFragment_to_addAquascapeInfoFragment) + } + + getAquascapeInfoData() + } + + private fun getAquascapeInfoData() { + binding.rvAquascapeInfo.visibility = View.GONE + + databaseReference.addValueEventListener(object : ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + listInfo.clear() + for (snapshot in dataSnapshot.children) { + val dataAquascapeInfo = snapshot.getValue(ArticleData::class.java) + if (dataAquascapeInfo != null) { + listInfo.add(dataAquascapeInfo) + } + } + + binding.rvAquascapeInfo.visibility = View.VISIBLE + + showAquascapeInfo() + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(requireContext(), "Failed to retrieve aquascape info data: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } + + private fun showAquascapeInfo() { + val adapter = ArticleAdapter(listInfo) + binding.rvAquascapeInfo.adapter = adapter + Log.d("DataList", "Jumlah data dalam list aquascape info: ${listInfo.size}") + + adapter.setOnItemClickCallBack(object : ArticleAdapter.OnItemClickCallback{ + override fun onItemClicked(data: ArticleData) { + + val infoId = data.id + val title = data.title + val image = data.image + val type = data.type + val body = data.body + val link = data.link + val edit = "true" + + val bundle = Bundle().apply { + putString("infoId", infoId) + putString("title", title) + putString("image", image) + putString("type", type) + putString("body", body) + putString("link", link) + putString("edit", edit) + } + + findNavController().navigate(R.id.action_listAquascapeInfoFragment_to_AquascapeInfoFragment, bundle) + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/capstone/aquacare/ui/setting/SettingFragment.kt b/app/src/main/java/com/capstone/aquacare/ui/setting/SettingFragment.kt new file mode 100644 index 0000000..1f85b30 --- /dev/null +++ b/app/src/main/java/com/capstone/aquacare/ui/setting/SettingFragment.kt @@ -0,0 +1,156 @@ +package com.capstone.aquacare.ui.setting + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.navigation.fragment.findNavController +import com.bumptech.glide.Glide +import com.capstone.aquacare.R +import com.capstone.aquacare.data.UserData +import com.capstone.aquacare.databinding.FragmentSettingBinding +import com.capstone.aquacare.ui.auth.AuthActivity +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.ktx.auth +import com.google.firebase.database.* +import com.google.firebase.ktx.Firebase + +class SettingFragment : Fragment() { + + private var _binding: FragmentSettingBinding? = null + private val binding get() = _binding!! + + private lateinit var firebaseDatabase: FirebaseDatabase + private lateinit var databaseReference: DatabaseReference + + private lateinit var auth: FirebaseAuth + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + firebaseDatabase = FirebaseDatabase.getInstance() + databaseReference = firebaseDatabase.reference.child("users") + auth = FirebaseAuth.getInstance() + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + _binding = FragmentSettingBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val sharedPreferences = context?.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val userId = sharedPreferences?.getString("userId", "").toString() + val userType = sharedPreferences?.getString("userType", "") + val name = sharedPreferences?.getString("name", "") + val email = sharedPreferences?.getString("email", "") + val photo = sharedPreferences?.getString("photo", "") + val accountType = sharedPreferences?.getString("accountType", "") + + Log.d(TAG, "Photo URL : $photo") + + binding.tvName.text = name + binding.tvEmail.text = email + + binding.btnLanguage.visibility = View.GONE + + if (userType != "admin") { + binding.viewInfo.visibility = View.GONE + binding.btnAquascapeInfo.visibility = View.GONE + } + + if (accountType == "Google Account") { + binding.viewPassword.visibility = View.GONE + binding.btnChangePassword.visibility = View.GONE + Glide.with(requireActivity()) + .load(photo) + .into(binding.ivProfile) + } else { + binding.ivProfile.setImageResource(R.drawable.bg_person_default) + } + + getUpdateData(userId) + + binding.btnEditProfile.setOnClickListener { + findNavController().navigate(R.id.action_settingFragment_to_editProfileFragment) + } + + binding.btnChangePassword.setOnClickListener { + findNavController().navigate(R.id.action_settingFragment_to_editPasswordFragment) + } + + binding.btnAquascapeInfo.setOnClickListener { + findNavController().navigate(R.id.action_settingFragment_to_listAquascapeInfoFragment) + } + + binding.btnAboutApp.setOnClickListener { + findNavController().navigate(R.id.action_settingFragment_to_AboutFragment) + } + + binding.btnLogOut.setOnClickListener { + Firebase.auth.signOut() + deleteLoginSession(requireContext()) + startActivity( + Intent( + activity, AuthActivity::class.java + ) + ) + activity?.finish() + } + + } + + private fun getUpdateData(userId: String) { + databaseReference.orderByChild("id").equalTo(userId).addListenerForSingleValueEvent(object : + ValueEventListener { + override fun onDataChange(dataSnapshot: DataSnapshot) { + if (dataSnapshot.exists()) { + for (userSnapshot in dataSnapshot.children) { + val userData = userSnapshot.getValue(UserData::class.java) + + if (userData != null){ + val name = userData.name + val email = userData.email + + binding.tvName.text = name + binding.tvEmail.text = email + + } else { + Toast.makeText(activity, "Failed to get user data", Toast.LENGTH_SHORT).show() + } + } + } + } + + override fun onCancelled(databaseError: DatabaseError) { + Toast.makeText(activity, "Database Error: ${databaseError.message}", Toast.LENGTH_SHORT).show() + } + }) + } + + private fun deleteLoginSession(context: Context) { + val sharedPreferences = context.getSharedPreferences("LoginSession", Context.MODE_PRIVATE) + val editor = sharedPreferences?.edit() + editor?.putString("userId", "") + editor?.putString("name", "") + editor?.putString("email", "") + editor?.putString("photo", "") + editor?.apply() + } + + companion object { + + private const val TAG = "MainActivity" + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded.xml b/app/src/main/res/drawable/bg_border_rounded.xml new file mode 100644 index 0000000..d5326cf --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_2.xml b/app/src/main/res/drawable/bg_border_rounded_2.xml new file mode 100644 index 0000000..a0db8cb --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_2.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_3.xml b/app/src/main/res/drawable/bg_border_rounded_3.xml new file mode 100644 index 0000000..fb5bb7c --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_3.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_blue.xml b/app/src/main/res/drawable/bg_border_rounded_blue.xml new file mode 100644 index 0000000..3fe885c --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_blue.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_bottom.xml b/app/src/main/res/drawable/bg_border_rounded_bottom.xml new file mode 100644 index 0000000..e4cca28 --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_bottom.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/drawable/bg_border_rounded_form.xml b/app/src/main/res/drawable/bg_border_rounded_form.xml new file mode 100644 index 0000000..f787143 --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_form.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_green.xml b/app/src/main/res/drawable/bg_border_rounded_green.xml new file mode 100644 index 0000000..a032be5 --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_green.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_border_rounded_red.xml b/app/src/main/res/drawable/bg_border_rounded_red.xml new file mode 100644 index 0000000..d871b61 --- /dev/null +++ b/app/src/main/res/drawable/bg_border_rounded_red.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_person_default.jpg b/app/src/main/res/drawable/bg_person_default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76d299a2ec7f561382190748e6f257865b26f775 GIT binary patch literal 28375 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℞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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_about.png b/app/src/main/res/drawable/ic_about.png new file mode 100644 index 0000000000000000000000000000000000000000..41780ed290564728ceb253ae49986d7747469a2c GIT binary patch literal 12982 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

y{v8Icv3g)-V*ef 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 O7f?d%%xX?xZ~PzS!6#b) literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_baseline_edit_24.xml b/app/src/main/res/drawable/ic_baseline_edit_24.xml new file mode 100644 index 0000000..1c9bd3e --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_edit_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_date_range_24.xml b/app/src/main/res/drawable/ic_date_range_24.xml new file mode 100644 index 0000000..8dc9e69 --- /dev/null +++ b/app/src/main/res/drawable/ic_date_range_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_edit.png b/app/src/main/res/drawable/ic_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2fd00b3831755bcfcda62531045f193fe9d706 GIT binary patch literal 11095 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�a7`-g1DJK#q3;$5)%p4WOPzV5KD9;Cc(j(<7#iegctbBVb4O&q86 zEm&Q1>e-|xKB6k`h_rw6eqdzQB0I*vaSUN&cbMqaq*yZ=BuyL3Hk7ejF{SR(gCgr# zn$o~rRA8%ji;fg5{_+0bBwrsyjZ;(!T7!b52@lNSkJ~!Xu%H^Us!&vXg%1WhFKpRy zBKyV3i9m~h2xo5FU15ibRcT%|BHDw+&E&687Bpc_(b8obJ2k$4@J|u*3IpMxvIccsTQIdtfJpw`iA0*FEV~-J^|MB-|Y`8y_*zg&7n7d=(g?DE7HnKGlzI{ zbjxTWr44^3yXXEyU`i|3aYwyzO_3dB{d%4{%M!w~ZxYrT-7*atE&SS=ghJ%-)U-3K z#17venk4L2mzA%f0i`q53kkA46dYl=Q+7)s3yJ;gBH! z3MN)c!=wQsn$?~=3xLcJqWp*E|MgB*m;0|1`J5H_A8)lYH}O9f_=x_0EpnLR|Mh{7 zYW$DjEb>3X>8gwWNybV?nE%&z;HL&%>_)jTtu|a1D>BgR#D%61nXPm~+xa~J*Er_IDeYPFD5dM=`Xv7Ogh zBdV5&_T#MZftMgP*~Kc*V05}Z-sS7jdc5$s+^ZclNW})SPFuWSKQbe%G^JV+(Tc;n zqzk{w4fo@j1CK9YG#T}n;Dvuub$I9K1XRA~0NwM@YE1}e7jHb$pJqQiLy5$*UT1?! zz*%REp)!>q7KrmIElYbwtonHSfpt*T-fK!OX%n7B$e}-+nWspS*bj;b3iyjm8+QK} fm5q}g?Hq|aj*w;a!v~>4djK@CHm*O1yZwIvN9;Tm literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_more.png b/app/src/main/res/drawable/ic_more.png new file mode 100644 index 0000000000000000000000000000000000000000..43d8b95b91417a0b8fa5204479d09891d39664db GIT binary patch literal 17102 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_password.png b/app/src/main/res/drawable/ic_password.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbea3e7ae0c84bb734f8260123150e6ae0d6820 GIT binary patch literal 9104 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_plus.png b/app/src/main/res/drawable/ic_plus.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1d6d01a27590969aacc3e67aa66a5eb2b4563f GIT binary patch literal 3849 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 A$N&HU literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_user_edit.png b/app/src/main/res/drawable/ic_user_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..3820ccc93f2b2fe48941ce08cdf9bbe225e8d027 GIT binary patch literal 12696 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 R|EmH(7+M-sU3Pu&e*v^+8zTS! literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_user_picture.png b/app/src/main/res/drawable/ic_user_picture.png new file mode 100644 index 0000000000000000000000000000000000000000..89cfc703010486aadaad33729fcaca9241280bb1 GIT binary patch literal 1608 zcmV-O2DkZ%P)H$RK~#7F#hFJ- zBwG~6k2N{>)vYL{Gchjytn$Ed(J(n0>}?IolYArsrUp31Ox;g92^AW!}n~s z(&fvS30GZF6n$@R@7I+pSDX(YK6E^P{#+-E1dt@W=&M(+W@AD2ot+&!FH{5w!=FwF zT=3z;2gi*YH*}IfSO8x5{{DV8{``5k%a&mc;Zt(y(xtr5pFis&bA<%x>+8#1Utjmz z!cPO!qMJ8wYVY5_&oev6lmOUu6{;?Ssj!XHMZ@N_y}kW+NJxn8YpmjHz|hc87VO-) zySw|pES}le*ifNmXMcZxs;{wL1sEJ0%yqe3CHV6~OvW2HXSTJqwK52i>usFJE$!{? zWqa2|cAY&DG)0q>lQc6kLofs5KD-qL1_sizXU|9!{{06J9%yggygBz=oVz+!-O9>J z83`~uJ4+6SgAckP#CgEBDLg!!Vq;_J`t|E%78c_6?b|;-e*F0Fng5->(bUwWUb}Y9 z$tolh@UFMEwo*+^4XfSE6uNis9%W``5&{_s;DVbCIeoCtoPoP{@79}LJk!w7Kvh*$ zrWemFEiF+|Q4tLf50d~k1imv?aY6vLd-ecil97=SLjW1r%ql7>XmN4T^c;5Ma4g#K zdq)DWug3t*FVmD zg@pyvAplNyHVJa)&K>d>9Oy*BdHsv8%JlR!n@=za0(VRPLS{1#YY>}) z2x=Gc;comXz@tZxNE9}CxcyW`X7`zQ@7@`Oh*kI*FJ8PLNrDv=5kVxu)YKHKk*vb5 zdtzdOWPs(UtO1oI7#J8Jf7J(LV`C%(v=^k{AgCmPsO$5_=H@2J01L1wqTK{H_wU~) zf55+g>((uj0Ty8MSyFle1%_Wth}$dtEZMm%fQuyH3hUFSPhwD|pt=GnI!O{P3%`H=PO^Oc`juqQ;32vKSM-}K@a4-F zl7Y_;3t$BZ|4YGxq&2{xNo$-3QC_`z#f3Uq0Zjs@0vA?p)tjIdNTLJ#J7Kn(55Xy@<5tKDOH*7ih=tdlX01mPMA7&Ak`u6Qx>EPuCn^3@4w*UpG ziKX2sBa&LIuC9_5*nFNmd17q3Apn~ZE`=lsw???gHw*WJtmIMh61IR@>d(?cCbh@>!*EFQ=}qj(U1}$O`OE6A}_km8ggtI-JFc%%!f?Ltn!Lp#@A&@}pi9WFker|_X`Zf>Tw zwl;!>=ptb65)~CiF)=YG+V3nNB7WNI*RRV@&+%yR5JJOl=eif(($aEa3qK9N>|-G! zBO?usplgx$^5skIys=(SEZm)zpP!%0Z(RNa*m26q$;pG8*F25!T9Ki3q9rCKragZA z*iw)ag-sWS)s>Nv@sGE~Gp2lIadELaH#b)gf3M0k!9-v`k36X}EG#Sy=)T4aIsLM- zG7Y{vSG1e#3*K>#Kgf|>cDubWJw07BJ6AXqaxawyfxFG(H#GhLX|W6SL19u-QUM24 zk-5@^0KbYVEiJW=kB?_Vs9=%q8t?dFM%s{^oa~5>jxK-(q|TXNT5Bu}T&*1eE*Q-w zu2lF~%s!M0uK>31TJ`TgzNx6b(Z_;T4rALl>d^^{Q~Ul@D<0000 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_visibility_24.xml b/app/src/main/res/drawable/ic_visibility_24.xml new file mode 100644 index 0000000..b923c39 --- /dev/null +++ b/app/src/main/res/drawable/ic_visibility_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_visibility_off_24.xml b/app/src/main/res/drawable/ic_visibility_off_24.xml new file mode 100644 index 0000000..00c8a20 --- /dev/null +++ b/app/src/main/res/drawable/ic_visibility_off_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/img_aquascape_info.jpg b/app/src/main/res/drawable/img_aquascape_info.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5fcc4271e4bf3ea5bf6630542f6002260a755762 GIT binary patch literal 189601 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

KuQr0|%s&@dE*>-h=CWd3cB+>rnKu5sSkn!+ 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 d&j;_dsWvb_* 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 O|77=b%Wp)#C;l6z@rpJ8 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/poppins_bold.ttf b/app/src/main/res/font/poppins_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00559eeb290fb8036f10633ff0640447d827b27c GIT binary patch literal 153944 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%0AC7VmlS@LZ-TEZV}oirP&oT11@@uCp8_l( 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 + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..14d1add --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splash_screen.xml b/app/src/main/res/layout/activity_splash_screen.xml new file mode 100644 index 0000000..ff31454 --- /dev/null +++ b/app/src/main/res/layout/activity_splash_screen.xml @@ -0,0 +1,24 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/card_aquascape.xml b/app/src/main/res/layout/card_aquascape.xml new file mode 100644 index 0000000..e812616 --- /dev/null +++ b/app/src/main/res/layout/card_aquascape.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/card_article.xml b/app/src/main/res/layout/card_article.xml new file mode 100644 index 0000000..6e806bd --- /dev/null +++ b/app/src/main/res/layout/card_article.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/card_identification_history.xml b/app/src/main/res/layout/card_identification_history.xml new file mode 100644 index 0000000..97f619d --- /dev/null +++ b/app/src/main/res/layout/card_identification_history.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml new file mode 100644 index 0000000..436f8e5 --- /dev/null +++ b/app/src/main/res/layout/fragment_about.xml @@ -0,0 +1,38 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_add_aquascape.xml b/app/src/main/res/layout/fragment_add_aquascape.xml new file mode 100644 index 0000000..e052eef --- /dev/null +++ b/app/src/main/res/layout/fragment_add_aquascape.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_add_article.xml b/app/src/main/res/layout/fragment_add_article.xml new file mode 100644 index 0000000..9dba198 --- /dev/null +++ b/app/src/main/res/layout/fragment_add_article.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_article.xml b/app/src/main/res/layout/fragment_article.xml new file mode 100644 index 0000000..961d795 --- /dev/null +++ b/app/src/main/res/layout/fragment_article.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_aquascape.xml b/app/src/main/res/layout/fragment_edit_aquascape.xml new file mode 100644 index 0000000..dc2ee36 --- /dev/null +++ b/app/src/main/res/layout/fragment_edit_aquascape.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_article.xml b/app/src/main/res/layout/fragment_edit_article.xml new file mode 100644 index 0000000..5653974 --- /dev/null +++ b/app/src/main/res/layout/fragment_edit_article.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_password.xml b/app/src/main/res/layout/fragment_edit_password.xml new file mode 100644 index 0000000..9401884 --- /dev/null +++ b/app/src/main/res/layout/fragment_edit_password.xml @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_profile.xml b/app/src/main/res/layout/fragment_edit_profile.xml new file mode 100644 index 0000000..8f87b95 --- /dev/null +++ b/app/src/main/res/layout/fragment_edit_profile.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..281605e --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_identification.xml b/app/src/main/res/layout/fragment_identification.xml new file mode 100644 index 0000000..4db7704 --- /dev/null +++ b/app/src/main/res/layout/fragment_identification.xml @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_identification_history.xml b/app/src/main/res/layout/fragment_identification_history.xml new file mode 100644 index 0000000..7b14cf1 --- /dev/null +++ b/app/src/main/res/layout/fragment_identification_history.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_identification_result.xml b/app/src/main/res/layout/fragment_identification_result.xml new file mode 100644 index 0000000..4c876de --- /dev/null +++ b/app/src/main/res/layout/fragment_identification_result.xml @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_list_article.xml b/app/src/main/res/layout/fragment_list_article.xml new file mode 100644 index 0000000..5727991 --- /dev/null +++ b/app/src/main/res/layout/fragment_list_article.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml new file mode 100644 index 0000000..7eea3f1 --- /dev/null +++ b/app/src/main/res/layout/fragment_setting.xml @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_sign_in.xml b/app/src/main/res/layout/fragment_sign_in.xml new file mode 100644 index 0000000..7118e02 --- /dev/null +++ b/app/src/main/res/layout/fragment_sign_in.xml @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_sign_up.xml b/app/src/main/res/layout/fragment_sign_up.xml new file mode 100644 index 0000000..867ea8a --- /dev/null +++ b/app/src/main/res/layout/fragment_sign_up.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/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<@<#Cme5f5yr2h%@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!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#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!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?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)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/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/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/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-Qrhzl9HuHB%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}

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;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*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!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/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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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@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~5Bnm=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@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{`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^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} zs4%E?srLW`CJh0GCIK@hTkrW7A15Iu%N&?Q^$0+!{Tv&|t^Y@u%!L zglTg&?Q5q#ijZ;&HBQ?FNPp;k3J5!&{^+SGq?AX~SiOM9jJMRpyP?RCr@z38AQyy&WRMaC;n4una$~nJKSp?q|s8F00c9?Q! zY_ovvjTFm+DeQM^LXJ#v0}6HRt3R1%5PT*}W!k8BEM;Jrj8dIceFo2fhzTqaB3KKk zGlCLI)gU25(#u6ch6GeB1k@eHq7l{EHXv0n6xE#ws#ri}08kkCf8hUt{|Ejb`2YW* zvg}0nSSX1m=76s?sZhRY$K=3dpJ+y*eDULGnL2}4>4nvW^7_<~wIM_5fjvwt4h1|g z)g0Z6ZFq9j<~9~b8((~TN{Z?ZQfw|is&Xp~AC61sj;xItKyCHdI|tCMC_LbXF>~vR z=w6V3^H=W4CbAgR4#xw}ETTwu2guW~=Crl@SMXv85jQ=%y!s^?m4PI0My7MWICO;- z175jm%&PcPWh8QdOU(#8bp4!N7ET-+)N}N2zk2)8ch|4Q&lPFNQgT-thu053`r*h3 z_8dI@G;`zn;lH$zX3RzIk`E8~`J=BBdR}qD%n@vVG1834)!pS1Y?zVkJGtsa(sB~y zNfMYKsOJb%5J(0ivK8d+l2D2y&5X!cg3BG!AJ}910|_${nF}sC1QF^nLIhzXk-Y#x z0)&1iK!O;Og0Ky!;`b~v%b$`S4E&fB)1NB4v@8wr( z&+NX4e^&o)ecb=)dd~C!{(1e6t?&9j{l8%U*k4)?`(L3;Qjw z#w7FS+U(94MaJKS!J9O8^$)36_J8;thW#2$y9i{bB{?M{QS_inZIJ!jwqAbfXYVd$ zQ5fC$6Nc9hFi8m^;oI-%C#BS|c8vy+@{jx6hFcf^_;2VRgkoN(0h!_VSGmgNPRsxI z8$rTo0LaYq-H5i&gtj81=&xU?H-Y2==G@uQV7E`@+2E9XQW@{&j`?EOktk|Ho{HU>ZqDzvgjwBmdex z&uZNd2C1h{{}2k6Ys9$*nFP3;K%u!MhW`uZy7Sn`1M1zs@Es&;z*Z>Gsh@-3Fe6pE zQD2@cqF((NrRevgvLsvM_8;;iNyJ5nyPyy?e!kvKjGj`6diRFBEe49Oa7wwkJFV7Z z$YT&DWloYu-H?3<0BKn9L&JYDT-SK~*6c5pi18P26$JESKRYj{T7Zk6KiRJcbvOO*{P56Q6s8msbeI3>|j>K9}Q9UBeq*inXKemCm`-<5|-$ZyN4u$(3 z&HcvqehFD%5Yrmykg-^d`=BSa8(i=>ZoC77^mWY{evp(km@aHqhUECBz76YiR+VYK zY_avFC~V3$=`6C4JhfHAQ@DZtUOwH`L;oYX6zK0-uI^?hS$ALfq}A7evR;ohJHij} zHSZdW?EKv9U1s4oD*<(0oQ*;MaQ6@cvGL zuHCPgm_NhVsgp^sfr*ia^Db}swo1?O(_Q2)y+S$CBm+g=9wCOUPbz(x)_GbaKa@A7 zuI&!ynLiZRT#V%_y_-D`0Z5lT*auoe{(U5NylTzFSJW()W-#F6*&A`LNO1bV#Y;QJ zSbLBnp|B^dtK|KIWC|No>JjWBWE@n7O)x{&^E(WMeMvp57#qA8m* zeTow*U@_86B#Fm*rxyYu5PRWaWHx8y> z*qmHEp(AMDl0v)ij(AY8fnH=~ZwwjVAbu*m5;xPfidh@ov6d8g zfJsi&!QyK53Es%sC39ts;54V68koALD4b|%tNHW0bIkZAJKa=W&FomJSEDT>W1xIX z1x%Z>AvNIsSPLcn3RTcHXb@KB?cuM)=x6fcIx>&(GxqZ8w3p#jJ(GVgc*`c0HG}dv zIop&Qim!K1NFwic%07KcjWgHBPUkq7f~lj;TPqVGTiT#cUeim>;nY`>h@a*S{qQex zQ`z62WK|Mj)Y{tfF{;T4P;c8$Q|KU?Joh zIkA^z%X7z|r>4aTh@|StTi!-r1D!g=zb#3d#{{&K3CqE$Iz-UH<%37c zRfkO`&uM%#AD3PHv`g5t0e^O%nVL0d{Xlx^EjEC3#skF@`zl-7PF^0oxW)1!C!JxR zWvuAHH?)61FKA1QeT*_sY7;_Id#!GmV4n`MO{~sv}VLSK` zXRw=Y=Clz*00B(5y^K;gCZMAzjT5+c3IC=)l(9VIDdatpxj3y89WwI|bH&$!ZEvp` zPR!T@#!(|KfI-w?!&+7$N3F6>tD{YO4Qg$d_`nNEdfVCha9vaPn0jI0`)`@*72hq! zpU5ND^P*RoEkbD5o#az(-g=Y)L>HH>Oc%}$ zT3Rs_ih0;4+Lv4Y;@Iv(;fUbQ=i-G(#>vghec~*j(I#r|5mqFiJBpzi&hzEcD{u$< zRsm0BVYn=pT;0>R(itW|*D&;O%bOc7et9ACaH#J>z3A1A~6fdP>pmbM%xzm4>|;c_?B+%sl;Qs2{t!60$^u zH1t@9^6>;?!FuusnISi$f5CL&;z?EqJN$FBuWDA#D5`cy_UvCFIVvf{c?4N0teh;d zET$7aVbj08KTQS!x?Nd1Is8q8qFzs}a=!@nJ;7FSfCY^T@D-gpw`w<6e#X3+;O}1h z$%I!M)0bg|EKUA04Qjn@+x{Rj8vt6Wn!R|3A92z}^$KfF5(#CWr4y#~re1CN4i4w0 z#GsypBR{xA3Er7sgAi(|}1-W?s~n$7?K|9WL8kpVfw-;#b9 z+mn;=ep!162U5R>_t}fOt~tE?s#m( zO-S$7>Ay6*hHdZ)7_oU915WYYCIX;hFI-U2EWYX!pllONr@Q--2o~`!isi6vTPLJ4@(|o=%NHYjo0_S&q*UQIROw@*N-By@PaQ&;YxFZ0aR zX&}LeOEz);#m~Hwm^VAY8DK}b$F4bo{jMN?d!lxKPhNklzr^Cd`0f4oJr^z=I|l`* zm8AHm*fPV`0=lF3Pnnp}&J0N1X@}-D94YvmUabFrLGSnTz7Mu^21F#O5tN#CuY9Vh zUZBH=ez%h*wkf0hBtXJh1SN3d+IF{gzT7lp)j}n?03lt;XSQRAh7qd&v;RwTYDuQ# zbI2*r<>?x-G0@hM{;%{VBD7nLKt~D`T~-HAt5;h%i0_=Ifs=yHma5dhJ+QMG?Ux(a z|E?1CMy1!~oA`FP!k~iG=t&5#>bVdz=peT8HMB6Y)#7PpETtNryT^+Rv3vpJaF^zP z{H}0-LyV9Fu21ID%wO9f1IKlFr1p4c{o-?03vyB-tr5duk^&L$;m_|f$vs`^Sl{j2 z95}oY{LlY+=ZS%J+tZoXCd0*sSU7w^gjovXn+g7uyra5{cU49@yHf#Z^Jl-$9cIfo z+AJuxH$VLb=#+uBbVmUjnx zxb1pZ@-O9=AIk4@S)m6fJ2?{HrNYwwnL3a45muuNjr;6$O`bGEM0T4A2_S$t=86*- zcO+0mywg*j#A4mU}enR_!cGmIYQ;qwfchWtFEXL)AK%*;=j znYne+hS4EMy3S)C*mZ1KI>!+)0V@9!N6H$Y}~MJ{rYuf zz^KljIWvFi-?#?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 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;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?itz>B>WM&^63bNdQ)k@-IgDHW*RW$Xo9#RzrTrCn7L2H{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_as1(=YVB?Q_A|tNu5Ut&_q3jbfDM zoFxT^uEuH`nX3*sB%K?GuHUkweYReBwnHqh3P)~`+s3+Tj!rDA1e)8vuBv5J*IsxC zkd^~b(aGzArj08{>cnzOuy04C+C`}gb|Yz-1avxeWzev3NzcHbz_&4W@QCr$z3~w=8Ua- z`;vfG1~BP8CyLb=F7t1am~ph_#|O%$khSJ9%Vtcn)YmpgQxF?xM^_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?|ago!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$_&fA@QjIW-*heP3%$d!m5^AdnT}`12qA^c@!g3DOwZ5WwE2?)-yU z!)Vx#Mtxt?FzFTwK!77sy7)sMzUd->w4^bxtpM2j!b1pjgyk 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^weBfvo4SONxP35106sAmh(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_jGOc 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%$~$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 zKp3=+;Ut+IYn%m+r4d*<`L2h%aDnX5}^!5R|H;(34AoVWjRx(msBZvk;rCI*|~ zdOijqI@9Z{Vu!~jvHW{lBa$rnl4+!s_5sfK3bCGk-B%iDe&@-}+%fOKU|(9?V1 zHE8&@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}(CoMXgA5-p&kS202!l?!fT3t|HG*rIP~mS* z$Wjo}jq3}z$Qq!9yrtd3fM0N629ZM?LU$nv@Tv9b7I;D|;0H2dsA~g7Z7zp1| zB)XmrkMgF6OQr|R)HHD^TE{Y#j!~SR?b`Xt3Qs`B+x<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{pT_UJn+^1Qg6$` zqkNm(a#hWyc6SP+p5=C4HL8-m`pO`5o~`-LI?_h5CsH?F_%?nDodmz&pWR20WTpJE z?N|wSzLjMUK8E)a2tI}Lf;+;*M|h3Y(U#>)g1>zk9|Hd}oZAa2 zLYBWBoSW!Ts!RwXr^8h+U*@{9{zqS^iH)Op<;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)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(da7t1BYMGEaE#PdpOLxsVD5riQXHp@OX;`S`8VnpM~)I920w~<3|mo0 zf8~Az`*?2?H&gZ&*K&bRkV@qzvMlRHXys8*Ze2+1c?5o!^+$&MHxB@4Ee5cke52R! zmn7AZtY6ST%ixgU5)%$%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%;;?=F>B7ms9QSxv#@+69;@>QaR?REYX4&)=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&2K#z~j%g6!7B;^zF+o95?fV{3mnB8*RMhCDNp>Am-3e@jNfMj?jHV$MWjk!DDKP zkAz$Y?Sr)!GUOX}qTQ5aMh|wq1uq}~joWyKl=b_LboM#wi{CMuz5x6BKlA-qy++cM01D3b7`uD z#l6M4pI;JCypO8JZ6?U&wNxR!{4oB_ zlV!x9+-&Qy6{%MQ{~yoZGkKiTSC`YS_j22~G;xUV855g2&C(zm^V!(wpcm@zn{%!g z4}JGo(sGZ1O~to-}le

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?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*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/navigation/main_navigation.xml b/app/src/main/res/navigation/main_navigation.xml new file mode 100644 index 0000000..ebc05c0 --- /dev/null +++ b/app/src/main/res/navigation/main_navigation.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml new file mode 100644 index 0000000..a998c91 --- /dev/null +++ b/app/src/main/res/values-in/strings.xml @@ -0,0 +1,110 @@ + + + AquaCare + + Hello blank fragment + + Masuk + Email + Kata Sandi + Lupa Kata Sandi + Masuk + atau masuk dengan + google + belum memiliki akun? + Registrasi + Registrasi + Halo + Nama + Konfirmasi Kata Sandi + Info Aquascape + Masukkan Nilai Parameter + Suhu + Ph + Ammonia + KH + GH + Periksa + Hasil + Riwayat Identifikasi + Hasil Identifikasi + Kualitas Air + Detail Parameter + Tips + Tanggal + Style + Dibuat + Tambah + Simpan + Edit Aquascape + Edit Profil + Ubah Kata Sandi + Bahasa + Tentang Aplikasi + Keluar + Hapus Akun + Kata Sandi Lama + Kata Sandi Baru + Konfirmasi Kata Sandi Baru + Nama Aquascape + Status + Detail Status + Tambah Aquascape + Tambah Artikel + Judul + Tautan Gambar + Isi + Hapus + Edit Artikel + + Baik + Sedang + Buruk + + 762708816606-b7q7lnlu2mjk5tguiqkhvm1plvmsu5sb.apps.googleusercontent.com + Pilih Tanggal + hapus aquascape + Tipe + Edit + Aquascape + Artikel + Profil + + Berhasil Masuk + Kata Sandi Salah + Account not found + Masukkan nama + Masukkan email + Masukkan kata sandi + Masukkan kata sandi konfirmasi + Kata sandi konfirmasi salah + Pilih Tanggal + Akun berhasil dibuat + Akun sudah ada + + Isi form ini + + Sukses Menambah Aquascape + Sukses Mengubah Aquascape + + Masukkan suhu + Masukkan Ph + Masukkan ammonia + Masukkan KH + Masukkan GH + + Sukses mengidentifikasi kualitas air + Sukses menambahkan Info Aquascape + Sukses mengubah Info Aquascape + + Sukses mengubah kata sandi + Masukkan kata sandi baru + + Sukses mengubah Profil Pengguna + Sukses menghapus Akun Pengguna + Tautan Artikel + + +Aplikasi ini dirancang untuk memonitoring kualitas air pada aquascape menggunakan metode Fuzzy Tsukamoto. Dengan memanfaatkan algoritma fuzzy, aplikasi ini mampu mengukur parameter-parameter penting yaitu suhu, pH, ammonia, KH, dan GH. Pengguna akan mendapatkan rekomendasi tips yang tepat untuk menjaga ekosistem aquascapenya tetap sehat dan indah. Dalam aplikasi ini juga terdapat artikel seputar aquascape yang dapat menambah pengetahuan para pengguna. + + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..2894ea0 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,25 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..1512b89 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,24 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + #D9D9D9 + #808080 + #DB4437 + #ffee32 + #3fa34d + + #DAE8ED + #0096C7 + #CA3A3A + #00B4D8 + #CED4DA + #2F4550 + + #00FFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..69999eb --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,109 @@ + + AquaCare + + Hello blank fragment + + Sign In + Email + Password + Forgot Password + Login + or sign in with + google + don\'t have an account yet? + Register + Sign Up + Hello + Name + Confirm Password + Aquascape Info + Enter Parameter Values + Temperature + Ph + Ammonia + KH + GH + Check + Result + Identification History + Identification Results + Water Quality + Parameter Details + Tips + Date + Style + Created + Add + Save + Edit Aquascape + Edit Profile + Change Password + Language + About Application + Log out + Delete Account + Old Password + New Password + Confirm New Password + Aquascape Name + Status + Detail Status + Add Aquascape + Add Article + Title + Image Link + Body + Delete + Edit Article + + Good + Medium + Bad + + 762708816606-b7q7lnlu2mjk5tguiqkhvm1plvmsu5sb.apps.googleusercontent.com + Select Date + delete aquascape + Type + Edit + Aquascape + Article + Profile + + + Login Success + Wrong Password + Account not found + Please enter name + Please enter email + Please enter password + Please enter confirm password + Confirm password wrong + Please enter date + Account Created + Account already Exists + + Please fill this form + + Success to Add Aquascape + Success to Edit Aquascape + + Enter temperature + Enter Ph + Enter ammonia + Enter KH + Enter GH + + Successful identification of water quality + Success to Add Aquascape Info + Success to Edit Aquascape Info + + Success to Edit Password + Please enter new password + + Success to Edit User Profile + Success to Delete User Account + Article Link + + This application is designed to monitor water quality in aquascapes using the Fuzzy Tsukamoto method. By utilizing a fuzzy algorithm, this application is able to measure important parameters, namely temperature, pH, ammonia, KH, and GH. Users will get recommendations for surefire tips to keep the aquascape ecosystem healthy and beautiful. In this application there are also articles about aquascape which can increase the users knowledge. + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..ea09b70 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/capstone/aquacare/ExampleUnitTest.kt b/app/src/test/java/com/capstone/aquacare/ExampleUnitTest.kt new file mode 100644 index 0000000..3e87e62 --- /dev/null +++ b/app/src/test/java/com/capstone/aquacare/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.capstone.aquacare + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..f5b2822 --- /dev/null +++ b/build.gradle @@ -0,0 +1,16 @@ +buildscript { + + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.google.gms:google-services:4.4.1' + } +}// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id 'com.android.application' version '7.4.1' apply false + id 'com.android.library' version '7.4.1' apply false + id 'org.jetbrains.kotlin.android' version '1.8.0' apply false +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..3c5031e --- /dev/null +++ b/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/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..1ca7d70 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue Feb 27 20:56:30 ICT 2024 +distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/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/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..3c01ded --- /dev/null +++ b/settings.gradle @@ -0,0 +1,16 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +rootProject.name = "AquaCare" +include ':app'