Second Commit:

Version 1.5 [Partialy Optimized Version] [UI Fixes And Improvment]
Todo:
Optimized the Code
Add String Theolgy
This commit is contained in:
Diassdp
2025-02-12 23:32:22 +07:00
parent d96b96bf42
commit db9c19a17a
5 changed files with 50 additions and 4 deletions

View File

@ -231,6 +231,10 @@ class MainActivity : AppCompatActivity() {
val resultData = ResultData(journalID, bloodSugar, diastolicBP, systolicBP, BMI, date, task) val resultData = ResultData(journalID, bloodSugar, diastolicBP, systolicBP, BMI, date, task)
healthDataList.add(resultData) healthDataList.add(resultData)
} }
val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault())
healthDataList.sortByDescending { it.date.let { date -> dateFormat.parse(date) } }
mainAdapter.notifyDataSetChanged() mainAdapter.notifyDataSetChanged()
} else { } else {
Log.d("error", task.exception?.message.toString()) Log.d("error", task.exception?.message.toString())

View File

@ -6,19 +6,23 @@ import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.database.FirebaseDatabase
import com.healthjournal.databinding.ActivityLoginBinding import com.healthjournal.databinding.ActivityLoginBinding
import com.healthjournal.ui.dashboard.MainActivity import com.healthjournal.ui.dashboard.MainActivity
import com.healthjournal.ui.register.RegisterActivity import com.healthjournal.ui.register.RegisterActivity
import com.healthjournal.ui.users.UsersInputActivity
class LoginActivity : AppCompatActivity() { class LoginActivity : AppCompatActivity() {
private lateinit var binding: ActivityLoginBinding private lateinit var binding: ActivityLoginBinding
private lateinit var user: FirebaseAuth private lateinit var user: FirebaseAuth
private lateinit var database: FirebaseDatabase
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityLoginBinding.inflate(layoutInflater) binding = ActivityLoginBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
user = FirebaseAuth.getInstance() user = FirebaseAuth.getInstance()
database = FirebaseDatabase.getInstance()
setuplistener() setuplistener()
} }
@ -44,8 +48,7 @@ class LoginActivity : AppCompatActivity() {
user.signInWithEmailAndPassword(email, password).addOnCompleteListener(LoginActivity()){ task -> user.signInWithEmailAndPassword(email, password).addOnCompleteListener(LoginActivity()){ task ->
if (task.isSuccessful) { if (task.isSuccessful) {
Toast.makeText(this, "Login Success", Toast.LENGTH_SHORT).show() Toast.makeText(this, "Login Success", Toast.LENGTH_SHORT).show()
startActivity(Intent(this@LoginActivity, MainActivity::class.java)) checkUserdata()
finish()
} }
else{ else{
Toast.makeText(this, task.exception!!.message, Toast.LENGTH_SHORT).show() 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()
}
}
}
}
} }

View File

@ -70,6 +70,8 @@ class ProfileActivity : AppCompatActivity() {
userRef.get().addOnCompleteListener(this) { userRef.get().addOnCompleteListener(this) {
if (it.isSuccessful) { if (it.isSuccessful) {
binding.edtName.setText(it.result.child("name").value.toString()) 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.edtDate.setText(it.result.child("date").value.toString())
binding.edtInputHeight.setText(it.result.child("height").value.toString()) binding.edtInputHeight.setText(it.result.child("height").value.toString())
binding.edtInputWeight.setText(it.result.child("weight").value.toString()) binding.edtInputWeight.setText(it.result.child("weight").value.toString())

View File

@ -23,7 +23,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:text="Please input your today data" android:text="Tolong Masukan Laporan Hari Ini"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/Primary_Dark" android:textColor="@color/Primary_Dark"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -65,6 +65,8 @@
android:inputType="number" android:inputType="number"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" android:textSize="12sp"
android:maxLength="3"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_SYS" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_SYS"
app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_SYS" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_SYS"
@ -106,6 +108,8 @@
android:inputType="number" android:inputType="number"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" android:textSize="12sp"
android:maxLength="2"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_DIA" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_pressure_DIA"
app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_DIA" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_pressure_DIA"
@ -147,6 +151,8 @@
android:inputType="number" android:inputType="number"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" android:textSize="12sp"
android:maxLength="3"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_sugar" app:layout_constraintEnd_toEndOf="@+id/tv_input_blood_sugar"
app:layout_constraintStart_toStartOf="@+id/tv_input_blood_sugar" app:layout_constraintStart_toStartOf="@+id/tv_input_blood_sugar"
@ -188,6 +194,8 @@
android:inputType="number" android:inputType="number"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" android:textSize="12sp"
android:maxLength="3"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tv_input_weight" app:layout_constraintEnd_toEndOf="@+id/tv_input_weight"
app:layout_constraintStart_toStartOf="@+id/tv_input_weight" app:layout_constraintStart_toStartOf="@+id/tv_input_weight"
@ -219,6 +227,7 @@
android:layout_height="20dp" android:layout_height="20dp"
android:background="@color/white" android:background="@color/white"
android:visibility="gone" android:visibility="gone"
android:maxLength="3"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
@ -253,13 +262,15 @@
<EditText <EditText
android:id="@+id/edt_input_note" android:id="@+id/edt_input_note"
android:layout_width="200dp" android:layout_width="200dp"
android:layout_height="155dp" android:layout_height="165dp"
android:padding="10dp"
android:background="@drawable/bg_input_box" android:background="@drawable/bg_input_box"
android:gravity="start|top" android:gravity="start|top"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="textMultiLine|textCapSentences" android:inputType="textMultiLine|textCapSentences"
android:maxLines="10" android:maxLines="10"
android:minLines="4" android:minLines="4"
android:textSize="11sp"
android:overScrollMode="always" android:overScrollMode="always"
android:scrollbars="vertical" android:scrollbars="vertical"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View File

@ -122,6 +122,7 @@
android:background="@drawable/bg_input_box" android:background="@drawable/bg_input_box"
android:textColor="@color/black" android:textColor="@color/black"
android:textAlignment="center" android:textAlignment="center"
android:maxLength="3"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -164,6 +165,7 @@
android:background="@drawable/bg_input_box" android:background="@drawable/bg_input_box"
android:textColor="@color/black" android:textColor="@color/black"
android:textAlignment="center" android:textAlignment="center"
android:maxLength="3"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"