From d2db210acee3a7b994248627bf0a2ce849fc56f5 Mon Sep 17 00:00:00 2001 From: 14Sandee Date: Fri, 22 Dec 2023 19:34:42 +0530 Subject: [PATCH] location updates structure --- .idea/deploymentTargetDropDown.xml | 2 +- .../apputils/NotificationService.java | 18 +- .../fragments/CgDashBoardFragment.java | 2 + .../cg_geofencing/CgGeoFencingActivity.java | 28 + .../res/layout/activity_cg_geofencing.xml | 673 +++++++++++------- 5 files changed, 444 insertions(+), 279 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index ecae282..760591a 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -12,7 +12,7 @@ - + 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 ef20436..7d93302 100644 --- a/app/src/main/java/com/app/simplitend/apputils/NotificationService.java +++ b/app/src/main/java/com/app/simplitend/apputils/NotificationService.java @@ -4,30 +4,15 @@ 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.MEDICINE_TIME; -import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_ID; import static com.app.simplitend.patientgeofencing.GeoFenceHelper.GEOFENCE_TAG; -import android.Manifest; import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Context; import android.content.Intent; -import android.content.pm.PackageManager; -import android.os.Build; import android.service.notification.StatusBarNotification; 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.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; import com.onesignal.OneSignal; import com.onesignal.notifications.INotificationReceivedEvent; import com.onesignal.notifications.INotificationServiceExtension; @@ -36,7 +21,6 @@ import org.json.JSONException; import org.json.JSONObject; import java.util.Arrays; -import java.util.Comparator; import java.util.List; public class NotificationService implements INotificationServiceExtension { @@ -61,7 +45,7 @@ public class NotificationService implements INotificationServiceExtension { { List active_notifications = Arrays.asList(notificationManager.getActiveNotifications()); - int minPostTime = Integer.MAX_VALUE; + long minPostTime = Long.MAX_VALUE; StatusBarNotification notification = null; for (StatusBarNotification not: active_notifications){ if (not.getPostTime() < minPostTime){ 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 d80d9a9..4fb9df2 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 @@ -5,6 +5,7 @@ import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_TITLE; import static com.app.simplitend.articles.ArticleShowerActivity.ARTICLE_URL_KEY; import static com.app.simplitend.caregiverdashboard.activities.EditProfileInfoActivity.IS_CAREGIVER; import static com.app.simplitend.cg_geofencing.CgGeoFencingActivity.GEOFENCE_DETAILS_KEY; +import static com.app.simplitend.cg_geofencing.CgGeoFencingActivity.TO_SHOW_LOCATION_UPDATES_KEY; import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_ID; import static com.app.simplitend.patient_dashboard.NotificationsActivity.USER_TOKEN; @@ -464,6 +465,7 @@ public class CgDashBoardFragment extends Fragment implements gotoGeofenceActivity = false; Intent intent = new Intent(requireActivity(), CgGeoFencingActivity.class); intent.putExtra(GEOFENCE_DETAILS_KEY, geoFenceDetails); + intent.putExtra(TO_SHOW_LOCATION_UPDATES_KEY, true); startActivity(intent); }else{ // load into home screen map view 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 06bda78..c10db2e 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 @@ -17,6 +17,7 @@ import android.os.Handler; import android.os.Looper; import android.util.Log; import android.view.View; +import android.widget.LinearLayout; import android.widget.Toast; import androidx.activity.result.ActivityResultLauncher; @@ -51,6 +52,7 @@ import com.google.android.libraries.places.api.Places; import com.google.android.libraries.places.api.model.Place; import com.google.android.libraries.places.widget.Autocomplete; import com.google.android.libraries.places.widget.model.AutocompleteActivityMode; +import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetDialog; import java.util.Arrays; @@ -70,6 +72,7 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead private CaregiverMainViewModel viewModel; public static final String GEOFENCE_DETAILS_KEY = "geofence_details"; + public static final String TO_SHOW_LOCATION_UPDATES_KEY = "to_show_location_updates"; private GeoFenceDetails geoFenceDetails; private static final String MILES = "miles"; @@ -99,6 +102,8 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead private String selectedStreet; + protected boolean showLocationUpdates; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -118,6 +123,9 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead } catch (Exception e) { pat_cur_latLng = null; } + + showLocationUpdates = intent.getBooleanExtra(TO_SHOW_LOCATION_UPDATES_KEY, false); + } catch (Exception e) { Toast.makeText(this, "Couldn't load Geofence.", Toast.LENGTH_SHORT).show(); geoFenceDetails = new GeoFenceDetails(); @@ -153,6 +161,26 @@ public class CgGeoFencingActivity extends AppCompatActivity implements OnMapRead establishSocketConnection(); + if (showLocationUpdates){ + changeToLocationUpdatesView(); + } + + } + + private void changeToLocationUpdatesView() { + binding.seniorNameTitle.setVisibility(View.VISIBLE); + binding.lastUpdated.setVisibility(View.VISIBLE); + + binding.geofencingSubTitle.setVisibility(View.GONE); + binding.geofencingTitle.setVisibility(View.GONE); + binding.updateGeofenceBox.setVisibility(View.GONE); + binding.homeLocationBtn.setVisibility(View.GONE); + binding.cgLocationBtn.setVisibility(View.GONE); + + binding.locationBs.setVisibility(View.VISIBLE); + + BottomSheetBehavior bs_behavior = BottomSheetBehavior.from(binding.locationBs); + bs_behavior.setState(BottomSheetBehavior.STATE_EXPANDED); } @Override diff --git a/app/src/main/res/layout/activity_cg_geofencing.xml b/app/src/main/res/layout/activity_cg_geofencing.xml index 198ca19..0f879d9 100644 --- a/app/src/main/res/layout/activity_cg_geofencing.xml +++ b/app/src/main/res/layout/activity_cg_geofencing.xml @@ -1,299 +1,450 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="match_parent" + android:background="@color/white" + android:orientation="vertical"> + android:layout_height="?attr/actionBarSize" + android:gravity="center_vertical" + android:elevation="5dp" + android:orientation="horizontal"> - + + - android:text="@string/cancel" - android:fontFamily="@font/nunito_regular" - android:textColor="@color/black" - android:textAllCaps="false" + + android:ellipsize="end" + android:fontFamily="@font/nunito_semibold" + android:singleLine="true" + android:text="Aditya" - - android:text="@string/update" - android:fontFamily="@font/nunito_regular" - android:textColor="@color/white" - android:textAllCaps="false" + + android:ellipsize="end" + android:fontFamily="@font/nunito_semibold" + android:singleLine="true" + android:text="Last updated now " + + android:textAppearance="@style/TextAppearance.Material3.TitleSmall" + android:textColor="@android:color/darker_gray" + + /> + + - + /> - - - - - + /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app:backgroundTint="@color/white" + app:cardCornerRadius="30dp" + app:cardElevation="5dp"> - + - + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file