From 3cf7d97dcfa265792e49d4a6e13cd21614b1c8f4 Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 16 Jun 2020 10:09:22 -0700 Subject: [PATCH 1/3] Fix #54. Thanks @slavino for the report! --- app/src/main/java/com/geeksville/mesh/service/MeshService.kt | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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 27d3c2634..a47b6d70f 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -353,7 +353,7 @@ class MeshService : Service(), Logging { @RequiresApi(Build.VERSION_CODES.O) private fun createNotificationChannel(): String { val channelId = "my_service" - val channelName = "My Background Service" + val channelName = getString(R.string.meshtastic_service_notifications) val chan = NotificationChannel( channelId, channelName, NotificationManager.IMPORTANCE_HIGH diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ebe3ad8dc..1ca33cca5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,4 +68,5 @@ Long range (but slower) Very long range (but slow) UNRECOGNIZED + Meshtastic Service Notifications From 03af1f1de738c43f3fa99580c98afe8c766d3b36 Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 16 Jun 2020 10:30:10 -0700 Subject: [PATCH 2/3] Fix #55 - warn user if they have location disabled --- .../geeksville/mesh/ui/SettingsFragment.kt | 31 +++++++++++++++---- app/src/main/res/values/strings.xml | 1 + 2 files changed, 26 insertions(+), 6 deletions(-) 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 f960190b8..cb5eedc6d 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -14,6 +14,7 @@ import android.companion.CompanionDeviceManager import android.content.* import android.hardware.usb.UsbDevice import android.hardware.usb.UsbManager +import android.location.LocationManager import android.os.Bundle import android.os.ParcelUuid import android.view.LayoutInflater @@ -751,6 +752,15 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { scanModel.stopScan() } + /** + * Has the user _turned on_ the system setting for current location access. + */ + private fun isLocationEnabled(): Boolean { + val locManager = + requireContext().getSystemService(Context.LOCATION_SERVICE) as LocationManager + return locManager.isLocationEnabled + } + override fun onResume() { super.onResume() if (!hasCompanionDeviceApi) @@ -758,12 +768,21 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { // Keep reminding user BLE is still off val hasUSB = activity?.let { SerialInterface.findDrivers(it).isNotEmpty() } ?: true - if (scanModel.bluetoothAdapter?.isEnabled != true && !hasUSB) { - Toast.makeText( - requireContext(), - R.string.error_bluetooth, - Toast.LENGTH_SHORT - ).show() + if (!hasUSB) { + // Warn user if BLE is disabled + if (scanModel.bluetoothAdapter?.isEnabled != true) { + Toast.makeText( + requireContext(), + R.string.error_bluetooth, + Toast.LENGTH_SHORT + ).show() + } else if (!isLocationEnabled()) { + Toast.makeText( + requireContext(), + getString(R.string.location_disabled_warning), + Toast.LENGTH_SHORT + ).show() + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ca33cca5..918497e42 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -69,4 +69,5 @@ Very long range (but slow) UNRECOGNIZED Meshtastic Service Notifications + You must turn on location services in Android Settings From 579f2735edde2cdaf41b58af2fb1bed4a34ac52c Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 16 Jun 2020 10:31:57 -0700 Subject: [PATCH 3/3] 0.7.77 (and update libs) --- app/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d3dcc1f6d..cb885cae9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.geeksville.mesh" minSdkVersion 21 // The oldest emulator image I have tried is 22 (though 21 probably works) targetSdkVersion 29 - versionCode 10776 // format is Mmmss (where M is 1+the numeric major number - versionName "0.7.76" + versionCode 10777 // format is Mmmss (where M is 1+the numeric major number + versionName "0.7.77" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -92,10 +92,10 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.core:core-ktx:1.3.0' - implementation "androidx.fragment:fragment-ktx:1.2.4" + implementation 'androidx.fragment:fragment-ktx:1.2.5' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta6' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta7' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.viewpager2:viewpager2:1.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'