diff --git a/app/build.gradle b/app/build.gradle
index 12b70ecbb7..8e5b9a43c5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -42,8 +42,8 @@ android {
applicationId "com.geeksville.mesh"
minSdkVersion 21 // The oldest emulator image I have tried is 22 (though 21 probably works)
targetSdkVersion 30 // 30 can't work until an explicit location permissions dialog is added
- versionCode 20252 // format is Mmmss (where M is 1+the numeric major number
- versionName "1.2.52"
+ versionCode 20253 // format is Mmmss (where M is 1+the numeric major number
+ versionName "1.2.53"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// per https://developer.android.com/studio/write/vector-asset-studio
@@ -171,7 +171,7 @@ dependencies {
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
// location services
- implementation 'com.google.android.gms:play-services-location:18.0.0'
+ implementation 'com.google.android.gms:play-services-location:19.0.0'
// For Google Sign-In (owner name accesss)
implementation 'com.google.android.gms:play-services-auth:20.0.0'
@@ -186,9 +186,9 @@ dependencies {
// https://firebase.google.com/docs/android/setup#available-libraries
// barcode support
- // per https://github.com/journeyapps/zxing-android-embedded for support of android version 22
- implementation('com.journeyapps:zxing-android-embedded:4.1.0') { transitive = false }
- implementation 'com.google.zxing:core:3.4.1'
+ // per https://github.com/journeyapps/zxing-android-embedded#older-sdk-versions for minSdkVersion 21
+ implementation('com.journeyapps:zxing-android-embedded:4.3.0') { transitive = false }
+ implementation 'com.google.zxing:core:3.3.0' // <-- don't update
def work_version = '2.7.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 91cfdb93d8..7e2a26a86a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,9 +12,6 @@
android:name="android.hardware.location.gps"
android:required="false" />
-
-
-
diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt
index 5c79f1d534..4d0702ba9f 100644
--- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt
+++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt
@@ -7,6 +7,7 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.IBinder
+import android.os.Looper
import android.os.RemoteException
import android.widget.Toast
import androidx.annotation.UiThread
@@ -196,6 +197,7 @@ class MeshService : Service(), Logging {
* start our location requests (if they weren't already running)
*
* per https://developer.android.com/training/location/change-location-settings
+ * & https://developer.android.com/training/location/request-updates
*/
@SuppressLint("MissingPermission")
@UiThread
@@ -253,10 +255,7 @@ class MeshService : Service(), Logging {
}
val client = LocationServices.getFusedLocationProviderClient(this)
-
- // FIXME - should we use Looper.myLooper() in the third param per https://github.com/android/location-samples/blob/432d3b72b8c058f220416958b444274ddd186abd/LocationUpdatesForegroundService/app/src/main/java/com/google/android/gms/location/sample/locationupdatesforegroundservice/LocationUpdatesService.java
- client.requestLocationUpdates(request, locationCallback, null)
-
+ client.requestLocationUpdates(request, locationCallback, Looper.getMainLooper())
fusedLocationClient = client
}
}
diff --git a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt
index b2ca3fb809..73b644550f 100644
--- a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt
+++ b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt
@@ -211,6 +211,7 @@ class ChannelFragment : ScreenFragment("Channel"), Logging {
binding.scanButton.setOnClickListener {
if ((requireActivity() as MainActivity).hasCameraPermission()) {
+ debug("Starting QR code scanner")
val zxingScan = IntentIntegrator.forSupportFragment(this)
zxingScan.setCameraId(0)
zxingScan.setPrompt("")
diff --git a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
index 1a06857992..ce9948838d 100644
--- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
+++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
@@ -878,7 +878,7 @@ class SettingsFragment : ScreenFragment("Settings"), Logging {
}
locationSettingsResponse.addOnSuccessListener {
- if (!it.locationSettingsStates.isBleUsable || !it.locationSettingsStates.isLocationUsable)
+ if (!it.locationSettingsStates?.isBleUsable!! || !it.locationSettingsStates?.isLocationUsable!!)
weNeedAccess()
else
debug("We have location access")
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 76356b8a8a..9f519becf7 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -63,7 +63,6 @@
Pripomenúť neskôr
Ohodnotiť teraz
Ohodnoťte Meshtastic
- Pripojené k vysielaču
Krátky dosah / Rýchle
Stredný dosah / Rýchle
Dlhý dosah / Rýchle
@@ -104,7 +103,6 @@
Ste si istý, že chcete preladiť na základný (default) kanál?
Nie je možné zmeniť kanál, pretože vysielač ešte nie je pripojený. Skúste to neskôr.
Firmvér vysielača je príliš zastaralý, aby dokázal komunikovať s aplikáciou. Prosím choďte na panel nastavení a zvoľte možnosť \"Aktualizácia firmvéru\". Viac informácií nájdete na našom sprievodcovi inštaláciou firmvéru na Github-e.
- Použiť
Aplikácia pre odoslanie URL nebola nájdená
Téma
Svetlá