From 72c9a5859549ab4a9fb4177ae5bf0a0ee32e416f Mon Sep 17 00:00:00 2001 From: Aditya_WDI Date: Tue, 5 Sep 2023 15:51:12 +0530 Subject: [PATCH] . --- .idea/deploymentTargetDropDown.xml | 2 +- .../simplitend/articles/ArticlesAdapter.java | 2 +- .../activities/CaregiverDashActivity.java | 22 +++++++++- .../activities/CaregiverSettingsActivity.java | 42 ++++++++++++++++--- .../activities/EditProfileInfoActivity.java | 2 +- .../fragments/CgDashBoardFragment.java | 12 +++--- .../mvvm/CaregiverMainViewModel.java | 4 ++ .../mvvm/CgDashboardApiService.java | 4 ++ .../mvvm/CgHomeContracts.java | 4 ++ .../mvvm/CgHomeRepository.java | 25 +++++++++++ .../cg_geofencing/CgGeoFencingActivity.java | 4 +- .../fragments/SignInFragment.java | 2 +- .../fragments/register/SplashFragment.java | 24 ++++++++++- .../res/layout/activity_caregiver_profile.xml | 2 +- .../res/layout/caregiver_dashboard_menu.xml | 2 +- .../main/res/layout/my_patient_fragment.xml | 2 +- 16 files changed, 132 insertions(+), 23 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 4eaa23e..327134a 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -12,7 +12,7 @@ - + diff --git a/app/src/main/java/com/ssb/simplitend/articles/ArticlesAdapter.java b/app/src/main/java/com/ssb/simplitend/articles/ArticlesAdapter.java index 78f1227..03577c2 100644 --- a/app/src/main/java/com/ssb/simplitend/articles/ArticlesAdapter.java +++ b/app/src/main/java/com/ssb/simplitend/articles/ArticlesAdapter.java @@ -67,7 +67,7 @@ public class ArticlesAdapter extends ListAdapter 0){ + first_name = name[0]; + } + } + + binding.toolbar.setTitle("Welcome " + first_name); + } + } + } private void replaceFragment(Fragment fragment, String tag){ @@ -216,8 +234,8 @@ public class CaregiverDashActivity extends AppCompatActivity implements binding.toolbar.setNavigationIconTint(getResources().getColor(R.color.black)); String first_name = ""; - if (careGiverData != null && careGiverData.patientDetails != null && careGiverData.patientDetails.first_name != null){ - String[] name = careGiverData.patientDetails.first_name.split(" "); + if (careGiverData != null && careGiverData.first_name != null){ + String[] name = careGiverData.first_name.split(" "); if (name.length > 0){ first_name = name[0]; } diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java index 213c6d6..0655e36 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java @@ -1,25 +1,35 @@ package com.ssb.simplitend.caregiverdashboard.activities; import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.ViewModelProvider; +import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; +import android.widget.Toast; import com.ssb.simplitend.R; import com.ssb.simplitend.apputils.AppUtil; import com.ssb.simplitend.caregiverdashboard.activities.deactivateacc.DeActivateAccountActivity; +import com.ssb.simplitend.caregiverdashboard.mvvm.CaregiverMainViewModel; +import com.ssb.simplitend.caregiverdashboard.mvvm.CgHomeContracts; import com.ssb.simplitend.databinding.ActivityCgSettingsBinding; import com.ssb.simplitend.welcome.activities.WelcomeActivity; -public class CaregiverSettingsActivity extends AppCompatActivity { +public class CaregiverSettingsActivity extends AppCompatActivity implements CgHomeContracts.SignOutCallback { private ActivityCgSettingsBinding binding; + private CaregiverMainViewModel viewModel; + private ProgressDialog progressDialog; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityCgSettingsBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); + viewModel = new ViewModelProvider(this).get(CaregiverMainViewModel.class); + progressDialog = new ProgressDialog(this); initViews(); @@ -40,12 +50,13 @@ public class CaregiverSettingsActivity extends AppCompatActivity { ((dialogInterface, i) -> {}), getString(R.string.yes), ((dialogInterface, i) -> { - AppUtil.cgSignOut(this); + progressDialog.setTitle("Please wait..."); + progressDialog.setMessage("while we sign you out"); + progressDialog.setCancelable(false); + progressDialog.show(); - Intent intent = new Intent(this, WelcomeActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); - startActivity(intent); - finish(); + viewModel.signOut("Bearer " + AppUtil.getCgToken(this), + this); })); }); @@ -54,4 +65,23 @@ public class CaregiverSettingsActivity extends AppCompatActivity { startActivity(intent); }); } + + @Override + public void onSignOutSuccess() { + progressDialog.dismiss(); + + AppUtil.cgSignOut(this); + + Intent intent = new Intent(this, WelcomeActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + startActivity(intent); + finish(); + } + + @Override + public void onSignOutFailed(Throwable t, String message) { + progressDialog.dismiss(); + + Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java index 28097c0..d959b26 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/activities/EditProfileInfoActivity.java @@ -173,7 +173,7 @@ public class EditProfileInfoActivity extends AppCompatActivity implements } // load patient data - if (careGiverData.profile_photo != null){ + if (patientData.profile_photo != null){ Glide.with(this) .load(AppUtil.IMAGE_BASE_URL + patientData.profile_photo) .placeholder(android.R.color.darker_gray) diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java index aab449f..0cc44a5 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/fragments/CgDashBoardFragment.java @@ -87,7 +87,6 @@ public class CgDashBoardFragment extends Fragment implements @Override public void onResume() { super.onResume(); - Log.d("aditya", "onResume: "); CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> { this.careGiverData = careGiverData1; @@ -124,12 +123,12 @@ public class CgDashBoardFragment extends Fragment implements } private void initViews() { - Glide.with(requireActivity()) + Glide.with(binding.activityGif) .asGif() .load(R.raw.anim_pulse) .into(binding.activityGif); - Glide.with(requireActivity()) + Glide.with(binding.upComingGif) .asGif() .load(R.raw.anim_pulse) .into(binding.upComingGif); @@ -145,7 +144,7 @@ public class CgDashBoardFragment extends Fragment implements public void setArticleDetails(ArticleResult articleResult){ if (articleResult == null) return; - Glide.with(requireActivity()) + Glide.with(binding.articleImg) .load(AppUtil.IMAGE_BASE_URL + articleResult.large_image) .centerCrop() .placeholder(android.R.color.darker_gray) @@ -242,6 +241,7 @@ public class CgDashBoardFragment extends Fragment implements private void loadPatientData() { LatLng latLng; + String patient_name; // loading patient's location try { @@ -251,9 +251,11 @@ public class CgDashBoardFragment extends Fragment implements double lng = Double.parseDouble(patientData.lng); latLng = new LatLng(lat, lng); + patient_name = patientData.first_name + ""; }catch (Exception e){ // near marine drive latLng = new LatLng(18.93294274664527, 72.82806102186441); + patient_name = "Default location"; } if (mGoogleMap == null) return; @@ -262,7 +264,7 @@ public class CgDashBoardFragment extends Fragment implements MarkerOptions markerOptions = new MarkerOptions() .position(latLng) - .title(patientData.first_name + ""); + .title(patient_name); mGoogleMap.addMarker(markerOptions); mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 16));; diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java index 111a586..74bdbed 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java @@ -81,4 +81,8 @@ public class CaregiverMainViewModel extends ViewModel { cgHomeRepository.updateCgPassword(cg_xid, body, token, passwordCallback); } + public void signOut(String token, @NonNull CgHomeContracts.SignOutCallback signOutCallback){ + cgHomeRepository.signOut(token, signOutCallback); + } + } diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgDashboardApiService.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgDashboardApiService.java index 05abdc4..8cf0e33 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgDashboardApiService.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgDashboardApiService.java @@ -53,4 +53,8 @@ public interface CgDashboardApiService { Call> updateCgPassword(@Path("id") int cg_xid, @PartMap Map body, @Header("Authorization") String token); + + @POST("api/logout") + Call> signOut(@Header("Authorization") String token); + } diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeContracts.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeContracts.java index f2a44bf..29b8357 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeContracts.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeContracts.java @@ -48,5 +48,9 @@ public interface CgHomeContracts { void onPasswordUpdateFailed(Throwable throwable, String message); } + interface SignOutCallback{ + void onSignOutSuccess(); + void onSignOutFailed(Throwable t, String message); + } } diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeRepository.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeRepository.java index aab0395..b3ebb8d 100644 --- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeRepository.java +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CgHomeRepository.java @@ -218,4 +218,29 @@ public class CgHomeRepository { } + public void signOut(String token, + @NonNull CgHomeContracts.SignOutCallback signOutCallback){ + dash_apiService.signOut(token) + .enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if (response.body() != null){ + if (response.body().status != 200){ + signOutCallback.onSignOutFailed(new Exception(), response.body().message); + return; + } + + signOutCallback.onSignOutSuccess(); + }else{ + signOutCallback.onSignOutFailed(new Exception(), "Please try again later."); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + signOutCallback.onSignOutFailed(new Exception(), "Please try again later."); + } + }); + } + } diff --git a/app/src/main/java/com/ssb/simplitend/cg_geofencing/CgGeoFencingActivity.java b/app/src/main/java/com/ssb/simplitend/cg_geofencing/CgGeoFencingActivity.java index d6c9433..cbc3968 100644 --- a/app/src/main/java/com/ssb/simplitend/cg_geofencing/CgGeoFencingActivity.java +++ b/app/src/main/java/com/ssb/simplitend/cg_geofencing/CgGeoFencingActivity.java @@ -147,7 +147,9 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead geofence_bs_binding.unitSpinner.setLifecycleOwner(this); geofence_bs_binding.unitSpinner.setIsFocusable(true); - geofence_bs_binding.radius.setText("" + radius); + if (radius != 0){ + geofence_bs_binding.radius.setText("" + radius); + } geofence_bs_binding.message.setText(geoFenceDetails.message); geofence_bs_binding.location.setText(geoFenceDetails.location_name); } diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/SignInFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/SignInFragment.java index b1e7389..f12f1a7 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/SignInFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/SignInFragment.java @@ -165,7 +165,7 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe Toast.makeText(requireContext(), "Log in successful.", Toast.LENGTH_SHORT).show(); - if (patientResult.isCareGiverConnectedWithPatient == 1){ + if (patientResult.isCareGiverConnectedWithPatient == 1 && patientResult.isCaregiverTakeSubscription == 1){ // connected to caregiver // thus, sending it to dashboard Intent intent = new Intent(requireActivity(), DashBoardActivity.class); diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java index a92c335..fdbe66d 100644 --- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java +++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java @@ -2,8 +2,11 @@ package com.ssb.simplitend.welcome.welcomepatient.fragments.register; import static com.ssb.simplitend.welcome.welcomecg.fragments.CgConnectFragment.CAREGIVER_EMAIL; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -87,7 +90,7 @@ public class SplashFragment extends Fragment onProfileProgressFetched(response.body().result); } else { - onProfileProgressFetchFailed(new Exception(), "Please try again later."); + sessionExpired(); } } @@ -113,7 +116,7 @@ public class SplashFragment extends Fragment onCgDataFetched(response.body().result); } else { - onCgDataFetchFailed(new Exception(), "Please try again later."); + sessionExpired(); } } @@ -129,6 +132,23 @@ public class SplashFragment extends Fragment } } + private void sessionExpired(){ + binding.retry.setVisibility(View.VISIBLE); + binding.loadAnim.setVisibility(View.GONE); + + new AlertDialog.Builder(requireContext()) + .setTitle("Session Expired") + .setMessage("Your login session has expired.\nPlease login again.") + .setCancelable(true) + .setPositiveButton("OKAY", (dialogInterface, i) -> { + AppUtil.patientSignOut(requireContext()); + AppUtil.cgSignOut(requireContext()); + + gotoWelcomeFragment(); + }) + .show(); + } + private void gotoPatientProfileProgress(){ NavOptions navOptions = new NavOptions.Builder() .setPopUpTo(R.id.splashFragment, true) diff --git a/app/src/main/res/layout/activity_caregiver_profile.xml b/app/src/main/res/layout/activity_caregiver_profile.xml index 5053ab5..896d08f 100644 --- a/app/src/main/res/layout/activity_caregiver_profile.xml +++ b/app/src/main/res/layout/activity_caregiver_profile.xml @@ -57,7 +57,7 @@ android:layout_width="@dimen/_100sdp" android:layout_height="@dimen/_100sdp" - android:src="@drawable/static_3" + android:src="@drawable/caregiver_img" app:civ_circle_background_color="@color/white" android:layout_gravity="center_horizontal" diff --git a/app/src/main/res/layout/caregiver_dashboard_menu.xml b/app/src/main/res/layout/caregiver_dashboard_menu.xml index ddae729..ec84714 100644 --- a/app/src/main/res/layout/caregiver_dashboard_menu.xml +++ b/app/src/main/res/layout/caregiver_dashboard_menu.xml @@ -32,7 +32,7 @@ android:layout_width="@dimen/_40sdp" android:layout_height="@dimen/_40sdp" - android:src="@drawable/static_3" + android:src="@drawable/caregiver_img" app:civ_circle_background_color="@color/white" android:layout_marginHorizontal="15dp" diff --git a/app/src/main/res/layout/my_patient_fragment.xml b/app/src/main/res/layout/my_patient_fragment.xml index c719556..286aab7 100644 --- a/app/src/main/res/layout/my_patient_fragment.xml +++ b/app/src/main/res/layout/my_patient_fragment.xml @@ -55,7 +55,7 @@ android:elevation="15dp" app:civ_circle_background_color="@color/white" - android:src="@drawable/static_3" /> + android:src="@drawable/senior_img" />