Commit graph

303 commits

Author SHA1 Message Date
geeksville
2ced6f5f6a WIP, begin adding support for the simpler BLE api
https://github.com/meshtastic/Meshtastic-esp32/issues/69
2020-04-23 11:24:57 -07:00
geeksville
4c39d9e3f9 don't let users edit their name when not connected to radio 2020-04-23 11:24:10 -07:00
geeksville
5e57fd69e1 also show failure to bond in the GUI 2020-04-23 09:03:44 -07:00
geeksville
ca2cae7003 Don't claim we have bluetooth access until the user grants location
permissions.  This fixes an ugly behavior when for when the user does
a from scratch install and first runs the app (and the dialog comes up
to grant access).

Previously we were starting our BLE scan for devices before that dialog
has been approved by the user, which Android doesn't return an error for
it instead just silently refuses to show devices.  If the user switched
away from the app and came back, we'd restart our scan and they could see
their device.

This fixes things so that the user doesn't have to switch away from our
app once before the devices appear.
2020-04-23 08:52:25 -07:00
geeksville
7d76f99731 wait for bonding complete before telling service to connect 2020-04-23 08:22:54 -07:00
geeksville
6f5c7b2452 move logging to the IO thread 2020-04-22 08:20:57 -07:00
geeksville
8ec8b038b6 Increase MTU _before_ discovering services, because it will speed up the link 2020-04-22 08:10:23 -07:00
geeksville
b63ebadf72 track # of text messages received/sent 2020-04-22 07:59:07 -07:00
geeksville
b194659e8a Fix autobug: some BLE implementations might not be completed
with service enumeration by the time they call the discover services
callback.  Therefore be careful to not touch "service" until after
the 500ms delay everyone on stackoverflow says these buggy drivers need.
2020-04-22 07:25:07 -07:00
geeksville
5abb56ec3f a better fix for the problem of sending messages while device is asleep
Better just to Observe myId and wait for it to be !null
2020-04-21 20:48:44 -07:00
geeksville
2dd37e791d don't let users try to send texts if we haven't received our node ID
I wanted an and not an or ;-)

Based on the autobug and the great report inhttps://github.com/meshtastic/Meshtastic-esp32/issues/102

I think this should fix the crash described in the messages screen.
2020-04-21 20:29:34 -07:00
geeksville
35c745d93f track total time connected to mesh 2020-04-21 14:46:52 -07:00
geeksville
d51d32c2f3 group autobugs by anonymous user 2020-04-21 08:31:28 -07:00
geeksville
671bafa05f don't leak macaddrs into logs - could be possibly personally identifying 2020-04-21 08:21:42 -07:00
geeksville
c00ca9b3db move notify later, to see if the autobug is _all_ BLE transactions or just notfiies 2020-04-21 07:57:07 -07:00
geeksville
99b66b3396 0.4.9 make app not crash when people try to run this on an emulator ;-) 2020-04-20 21:06:58 -07:00
geeksville
bfff5f6215 fix autobug that occurs if the service gets destroyed immediately after creation 2020-04-20 20:44:21 -07:00
geeksville
47ba4f0243 oops I broke from scratch installs - seen on a Z2 Pro 2020-04-20 15:38:53 -07:00
geeksville
8bf60c7603 make BLE exceptions strongly typed, so I can trigger closing down connections if needed 2020-04-20 11:10:53 -07:00
geeksville
0919bc75ef only ignore connect failures if autoconnect is on 2020-04-20 11:01:27 -07:00
geeksville
2a52b707ee fix autobug: some phones call gatt connected but with an error status code 2020-04-20 10:37:46 -07:00
geeksville
428ea596b0 fix autobug: exceptions become RemoteException when crossing service boundary 2020-04-20 10:15:43 -07:00
geeksville
9b57d60432 add note about an unsolved autobug 2020-04-20 10:15:22 -07:00
geeksville
34aa4cde05 if bluetooth was disabled when we started, reattempt device connect later 2020-04-20 09:56:38 -07:00
geeksville
25740c4fe4 don't leak user name in logs 2020-04-20 08:48:42 -07:00
geeksville
8c2d046255 properly show 'disconnected' while changing between radios 2020-04-20 08:27:08 -07:00
geeksville
848fcbe53b Fix #16: Show currently selected radio even if it is sleeping 2020-04-20 08:12:51 -07:00
geeksville
62a64dd782 new cleaner approach of not whacking services seems to aprox work 2020-04-20 07:46:06 -07:00
geeksville
cde3f2dec2 WIP - doesn't yet build, but changing to set the device addresses the correct way 2020-04-19 20:06:11 -07:00
geeksville
513f56f88f 0.4.5 some old phones complain about permissions they don't understand 2020-04-19 20:03:38 -07:00
geeksville
1e47895904 fix a couple of old/rare autobugs 2020-04-19 18:12:11 -07:00
geeksville
39eb6664da we now save node & msg db across service invocations 2020-04-19 17:25:20 -07:00
geeksville
4f24794001 wix warnings 2020-04-19 16:24:47 -07:00
geeksville
fdd3b48364 don't let users try to send texts if we don't have a node id 2020-04-19 12:31:27 -07:00
geeksville
547e59754d Fix #15: we now always get the node db from the service, even if radio
is not currently connected.
2020-04-19 12:15:42 -07:00
geeksville
ca1ada085e use parcelize to eliminate boilerplate code 2020-04-19 12:00:41 -07:00
geeksville
613e4f7ec4 make aidl interface strongly typed 2020-04-19 11:56:06 -07:00
geeksville
5784138c96 Fix #11: we now keep a record of past messages in the persistent service state 2020-04-19 11:47:34 -07:00
geeksville
a10e02ecdf old versions of androids never grant new permissions. Don't warn user about this. 2020-04-19 09:49:43 -07:00
geeksville
6c0e56920d fix part of #11 - show sender name in notification 2020-04-19 09:33:41 -07:00
geeksville
f13c05862d update protos 2020-04-19 09:23:57 -07:00
geeksville
5036cb906b #14: not ready - but I need to do other stuff - so disabling for now 2020-04-18 18:45:50 -07:00
geeksville
b4bf682df0 #14: WIP we now show the new GUI properly 2020-04-18 16:30:30 -07:00
geeksville
840dbd491e #14: WIP split out the bonding code so it can be shared with new impl 2020-04-18 11:45:11 -07:00
geeksville
18248bd86a add a "report a bug" button 2020-04-15 14:10:40 -07:00
geeksville
2baa42d963 Finding the activity via the application might return null? (autobug)
instead capture it in a closure when we know it is guaranteed valid.
2020-04-15 13:21:29 -07:00
geeksville
7fa168ab2c 0.3.9 - fix channel setting autobug and update to latest google libs 2020-04-15 07:52:00 -07:00
geeksville
ba4291f4fd remove dead code 2020-04-13 17:01:39 -07:00
geeksville
54d632eb84 some android stacks are buggy and need 500ms before returning BLE descriptors 2020-04-13 16:28:32 -07:00
geeksville
069c0646f4 fix autobug with setting channels - for now allow only while device is awake 2020-04-13 16:00:48 -07:00