diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 3c54379..191caa2 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,12 +7,12 @@ - + - + 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 9c20911..7a773a8 100644 --- a/app/src/main/java/com/app/simplitend/apputils/AppUtil.java +++ b/app/src/main/java/com/app/simplitend/apputils/AppUtil.java @@ -588,8 +588,15 @@ public abstract class AppUtil { R.drawable.img_med_refill, title, body, refill_description, "Text senior", view -> { - bsd.dismiss(); - text_senior_click.onClick(null); +// bsd.dismiss(); +// text_senior_click.onClick(null); + + CaregiverDataCache.getCaregiverData(context, + (careGiverData -> { + if (careGiverData != null && careGiverData.patientDetails != null){ + AppUtil.messageNumber(context, careGiverData.patientDetails.phone_number); + } + }), true); }); bsd.show(); @@ -680,6 +687,9 @@ public abstract class AppUtil { public static void patientSignOut(Context context) { AppUtil.savePatientData(null, -1, context, false); + PatientDataCache.setPatientData(null); + PatientDataCache.setContactList(null); + // turning off app_blocking accessibility permission Intent stop_accessibility_intent = new Intent(context, TopAppDetectionService.class); stop_accessibility_intent.setAction(TopAppDetectionService.STOP_ACCESSIBILITY_SERVICE); @@ -766,6 +776,8 @@ public abstract class AppUtil { saveCgData(null, -1, context); setWantSecurityFlag(context, NOT_ASKED_CG_SECURITY); + CaregiverDataCache.setCareGiverData(null); + // setting up notification prefs default to yes setCgNotificationPref(context, MEDICATIONS_NOTIFICATIONS, true); setCgNotificationPref(context, MEDICATION_REFILL_NOTIFICATIONS, true); diff --git a/app/src/main/java/com/app/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java b/app/src/main/java/com/app/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java index 4bc0ede..93e4f5a 100644 --- a/app/src/main/java/com/app/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java +++ b/app/src/main/java/com/app/simplitend/caregiverdashboard/activities/CaregiverSettingsActivity.java @@ -12,6 +12,7 @@ import androidx.lifecycle.ViewModelProvider; import com.app.simplitend.R; import com.app.simplitend.apputils.AppUtil; +import com.app.simplitend.apputils.CaregiverDataCache; import com.app.simplitend.caregiverdashboard.activities.deactivateacc.DeActivateAccountActivity; import com.app.simplitend.caregiverdashboard.mvvm.CaregiverMainViewModel; import com.app.simplitend.caregiverdashboard.mvvm.CgHomeContracts; 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 7d02803..6d47751 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 @@ -85,8 +85,6 @@ public class CgDashBoardFragment extends Fragment implements private boolean gotoGeofenceActivity; - private Marker pat_curr_marker; - public CgDashBoardFragment(){ // required empty } @@ -420,6 +418,7 @@ public class CgDashBoardFragment extends Fragment implements progressDialog.dismiss(); try { if (gotoGeofenceActivity){ + gotoGeofenceActivity = false; Intent intent = new Intent(requireActivity(), CgGeoFencingActivity.class); intent.putExtra(GEOFENCE_DETAILS_KEY, geoFenceDetails); startActivity(intent); 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 db70c2e..ba64b26 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 @@ -545,9 +545,28 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead isTrackingSenior = false; this.selectedStreet = null; - binding.updateBtnsView.setVisibility(View.VISIBLE); - binding.homeLocationBtn.setVisibility(View.GONE); - binding.cgLocationBtn.setVisibility(View.GONE); + // checking is user selected same address + try { + if (patientData == null) throw new Exception(); + + double lat = Double.parseDouble(patientData.lat); + double lng = Double.parseDouble(patientData.lng); + + if (mHomeLatLng.latitude != lat || mHomeLatLng.longitude != lng){ + binding.updateBtnsView.setVisibility(View.VISIBLE); + binding.homeLocationBtn.setVisibility(View.GONE); + binding.cgLocationBtn.setVisibility(View.GONE); + }else { + binding.updateBtnsView.setVisibility(View.GONE); + binding.homeLocationBtn.setVisibility(View.VISIBLE); + binding.cgLocationBtn.setVisibility(View.VISIBLE); + } + } catch (Exception e) { + // near marine drive + binding.updateBtnsView.setVisibility(View.VISIBLE); + binding.homeLocationBtn.setVisibility(View.GONE); + binding.cgLocationBtn.setVisibility(View.GONE); + } updateHomeMarker(this.mHomeLatLng); addRadius(); @@ -644,9 +663,28 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead this.mHomeLatLng = place.getLatLng(); this.selectedStreet = place.getName(); - binding.updateBtnsView.setVisibility(View.VISIBLE); - binding.homeLocationBtn.setVisibility(View.GONE); - binding.cgLocationBtn.setVisibility(View.GONE); + // checking is user selected same address + try { + if (patientData == null) throw new Exception(); + + double lat = Double.parseDouble(patientData.lat); + double lng = Double.parseDouble(patientData.lng); + + if (mHomeLatLng.latitude != lat || mHomeLatLng.longitude != lng){ + binding.updateBtnsView.setVisibility(View.VISIBLE); + binding.homeLocationBtn.setVisibility(View.GONE); + binding.cgLocationBtn.setVisibility(View.GONE); + }else{ + binding.updateBtnsView.setVisibility(View.GONE); + binding.homeLocationBtn.setVisibility(View.VISIBLE); + binding.cgLocationBtn.setVisibility(View.VISIBLE); + } + } catch (Exception e) { + // near marine drive + binding.updateBtnsView.setVisibility(View.VISIBLE); + binding.homeLocationBtn.setVisibility(View.GONE); + binding.cgLocationBtn.setVisibility(View.GONE); + } updateHomeMarker(this.mHomeLatLng); addRadius(); @@ -660,6 +698,15 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead progressDialog.dismiss(); this.geoFenceDetails = geoFenceDetails; + binding.updateBtnsView.setVisibility(View.GONE); + binding.homeLocationBtn.setVisibility(View.VISIBLE); + binding.cgLocationBtn.setVisibility(View.VISIBLE); + + binding.search.setVisibility(View.GONE); + binding.changeBtn.setText(getString(R.string.change)); + + Toast.makeText(this, "Geofence updated successfully", Toast.LENGTH_SHORT).show(); + bottomSheetDialog.dismiss(); updateHomeMarker(mHomeLatLng); @@ -677,6 +724,10 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead binding.updateBtnsView.setVisibility(View.GONE); binding.homeLocationBtn.setVisibility(View.VISIBLE); binding.cgLocationBtn.setVisibility(View.VISIBLE); + + binding.search.setVisibility(View.GONE); + binding.changeBtn.setText(getString(R.string.change)); + this.careGiverData.patientDetails = patientData; this.patientData = patientData; CaregiverDataCache.setCareGiverData(this.careGiverData); diff --git a/app/src/main/java/com/app/simplitend/locationupdates/LocationService.java b/app/src/main/java/com/app/simplitend/locationupdates/LocationService.java index 050d00f..c993f71 100644 --- a/app/src/main/java/com/app/simplitend/locationupdates/LocationService.java +++ b/app/src/main/java/com/app/simplitend/locationupdates/LocationService.java @@ -70,7 +70,7 @@ public class LocationService extends Service implements LocationClient.DefaultLo SocketHelper.getInstance().establishConnection(null); Notification notification = new NotificationCompat.Builder(this, LOCATION_NOTIFICATION_CHANNEL_ID) - .setContentTitle("SimpliTend is sharing your current location") + .setContentTitle("Your phone is connected to your caregiver") .setSmallIcon(R.mipmap.ic_launcher_round) .setOngoing(true) .build(); diff --git a/app/src/main/java/com/app/simplitend/patient_dashboard/DirectionToHomeActivity.java b/app/src/main/java/com/app/simplitend/patient_dashboard/DirectionToHomeActivity.java index 559272c..525db1d 100644 --- a/app/src/main/java/com/app/simplitend/patient_dashboard/DirectionToHomeActivity.java +++ b/app/src/main/java/com/app/simplitend/patient_dashboard/DirectionToHomeActivity.java @@ -26,6 +26,7 @@ import androidx.lifecycle.ViewModelProvider; import com.app.simplitend.R; import com.app.simplitend.apputils.AppUtil; +import com.app.simplitend.apputils.PatientDataCache; import com.app.simplitend.databinding.ActivityDirectionToHomeBinding; import com.google.android.gms.location.FusedLocationProviderClient; import com.google.android.gms.location.LocationListener; @@ -362,88 +363,44 @@ public class DirectionToHomeActivity extends AppCompatActivity } private void loadAddresses(DirectionsResult directionsResult) { - try { - // fetching address from the lag lng - Geocoder geocoder = new Geocoder(this, Locale.getDefault()); - List
addresses = geocoder.getFromLocation(directionsResult.routes[0].legs[0].startLocation.lat, directionsResult.routes[0].legs[0].startLocation.lng, 1); +// String home_loc = AppUtil.getCompleteAddress(this, pat_lat, pat_lng); + PatientDataCache.getPatientData(this, (patientData -> { + if (patientData != null){ + StringBuilder home_add = new StringBuilder(); - if (addresses != null && addresses.size() > 0 && addresses.get(0) != null) { - Address address = addresses.get(0); - - your_loc = ""; - - if (address.getMaxAddressLineIndex() > 0 && address.getAddressLine(0) != null){ - your_loc = address.getAddressLine(0); + if (patientData.address_line1 != null && !patientData.address_line1.trim().isEmpty()){ + home_add.append(patientData.address_line1); } - if (your_loc != null && !your_loc.isEmpty()) your_loc += ", "; - - if (address.getLocality() != null){ - your_loc += address.getLocality(); + if (home_add.length() > 0){ + home_add.append(", "); } - if (your_loc != null && !your_loc.isEmpty()) your_loc += ", "; - - if (address.getAdminArea() != null){ - your_loc += address.getAdminArea(); + if (patientData.city != null && !patientData.city.trim().isEmpty()){ + home_add.append(patientData.city); } - if (your_loc != null && !your_loc.isEmpty()) your_loc += ", "; + if (home_add.length() > 0){ + home_add.append(", "); + } - if (address.getCountryName() != null){ - your_loc += address.getCountryName(); + if (patientData.state != null && !patientData.state.trim().isEmpty()){ + home_add.append(patientData.state); + } + + if (home_add.length() > 0){ + home_add.append(", "); + } + + if (patientData.country != null && !patientData.country.trim().isEmpty()){ + home_add.append(patientData.country); + } + + if (home_add.length() > 0){ + binding.homeLoc.setText(home_add); } } - - } catch (Exception e) { - // do nothing as we couldn't load the location from the lat lng - if (your_loc != null && your_loc.isEmpty()) your_loc = null; - } - - if (your_loc != null){ - binding.yourLoc.setText(your_loc); - } - - String home_loc = ""; - try { - // fetching address from the lag lng - Geocoder geocoder = new Geocoder(this, Locale.getDefault()); - List
addresses = geocoder.getFromLocation(directionsResult.routes[0].legs[0].endLocation.lat, directionsResult.routes[0].legs[0].endLocation.lng, 1); - - if (addresses != null && addresses.size() > 0 && addresses.get(0) != null) { - Address address = addresses.get(0); - - if (address.getMaxAddressLineIndex() > 0 && address.getAddressLine(0) != null){ - home_loc = address.getAddressLine(0); - } - - if (home_loc != null && !home_loc.isEmpty()) home_loc += ", "; - - if (address.getLocality() != null){ - home_loc += address.getLocality(); - } - - if (home_loc != null && !home_loc.isEmpty()) home_loc += ", "; - - if (address.getAdminArea() != null){ - home_loc += address.getAdminArea(); - } - - if (home_loc != null && !home_loc.isEmpty()) home_loc += ", "; - - if (address.getCountryName() != null){ - home_loc += address.getCountryName(); - } - } - - } catch (Exception e) { - // do nothing as we couldn't load the location from the lat lng - if (home_loc != null && home_loc.isEmpty()) home_loc = null; - } - - if (home_loc != null){ - binding.homeLoc.setText(home_loc); - } + }), true); } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_med_cup.png b/app/src/main/res/drawable/ic_med_cup.png index e961f65..5c637fb 100644 Binary files a/app/src/main/res/drawable/ic_med_cup.png and b/app/src/main/res/drawable/ic_med_cup.png differ diff --git a/app/src/main/res/layout/activity_direction_to_home.xml b/app/src/main/res/layout/activity_direction_to_home.xml index 1348768..d516dbe 100644 --- a/app/src/main/res/layout/activity_direction_to_home.xml +++ b/app/src/main/res/layout/activity_direction_to_home.xml @@ -125,7 +125,6 @@