diff --git a/README.md b/README.md index f3ff908d2..11ab6bbf7 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ not bleeding edge alpha test builds skip to the next step. 2. Go to this [URL](https://play.google.com/apps/testing/com.geeksville.mesh) to opt-in to the alpha/beta test. 3. If you encounter any problems or have questions, [post in the forum](https://meshtastic.discourse.group/)t and we'll help. +The app is also distributed for Amazon Fire devices via the Amazon appstore: [![Amazon appstore link](https://raw.githubusercontent.com/meshtastic/Meshtastic-device/master/images/amazon-fire-button.png)](https://www.amazon.com/Geeksville-Industries-Meshtastic/dp/B08CY9394Q) + ## Build instructions If you would like to develop this application we'd love your help! These build instructions are brief diff --git a/TODO.md b/TODO.md index e0d620d0c..faa8c387a 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,6 @@ # Remaining tasks before declaring 1.0 +- add new languages from eric: https://meshtastic.discourse.group/t/call-for-help-please-localize-the-app-for-your-language/107/61?u=geeksville - add faq entry about range and antennas and rain - first message sent is still doubled for some people - let users set arbitrary params in android diff --git a/app/build.gradle b/app/build.gradle index feac428f9..2bb8e9131 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -108,7 +108,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.2.0-rc01' - implementation 'androidx.core:core-ktx:1.3.0' + implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.2.5' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' @@ -139,7 +139,7 @@ dependencies { // For UART access // implementation 'com.google.android.things:androidthings:1.0' - implementation 'com.github.mik3y:usb-serial-for-android:v2.2.2' + implementation 'com.github.mik3y:usb-serial-for-android:v2.3.0' // mapbox implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1' @@ -151,7 +151,7 @@ dependencies { implementation 'com.google.android.gms:play-services-location:17.0.0' // For Google Sign-In (owner name accesss) - implementation 'com.google.android.gms:play-services-auth:18.0.0' + implementation 'com.google.android.gms:play-services-auth:18.1.0' // Add the Firebase SDK for Crashlytics. implementation 'com.google.firebase:firebase-crashlytics:17.1.1' @@ -167,7 +167,7 @@ dependencies { implementation('com.journeyapps:zxing-android-embedded:4.1.0') { transitive = false } implementation 'com.google.zxing:core:3.4.0' - def work_version = "2.3.4" + def work_version = '2.4.0' // Work Request - used to delay boot event handling // implementation "androidx.work:work-runtime:$work_version" diff --git a/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt b/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt index 3be7ecf51..eb256d149 100644 --- a/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt +++ b/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt @@ -229,7 +229,7 @@ class BluetoothInterface(val service: RadioInterfaceService, val address: String s.asyncWriteCharacteristic(toRadio, a) { r -> try { r.getOrThrow() - debug("write of ${a.size} bytes completed") + debug("write of ${a.size} bytes to $uuid completed") if (isFirstSend) { isFirstSend = false @@ -295,6 +295,7 @@ class BluetoothInterface(val service: RadioInterfaceService, val address: String exceptionReporter { // If the gatt has been destroyed, skip the refresh attempt safe?.gatt?.let { gatt -> + debug("DOING FORCE REFRESH") val refresh: Method = gatt.javaClass.getMethod("refresh") refresh.invoke(gatt) } 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 e8d92f8ed..284ca7f80 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -810,11 +810,15 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { // exception.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS) // For now just punt and show a dialog - Toast.makeText( - requireContext(), - getString(R.string.location_disabled_warning), - Toast.LENGTH_SHORT - ).show() + + // The context might be gone (if activity is going away) by the time this handler is called + context?.let { c -> + Toast.makeText( + c, + getString(R.string.location_disabled_warning), + Toast.LENGTH_SHORT + ).show() + } //} else // Exceptions.report(exception) diff --git a/geeksville-androidlib b/geeksville-androidlib index 3cbda1733..629a5b162 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit 3cbda1733e7c9b1c713f5e8c438cde3e5032026f +Subproject commit 629a5b1621d1e79772ddf00290da1edec3a74e10