diff --git a/app/src/main/java/com/app/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java b/app/src/main/java/com/app/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java index cb66de0..e1156dd 100644 --- a/app/src/main/java/com/app/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java +++ b/app/src/main/java/com/app/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java @@ -3,6 +3,7 @@ package com.app.simplitend.caregiverdashboard.fragments; import static com.app.simplitend.apputils.NotificationService.CONTENT_TYPE_KEY; import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE; import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY; +import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoActivity.IS_CAREGIVER; import static com.app.simplitend.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY; import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_ID; import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_TOKEN; @@ -234,9 +235,15 @@ public class CgDashBoardFragment extends Fragment implements CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> { this.careGiverData = careGiverData1; + if (careGiverData == null){ + Toast.makeText(requireContext(), "Couldn't load notifications", Toast.LENGTH_SHORT).show(); + return; + } + Intent intent = new Intent(requireActivity(), NotificationsActivity.class); intent.putExtra(USER_ID, careGiverData.caregiver_xid + ""); intent.putExtra(USER_TOKEN, AppUtil.getCgToken(requireContext())); + intent.putExtra(IS_CAREGIVER, true); startActivity(intent); }), true); }); diff --git a/app/src/main/java/com/app/simplitend/patient_dashboard/NotificationsActivity.java b/app/src/main/java/com/app/simplitend/patient_dashboard/NotificationsActivity.java index bc7407e..28386c4 100644 --- a/app/src/main/java/com/app/simplitend/patient_dashboard/NotificationsActivity.java +++ b/app/src/main/java/com/app/simplitend/patient_dashboard/NotificationsActivity.java @@ -1,5 +1,7 @@ package com.app.simplitend.patient_dashboard; +import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoActivity.IS_CAREGIVER; + import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -26,6 +28,7 @@ import retrofit2.Response; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Query; +import retrofit2.http.Url; public class NotificationsActivity extends AppCompatActivity implements Callback>> { @@ -39,6 +42,8 @@ public class NotificationsActivity extends AppCompatActivity implements Callback protected String token; public static final String USER_TOKEN = "user_token"; + protected boolean isCaregiver; + private NotificationsAdapter notificationsAdapter; @Override @@ -51,6 +56,7 @@ public class NotificationsActivity extends AppCompatActivity implements Callback user_id = getIntent().getStringExtra(USER_ID); token = getIntent().getStringExtra(USER_TOKEN); + isCaregiver = getIntent().getBooleanExtra(IS_CAREGIVER, false); binding.notificationRv.setLayoutManager(new LinearLayoutManager(this)); notificationsAdapter = new NotificationsAdapter(); @@ -58,8 +64,13 @@ public class NotificationsActivity extends AppCompatActivity implements Callback if (user_id != null){ binding.progress.setVisibility(View.VISIBLE); - apiService.getNotifications(user_id, user_id, - "Bearer " + token).enqueue(this); + if (isCaregiver){ + apiService.getNotifications("api/get-notifications?caregiverId=" + user_id, + "Bearer " + token).enqueue(this); + }else{ + apiService.getNotifications("api/get-notifications?patientId=" + user_id, + "Bearer " + token).enqueue(this); + } }else{ binding.errorMsg.setText(R.string.couldn_t_load_notifications); binding.errorView.setVisibility(View.VISIBLE); @@ -136,6 +147,7 @@ public class NotificationsActivity extends AppCompatActivity implements Callback public NotificationViewholderBinding binding; public NotificationViewHolder(@NonNull NotificationViewholderBinding binding){ super(binding.getRoot()); + this.binding = binding; } public void setData(Notification notification){ @@ -159,9 +171,8 @@ public class NotificationsActivity extends AppCompatActivity implements Callback public interface NotificationsApiService{ - @GET("api/get-notifications") - Call>> getNotifications(@Query("caregiverId") String c_id, - @Query("patientId") String p_id, + @GET + Call>> getNotifications(@Url String url, @Header("Authorization") String token); } } \ No newline at end of file diff --git a/app/src/main/java/com/app/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java b/app/src/main/java/com/app/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java index 7f16747..2acb298 100644 --- a/app/src/main/java/com/app/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java +++ b/app/src/main/java/com/app/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java @@ -1,8 +1,11 @@ package com.app.simplitend.patient_dashboard.fragments; import static com.app.simplitend.apputils.NotificationService.CONTENT_TYPE_KEY; +import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoActivity.IS_CAREGIVER; import static com.app.simplitend.patient_dashboard.DirectionToHomeActivity.LAT_KEY; import static com.app.simplitend.patient_dashboard.DirectionToHomeActivity.LNG_KEY; +import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_ID; +import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_TOKEN; import static com.app.simplitend.patient_dashboard.fragments.CallsActivity.CALL_CONTACT_LIST_KEY; import android.app.Activity; @@ -25,11 +28,13 @@ import androidx.navigation.Navigation; import com.app.simplitend.R; import com.app.simplitend.appblocking.FUAActivity; import com.app.simplitend.apputils.AppUtil; +import com.app.simplitend.apputils.CaregiverDataCache; import com.app.simplitend.apputils.Constants; import com.app.simplitend.apputils.PatientDataCache; import com.app.simplitend.caregiverdashboard.mvvm.CaregiverMainViewModel; import com.app.simplitend.databinding.PatientDashboardFragmentBinding; import com.app.simplitend.patient_dashboard.DirectionToHomeActivity; +import com.app.simplitend.patient_dashboard.NotificationsActivity; import com.app.simplitend.patient_dashboard.PatientMainViewModel; import com.app.simplitend.patientprofile.ProfileContracts; import com.app.simplitend.patientprofile.medreminder.mvvm.ReminderViewModel; @@ -250,6 +255,22 @@ public class PatientDashboardFragment extends Fragment implements ProfileContrac } }); + binding.notifications.setOnClickListener(v -> { + PatientDataCache.getPatientData(requireActivity(), (patientData1 -> { + this.patientData = patientData1; + + if (patientData == null){ + Toast.makeText(requireContext(), "Couldn't load notifications", Toast.LENGTH_SHORT).show(); + return; + } + + Intent intent = new Intent(requireActivity(), NotificationsActivity.class); + intent.putExtra(USER_ID, patientData.patientId + ""); + intent.putExtra(USER_TOKEN, AppUtil.getPatientToken(requireContext())); + intent.putExtra(IS_CAREGIVER, false); + startActivity(intent); + }), true); + }); } diff --git a/app/src/main/res/layout/patient_dashboard_fragment.xml b/app/src/main/res/layout/patient_dashboard_fragment.xml index 6b74d2a..db47fec 100644 --- a/app/src/main/res/layout/patient_dashboard_fragment.xml +++ b/app/src/main/res/layout/patient_dashboard_fragment.xml @@ -62,6 +62,7 @@ />