diff --git a/app/src/main/java/deakin/gopher/guardian/view/patient/dailyreport/DailyReportActivity.java b/app/src/main/java/deakin/gopher/guardian/view/patient/dailyreport/DailyReportActivity.java index 4b697503e..aa2a09206 100644 --- a/app/src/main/java/deakin/gopher/guardian/view/patient/dailyreport/DailyReportActivity.java +++ b/app/src/main/java/deakin/gopher/guardian/view/patient/dailyreport/DailyReportActivity.java @@ -9,8 +9,9 @@ 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.Homepage4admin; +import deakin.gopher.guardian.view.general.Homepage4caretaker; +import deakin.gopher.guardian.view.general.LoginActivity; public class DailyReportActivity extends AppCompatActivity { @@ -26,34 +27,41 @@ protected void onCreate(final Bundle savedInstanceState) { final DrawerLayout drawerLayout = findViewById(R.id.drawer_layout); navigationView.setItemIconTintList(null); - dailyReportMenuButton.setOnClickListener( - v -> { - drawerLayout.openDrawer(GravityCompat.START); - }); - navigationView.setNavigationItemSelectedListener( - item -> { - int id = item.getItemId(); - if (id == R.id.nav_home) { - startActivity(new Intent(DailyReportActivity.this, Homepage4admin.class)); + menuItem -> { + Intent intent = null; + final int itemId = menuItem.getItemId(); + + if (itemId == R.id.nav_home) { + final boolean isAdmin = + deakin.gopher.guardian.model.login.SessionManager.INSTANCE + .getCurrentUser() + .getRole() + instanceof deakin.gopher.guardian.model.login.Role.Admin; + intent = + new Intent( + DailyReportActivity.this, + isAdmin ? Homepage4admin.class : Homepage4caretaker.class); + } else if (itemId == R.id.nav_signout) { + com.google.firebase.auth.FirebaseAuth.getInstance().signOut(); + intent = new Intent(DailyReportActivity.this, LoginActivity.class); + startActivity(intent); finish(); - } else if (id == R.id.nav_signout) { - new androidx.appcompat.app.AlertDialog.Builder(this) - .setTitle(R.string.sign_out) - .setMessage(R.string.sign_out_confirmation_message) - .setPositiveButton( - R.string.sign_out, - (dialog, which) -> { - EmailPasswordAuthService.signOut(this); - finish(); - }) - .setNegativeButton(R.string.stay_in, null) - .show(); + return true; + } + + if (intent != null) { + startActivity(intent); + } + + if (drawerLayout != null) { + drawerLayout.closeDrawer(GravityCompat.START); } - drawerLayout.closeDrawer(GravityCompat.START); return true; }); + dailyReportMenuButton.setOnClickListener(v -> drawerLayout.openDrawer(GravityCompat.START)); + final String patientNameExtra = getIntent().getStringExtra("patientName"); final String patientName = patientNameExtra != null ? patientNameExtra.split(" ")[0] : "";