diff --git a/app/build.gradle b/app/build.gradle index 12b70ecbb..8e5b9a43c 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 91cfdb93d..7e2a26a86 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 5c79f1d53..4d0702ba9 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 b2ca3fb80..73b644550 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 1a0685799..ce9948838 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 76356b8a8..9f519becf 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á