diff --git a/app/src/main/java/deakin/gopher/guardian/services/EmailPasswordAuthService.kt b/app/src/main/java/deakin/gopher/guardian/services/EmailPasswordAuthService.kt index 14b16ac90..387f3c2cd 100644 --- a/app/src/main/java/deakin/gopher/guardian/services/EmailPasswordAuthService.kt +++ b/app/src/main/java/deakin/gopher/guardian/services/EmailPasswordAuthService.kt @@ -50,6 +50,7 @@ class EmailPasswordAuthService( } companion object { + @JvmStatic fun resetPassword(emailAddress: EmailAddress): Task? { return try { FirebaseAuth.getInstance().sendPasswordResetEmail(emailAddress.emailAddress) @@ -59,6 +60,7 @@ class EmailPasswordAuthService( } } + @JvmStatic fun signOut(context: Context) { try { SessionManager.logoutUser() diff --git a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/CallAmbulanceActivity.kt b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/CallAmbulanceActivity.kt index d52188ba9..d370dd6e9 100644 --- a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/CallAmbulanceActivity.kt +++ b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/CallAmbulanceActivity.kt @@ -12,8 +12,9 @@ import androidx.core.view.GravityCompat import androidx.drawerlayout.widget.DrawerLayout import com.google.android.material.navigation.NavigationView import deakin.gopher.guardian.R +import deakin.gopher.guardian.services.EmailPasswordAuthService import deakin.gopher.guardian.view.general.BaseActivity -import deakin.gopher.guardian.view.general.Homepage4caretaker +import deakin.gopher.guardian.view.general.Homepage4admin class CallAmbulanceActivity : BaseActivity() { var hospitalSpinner: Spinner? = null @@ -35,6 +36,29 @@ class CallAmbulanceActivity : BaseActivity() { } } + navigationView.setNavigationItemSelectedListener { item -> + when (item.itemId) { + R.id.nav_home -> { + startActivity(Intent(this, Homepage4admin::class.java)) + finish() + true + } + R.id.nav_signout -> { + androidx.appcompat.app.AlertDialog.Builder(this) + .setTitle(R.string.sign_out) + .setMessage(R.string.sign_out_confirmation_message) + .setPositiveButton(R.string.sign_out) { _, _ -> + EmailPasswordAuthService.signOut(this) + finish() + } + .setNegativeButton(R.string.stay_in, null) + .show() + true + } + else -> false + } + } + hospitalSpinner = findViewById(R.id.hospitalSpinner) // Create an ArrayAdapter using the string array and a default Spinner layout @@ -69,7 +93,7 @@ class CallAmbulanceActivity : BaseActivity() { fun onConfirmIncidentCancelClick(view: View?) { val medicalDiagnosticsActivityIntent = - Intent(this@CallAmbulanceActivity, Homepage4caretaker::class.java) + Intent(this@CallAmbulanceActivity, Homepage4admin::class.java) startActivity(medicalDiagnosticsActivityIntent) } diff --git a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/ConfirmIncidentActivity.kt b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/ConfirmIncidentActivity.kt index 77dc78817..d8cc8b1f0 100644 --- a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/ConfirmIncidentActivity.kt +++ b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/confirmincident/ConfirmIncidentActivity.kt @@ -14,8 +14,10 @@ import androidx.drawerlayout.widget.DrawerLayout import androidx.media3.common.util.UnstableApi import com.google.android.material.navigation.NavigationView import deakin.gopher.guardian.R +import deakin.gopher.guardian.services.EmailPasswordAuthService import deakin.gopher.guardian.view.falldetection.FallAlertActivity import deakin.gopher.guardian.view.general.BaseActivity +import deakin.gopher.guardian.view.general.Homepage4admin class ConfirmIncidentActivity : BaseActivity() { var hospitalSpinner: Spinner? = null @@ -37,6 +39,29 @@ class ConfirmIncidentActivity : BaseActivity() { } } + navigationView.setNavigationItemSelectedListener { item -> + when (item.itemId) { + R.id.nav_home -> { + startActivity(Intent(this, Homepage4admin::class.java)) + finish() + true + } + R.id.nav_signout -> { + androidx.appcompat.app.AlertDialog.Builder(this) + .setTitle(R.string.sign_out) + .setMessage(R.string.sign_out_confirmation_message) + .setPositiveButton(R.string.sign_out) { _, _ -> + EmailPasswordAuthService.signOut(this) + finish() + } + .setNegativeButton(R.string.stay_in, null) + .show() + true + } + else -> false + } + } + hospitalSpinner = findViewById(R.id.hospitalSpinner) // Create an ArrayAdapter using the string array and a default Spinner layout diff --git a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/falsealarm/FalseAlertConfirmedActivity.kt b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/falsealarm/FalseAlertConfirmedActivity.kt index 6ece3f78c..d522a2a84 100644 --- a/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/falsealarm/FalseAlertConfirmedActivity.kt +++ b/app/src/main/java/deakin/gopher/guardian/view/caretaker/notifications/falsealarm/FalseAlertConfirmedActivity.kt @@ -10,8 +10,9 @@ import androidx.core.view.GravityCompat import androidx.drawerlayout.widget.DrawerLayout import com.google.android.material.navigation.NavigationView import deakin.gopher.guardian.R +import deakin.gopher.guardian.services.EmailPasswordAuthService import deakin.gopher.guardian.view.general.BaseActivity -import deakin.gopher.guardian.view.general.Homepage4caretaker +import deakin.gopher.guardian.view.general.Homepage4admin class FalseAlertConfirmedActivity : BaseActivity() { var falseAlertMenuButton: ImageView? = null @@ -29,11 +30,32 @@ class FalseAlertConfirmedActivity : BaseActivity() { val drawerLayout = findViewById(R.id.drawer_layout) navigationView.itemIconTintList = null - falseAlertMenuButton?.setOnClickListener( - View.OnClickListener { v: View? -> - drawerLayout.openDrawer(GravityCompat.START) - }, - ) + falseAlertMenuButton?.setOnClickListener { + drawerLayout.openDrawer(GravityCompat.START) + } + + navigationView.setNavigationItemSelectedListener { item -> + when (item.itemId) { + R.id.nav_home -> { + startActivity(Intent(this, Homepage4admin::class.java)) + finish() + true + } + R.id.nav_signout -> { + androidx.appcompat.app.AlertDialog.Builder(this) + .setTitle(R.string.sign_out) + .setMessage(R.string.sign_out_confirmation_message) + .setPositiveButton(R.string.sign_out) { _, _ -> + EmailPasswordAuthService.signOut(this) + finish() + } + .setNegativeButton(R.string.stay_in, null) + .show() + true + } + else -> false + } + } } private fun showDialog() { @@ -43,7 +65,7 @@ class FalseAlertConfirmedActivity : BaseActivity() { val okButtonFalseAlert = dialog.findViewById