From c0e58391a3d7f240195b92484c9baba4f0ab13a1 Mon Sep 17 00:00:00 2001 From: geeksville Date: Wed, 1 Jul 2020 17:47:53 -0700 Subject: [PATCH 1/3] Fix problem of old messages not being remembered --- TODO.md | 6 ++---- app/src/main/java/com/geeksville/mesh/MainActivity.kt | 6 ++++-- .../main/java/com/geeksville/mesh/service/MeshService.kt | 7 +++++-- .../main/java/com/geeksville/mesh/ui/MessagesFragment.kt | 3 ++- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/TODO.md b/TODO.md index fc4a86f58..bd5c0c5f0 100644 --- a/TODO.md +++ b/TODO.md @@ -1,10 +1,8 @@ # Remaining tasks before declaring 1.0 -- feh123 problem sony -- fix release build inclusion of firmware - per https://developer.android.com/studio/build/build-variants -- Android frontend should refetch the android messages from backend service on Resume -- disable software update button after update finishes - first message sent is still doubled for some people +- fix release build inclusion of firmware - per https://developer.android.com/studio/build/build-variants +- disable software update button after update finishes - let users set arbitrary params in android - add a low level settings screen (let user change any of the RadioConfig parameters) diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index e64fb64cc..bf6557b8c 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -423,7 +423,7 @@ class MainActivity : AppCompatActivity(), Logging, private fun updateConnectionStatusImage(connected: MeshService.ConnectionState) { - if (actionBarMenu==null) + if (actionBarMenu == null) return val (image, tooltip) = when (connected) { @@ -736,7 +736,9 @@ class MainActivity : AppCompatActivity(), Logging, registerMeshReceiver() // Init our messages table with the service's record of past text messages - model.messagesState.messages.value = service.oldMessages + val msgs = service.oldMessages + debug("Service provided ${msgs.size} messages") + model.messagesState.messages.value = msgs val connectionState = MeshService.ConnectionState.valueOf(service.connectionState()) 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 54f49b52e..28c0b8731 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -605,13 +605,13 @@ class MeshService : Service(), Logging { } /** - * discard entire node db & message state - used when changing radio channels + * discard entire node db & message state - used when downloading a new db from the device */ private fun discardNodeDB() { myNodeInfo = null nodeDBbyNodeNum.clear() nodeDBbyID.clear() - recentDataPackets.clear() + // recentDataPackets.clear() We do NOT want to clear this, because it is the record of old messages the GUI still might want to show haveNodeDB = false } @@ -1024,6 +1024,9 @@ class MeshService : Service(), Logging { /// Perform all the steps needed once we start waiting for device sleep to complete fun startDeviceSleep() { + // Just in case the user uncleanly reboots the phone, save now (we normally save in onDestroy) + saveSettings() + // lost radio connection, therefore no need to keep listening to GPS stopLocationRequests() diff --git a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt index cd91e30fe..6d96dfcb6 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt @@ -187,7 +187,8 @@ class MessagesFragment : ScreenFragment("Messages"), Logging { layoutManager.stackFromEnd = true // We want the last rows to always be shown messageListView.layoutManager = layoutManager - model.messagesState.messages.observe(viewLifecycleOwner, Observer { it -> + model.messagesState.messages.observe(viewLifecycleOwner, Observer { + debug("New messages received: ${it.size}") messagesAdapter.onMessagesChanged(it) }) From 37a909e65dc231180ae9d4f16f55447ae62ebc72 Mon Sep 17 00:00:00 2001 From: geeksville Date: Wed, 1 Jul 2020 18:10:30 -0700 Subject: [PATCH 2/3] include firmware bins only in release builds --- app/src/{debug => release}/assets/firmware | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/src/{debug => release}/assets/firmware (100%) diff --git a/app/src/debug/assets/firmware b/app/src/release/assets/firmware similarity index 100% rename from app/src/debug/assets/firmware rename to app/src/release/assets/firmware From 4333f775f984f44e62dd319c9aef2637b5ee545b Mon Sep 17 00:00:00 2001 From: geeksville Date: Wed, 1 Jul 2020 18:10:44 -0700 Subject: [PATCH 3/3] 0.7.85 --- TODO.md | 1 - app/build.gradle | 4 ++-- geeksville-androidlib | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index bd5c0c5f0..eaf0b407f 100644 --- a/TODO.md +++ b/TODO.md @@ -1,7 +1,6 @@ # Remaining tasks before declaring 1.0 - first message sent is still doubled for some people -- fix release build inclusion of firmware - per https://developer.android.com/studio/build/build-variants - disable software update button after update finishes - let users set arbitrary params in android - add a low level settings screen (let user change any of the RadioConfig parameters) diff --git a/app/build.gradle b/app/build.gradle index 66cbde0bf..df3d5b631 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 10784 // format is Mmmss (where M is 1+the numeric major number - versionName "0.7.84" + versionCode 10785 // format is Mmmss (where M is 1+the numeric major number + versionName "0.7.85" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/geeksville-androidlib b/geeksville-androidlib index 9f8300676..10d3b2e62 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit 9f83006768de5ca714f4c43e723a3477a91d0713 +Subproject commit 10d3b2e62b26d41b9b2568eefb3c207442c1cc5c