kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
2.5 KiB
2.5 KiB
- use android service from Signal
- DONE handle failures in onCharWrite, instead of logAssert - because they can happen if device goes away
- explictly broadcast towards signal https://developer.android.com/guide/components/broadcasts
- make test implementation of android service (doesn't use bluetooth)
- clean up sw update code in device side
- DONE add broadcasters for use by signal (node changes and packet received)
- make compose based access show mesh state
- add real messaging code/protobufs
- use https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/#4 to show service state
- connect to bluetooth device automatically using minimum power
- have signal declare receivers: https://developer.android.com/guide/components/broadcasts#manifest-declared-receivers
- fix BT device scanning
- call crashlytics from exceptionReporter!!! currently not logging failures caught there
protobuf notes protoc -I=. --java_out /tmp mesh.proto
to generate nanopb c code /home/kevinh/packages/nanopb-0.4.0-linux-x86/generator-bin/protoc --nanopb_out=/tmp -I=app/src/main/proto mesh.proto https://jpa.kapsi.fi/nanopb/docs/
nanopb binaries available here: https://jpa.kapsi.fi/nanopb/download/ use nanopb 0.4.0
Medium priority
- change info() log strings to debug()
- use platform theme (dark or light)
- remove mixpanel analytics
- require user auth to pair with the device (i.e. press button on device to allow a new phone to pair with it). Don't leave device discoverable. Don't let unpaired users do thing with device
- remove example code boilerplate from the service
- switch from protobuf-java to protobuf-javalite - much faster and smaller, just no JSON debug printing
Low priority
- make analytics optional
- possibly use finotes for analytics https://finotes.com/
- also add a receiver that fires after a new update was installed from the play stoe
Done
- DONE fix bluetooth update
- DONE refactor sw update code to share with my other bluetooth service
- DONE don't let sw update got to sleep during the update
- assert() is apparently a noop - change to use my version of assert
- DONE add crash reporting
- DONE add analytics (make them optional)
- make frontend using https://developer.android.com/jetpack/compose/tutorial
- change bluetooth mtu length to 512 (default is only 20)
- DONE get signal running under debugger
- Find good Signal hooks
- receive fake packets at power on to built initial state (for debugging, pretend there are a couple of nodes out there)
- learn our node number
- test mesh service from activity