diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 96ee298..a68303d 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -7,12 +7,12 @@
-
+
-
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9799ec4..863e986 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,6 +17,19 @@
android:supportsRtl="true"
android:theme="@style/Theme.SimpliTend"
tools:targetApi="31">
+
+
+
+
+
+
+
-
-
-
-
+ android:screenOrientation="portrait" />
-
-
+
@@ -57,20 +65,18 @@
android:name="android.app.lib_name"
android:value="" />
-
-
-
-
-
-
diff --git a/app/src/main/java/com/ssb/simplitend/apputils/AppUtil.java b/app/src/main/java/com/ssb/simplitend/apputils/AppUtil.java
index 2ec713c..2822731 100644
--- a/app/src/main/java/com/ssb/simplitend/apputils/AppUtil.java
+++ b/app/src/main/java/com/ssb/simplitend/apputils/AppUtil.java
@@ -25,10 +25,10 @@ public abstract class AppUtil {
private static final String TAG = "AppUtil";
// fields
- public static final String USER_DETAILS = "user_details";
+ public static final String PATIENT_DETAILS = "user_details";
public static final String CAREGIVER_DETAILS = "caregiver_details";
- public static final String USER_TOKEN = "user_token";
+ public static final String PATIENT_TOKEN = "user_token";
public static final String CAREGIVER_TOKEN = "caregiver_token";
public static final String CG_APP_SECURITY = "cg_app_security";
@@ -38,6 +38,7 @@ public abstract class AppUtil {
public static final int CG_SECURITY_NEEDED = 4;
public static final String PATIENT_UID = "patient_uid";
+ public static final String IS_PATIENT_LOGGED_IN = "patient_logged_in";
// util functions
@@ -132,12 +133,13 @@ public abstract class AppUtil {
alertBuilder.create().show(); // Showing alert dialog
}
- public static void saveUserCache(String token, int patient_uid, Context context){
- SharedPreferences sp = context.getSharedPreferences(USER_DETAILS, Context.MODE_PRIVATE);
+ public static void savePatientData(String token, int patient_uid, Context context, boolean isLoggedIn){
+ SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
- editor.putString(USER_TOKEN, token);
+ editor.putString(PATIENT_TOKEN, token);
editor.putInt(PATIENT_UID, patient_uid);
+ editor.putBoolean(IS_PATIENT_LOGGED_IN, isLoggedIn);
editor.apply();
@@ -145,17 +147,22 @@ public abstract class AppUtil {
}
- public static String getUserToken(Context context){
- SharedPreferences sp = context.getSharedPreferences(USER_DETAILS, Context.MODE_PRIVATE);
- return sp.getString(USER_TOKEN, "");
+ public static String getPatientToken(Context context){
+ SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE);
+ return sp.getString(PATIENT_TOKEN, "");
}
public static int getPatientUid(Context context){
- SharedPreferences sp = context.getSharedPreferences(USER_DETAILS, Context.MODE_PRIVATE);
+ SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE);
return sp.getInt(PATIENT_UID, -1);
}
- public static void saveCgData(String token, Context context){
+ public static boolean isPatientLoggedIn(Context context) {
+ SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE);
+ return sp.getBoolean(IS_PATIENT_LOGGED_IN, false);
+ }
+
+ public static void saveCgData(String token, int patient_id, Context context){
SharedPreferences sp = context.getSharedPreferences(CAREGIVER_DETAILS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
@@ -163,6 +170,10 @@ public abstract class AppUtil {
editor.apply();
+ // now saving patient data
+ // This is important as there are instances where patient data such as patient id and patient_token is required
+ savePatientData(token, patient_id, context, false);
+
Log.d(TAG, "saveToken: caregiver token saved successful");
}
@@ -187,8 +198,7 @@ public abstract class AppUtil {
}
public static void cgSignOut(Context context){
- saveCgData(null, context);
+ saveCgData(null, -1, context);
setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY);
}
-
}
diff --git a/app/src/main/java/com/ssb/simplitend/apputils/CaregiverDataCache.java b/app/src/main/java/com/ssb/simplitend/apputils/CaregiverDataCache.java
new file mode 100644
index 0000000..724a171
--- /dev/null
+++ b/app/src/main/java/com/ssb/simplitend/apputils/CaregiverDataCache.java
@@ -0,0 +1,81 @@
+package com.ssb.simplitend.apputils;
+
+import android.app.ProgressDialog;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.ssb.simplitend.welcome.welcomecg.WelcomeApiService;
+import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
+import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.CallResponse;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+public abstract class CaregiverDataCache {
+
+ private static CareGiverData careGiverData;
+
+ public static void setCareGiverData(CareGiverData data){
+ careGiverData = data;
+ }
+
+ public static void getCaregiverData(Context context,
+ @NonNull GetCaregiverDataCallBack callBack){
+ if (careGiverData != null && careGiverData.patientDetails != null){
+ callBack.careGiverData(careGiverData);
+ return;
+ }
+
+ updateCaregiverData(context, callBack);
+ }
+
+ private static void updateCaregiverData(Context context,
+ @Nullable GetCaregiverDataCallBack callBack) {
+ WelcomeApiService apiService = RetrofitHelper.getRetrofit().create(WelcomeApiService.class);
+
+ ProgressDialog progressDialog = new ProgressDialog(context);
+ progressDialog.setTitle("Please wait...");
+ progressDialog.setMessage("while we fetch details for you...");
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+
+ apiService.getCgUserData("Bearer " + AppUtil.getCgToken(context))
+ .enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ progressDialog.dismiss();
+ if (response.body() != null) {
+ if (response.body().status != 200 || response.body().result == null) {
+ if (callBack != null) callBack.careGiverData(null);
+ return;
+ }
+
+ if (callBack != null){
+ setCareGiverData(response.body().result);
+ callBack.careGiverData(response.body().result);
+ }
+ } else {
+ if (callBack != null) callBack.careGiverData(null);
+ }
+ }
+
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+ progressDialog.dismiss();
+ if (callBack != null) callBack.careGiverData(null);
+ }
+ });
+
+ }
+
+
+ // interfaces
+ @FunctionalInterface
+ public interface GetCaregiverDataCallBack{
+ void careGiverData(CareGiverData careGiverData);
+ }
+
+}
diff --git a/app/src/main/java/com/ssb/simplitend/apputils/UserDataCache.java b/app/src/main/java/com/ssb/simplitend/apputils/UserDataCache.java
deleted file mode 100644
index f2ba2c2..0000000
--- a/app/src/main/java/com/ssb/simplitend/apputils/UserDataCache.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ssb.simplitend.apputils;
-
-import androidx.annotation.Nullable;
-
-import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
-import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
-
-public abstract class UserDataCache {
-
- @Nullable
- public static PatientData patientData;
- @Nullable
- public static CareGiverData careGiverData;
-
-}
diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java
index 2c59885..0086802 100644
--- a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java
+++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java
@@ -1,20 +1,17 @@
package com.ssb.simplitend.caregiverdashboard;
import android.content.Intent;
-import android.content.res.ColorStateList;
import android.os.Bundle;
-import android.view.Menu;
import android.view.View;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.content.res.AppCompatResources;
-import androidx.core.content.res.ResourcesCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import com.ssb.simplitend.R;
-import com.ssb.simplitend.apputils.UserDataCache;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.caregiverdashboard.fragments.CaregiverChatsFragment;
import com.ssb.simplitend.caregiverdashboard.fragments.DashBoardFragment;
import com.ssb.simplitend.caregiverdashboard.fragments.MyPatientFragment;
@@ -24,6 +21,7 @@ import com.ssb.simplitend.customsviews.HomeBottomNav;
import com.ssb.simplitend.customsviews.MenuItem;
import com.ssb.simplitend.databinding.CaregiverDashboardActivityBinding;
import com.ssb.simplitend.databinding.CaregiverDashboardMenuBinding;
+import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
import com.yarolegovich.slidingrootnav.SlidingRootNavBuilder;
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
@@ -37,24 +35,19 @@ public class CaregiverDashActivity extends AppCompatActivity implements
protected CaregiverMainViewModel viewModel;
+ private CareGiverData careGiverData;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = CaregiverDashboardActivityBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- if (UserDataCache.careGiverData != null){
- if (UserDataCache.careGiverData.isCaregiverTakeSubscription != 1){
- // user has not subscribed yet
- Intent intent = new Intent(this, CgSubscriptionActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- finish();
- return;
- }else{
- Toast.makeText(this, "Subscription on.", Toast.LENGTH_SHORT).show();
- }
- }
+ CaregiverDataCache.getCaregiverData(this, (careGiverData) -> {
+ this.careGiverData = careGiverData;
+
+ watchSubscription();
+ });
initViews();
@@ -105,6 +98,20 @@ public class CaregiverDashActivity extends AppCompatActivity implements
});
}
+ private void watchSubscription(){
+ if (careGiverData != null){
+ if (careGiverData.isCaregiverTakeSubscription != 1){
+ // user has not subscribed yet
+ Intent intent = new Intent(this, CgSubscriptionActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
+ finish();
+ }else{
+ Toast.makeText(this, "Subscription on.", Toast.LENGTH_SHORT).show();
+ }
+ }
+ }
+
private void replaceFragment(Fragment fragment){
getSupportFragmentManager().beginTransaction()
.replace(R.id.fcv_cg_home, fragment)
diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CgProfileProgressActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CgProfileProgressActivity.java
new file mode 100644
index 0000000..4aaf016
--- /dev/null
+++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CgProfileProgressActivity.java
@@ -0,0 +1,78 @@
+package com.ssb.simplitend.caregiverdashboard;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.ssb.simplitend.apputils.CaregiverDataCache;
+import com.ssb.simplitend.databinding.ActivityCgProfileProgressBinding;
+import com.ssb.simplitend.welcome.welcomecg.fragments.CgAuthActivity;
+import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
+
+import static com.ssb.simplitend.caregiverdashboard.PatientProfileShowerActivity.*;
+
+public class CgProfileProgressActivity extends AppCompatActivity {
+
+ // view binding
+ protected ActivityCgProfileProgressBinding binding;
+
+ private CareGiverData careGiverData;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityCgProfileProgressBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+
+ CaregiverDataCache.getCaregiverData(this, (careGiverData1 -> {
+ this.careGiverData = careGiverData1;
+
+ initViews();
+
+ clickEvents();
+ }));
+ }
+
+ private void clickEvents() {
+ binding.skipToDash.setOnClickListener(v -> {
+ Intent intent = new Intent(this, CaregiverDashActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
+ finish();
+ });
+
+ binding.medicReminder.setOnClickListener(v -> {
+ gotoProfileShower(MED_REMINDER_F);
+ });
+
+ binding.addContact.setOnClickListener(v -> {
+ gotoProfileShower(CONTACTS_F);
+ });
+
+ binding.medicInfo.setOnClickListener(v -> {
+ gotoProfileShower(MED_INFO_F);
+ });
+
+ binding.setUpRoutine.setOnClickListener(v -> {
+ gotoProfileShower(ACTIVITY_F);
+ });
+
+ }
+
+ private void initViews() {
+ if (careGiverData == null || careGiverData.patientDetails == null){
+ Toast.makeText(this, "Something went wrong.", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ binding.title.setText(careGiverData.patientDetails.first_name);
+ }
+
+ private void gotoProfileShower(String which_f) {
+ Intent intent = new Intent(this, PatientProfileShowerActivity.class);
+ intent.putExtra(WHICH_FRAGMENT, which_f);
+ startActivity(intent);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/PatientProfileShowerActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/PatientProfileShowerActivity.java
new file mode 100644
index 0000000..214ba33
--- /dev/null
+++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/PatientProfileShowerActivity.java
@@ -0,0 +1,82 @@
+package com.ssb.simplitend.caregiverdashboard;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.Fragment;
+
+import android.os.Bundle;
+import android.widget.Toast;
+
+import com.ssb.simplitend.R;
+import com.ssb.simplitend.databinding.ActivityPatientProfileShowerBinding;
+import com.ssb.simplitend.patientprofile.medicalinfo.MedicalInfoFragment;
+import com.ssb.simplitend.patientprofile.medreminder.ReminderFragment;
+import com.ssb.simplitend.patientprofile.setuproutine.RoutineFragment;
+import com.ssb.simplitend.welcome.welcomepatient.fragments.contacts.AddContactFragment;
+
+public class PatientProfileShowerActivity extends AppCompatActivity {
+
+ // view binding
+ protected ActivityPatientProfileShowerBinding binding;
+
+ public static final String PERSONAL_INFO = "personal_info_f";
+ public static final String CONTACTS_F = "contacts_f";
+ public static final String MED_REMINDER_F = "med_reminder_f";
+ public static final String MED_INFO_F = "med_info_f";
+ public static final String ACTIVITY_F = "activity_f";
+
+ public static final String WHICH_FRAGMENT = "which_f";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityPatientProfileShowerBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+
+ String which_f = getIntent().getStringExtra(WHICH_FRAGMENT);
+ if (which_f == null){
+ // which_f is necessary
+ Toast.makeText(this, "Couldn't load.", Toast.LENGTH_SHORT).show();
+ finish();
+ return;
+ }
+
+ Fragment fragment = getFragment(which_f);
+
+ if (fragment == null){
+ Toast.makeText(this, "Couldn't load.", Toast.LENGTH_SHORT).show();
+ finish();
+ return;
+ }
+
+ addFragment(fragment);
+
+ }
+
+ private Fragment getFragment(String which_f) {
+ Fragment fragment = null;
+
+ switch (which_f){
+ case CONTACTS_F:
+ fragment = new AddContactFragment();
+ break;
+ case MED_REMINDER_F:
+ fragment = new ReminderFragment();
+ break;
+ case MED_INFO_F:
+ fragment = new MedicalInfoFragment();
+ break;
+ case ACTIVITY_F:
+ fragment = new RoutineFragment();
+ break;
+
+ }
+
+ return fragment;
+ }
+
+ private void addFragment(Fragment fragment) {
+ getSupportFragmentManager().beginTransaction()
+ .add(R.id.fcv_profile_shower, fragment)
+ .commitAllowingStateLoss();
+ }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..89eb8d6
--- /dev/null
+++ b/app/src/main/java/com/ssb/simplitend/cg_geofencing/CgGeoFencingActivity.java
@@ -0,0 +1,21 @@
+package com.ssb.simplitend.cg_geofencing;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import com.ssb.simplitend.R;
+import com.ssb.simplitend.databinding.ActivityCgGeofencingBinding;
+
+public class CgGeoFencingActivity extends AppCompatActivity {
+
+ // view binding
+ protected ActivityCgGeofencingBinding binding;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityCgGeofencingBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ssb/simplitend/cg_subscription/CgSubscriptionActivity.java b/app/src/main/java/com/ssb/simplitend/cg_subscription/CgSubscriptionActivity.java
index 4598945..7642206 100644
--- a/app/src/main/java/com/ssb/simplitend/cg_subscription/CgSubscriptionActivity.java
+++ b/app/src/main/java/com/ssb/simplitend/cg_subscription/CgSubscriptionActivity.java
@@ -12,12 +12,15 @@ import androidx.viewpager2.widget.ViewPager2;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.apputils.UserDataCache;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.caregiverdashboard.CaregiverDashActivity;
+import com.ssb.simplitend.caregiverdashboard.CgProfileProgressActivity;
+import com.ssb.simplitend.caregiverdashboard.PatientProfileShowerActivity;
import com.ssb.simplitend.cg_subscription.mvp.SubscriptionContracts;
import com.ssb.simplitend.cg_subscription.mvp.SubscriptionCredentials;
import com.ssb.simplitend.cg_subscription.mvp.SubscriptionPresenter;
import com.ssb.simplitend.databinding.CgSubscriptionLayoutBinding;
+import com.ssb.simplitend.welcome.welcomecg.mvvm.CareGiverData;
import com.stripe.android.PaymentConfiguration;
import com.stripe.android.paymentsheet.PaymentSheet;
import com.stripe.android.paymentsheet.PaymentSheetResult;
@@ -46,6 +49,8 @@ public class CgSubscriptionActivity extends AppCompatActivity
private PaymentSheet paymentSheet;
+ private CareGiverData careGiverData;
+
private String payment_intent_id, stripe_price_id;
@Override
@@ -56,6 +61,10 @@ public class CgSubscriptionActivity extends AppCompatActivity
presenter = SubscriptionPresenter.getPresenter();
+ CaregiverDataCache.getCaregiverData(this, (careGiverData -> {
+ this.careGiverData = careGiverData;
+ }));
+
initViews();
clickEvents();
@@ -69,8 +78,8 @@ public class CgSubscriptionActivity extends AppCompatActivity
}
private void payForSubscription() {
- if (UserDataCache.careGiverData == null) {
- Toast.makeText(this, "Couldn't make payment", Toast.LENGTH_SHORT).show();
+ if (careGiverData == null){
+ Toast.makeText(this, "Something went wrong", Toast.LENGTH_SHORT).show();
return;
}
@@ -89,10 +98,10 @@ public class CgSubscriptionActivity extends AppCompatActivity
Map body = new HashMap<>();
- RequestBody name_body = RequestBody.create(UserDataCache.careGiverData.first_name, MediaType.parse("text/plain"));
+ RequestBody name_body = RequestBody.create(careGiverData.first_name, MediaType.parse("text/plain"));
body.put("name", name_body);
- RequestBody email_body = RequestBody.create(UserDataCache.careGiverData.email, MediaType.parse("text/plain"));
+ RequestBody email_body = RequestBody.create(careGiverData.email, MediaType.parse("text/plain"));
body.put("email", email_body);
// important part
@@ -112,7 +121,7 @@ public class CgSubscriptionActivity extends AppCompatActivity
RequestBody subscription_xid_body = RequestBody.create(plan.id + "", MediaType.parse("text/plain"));
body.put("subscription_xid", subscription_xid_body);
- RequestBody caregiver_xid_body = RequestBody.create("" + UserDataCache.careGiverData.caregiver_xid, MediaType.parse("text/plain"));
+ RequestBody caregiver_xid_body = RequestBody.create("" + careGiverData.caregiver_xid, MediaType.parse("text/plain"));
body.put("caregiver_xid", caregiver_xid_body);
String token = "Bearer " + AppUtil.getCgToken(this);
@@ -255,11 +264,11 @@ public class CgSubscriptionActivity extends AppCompatActivity
@Override
public void onSubscriptionCreated() {
// statically changing the flag of subscription to 1
- if (UserDataCache.careGiverData != null){
- UserDataCache.careGiverData.isCaregiverTakeSubscription = 1;
+ if (careGiverData != null){
+ careGiverData.isCaregiverTakeSubscription = 1;
}
- Intent intent = new Intent(this, CaregiverDashActivity.class);
+ Intent intent = new Intent(this, CgProfileProgressActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
progressDialog.dismiss();
diff --git a/app/src/main/java/com/ssb/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java b/app/src/main/java/com/ssb/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java
index 6eed010..c166b40 100644
--- a/app/src/main/java/com/ssb/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patient_dashboard/fragments/PatientDashboardFragment.java
@@ -14,7 +14,6 @@ import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.PatientDashboardFragmentBinding;
-import com.ssb.simplitend.patient_dashboard.DashBoardActivity;
import com.ssb.simplitend.welcome.activities.WelcomeActivity;
public class PatientDashboardFragment extends Fragment {
@@ -45,7 +44,7 @@ public class PatientDashboardFragment extends Fragment {
// fake sign out
// TODO: 08-08-2023 remove this
- AppUtil.saveUserCache(null, -1, requireContext());
+ AppUtil.savePatientData(null, -1, requireContext(), false);
Intent intent = new Intent(requireActivity(), WelcomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/ProfileProgressFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/ProfileProgressFragment.java
index ef18a0e..51e0592 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/ProfileProgressFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/ProfileProgressFragment.java
@@ -61,7 +61,7 @@ public class ProfileProgressFragment extends Fragment implements ProfileContract
PatientProfileAPIService apiService = RetrofitHelper.getRetrofit().create(PatientProfileAPIService.class);
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
apiService.getUsrProfileProgress(token)
.enqueue(new Callback>() {
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/AddMedicalInfoFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/AddMedicalInfoFragment.java
index 6a64cc5..2ddc6e1 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/AddMedicalInfoFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/AddMedicalInfoFragment.java
@@ -1,5 +1,6 @@
package com.ssb.simplitend.patientprofile.medicalinfo;
+import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.text.InputFilter;
@@ -12,14 +13,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
-import androidx.navigation.Navigation;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.apputils.ProfileProgress;
import com.ssb.simplitend.databinding.AddMedicalInfoBinding;
import com.ssb.simplitend.patientprofile.ProfileContracts;
import com.ssb.simplitend.patientprofile.medicalinfo.mvvm.MedicalInfoViewModel;
@@ -249,7 +248,7 @@ public class AddMedicalInfoFragment extends Fragment implements
body.put("is_update", is_update_body);
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
medicalInfoViewModel.addNUpdateMedicalInfo(body,
AppUtil.getPatientUid(requireContext()),
@@ -334,7 +333,10 @@ public class AddMedicalInfoFragment extends Fragment implements
title,
R.raw.done_anim_primary, 3600,
yes -> {
- Navigation.findNavController(binding.getRoot()).popBackStack(R.id.medicalInfoFragment, false);
+ Activity activity = getActivity();
+ if (activity != null){
+ activity.onBackPressed();
+ }
});
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/MedicalInfoFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/MedicalInfoFragment.java
index 6e960ba..3f6789a 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/MedicalInfoFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medicalinfo/MedicalInfoFragment.java
@@ -17,7 +17,6 @@ import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.apputils.ProfileProgress;
import com.ssb.simplitend.databinding.MedicalIntoFragmentBinding;
import com.ssb.simplitend.patientprofile.ProfileContracts;
import com.ssb.simplitend.patientprofile.medicalinfo.mvvm.MedicalInfoViewModel;
@@ -34,7 +33,7 @@ public class MedicalInfoFragment extends Fragment implements ProfileContracts.Ge
private MedicationInfo medicationInfo;
- public MedicalInfoFragment(){
+ public MedicalInfoFragment() {
// required empty const.
}
@@ -61,7 +60,7 @@ public class MedicalInfoFragment extends Fragment implements ProfileContracts.Ge
progressDialog.setCancelable(false);
progressDialog.show();
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
medicalInfoViewModel.getMedicalInfo(AppUtil.getPatientUid(requireContext()),
token, this);
@@ -70,30 +69,51 @@ public class MedicalInfoFragment extends Fragment implements ProfileContracts.Ge
private void clickEvents() {
binding.backBtn.setOnClickListener(v -> {
- if (getActivity() != null){
+ if (getActivity() != null) {
getActivity().onBackPressed();
}
});
binding.addMedInfo.setOnClickListener(v -> {
- Navigation.findNavController(v).navigate(R.id.action_medicalInfoFragment_to_addMedicalInfoFragment);
- }
+
+ try {
+ Navigation.findNavController(v).navigate(R.id.action_medicalInfoFragment_to_addMedicalInfoFragment);
+ } catch (Exception e) {
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .replace(R.id.fcv_profile_shower, AddMedicalInfoFragment.class, null)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
+ }
);
binding.editBtn.setOnClickListener(v -> {
- if (medicationInfo != null){
+ if (medicationInfo != null) {
Bundle bundle = new Bundle();
bundle.putSerializable(MEDICAL_INFO_KEY, medicationInfo);
- Navigation.findNavController(v).navigate(R.id.action_medicalInfoFragment_to_addMedicalInfoFragment, bundle);
+ try {
+ Navigation.findNavController(v).navigate(R.id.action_medicalInfoFragment_to_addMedicalInfoFragment, bundle);
+ }catch (Exception e){
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .replace(R.id.fcv_profile_shower, AddMedicalInfoFragment.class, bundle)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
}
});
binding.done.setOnClickListener(v -> {
- if (getActivity() != null){
+ if (getActivity() != null) {
getActivity().onBackPressed();
}
});
@@ -114,14 +134,14 @@ public class MedicalInfoFragment extends Fragment implements ProfileContracts.Ge
this.medicationInfo = medicationInfo;
progressDialog.dismiss();
- if (medicationInfo != null){
+ if (medicationInfo != null) {
binding.medicalInfo.setVisibility(View.VISIBLE);
binding.noData.setVisibility(View.GONE);
binding.addMedInfo.setVisibility(View.GONE);
binding.editBtn.setVisibility(View.VISIBLE);
loadMedicalInfo(medicationInfo);
- }else{
+ } else {
binding.noData.setVisibility(View.VISIBLE);
binding.medicalInfo.setVisibility(View.GONE);
binding.addMedInfo.setVisibility(View.VISIBLE);
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java
index 3dc4dd2..da42587 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/AddReminderFragment.java
@@ -1,6 +1,7 @@
package com.ssb.simplitend.patientprofile.medreminder;
import android.annotation.SuppressLint;
+import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
@@ -19,7 +20,6 @@ import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
-import androidx.navigation.Navigation;
import com.skydoves.powerspinner.OnSpinnerItemSelectedListener;
import com.ssb.simplitend.R;
@@ -200,7 +200,7 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
reminderResult.is_update = "0";
}
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
viewModel.addReminder(AppUtil.getPatientUid(requireContext()),
reminderResult,
@@ -640,7 +640,7 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
progressDialog.setCancelable(false);
progressDialog.show();
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
viewModel.fetchFreqNMedTypes(token, this);
}
@@ -700,8 +700,10 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
if (reminder == null) {
Toast.makeText(requireContext(), "Reminder added successfully.", Toast.LENGTH_SHORT).show();
- Navigation.findNavController(binding.getRoot())
- .popBackStack(R.id.reminderFragment, false, true);
+ Activity activity = getActivity();
+ if (activity != null){
+ activity.onBackPressed();
+ }
} else {
@@ -709,7 +711,10 @@ public class AddReminderFragment extends Fragment implements CompoundButton.OnCh
getString(R.string.changes_successful), R.raw.done_anim_primary,
3600, v3 -> {
// here v3 is null
- Navigation.findNavController(binding.getRoot()).popBackStack(R.id.reminderFragment, false, true);
+ Activity activity = getActivity();
+ if (activity != null){
+ activity.onBackPressed();
+ }
});
}
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/ReminderFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/ReminderFragment.java
index ea0a54c..be1bbdc 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/ReminderFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/medreminder/ReminderFragment.java
@@ -16,7 +16,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.apputils.ProfileProgress;
import com.ssb.simplitend.databinding.RemindersFragmentBinding;
import com.ssb.simplitend.patientprofile.ProfileContracts;
import com.ssb.simplitend.patientprofile.medreminder.mvvm.ReminderAdapter;
@@ -105,7 +104,20 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
// add button
binding.addReminder.setOnClickListener(v ->
- Navigation.findNavController(v).navigate(R.id.action_reminderFragment_to_addReminderFragment)
+ {
+
+ try {
+ Navigation.findNavController(v).navigate(R.id.action_reminderFragment_to_addReminderFragment);
+ }catch (Exception e){
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .replace(R.id.fcv_profile_shower, AddReminderFragment.class, null)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
+ }
);
binding.done.setOnClickListener(v -> {
@@ -130,7 +142,7 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
day_of_week--; // because, at server side day_of_week starts from 0
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
int patient_uid = AppUtil.getPatientUid(requireContext());
reminderViewModel.getRemindersList(patient_uid, day_of_week, token, this);
}
@@ -378,7 +390,7 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
v -> {
// yes button clicked
int patientReminderId = reminderAdapter.getReminderResultList().get(position).id;
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
progressDialog.setTitle("Please wait...");
progressDialog.setMessage("while we delete the reminder for you.");
@@ -407,8 +419,18 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
bundle.putSerializable(AddReminderFragment.REMINDER_KEY, reminderAdapter.getReminderResultList().get(position));
- Navigation.findNavController(binding.getRoot())
- .navigate(R.id.action_reminderFragment_to_addReminderFragment, bundle);
+ try {
+ Navigation.findNavController(binding.getRoot())
+ .navigate(R.id.action_reminderFragment_to_addReminderFragment, bundle);
+ }catch (Exception e){
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .add(R.id.fcv_profile_shower, AddReminderFragment.class, bundle)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
}
@Override
@@ -499,7 +521,7 @@ public class ReminderFragment extends Fragment implements RecyclerTouchListener.
reminderViewModel.addReminder(
AppUtil.getPatientUid(requireContext()),
reminderResult,
- "Bearer " + AppUtil.getUserToken(requireContext()),
+ "Bearer " + AppUtil.getPatientToken(requireContext()),
this
);
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/AddRoutineFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/AddRoutineFragment.java
index 7700b20..2d15e5e 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/AddRoutineFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/AddRoutineFragment.java
@@ -1,6 +1,7 @@
package com.ssb.simplitend.patientprofile.setuproutine;
import android.annotation.SuppressLint;
+import android.app.Activity;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
@@ -17,7 +18,6 @@ import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
-import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
@@ -241,7 +241,7 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
routineDetails.is_update = 0;
}
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
routineViewModel.addNUpdateRoutine(AppUtil.getPatientUid(requireContext()),
routineDetails,
@@ -473,8 +473,10 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
if (this.routine == null) {
Toast.makeText(requireContext(), "Routine added successfully.", Toast.LENGTH_SHORT).show();
- Navigation.findNavController(binding.getRoot())
- .popBackStack(R.id.routineFragment, false, true);
+ Activity activity = getActivity();
+ if (activity != null){
+ activity.onBackPressed();
+ }
} else {
@@ -482,7 +484,10 @@ public class AddRoutineFragment extends Fragment implements CompoundButton.OnChe
getString(R.string.changes_successful), R.raw.done_anim_primary,
3600, v3 -> {
// here v3 is null
- Navigation.findNavController(binding.getRoot()).popBackStack(R.id.routineFragment, false, true);
+ Activity activity = getActivity();
+ if (activity != null){
+ activity.onBackPressed();
+ }
});
}
}
diff --git a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
index 7d6eaab..844070e 100644
--- a/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/patientprofile/setuproutine/RoutineFragment.java
@@ -11,7 +11,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.Navigation;
@@ -21,6 +20,7 @@ import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.databinding.RoutineFragmentBinding;
import com.ssb.simplitend.patientprofile.ProfileContracts;
+import com.ssb.simplitend.patientprofile.medreminder.AddReminderFragment;
import com.ssb.simplitend.patientprofile.medreminder.WeekDayViewHolder;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineAdapter;
import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineDetails;
@@ -29,13 +29,8 @@ import com.ssb.simplitend.patientprofile.setuproutine.mvvm.RoutineViewModel;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
-
-import okhttp3.MediaType;
-import okhttp3.RequestBody;
public class RoutineFragment extends Fragment implements RoutineAdapter.ClickListener,
RoutineAdapter.DeleteClickListener,
@@ -114,7 +109,18 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
});
binding.addRoutine.setOnClickListener(v -> {
- Navigation.findNavController(v).navigate(R.id.action_routineFragment_to_addRoutineFragment);
+ try {
+
+ Navigation.findNavController(v).navigate(R.id.action_routineFragment_to_addRoutineFragment);
+ }catch (Exception e){
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .replace(R.id.fcv_profile_shower, AddRoutineFragment.class, null)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
});
binding.done.setOnClickListener(v -> {
@@ -133,7 +139,7 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
day_of_week--; // because, at server side day_of_week starts from 0
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
int patient_uid = AppUtil.getPatientUid(requireContext());
routineViewModel.getRoutines(patient_uid, token, day_of_week, this);
@@ -369,7 +375,7 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
progressDialog.setCancelable(false);
progressDialog.show();
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
routineViewModel.deleteRoutine(AppUtil.getPatientUid(requireContext()),
routine.id,
@@ -387,7 +393,18 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
Bundle bundle = new Bundle();
bundle.putSerializable(ROUTINE_KEY, routine);
- Navigation.findNavController(binding.getRoot()).navigate(R.id.action_routineFragment_to_addRoutineFragment, bundle);
+
+ try {
+ Navigation.findNavController(binding.getRoot()).navigate(R.id.action_routineFragment_to_addRoutineFragment, bundle);
+ }catch (Exception e){
+ // there may be a IllegalStateException as this same fragment is used from another fragment
+ // and not through the nav graph
+
+ getParentFragmentManager().beginTransaction()
+ .add(R.id.fcv_profile_shower, AddRoutineFragment.class, bundle)
+ .addToBackStack("add_reminder")
+ .commitAllowingStateLoss();
+ }
}
@Override
@@ -444,7 +461,7 @@ public class RoutineFragment extends Fragment implements RoutineAdapter.ClickLis
routineViewModel.addNUpdateRoutine(
AppUtil.getPatientUid(requireContext()),
routine,
- "Bearer " + AppUtil.getUserToken(requireContext()),
+ "Bearer " + AppUtil.getPatientToken(requireContext()),
this
);
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgConnectFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgConnectFragment.java
index 2a38609..6ce430b 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgConnectFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgConnectFragment.java
@@ -19,7 +19,6 @@ import androidx.navigation.Navigation;
import com.bumptech.glide.Glide;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.caregiverdashboard.CaregiverDashActivity;
import com.ssb.simplitend.databinding.ConnectCaregiverFragmentBinding;
import com.ssb.simplitend.welcome.welcomecg.WelcomeContracts;
import com.ssb.simplitend.welcome.welcomecg.mvvm.CgWelcomeViewModel;
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java
index f42f20c..450f1c1 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgRegisterFragment.java
@@ -30,8 +30,8 @@ import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.apputils.EditTextErrorRemover;
-import com.ssb.simplitend.apputils.UserDataCache;
import com.ssb.simplitend.databinding.CgRegisterFragmentBinding;
import com.ssb.simplitend.databinding.PasswordPopUpBinding;
import com.ssb.simplitend.welcome.welcomecg.WelcomeContracts;
@@ -409,9 +409,9 @@ public class CgRegisterFragment extends Fragment implements WelcomeContracts.Reg
public void onCareGiverRegistered(CareGiverData careGiverData, String token) {
Toast.makeText(requireContext(), "Caregiver registered successfully.", Toast.LENGTH_SHORT).show();
- UserDataCache.careGiverData = careGiverData;
+ CaregiverDataCache.setCareGiverData(careGiverData);
- AppUtil.saveCgData(token, requireContext());
+ AppUtil.saveCgData(token, careGiverData.patientId, requireContext());
Bundle bundle = new Bundle();
bundle.putString(CAREGIVER_EMAIL, careGiverData.email);
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgSignInFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgSignInFragment.java
index e07ae66..76c9c08 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgSignInFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/fragments/CgSignInFragment.java
@@ -19,7 +19,7 @@ import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
-import com.ssb.simplitend.apputils.UserDataCache;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.caregiverdashboard.CaregiverDashActivity;
import com.ssb.simplitend.databinding.CgSignInFragmentBinding;
import com.ssb.simplitend.welcome.welcomecg.WelcomeContracts;
@@ -150,12 +150,12 @@ public class CgSignInFragment extends Fragment implements WelcomeContracts.CgLog
@Override
public void onLoginSuccess(CareGiverData careGiverData, String token) {
// caching user data
- UserDataCache.careGiverData = careGiverData;
+ CaregiverDataCache.setCareGiverData(careGiverData);
progressDialog.dismiss();
Toast.makeText(requireContext(), "Log in success.", Toast.LENGTH_SHORT).show();
- AppUtil.saveCgData(token, requireContext());
+ AppUtil.saveCgData(token, careGiverData.patientId, requireContext());
if (careGiverData.isPatientAndCareGiverConnected == 1){
gotoDashboard();
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/mvvm/CareGiverData.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/mvvm/CareGiverData.java
index bf5c401..5821c24 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/mvvm/CareGiverData.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomecg/mvvm/CareGiverData.java
@@ -1,5 +1,7 @@
package com.ssb.simplitend.welcome.welcomecg.mvvm;
+import com.ssb.simplitend.welcome.welcomepatient.mvvm.models.PatientData;
+
public class CareGiverData{
public int id;
public String principal_type_xid;
@@ -35,4 +37,7 @@ public class CareGiverData{
public int isPatientAndCareGiverConnected, isCaregiverTakeSubscription;
public int caregiver_xid;
public String is_admin;
+ public int patientId;
+
+ public PatientData patientDetails;
}
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 da2aae4..6a5a25b 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
@@ -21,7 +21,7 @@ import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.EditTextErrorRemover;
-import com.ssb.simplitend.apputils.UserDataCache;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.patient_dashboard.DashBoardActivity;
import com.ssb.simplitend.databinding.SignInFragmentBinding;
import com.ssb.simplitend.welcome.welcomepatient.mvvm.WelcomeContracts;
@@ -152,13 +152,12 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe
@Override
public void onResponse(PatientData patientResult, String token) {
// caching user data
- UserDataCache.patientData = patientResult;
progressDialog.dismiss();
progressDialog.setMessage("Almost there...");
- AppUtil.saveUserCache(token, patientResult.patientId, requireContext());
+ AppUtil.savePatientData(token, patientResult.patientId, requireContext(), true);
progressDialog.dismiss();
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java
index 2091396..a460c10 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/AddContactFragment.java
@@ -76,7 +76,7 @@ public class AddContactFragment extends Fragment implements WelcomeContracts.Con
binding.progressBar.setVisibility(View.VISIBLE);
contactViewModel.getRemoteContactList(this,
- "Bearer " + AppUtil.getUserToken(requireContext()));
+ "Bearer " + AppUtil.getPatientToken(requireContext()));
contactAdapter.setContactClickListener(this);
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java
index e90b238..6c138f5 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/ContactInfoFragment.java
@@ -131,7 +131,7 @@ public class ContactInfoFragment extends Fragment implements WelcomeContracts.De
progressDialog.setCancelable(false);
progressDialog.show();
- contactViewModel.deleteContact(AppUtil.getUserToken(requireContext()),
+ contactViewModel.deleteContact(AppUtil.getPatientToken(requireContext()),
contactData.contact_id, this);
}, no -> {
// nothing to do
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java
index c0d444c..9832e2c 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/contacts/CreateContactFragment.java
@@ -320,7 +320,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
filePart,
edit_contact ? null : this, // create contact call back
edit_contact ? this : null, // update contact call back
- "Bearer " + AppUtil.getUserToken(requireContext()));
+ "Bearer " + AppUtil.getPatientToken(requireContext()));
}
@@ -499,7 +499,7 @@ public class CreateContactFragment extends Fragment implements WelcomeContracts.
progressDialog.setCancelable(false);
progressDialog.show();
- String token = "Bearer " + AppUtil.getUserToken(requireContext());
+ String token = "Bearer " + AppUtil.getPatientToken(requireContext());
contactViewModel.getRemoteContactList(this, token);
}
diff --git a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/CreatePinFragment.java b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/CreatePinFragment.java
index 5f393ce..6172d1f 100644
--- a/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/CreatePinFragment.java
+++ b/app/src/main/java/com/ssb/simplitend/welcome/welcomepatient/fragments/register/CreatePinFragment.java
@@ -159,7 +159,7 @@ public class CreatePinFragment extends Fragment implements WelcomeContracts.Regi
progressDialog.setMessage("Almost there...");
- AppUtil.saveUserCache(token, patientResult.patientId, requireContext());
+ AppUtil.savePatientData(token, patientResult.patientId, requireContext(), true);
progressDialog.dismiss();
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 7117042..e1da65c 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
@@ -18,7 +18,7 @@ import androidx.navigation.Navigation;
import com.ssb.simplitend.R;
import com.ssb.simplitend.apputils.AppUtil;
import com.ssb.simplitend.apputils.RetrofitHelper;
-import com.ssb.simplitend.apputils.UserDataCache;
+import com.ssb.simplitend.apputils.CaregiverDataCache;
import com.ssb.simplitend.caregiverdashboard.CaregiverDashActivity;
import com.ssb.simplitend.databinding.SplashFragmentBinding;
import com.ssb.simplitend.patient_dashboard.DashBoardActivity;
@@ -64,10 +64,11 @@ public class SplashFragment extends Fragment
binding.retry.setVisibility(View.GONE);
binding.loadAnim.setVisibility(View.VISIBLE);
- String patient_token = AppUtil.getUserToken(requireContext());
+ String patient_token = AppUtil.getPatientToken(requireContext());
String cg_token = AppUtil.getCgToken(requireContext());
+ boolean is_patient_logged_in = AppUtil.isPatientLoggedIn(requireContext());
- if (patient_token != null && !patient_token.isEmpty()){
+ if (patient_token != null && !patient_token.isEmpty() && is_patient_logged_in){
// user is already logged in as PATIENT
// thus, checking if the logged in PATIENT has already added CAREGIVER
@@ -170,7 +171,7 @@ public class SplashFragment extends Fragment
@Override
public void onCgDataFetched(CareGiverData careGiverData) {
// caching data
- UserDataCache.careGiverData = careGiverData;
+ CaregiverDataCache.setCareGiverData(careGiverData);
binding.retry.setVisibility(View.GONE);
binding.loadAnim.setVisibility(View.GONE);
@@ -215,7 +216,6 @@ public class SplashFragment extends Fragment
@Override
public void onProfileProgressFetched(PatientData patientData) {
// caching data
- UserDataCache.patientData = patientData;
binding.retry.setVisibility(View.GONE);
binding.loadAnim.setVisibility(View.GONE);
diff --git a/app/src/main/res/drawable/ic_setting.xml b/app/src/main/res/drawable/ic_setting.xml
new file mode 100644
index 0000000..298a5a1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_setting.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_cg_geofencing.xml b/app/src/main/res/layout/activity_cg_geofencing.xml
new file mode 100644
index 0000000..324a911
--- /dev/null
+++ b/app/src/main/res/layout/activity_cg_geofencing.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/cg_profile_progress_fragment.xml b/app/src/main/res/layout/activity_cg_profile_progress.xml
similarity index 99%
rename from app/src/main/res/layout/cg_profile_progress_fragment.xml
rename to app/src/main/res/layout/activity_cg_profile_progress.xml
index acc1ee1..199381b 100644
--- a/app/src/main/res/layout/cg_profile_progress_fragment.xml
+++ b/app/src/main/res/layout/activity_cg_profile_progress.xml
@@ -435,12 +435,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/welcome_nav_graph.xml b/app/src/main/res/navigation/welcome_nav_graph.xml
index c171d9b..0d45f2a 100644
--- a/app/src/main/res/navigation/welcome_nav_graph.xml
+++ b/app/src/main/res/navigation/welcome_nav_graph.xml
@@ -2,7 +2,7 @@
+ app:startDestination="@id/profileProgressFragment">
Continue
No contacts found.
There are no contacts added in your contact directory. Please click on the "Create New Contact" button above.
+ Geofencing
+ Set specific geographic areas and receive instant alerts when your loved one leaves the geofenced zone.
+ Destination 0.5m away
+ 165 Hasley St. Newark, NJ 07102
\ No newline at end of file