.
This commit is contained in:
12
.idea/deploymentTargetDropDown.xml
generated
12
.idea/deploymentTargetDropDown.xml
generated
@@ -1,18 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<targetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="QUICK_BOOT_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="$USER_HOME$/.android/avd/Pixel_7_Pro_API_33.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</targetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-12-22T13:25:43.333124Z" />
|
||||
<targetsSelectedWithDialog>
|
||||
<Target>
|
||||
<type value="QUICK_BOOT_TARGET" />
|
||||
|
||||
@@ -232,6 +232,9 @@
|
||||
android:name=".locationupdates.LocationService"
|
||||
android:foregroundServiceType="location" />
|
||||
|
||||
<service android:name=".apputils.SocketService"
|
||||
android:stopWithTask="true"/>
|
||||
|
||||
<receiver android:name=".patientgeofencing.PatientLocationUpdatesReceiver" />
|
||||
<receiver android:name=".apputils.BootCompleteReceiver"
|
||||
android:exported="true">
|
||||
|
||||
@@ -2,30 +2,13 @@ package com.app.simplitend.apputils;
|
||||
|
||||
import static com.app.simplitend.locationupdates.LocationService.LOCATION_INTERVAL_BASE_TIME;
|
||||
import static com.app.simplitend.locationupdates.LocationService.LOCATION_UPDATE_MIN_INTERVAL;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_ID;
|
||||
import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresPermission;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.app.simplitend.locationupdates.LocationService;
|
||||
import com.app.simplitend.patientgeofencing.GeoFenceHelper;
|
||||
import com.google.android.gms.location.Geofence;
|
||||
import com.google.android.gms.location.GeofencingClient;
|
||||
import com.google.android.gms.location.GeofencingRequest;
|
||||
import com.google.android.gms.location.LocationServices;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
|
||||
public class BootCompleteReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
|
||||
@@ -7,10 +7,10 @@ import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.os.Build;
|
||||
|
||||
import com.app.simplitend.R;
|
||||
import com.onesignal.Continue;
|
||||
import com.onesignal.OneSignal;
|
||||
import com.onesignal.debug.LogLevel;
|
||||
import com.app.simplitend.R;
|
||||
|
||||
public class SimpliTendApp extends Application {
|
||||
|
||||
@@ -35,11 +35,6 @@ public class SimpliTendApp extends Application {
|
||||
}
|
||||
}));
|
||||
|
||||
// click listener to notification
|
||||
OneSignal.getNotifications().addClickListener(iNotificationClickEvent -> {
|
||||
|
||||
});
|
||||
|
||||
// creating notification channel for location share location updates from patient side
|
||||
// using a foreground service
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
|
||||
|
||||
@@ -35,7 +35,7 @@ public class CallService extends CallScreeningService {
|
||||
Log.d(CALL_BLOCKING_WORk, "CALLED 911");
|
||||
WorkManager.getInstance(this).cancelAllWork();
|
||||
WorkRequest workRequest = new OneTimeWorkRequest.Builder(CallUnBlockingWorker.class)
|
||||
.setInitialDelay(1, TimeUnit.MINUTES)
|
||||
.setInitialDelay(5, TimeUnit.MINUTES)
|
||||
.build();
|
||||
|
||||
WorkManager.getInstance(this).enqueue(workRequest);
|
||||
|
||||
@@ -5,7 +5,6 @@ import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
@@ -17,6 +16,7 @@ import com.app.simplitend.R;
|
||||
import com.app.simplitend.apputils.AppUtil;
|
||||
import com.app.simplitend.apputils.CaregiverDataCache;
|
||||
import com.app.simplitend.apputils.RetrofitHelper;
|
||||
import com.app.simplitend.apputils.SocketService;
|
||||
import com.app.simplitend.articles.ArticlesActivity;
|
||||
import com.app.simplitend.caregiverdashboard.fragments.CgDashBoardFragment;
|
||||
import com.app.simplitend.caregiverdashboard.fragments.MyPatientFragment;
|
||||
@@ -53,6 +53,9 @@ public class CaregiverDashActivity extends AppCompatActivity implements
|
||||
binding = CaregiverDashboardActivityBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
Intent socketServiceIntent = new Intent(this, SocketService.class);
|
||||
startService(socketServiceIntent);
|
||||
|
||||
initViews();
|
||||
|
||||
clickEvents();
|
||||
|
||||
@@ -128,8 +128,18 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
CaregiverDataCache.getCaregiverData(requireActivity(), (careGiverData1 -> {
|
||||
this.careGiverData = careGiverData1;
|
||||
|
||||
loadReminders();
|
||||
loadActivities();
|
||||
if (CaregiverMainViewModel.remindersList == null){
|
||||
loadReminders();
|
||||
}else {
|
||||
onRemindersListFetched(CaregiverMainViewModel.remindersList);
|
||||
}
|
||||
|
||||
if (CaregiverMainViewModel.activityList == null){
|
||||
loadActivities();
|
||||
}else {
|
||||
onRoutinesFetched(CaregiverMainViewModel.activityList);
|
||||
}
|
||||
|
||||
try {
|
||||
requireContext().registerReceiver(notification_receiver, new IntentFilter(AppUtil.NOTIFICATION_ACTION));
|
||||
} catch (Exception e) {
|
||||
@@ -587,7 +597,7 @@ public class CgDashBoardFragment extends Fragment implements
|
||||
|
||||
@Override
|
||||
public void onRoutinesFetched(List<RoutineDetails> routineList) {
|
||||
viewModel.activityList = routineList;
|
||||
CaregiverMainViewModel.activityList = routineList;
|
||||
viewModel.getNearestActivity(routineList, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -67,10 +67,12 @@ import com.google.android.libraries.places.widget.model.AutocompleteActivityMode
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.google.maps.android.ui.IconGenerator;
|
||||
import com.stfalcon.chatkit.utils.DateFormatter;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -258,14 +260,21 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
try {
|
||||
SimpleDateFormat inputSdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'", Locale.getDefault());
|
||||
inputSdf.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
SimpleDateFormat outPutSdf = new SimpleDateFormat("hh:mm a", Locale.getDefault());
|
||||
Date lastUpdateDate = Objects.requireNonNull(inputSdf.parse(geoFenceDetails.patient_radius_location.updated_at));
|
||||
|
||||
if (DateFormatter.isToday(lastUpdateDate)){
|
||||
lastUpdatedTime = "Last updated at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}else if (DateFormatter.isYesterday(lastUpdateDate)) {
|
||||
lastUpdatedTime = "Last updated yesterday at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}else{
|
||||
lastUpdatedTime = "Last updated on " + DateFormatter.format(lastUpdateDate, "dd MMM yyyy") + " at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}
|
||||
|
||||
lastUpdatedTime = outPutSdf.format(Objects.requireNonNull(inputSdf.parse(geoFenceDetails.patient_radius_location.updated_at)));
|
||||
} catch (Exception e) {
|
||||
lastUpdatedTime = geoFenceDetails.patient_radius_location.updated_at;
|
||||
}
|
||||
|
||||
binding.lastUpdated.setText(String.format("Last updated at %s", lastUpdatedTime));
|
||||
binding.lastUpdated.setText(lastUpdatedTime);
|
||||
}else{
|
||||
binding.lastUpdated.setText("Last updated data nnt available");
|
||||
}
|
||||
@@ -304,7 +313,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
List<Address> addresses = geocoder.getFromLocation(cureLocation.getLatitude(), cureLocation.getLongitude(), 1);
|
||||
if (addresses == null || addresses.isEmpty()) throw new Exception();
|
||||
|
||||
binding.bsSeniorCurrentLocationTxt.setText(addresses.get(0).getAdminArea());
|
||||
binding.bsSeniorCurrentLocationTxt.setText(addresses.get(0).getThoroughfare());
|
||||
} catch (Exception e) {
|
||||
binding.bsSeniorCurrentLocationTxt.setText("No location data");
|
||||
}
|
||||
@@ -974,14 +983,20 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead
|
||||
try {
|
||||
SimpleDateFormat inputSdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'", Locale.getDefault());
|
||||
inputSdf.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
SimpleDateFormat outPutSdf = new SimpleDateFormat("hh:mm a", Locale.getDefault());
|
||||
Date lastUpdateDate = Objects.requireNonNull(inputSdf.parse(geoFenceDetails.patient_radius_location.updated_at));
|
||||
|
||||
lastUpdatedTime = outPutSdf.format(Objects.requireNonNull(inputSdf.parse(geoFenceDetails.patient_radius_location.updated_at)));
|
||||
if (DateFormatter.isToday(lastUpdateDate)){
|
||||
lastUpdatedTime = "Last updated at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}else if (DateFormatter.isYesterday(lastUpdateDate)) {
|
||||
lastUpdatedTime = "Last updated yesterday at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}else{
|
||||
lastUpdatedTime = "Last updated on " + DateFormatter.format(lastUpdateDate, "dd MMM yyyy") + " at " + DateFormatter.format(lastUpdateDate, "hh:mm a");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
lastUpdatedTime = geoFenceDetails.patient_radius_location.updated_at;
|
||||
}
|
||||
|
||||
binding.lastUpdated.setText(String.format("Last updated at %s", lastUpdatedTime));
|
||||
binding.lastUpdated.setText(lastUpdatedTime);
|
||||
}else{
|
||||
binding.lastUpdated.setText("Last updated data nnt available");
|
||||
}
|
||||
|
||||
@@ -348,7 +348,7 @@ public class PatientDashboardFragment extends Fragment implements ProfileContrac
|
||||
if ("911".equals(phone_number)){
|
||||
WorkManager.getInstance(requireContext()).cancelAllWork();
|
||||
WorkRequest workRequest = new OneTimeWorkRequest.Builder(CallUnBlockingWorker.class)
|
||||
.setInitialDelay(1, TimeUnit.MINUTES)
|
||||
.setInitialDelay(5, TimeUnit.MINUTES)
|
||||
.build();
|
||||
|
||||
WorkManager.getInstance(requireContext()).enqueue(workRequest);
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:visibility="gone"
|
||||
tools:text="Last updated at 02 sep 2023 at 05:35 pm"
|
||||
|
||||
android:ellipsize="end"
|
||||
android:fontFamily="@font/nunito_regular"
|
||||
|
||||
Reference in New Issue
Block a user