diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 7ff325d..3823b39 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -12,7 +12,7 @@ - + diff --git a/app/src/main/java/com/app/simplitend/apputils/AppUtil.java b/app/src/main/java/com/app/simplitend/apputils/AppUtil.java index 20c2a08..45ed47a 100644 --- a/app/src/main/java/com/app/simplitend/apputils/AppUtil.java +++ b/app/src/main/java/com/app/simplitend/apputils/AppUtil.java @@ -396,6 +396,8 @@ public abstract class AppUtil { public static final String SKIPPED_UPDATE_VERSION = "skipped_update_version"; + public static final String IS_USER_SUBSCRIBED = "is_user_subscribed"; + 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(); @@ -453,6 +455,20 @@ public abstract class AppUtil { return sp.getBoolean(IS_BATTERY_LOW_NOTIFICATION_SHOWN, false); } + public static void setUserSubscribed(Context context, boolean subscribed){ + SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); + + editor.putBoolean(IS_USER_SUBSCRIBED, subscribed); + + editor.apply(); + } + + public static boolean isUserSubscribed(Context context){ + SharedPreferences sp = context.getSharedPreferences(PATIENT_DETAILS, Context.MODE_PRIVATE); + return sp.getBoolean(IS_USER_SUBSCRIBED, false); + } + public static void patientSignOut(Context context) { clearAllNotifications(context); clearAllChatNotificationsCount(context); @@ -466,6 +482,8 @@ public abstract class AppUtil { PatientMainViewModel.remindersList = null; PatientMainViewModel.activityList = null; + setUserSubscribed(context, false); + // turning off app_blocking accessibility permission Intent stop_accessibility_intent = new Intent(context, TopAppDetectionService.class); stop_accessibility_intent.setAction(TopAppDetectionService.STOP_ACCESSIBILITY_SERVICE); diff --git a/app/src/main/java/com/app/simplitend/apputils/BottomNotificationActivity.java b/app/src/main/java/com/app/simplitend/apputils/BottomNotificationActivity.java index 53e502f..e2b1f3d 100644 --- a/app/src/main/java/com/app/simplitend/apputils/BottomNotificationActivity.java +++ b/app/src/main/java/com/app/simplitend/apputils/BottomNotificationActivity.java @@ -501,6 +501,9 @@ public class BottomNotificationActivity extends AppCompatActivity { body = routine.routine_title; routine_description = start_time + " - " + end_time; + }else{ + finish(); + break; } } catch (Exception e) { // do nothing @@ -546,6 +549,9 @@ public class BottomNotificationActivity extends AppCompatActivity { if (reminder.medication_instruction == null) reminder.medication_instruction = "None"; description = "Instructions: " + reminder.medication_instruction; + }else { + finish(); + break; } } catch (Exception e) { // do nothing diff --git a/app/src/main/java/com/app/simplitend/apputils/NotificationService.java b/app/src/main/java/com/app/simplitend/apputils/NotificationService.java index b97b3a2..c8c2121 100644 --- a/app/src/main/java/com/app/simplitend/apputils/NotificationService.java +++ b/app/src/main/java/com/app/simplitend/apputils/NotificationService.java @@ -4,6 +4,7 @@ import static android.content.Context.NOTIFICATION_SERVICE; import static com.app.simplitend.apputils.AppUtil.NOTIFICATION_ACTION; import static com.app.simplitend.apputils.Constants.ACTIVITY_TIME; import static com.app.simplitend.apputils.Constants.BATTERY_LOW; +import static com.app.simplitend.apputils.Constants.MEDICATION_REFILL; import static com.app.simplitend.apputils.Constants.MEDICINE_TIME; import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG; @@ -114,6 +115,7 @@ public class NotificationService implements INotificationServiceExtension { // when patient is logged in if ( (PatientMainViewModel.remindersList != null && MEDICINE_TIME.equals(content_type)) || + (PatientMainViewModel.remindersList != null && MEDICATION_REFILL.equals(content_type)) || (PatientMainViewModel.activityList != null && ACTIVITY_TIME.equals(content_type)) || BATTERY_LOW.equals(content_type)){ iNotificationReceivedEvent.getContext().startActivity(intent); diff --git a/app/src/main/java/com/app/simplitend/apputils/PatientDataCache.java b/app/src/main/java/com/app/simplitend/apputils/PatientDataCache.java index cec9afe..569bf70 100644 --- a/app/src/main/java/com/app/simplitend/apputils/PatientDataCache.java +++ b/app/src/main/java/com/app/simplitend/apputils/PatientDataCache.java @@ -125,6 +125,11 @@ public class PatientDataCache { } if (callBack != null){ + try { + AppUtil.setUserSubscribed(context, response.body().result.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } setPatientData(response.body().result); callBack.patientData(response.body().result); } diff --git a/app/src/main/java/com/app/simplitend/callwhitelisting/CallService.java b/app/src/main/java/com/app/simplitend/callwhitelisting/CallService.java index d706b13..8640dc5 100644 --- a/app/src/main/java/com/app/simplitend/callwhitelisting/CallService.java +++ b/app/src/main/java/com/app/simplitend/callwhitelisting/CallService.java @@ -71,7 +71,7 @@ public class CallService extends CallScreeningService { Set white_contacts = AppUtil.getWhiteListedContacts(this); Log.d(CONTACT_WHITE_LISTING_TAG, "WHITE LISTED CONTACTS -> " + white_contacts); - if (white_contacts != null && !white_contacts.contains(phoneNumber)){ + if (AppUtil.isUserSubscribed(this) && white_contacts != null && !white_contacts.contains(phoneNumber)){ endCall(builder); Log.d(CONTACT_WHITE_LISTING_TAG, "CALL ENDED"); } diff --git a/app/src/main/java/com/app/simplitend/cg_geofencing/CgGeoFencingActivity.java b/app/src/main/java/com/app/simplitend/cg_geofencing/CgGeoFencingActivity.java index 35385c7..3229582 100644 --- a/app/src/main/java/com/app/simplitend/cg_geofencing/CgGeoFencingActivity.java +++ b/app/src/main/java/com/app/simplitend/cg_geofencing/CgGeoFencingActivity.java @@ -302,7 +302,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead float distance = homeLocation.distanceTo(cureLocation); - if (distance > 160){ + if (distance > 50){ distance = distance/1609; // meters to miles binding.bsDistanceFromHome.setVisibility(View.VISIBLE); binding.bsDistanceFromHome.setText(String.format(Locale.getDefault(), "%.2f miles away from home", distance)); @@ -312,8 +312,14 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead try { List
addresses = geocoder.getFromLocation(cureLocation.getLatitude(), cureLocation.getLongitude(), 1); if (addresses == null || addresses.isEmpty()) throw new Exception(); + String location = addresses.get(0).getThoroughfare(); + if (location == null || location.isEmpty()){ + location = "Unknown"; + }else{ + location = "At " + location; + } - binding.bsSeniorCurrentLocationTxt.setText(addresses.get(0).getThoroughfare()); + binding.bsSeniorCurrentLocationTxt.setText(location); } catch (Exception e) { binding.bsSeniorCurrentLocationTxt.setText("No location data"); } diff --git a/app/src/main/java/com/app/simplitend/patientprofile/ProfileProgressFragment.java b/app/src/main/java/com/app/simplitend/patientprofile/ProfileProgressFragment.java index 598b2ad..9a88cdf 100644 --- a/app/src/main/java/com/app/simplitend/patientprofile/ProfileProgressFragment.java +++ b/app/src/main/java/com/app/simplitend/patientprofile/ProfileProgressFragment.java @@ -176,6 +176,12 @@ public class ProfileProgressFragment extends Fragment implements ProfileContract // updating patient data PatientDataCache.setPatientData(response.body().result); + try { + AppUtil.setUserSubscribed(requireContext(), response.body().result.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } + if (response.body().result.isCareGiverConnectedWithPatient == 1) { if (response.body().result.isCaregiverTakeSubscription == 1){ try { @@ -292,6 +298,12 @@ public class ProfileProgressFragment extends Fragment implements ProfileContract binding.proceed.setText(btn_text); + try { + AppUtil.setUserSubscribed(requireContext(), patientData.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } + progressDialog.dismiss(); } diff --git a/app/src/main/java/com/app/simplitend/patientprofile/RegisterCompleteFragment.java b/app/src/main/java/com/app/simplitend/patientprofile/RegisterCompleteFragment.java index 2a6c48e..730b33b 100644 --- a/app/src/main/java/com/app/simplitend/patientprofile/RegisterCompleteFragment.java +++ b/app/src/main/java/com/app/simplitend/patientprofile/RegisterCompleteFragment.java @@ -192,6 +192,12 @@ public class RegisterCompleteFragment extends Fragment implements ProfileContrac public void onProfileProgressFetched(PatientData patientData) { progressDialog.dismiss(); + try { + AppUtil.setUserSubscribed(requireContext(), patientData.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } + if (patientData.isCareGiverConnectedWithPatient == 1) { if (patientData.isCaregiverTakeSubscription == 1){ gotoPatientDashBoard(); diff --git a/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/SignInFragment.java b/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/SignInFragment.java index 7d7d4aa..e7ff830 100644 --- a/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/SignInFragment.java +++ b/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/SignInFragment.java @@ -205,6 +205,12 @@ public class SignInFragment extends Fragment implements WelcomeContracts.Registe Toast.makeText(requireContext(), "Log in successful.", Toast.LENGTH_SHORT).show(); + try { + AppUtil.setUserSubscribed(requireContext(), patientResult.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } + if (patientResult.isCareGiverConnectedWithPatient == 1 && patientResult.isCaregiverTakeSubscription == 1){ // connected to caregiver // thus, sending it to dashboard diff --git a/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java b/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java index b2d2abb..c9104fa 100644 --- a/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java +++ b/app/src/main/java/com/app/simplitend/welcome/welcomepatient/fragments/register/SplashFragment.java @@ -382,9 +382,19 @@ public class SplashFragment extends Fragment binding.retry.setVisibility(View.GONE); binding.loadAnim.setVisibility(View.GONE); + try { + AppUtil.setUserSubscribed(requireContext(), patientData.isCaregiverTakeSubscription == 1); + } catch (Exception e) { + // do nothing + } + if (patientData.isCareGiverConnectedWithPatient == 1 && patientData.isCaregiverTakeSubscription == 1){ // go to dashboard - gotoPatientDashBoard(); + try { + gotoPatientDashBoard(); + } catch (Exception e) { + // do nothing + } }else if (patientData.isCareGiverLink == 1){ // user has already added caregiver as a contact // thus, sending it to dashboard diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 04230bc..2294288 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -260,7 +260,7 @@ Accept invitation Accept your loved one\'s invitation to connect - Subscribe + Subscribe (+6.625% tax) Complete application subscription You are ready! Your phone is linked to your loved one.