diff --git a/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt b/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt index 2a60205..f5994d7 100644 --- a/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/dashboard/MainActivity.kt @@ -231,6 +231,10 @@ class MainActivity : AppCompatActivity() { val resultData = ResultData(journalID, bloodSugar, diastolicBP, systolicBP, BMI, date, task) healthDataList.add(resultData) } + + val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + healthDataList.sortByDescending { it.date.let { date -> dateFormat.parse(date) } } + mainAdapter.notifyDataSetChanged() } else { Log.d("error", task.exception?.message.toString()) diff --git a/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt b/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt index c44427a..4e504a4 100644 --- a/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/login/LoginActivity.kt @@ -6,19 +6,23 @@ import android.util.Log import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.database.FirebaseDatabase import com.healthjournal.databinding.ActivityLoginBinding import com.healthjournal.ui.dashboard.MainActivity import com.healthjournal.ui.register.RegisterActivity +import com.healthjournal.ui.users.UsersInputActivity class LoginActivity : AppCompatActivity() { private lateinit var binding: ActivityLoginBinding private lateinit var user: FirebaseAuth + private lateinit var database: FirebaseDatabase override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityLoginBinding.inflate(layoutInflater) setContentView(binding.root) user = FirebaseAuth.getInstance() + database = FirebaseDatabase.getInstance() setuplistener() } @@ -44,8 +48,7 @@ class LoginActivity : AppCompatActivity() { user.signInWithEmailAndPassword(email, password).addOnCompleteListener(LoginActivity()){ task -> if (task.isSuccessful) { Toast.makeText(this, "Login Success", Toast.LENGTH_SHORT).show() - startActivity(Intent(this@LoginActivity, MainActivity::class.java)) - finish() + checkUserdata() } else{ Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() @@ -54,4 +57,28 @@ class LoginActivity : AppCompatActivity() { } } } + + private fun checkUserdata() { + val firebaseUser = user.currentUser + if (firebaseUser != null) { + val userID = firebaseUser.uid + val userRef = database.getReference("users").child(userID) + userRef.get().addOnCompleteListener { task -> + if (task.isSuccessful) { + if (task.result.exists() && task.result.childrenCount > 0) { + // User has data, proceed to MainActivity + startActivity(Intent(this@LoginActivity, MainActivity::class.java)) + finish() + } else { + Toast.makeText(this, "No user data found. Please set up your profile.", Toast.LENGTH_LONG).show() + startActivity(Intent(this@LoginActivity, UsersInputActivity::class.java)) + finish() + } + } else { + Toast.makeText(this, "Failed to retrieve user data.", Toast.LENGTH_SHORT).show() + } + } + } + } + } \ No newline at end of file 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 396c6f4..5123ffd 100644 --- a/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt +++ b/app/src/main/java/com/healthjournal/ui/profile/ProfileActivity.kt @@ -70,6 +70,8 @@ class ProfileActivity : AppCompatActivity() { userRef.get().addOnCompleteListener(this) { if (it.isSuccessful) { binding.edtName.setText(it.result.child("name").value.toString()) + binding.tvMyname.text = it.result.child("name").value.toString() + binding.tvMyemail.text = it.result.child("email").value.toString() binding.edtDate.setText(it.result.child("date").value.toString()) binding.edtInputHeight.setText(it.result.child("height").value.toString()) binding.edtInputWeight.setText(it.result.child("weight").value.toString()) diff --git a/app/src/main/res/layout/activity_journal_input.xml b/app/src/main/res/layout/activity_journal_input.xml index 8028e78..fb989e2 100644 --- a/app/src/main/res/layout/activity_journal_input.xml +++ b/app/src/main/res/layout/activity_journal_input.xml @@ -23,7 +23,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" - android:text="Please input your today data" + android:text="Tolong Masukan Laporan Hari Ini" android:textStyle="bold" android:textColor="@color/Primary_Dark" app:layout_constraintEnd_toEndOf="parent" @@ -65,6 +65,8 @@ android:inputType="number" android:textColor="@color/black" android:textSize="12sp" + android:maxLength="3" + android:textAlignment="center" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_SYS" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_SYS" @@ -106,6 +108,8 @@ android:inputType="number" android:textColor="@color/black" android:textSize="12sp" + android:maxLength="2" + android:textAlignment="center" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_DIA" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_DIA" @@ -147,6 +151,8 @@ android:inputType="number" android:textColor="@color/black" android:textSize="12sp" + android:maxLength="3" + android:textAlignment="center" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_sugar" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_sugar" @@ -188,6 +194,8 @@ android:inputType="number" android:textColor="@color/black" android:textSize="12sp" + android:maxLength="3" + android:textAlignment="center" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/tv_input_weight" app:layout_constraintStart_toStartOf="@+id/tv_input_weight" @@ -219,6 +227,7 @@ android:layout_height="20dp" android:background="@color/white" android:visibility="gone" + android:maxLength="3" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> @@ -253,13 +262,15 @@