From e778850aff938e8d4dad88dd237d1d07dfd5e79c Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Wed, 4 Sep 2024 18:34:48 +0200 Subject: [PATCH] [android] Improved logs and report permissions in bug reports Signed-off-by: Alexander Borsuk --- .../location/GoogleFusedLocationProvider.java | 4 +--- .../java/app/organicmaps/util/log/LogsManager.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/android/app/src/google/java/app/organicmaps/location/GoogleFusedLocationProvider.java b/android/app/src/google/java/app/organicmaps/location/GoogleFusedLocationProvider.java index 0c30ef0fe9..f33db2a8d7 100644 --- a/android/app/src/google/java/app/organicmaps/location/GoogleFusedLocationProvider.java +++ b/android/app/src/google/java/app/organicmaps/location/GoogleFusedLocationProvider.java @@ -52,9 +52,7 @@ class GoogleFusedLocationProvider extends BaseLocationProvider @Override public void onLocationAvailability(@NonNull LocationAvailability availability) { - if (!availability.isLocationAvailable()) { - Logger.w(TAG, "isLocationAvailable returned false"); - } + Logger.w(TAG, "isLocationAvailable = " + availability.isLocationAvailable()); } } diff --git a/android/app/src/main/java/app/organicmaps/util/log/LogsManager.java b/android/app/src/main/java/app/organicmaps/util/log/LogsManager.java index bd8cf38a43..d8d4934b3f 100644 --- a/android/app/src/main/java/app/organicmaps/util/log/LogsManager.java +++ b/android/app/src/main/java/app/organicmaps/util/log/LogsManager.java @@ -1,9 +1,11 @@ package app.organicmaps.util.log; +import android.Manifest; import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.Network; @@ -15,6 +17,8 @@ import android.util.Log; import androidx.annotation.Keep; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; + import app.organicmaps.BuildConfig; import app.organicmaps.MwmApplication; import app.organicmaps.R; @@ -261,6 +265,13 @@ public final class LogsManager if (locMngr != null) for (String provider : locMngr.getProviders(true)) sb.append(' ').append(provider); + + sb.append("\nLocation permissions:"); + if (ContextCompat.checkSelfPermission(mApplication, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) + sb.append(' ').append("coarse"); + if (ContextCompat.checkSelfPermission(mApplication, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) + sb.append(' ').append("fine"); + sb.append("\n\n"); return sb.toString();