From 7f24f1cae1605624f3216c72e73612c3074374be Mon Sep 17 00:00:00 2001 From: SaiD Date: Wed, 26 Nov 2025 07:22:07 +0530 Subject: [PATCH] UI changes --- .idea/markdown.xml | 8 + app/build.gradle.kts | 1 + app/src/main/AndroidManifest.xml | 6 +- .../example/animalrating/CameraProcessor.kt | 5 + .../animalrating/CowSelectionActivity.kt | 376 +++++++++++-- .../example/animalrating/GalleryActivity.kt | 192 +++++-- .../com/example/animalrating/HomeActivity.kt | 165 +++++- .../example/animalrating/StringProvider.kt | 101 ++++ .../main/res/drawable/bg_spinner_rounded.xml | 5 + .../main/res/drawable/cow_illustration_0.png | Bin 0 -> 345336 bytes .../main/res/drawable/cow_illustration_1.png | Bin 0 -> 630861 bytes .../main/res/drawable/cow_illustration_2.png | Bin 0 -> 172209 bytes .../main/res/drawable/cow_illustration_3.png | Bin 0 -> 187321 bytes .../main/res/drawable/cow_illustration_4.png | Bin 0 -> 161199 bytes app/src/main/res/drawable/ic_back_arrow.xml | 10 + .../res/drawable/ic_round_back_button.xml | 22 + app/src/main/res/drawable/rounded_bg.xml | 5 + .../res/layout/activity_cow_selection.xml | 524 ++++++++++++++---- .../res/layout/activity_full_screen_image.xml | 18 +- app/src/main/res/layout/activity_gallery.xml | 107 +++- app/src/main/res/layout/activity_home.xml | 244 +++++--- app/src/main/res/layout/activity_main.xml | 22 + .../main/res/layout/item_image_thumbnail.xml | 44 ++ app/src/main/res/raw/strings.json | 118 ++++ app/src/main/res/values/themes.xml | 14 +- vectors_source.md | 1 + 26 files changed, 1656 insertions(+), 332 deletions(-) create mode 100644 .idea/markdown.xml create mode 100644 app/src/main/java/com/example/animalrating/StringProvider.kt create mode 100644 app/src/main/res/drawable/bg_spinner_rounded.xml create mode 100644 app/src/main/res/drawable/cow_illustration_0.png create mode 100644 app/src/main/res/drawable/cow_illustration_1.png create mode 100644 app/src/main/res/drawable/cow_illustration_2.png create mode 100644 app/src/main/res/drawable/cow_illustration_3.png create mode 100644 app/src/main/res/drawable/cow_illustration_4.png create mode 100644 app/src/main/res/drawable/ic_back_arrow.xml create mode 100644 app/src/main/res/drawable/ic_round_back_button.xml create mode 100644 app/src/main/res/drawable/rounded_bg.xml create mode 100644 app/src/main/res/layout/item_image_thumbnail.xml create mode 100644 app/src/main/res/raw/strings.json create mode 100644 vectors_source.md diff --git a/.idea/markdown.xml b/.idea/markdown.xml new file mode 100644 index 0000000..c61ea33 --- /dev/null +++ b/.idea/markdown.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 25b8a5e..8f20281 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -45,6 +45,7 @@ dependencies { val cameraxVersion = "1.5.1" implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.cardview:cardview:1.0.0") + implementation("com.google.android.material:material:1.12.0") implementation("androidx.camera:camera-core:$cameraxVersion") implementation("androidx.camera:camera-camera2:$cameraxVersion") implementation("androidx.camera:camera-lifecycle:$cameraxVersion") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9987565..0b84693 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,9 @@ + + + + android:theme="@style/Theme.AnimalRating" + android:requestLegacyExternalStorage="true"> (R.id.btnExit).setOnClickListener { + finish() + } frameProcessor = FrameProcessor() diff --git a/app/src/main/java/com/example/animalrating/CowSelectionActivity.kt b/app/src/main/java/com/example/animalrating/CowSelectionActivity.kt index 33b92f8..1cb5ac0 100644 --- a/app/src/main/java/com/example/animalrating/CowSelectionActivity.kt +++ b/app/src/main/java/com/example/animalrating/CowSelectionActivity.kt @@ -1,18 +1,30 @@ package com.example.animalrating import android.content.Intent +import android.content.pm.PackageManager import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Color import android.os.Bundle +import android.view.View +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView import android.widget.Button +import android.widget.GridLayout import android.widget.ImageView import android.widget.LinearLayout +import android.widget.RadioButton +import android.widget.RadioGroup import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import com.google.android.material.textfield.TextInputEditText +import com.google.android.material.textfield.TextInputLayout import java.io.File import java.io.FileOutputStream +import java.io.FileWriter import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -21,12 +33,57 @@ class CowSelectionActivity : AppCompatActivity() { private var currentCowName: String? = null private lateinit var imagesContainer: LinearLayout + private val storagePermissionCode = 101 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cow_selection) + // Initialize StringProvider + StringProvider.initialize(this) + + // Set UI text from StringProvider + findViewById(R.id.tvToolbarTitle)?.text = StringProvider.getString("title_cow_selection") + findViewById(R.id.tvAddCowDetails)?.text = StringProvider.getString("title_add_cow_details") + + findViewById(R.id.tilSpecies)?.hint = StringProvider.getString("hint_species") + findViewById(R.id.tilBreed)?.hint = StringProvider.getString("hint_breed") + findViewById(R.id.tilAge)?.hint = StringProvider.getString("hint_age") + findViewById(R.id.tilMilk)?.hint = StringProvider.getString("hint_milk_yield") + findViewById(R.id.tilCalving)?.hint = StringProvider.getString("hint_calving_number") + findViewById(R.id.tilDescription)?.hint = StringProvider.getString("hint_description") + + findViewById(R.id.tvReproductiveStatus)?.text = StringProvider.getString("label_reproductive_status") + findViewById(R.id.rbPregnant)?.text = StringProvider.getString("radio_pregnant") + findViewById(R.id.rbCalved)?.text = StringProvider.getString("radio_calved") + findViewById(R.id.rbNone)?.text = StringProvider.getString("radio_none") + + findViewById(R.id.tvUploadPhotos)?.text = StringProvider.getString("label_upload_photos") + findViewById