From d5638425df8b7b6a23026df2149c69f7639952dd Mon Sep 17 00:00:00 2001
From: Zahnstocher <1073398+Zahnstocher@users.noreply.github.com>
Date: Wed, 31 Jul 2024 20:34:00 +0200
Subject: [PATCH 1/3] Grant camera write permissions, remove obsolete
permissions (Fix #441)
---
app/src/main/AndroidManifest.xml | 7 +------
.../main/java/net/osmtracker/activity/TrackLogger.java | 8 +++++++-
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a2b63e2b8..d0d5141b1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,16 +18,11 @@
-
-
-
-
+ android:theme="@style/HighContrast">
Date: Fri, 2 Aug 2024 16:39:26 +0200
Subject: [PATCH 2/3] Capture photo via camera app (intent) does not require
camera permission
---
app/src/main/AndroidManifest.xml | 5 +-
.../net/osmtracker/activity/TrackLogger.java | 52 +---------------
.../listener/StillImageOnClickListener.java | 62 +------------------
3 files changed, 6 insertions(+), 113 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0d5141b1..618bc2ca3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,11 +13,14 @@
-
+
+
+
+
1) {
- // TODO: fix permission management
- //&& grantResults[0] == PackageManager.PERMISSION_GRANTED
- //&& grantResults[1] == PackageManager.PERMISSION_GRANTED) {
-
- // permission was granted, yay!
- requestStillImage();
-
- } else {
-
- // permission denied, boo! Disable the
- // functionality that depends on this permission.
- //TODO: add an informative message.
- Log.v(TAG, "Camera permission is denied.");
- }
- return;
- }
}
}
diff --git a/app/src/main/java/net/osmtracker/listener/StillImageOnClickListener.java b/app/src/main/java/net/osmtracker/listener/StillImageOnClickListener.java
index c53cbd936..bfd963b5c 100644
--- a/app/src/main/java/net/osmtracker/listener/StillImageOnClickListener.java
+++ b/app/src/main/java/net/osmtracker/listener/StillImageOnClickListener.java
@@ -2,11 +2,6 @@
import net.osmtracker.activity.TrackLogger;
-import android.Manifest;
-import android.content.pm.PackageManager;
-import androidx.core.app.ActivityCompat;
-import androidx.core.content.ContextCompat;
-
import android.view.View;
import android.view.View.OnClickListener;
@@ -22,8 +17,6 @@ public class StillImageOnClickListener implements OnClickListener {
* Parent activity
*/
TrackLogger activity;
-
- final private int RC_STORAGE_CAMERA_PERMISSIONS = 2;
public StillImageOnClickListener(TrackLogger parent) {
activity = parent;
@@ -31,59 +24,6 @@ public StillImageOnClickListener(TrackLogger parent) {
@Override
public void onClick(View v) {
- if (ContextCompat.checkSelfPermission(activity,
- Manifest.permission.WRITE_EXTERNAL_STORAGE) + ContextCompat.checkSelfPermission(activity,
- Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
-
- // Should we show an explanation?
- if ( (ActivityCompat.shouldShowRequestPermissionRationale(activity,
- Manifest.permission.WRITE_EXTERNAL_STORAGE))
- || (ActivityCompat.shouldShowRequestPermissionRationale(activity,
- Manifest.permission.CAMERA)) ) {
-
- // Show an expanation to the user *asynchronously* -- don't block
- // this thread waiting for the user's response! After the user
- // sees the explanation, try again to request the permission.
- // TODO: explain why we need permission.
- //"we should explain why we need write and record audio permission"
-
- } else {
-
- // No explanation needed, we can request the permission.
- ActivityCompat.requestPermissions(activity,
- new String[]{
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.CAMERA},
- RC_STORAGE_CAMERA_PERMISSIONS);
- }
-
- } else {
- activity.requestStillImage();
- }
-
+ activity.requestStillImage();
}
-
- public void onRequestPermissionsResult(int requestCode,
- String permissions[], int[] grantResults) {
- switch (requestCode) {
- case RC_STORAGE_CAMERA_PERMISSIONS: {
- // If request is cancelled, the result arrays are empty.
- if (grantResults.length == 2
- && grantResults[0] == PackageManager.PERMISSION_GRANTED
- && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
-
- // permission was granted, yay!
- activity.requestStillImage();
-
- } else {
-
- // permission denied, boo! Disable the
- // functionality that depends on this permission.
- //TODO: add an informative message.
- }
- return;
- }
- }
- }
-
}
From 90506a0d6d8c8d0bee98b788e11dbff07d2f7284 Mon Sep 17 00:00:00 2001
From: Zahnstocher <1073398+Zahnstocher@users.noreply.github.com>
Date: Sat, 3 Aug 2024 12:46:02 +0200
Subject: [PATCH 3/3] Add back requestLegacyExternalStorage
---
app/src/main/AndroidManifest.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 618bc2ca3..389cfec12 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,7 +25,8 @@
android:description="@string/app_description"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
- android:theme="@style/HighContrast">
+ android:theme="@style/HighContrast"
+ android:requestLegacyExternalStorage="true">