diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 980bf19..8af07e7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,7 +15,7 @@ android:theme="@style/Theme.HealthJournal" tools:targetApi="31" > "$completedGoals/$totalGoals goals completed" } } + private fun populateDetailJournal() { val userID = user.currentUser?.uid val journalID = intent.getStringExtra("JOURNAL_KEY") @@ -56,18 +52,16 @@ class DetailJournalActivity : AppCompatActivity() { val result = task.result if (result.exists()) { val bmiValue = result.child("BMI").value.toString().toFloatOrNull() ?: 0f - Log.d("debug", bmiValue.toString()) binding.tvBloodsugarLevel2.text = "${result.child("bloodSugar").value ?: "N/A"} mg/dL" binding.tvBloodsugarDesc.text = result.child("recommendation").child("bloodSugarAnalysis").value?.toString() ?: "No data" - binding.tvBloodpressureLevel2.text = "${result.child("bloodPressureDIA").value ?: "N/A"}/${result.child("bloodPressureSYS").value ?: "N/A"} mm Hg" + binding.tvBloodpressureLevel2.text = "${result.child("bloodPressureSYS").value ?: "N/A"}/${result.child("bloodPressureDIA").value ?: "N/A"} mm Hg" binding.tvBloodpressureDesc.text = result.child("recommendation").child("bloodPressureAnalysis").value?.toString() ?: "No data" binding.tvBMILevel2.text = String.format("%.2f BMI", bmiValue) binding.tvBMIDesc.text = result.child("recommendation").child("BMIAnalysis").value?.toString() ?: "No data" binding.tvJournalNote.text = result.child("note").value?.toString() ?: "No notes available" val taskListSnapshot = result.child("recommendation").child("tasks") - Log.d("debug", taskListSnapshot.toString()) val taskList = mutableListOf>() if (taskListSnapshot.exists()) { for (taskSnapshot in taskListSnapshot.children) { @@ -90,28 +84,28 @@ class DetailJournalActivity : AppCompatActivity() { } } - private fun deleteHistory() { val userID = user.currentUser?.uid - val journalDate = intent.getStringExtra("JOURNAL_DATE") - if (userID != null && journalDate != null) { - database.getReference("users").child(userID).child("journal").child(journalDate) + val journalID = intent.getStringExtra("JOURNAL_KEY") + if (userID != null && journalID != null) { + database.getReference("users").child(userID).child("journal").child(journalID) .removeValue() - .addOnCompleteListener(DetailJournalActivity()) { + .addOnCompleteListener(this) { if (it.isSuccessful) { - Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT) - .show() + Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT).show() finish() } else { - Toast.makeText(this, it.exception!!.message, Toast.LENGTH_SHORT).show() + Toast.makeText(this, it.exception?.message, Toast.LENGTH_SHORT).show() } } + } else { + Toast.makeText(this, "Gagal menghapus: ID tidak ditemukan", Toast.LENGTH_SHORT).show() } } private fun setupListener() { - binding.btnDeleteHistory.setOnClickListener() { + binding.btnDeleteHistory.setOnClickListener { deleteHistory() } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/healthjournal/ui/laporan.kt b/app/src/main/java/com/healthjournal/ui/laporan/Laporan.kt similarity index 98% rename from app/src/main/java/com/healthjournal/ui/laporan.kt rename to app/src/main/java/com/healthjournal/ui/laporan/Laporan.kt index 3605460..cfccb3a 100644 --- a/app/src/main/java/com/healthjournal/ui/laporan.kt +++ b/app/src/main/java/com/healthjournal/ui/laporan/Laporan.kt @@ -1,10 +1,9 @@ -package com.healthjournal.ui +package com.healthjournal.ui.laporan import MyMarkerView import android.content.Intent import android.os.Bundle import android.view.MotionEvent -import android.widget.ArrayAdapter import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import com.github.mikephil.charting.charts.LineChart @@ -16,7 +15,6 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet import com.github.mikephil.charting.listener.ChartTouchListener import com.github.mikephil.charting.listener.OnChartGestureListener import com.github.mikephil.charting.listener.OnChartValueSelectedListener -import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.healthjournal.R import com.healthjournal.data.ResultData import com.healthjournal.ui.journal.detail.DetailJournalActivity diff --git a/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt b/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt index 27376e2..e6a52cb 100644 --- a/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt @@ -1,5 +1,6 @@ package com.healthjournal.ui.profile +import android.app.DatePickerDialog import android.content.Intent import android.os.Bundle import android.util.Log @@ -14,6 +15,7 @@ import com.google.firebase.database.database import com.healthjournal.R import com.healthjournal.databinding.ActivityProfileBinding import com.healthjournal.ui.login.LoginActivity +import java.util.Calendar class ProfileActivity : AppCompatActivity() { private lateinit var binding: ActivityProfileBinding @@ -36,15 +38,36 @@ class ProfileActivity : AppCompatActivity() { binding.btnLogout.setOnClickListener { logout() } - binding.btnUpdateData.setOnClickListener { updateData() } + binding.edtDate.setOnClickListener { + datepicker() + } } - private fun logout(){ + private fun datepicker(){ + val calendar = Calendar.getInstance() + val year = calendar.get(Calendar.YEAR) + val month = calendar.get(Calendar.MONTH) + val day = calendar.get(Calendar.DAY_OF_MONTH) + + val datePickerDialog = DatePickerDialog( + this, + { _, selectedYear, selectedMonth, selectedDay -> + val selectedDate = "$selectedDay/${selectedMonth + 1}/$selectedYear" + binding.edtDate.setText(selectedDate) + }, + year, month, day + ) + datePickerDialog.show() + } + + private fun logout() { user.signOut() - startActivity(Intent(this, LoginActivity::class.java)) + val intent = Intent(this, LoginActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + startActivity(intent) finish() } @@ -81,7 +104,4 @@ class ProfileActivity : AppCompatActivity() { } } } - - - } \ No newline at end of file diff --git a/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt b/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt index 50424fa..76ebe39 100644 --- a/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/register/RegisterActivity.kt @@ -7,6 +7,7 @@ import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.google.firebase.auth.FirebaseAuth import com.healthjournal.databinding.ActivityRegisterBinding +import com.healthjournal.ui.login.LoginActivity import com.healthjournal.ui.users.UsersInputActivity class RegisterActivity : AppCompatActivity() { @@ -26,7 +27,8 @@ class RegisterActivity : AppCompatActivity() { registerUser() } binding.btnLogin.setOnClickListener{ - + startActivity(Intent(this@RegisterActivity, LoginActivity::class.java)) + finish() } } diff --git a/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt b/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt index 588c429..9ce211e 100644 --- a/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/users/UsersInputActivity.kt @@ -26,7 +26,6 @@ class UsersInputActivity : AppCompatActivity() { user = FirebaseAuth.getInstance() val gender = arrayOf("Male", "Female", "Other") - // Adapter for conditions val conditionAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, gender) binding.dropdownGender.setAdapter(conditionAdapter) diff --git a/app/src/main/res/layout/activity_detail_journal.xml b/app/src/main/res/layout/activity_detail_journal.xml index c406647..e2ad41b 100644 --- a/app/src/main/res/layout/activity_detail_journal.xml +++ b/app/src/main/res/layout/activity_detail_journal.xml @@ -11,7 +11,7 @@ @@ -161,25 +161,23 @@ android:textColor="@color/Primary_Dark" android:textSize="16sp" android:textStyle="bold" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toEndOf="@+id/tv_title" app:layout_constraintHorizontal_bias="0.0" - app:layout_constraintStart_toStartOf="@+id/tv_BMI_level1" + app:layout_constraintStart_toStartOf="@+id/tv_title" app:layout_constraintTop_toBottomOf="@id/tv_BMI_desc" /> + android:textStyle="bold" + app:layout_constraintEnd_toEndOf="@+id/tv_goals1" + app:layout_constraintStart_toStartOf="@+id/tv_goals1" + app:layout_constraintTop_toBottomOf="@+id/tv_goals1" + tools:text="Goals Completed" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b279831..5b84887 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -240,7 +240,7 @@ z android:textSize="12sp" android:textStyle="bold" android:layout_marginTop="10dp" - android:text="Blood Sugar Level : " + android:text="Tingkat Gula Darah : " android:textColor="@color/Primary_Light" app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2" app:layout_constraintTop_toBottomOf="@+id/tv_sub_title_2" /> @@ -276,7 +276,7 @@ z android:layout_height="wrap_content" android:textColor="@color/Primary_Light" android:layout_marginTop="10dp" - android:text="Blood Pressure Level : " + android:text="Tingkat Tekanan Darah : " android:textSize="12sp" android:textStyle="bold" app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2" @@ -312,7 +312,7 @@ z android:layout_height="wrap_content" android:layout_marginTop="12dp" android:textColor="@color/Primary_Light" - android:text="BMI(Body Mass Index) : " + android:text="BMI(Inkes Massa Tubuh) : " android:textSize="12sp" android:textStyle="bold" app:layout_constraintEnd_toEndOf="@+id/tv_sub_title_2" @@ -470,18 +470,18 @@ z android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/bg_button" - android:visibility="gone" android:text="Rekomendasi Sekarang" android:textAllCaps="true" android:textColor="@color/white" android:textSize="14sp" + android:visibility="gone" app:backgroundTint="@color/Primary_Light" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.496" - app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="@+id/fl_daily_counter" + app:layout_constraintHorizontal_bias="0.48" + app:layout_constraintStart_toStartOf="@+id/fl_daily_counter" app:layout_constraintTop_toBottomOf="@+id/fl_daily_counter" - app:layout_constraintVertical_bias="1.0" /> + app:layout_constraintVertical_bias="0.0" /> - + android:layout_height="wrap_content"> + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintEnd_toEndOf="parent" /> + tools:listitem="@layout/item_goals_recommendation" + app:layout_constraintTop_toBottomOf="@id/tv_title_recommendation" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:nestedScrollingEnabled="false" + android:paddingBottom="16dp" /> - - \ No newline at end of file + +