From 1a4ad6976d3ef2b81149eafb0c5dd875e0998937 Mon Sep 17 00:00:00 2001
From: ShashwatKedia
Date: Sun, 14 Jan 2024 08:50:38 +0530
Subject: [PATCH 1/4] Resolves issue #2239 by adding an arrow for direction
---
.../contributions/ContributionsFragment.java | 29 ++++++++++++++++++-
.../nearby/NearbyNotificationCardView.java | 21 ++++++++++++--
.../free/nrw/commons/utils/LengthUtils.java | 20 +++++++++++++
.../res/drawable/baseline_arrow_upward_24.xml | 5 ++++
app/src/main/res/layout/nearby_card_view.xml | 7 +++++
app/src/main/res/values/styles.xml | 2 +-
.../free/nrw/commons/utils/LengthUtilsTest.kt | 27 +++++++++++++++++
7 files changed, 106 insertions(+), 5 deletions(-)
create mode 100644 app/src/main/res/drawable/baseline_arrow_upward_24.xml
diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
index b9cbf83f91..3001b01465 100644
--- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
+++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java
@@ -1,15 +1,21 @@
package fr.free.nrw.commons.contributions;
+import static android.content.Context.SENSOR_SERVICE;
import static fr.free.nrw.commons.contributions.Contribution.STATE_FAILED;
import static fr.free.nrw.commons.contributions.Contribution.STATE_PAUSED;
import static fr.free.nrw.commons.nearby.fragments.NearbyParentFragment.WLM_URL;
import static fr.free.nrw.commons.profile.ProfileActivity.KEY_USERNAME;
+import static fr.free.nrw.commons.utils.LengthUtils.computeBearing;
import static fr.free.nrw.commons.utils.LengthUtils.formatDistanceBetween;
import android.Manifest;
import android.Manifest.permission;
import android.annotation.SuppressLint;
import android.content.Context;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -83,6 +89,7 @@ public class ContributionsFragment
OnBackStackChangedListener,
LocationUpdateListener,
MediaDetailProvider,
+ SensorEventListener,
ICampaignsView, ContributionsContract.View, Callback{
@Inject @Named("default_preferences") JsonKvStore store;
@Inject NearbyController nearbyController;
@@ -122,6 +129,10 @@ public class ContributionsFragment
String userName;
private boolean isUserProfile;
+
+ private SensorManager mSensorManager;
+ private Sensor mLight;
+ private float direction;
private ActivityResultLauncher nearbyLocationPermissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback