Commit graph

6222 commits

Author SHA1 Message Date
Eric House
9be8b21efc always log stack of lock held more than 1 minute
(DEBUG only) I'm seeing deadlocks in a non-reproducible way and need to
get at the source. This should log the stacks of long-held locks, and
notify via Toast (when possible) when it occurs.
2019-06-23 10:20:16 -07:00
Eric House
993fff8e13 use a single queue for all nbsproto threads
No point in worrying about whether a thread exists without emptying its
queue. Instead have a thread start when something's added to the queue
and exit when it's been empty for a while. Only trick is the need to
remember the phone number[s] on behalf of which a retry's necessary
because jni code is waiting to see if combining can be done.
2019-06-23 10:20:16 -07:00
Eric House
8c2582b9a2 differentiate betweeen PENDING and RECENT tiles
Should not show the new you-can-lookup-uncommitted-words hint for
already-played words, so needed to be able to tell difference between
the two. Now you can -- and on the gtk side I draw them differently
because I can.
2019-06-23 10:20:16 -07:00
Eric House
8044593249 log msgIDs (relay only for now)
I want to track and eliminate the duplication of the 0th message.
2019-06-23 10:20:16 -07:00
Eric House
22a68dd8cf put message back in okonly dialog 2019-06-23 10:20:16 -07:00
Eric House
6098f28210 preserve checkmarks when invite dialogs rotate 2019-06-23 10:20:16 -07:00
Eric House
6a28e398dc trivial changes to force a build 2019-06-23 10:20:16 -07:00
Eric House
a50927a00d replace oft-firing assertion with logging
It's crashing all the time and involves a system that only exists in
debug builds. So I should understand the root cause, but other stuff
needs to get done first.
2019-06-23 10:20:16 -07:00
Eric House
797eea833a add hint explaining new tap-on-pending-words feature
And bring back another BoardCanvas hint that had been commented out.
2019-06-23 10:20:16 -07:00
Eric House
d3f4a729d7 remove dead code 2019-06-23 10:20:16 -07:00
Eric House
8f6026e633 add empty invitee list string for Bluetooth too 2019-06-23 10:20:16 -07:00
Eric House
c5efeb283a fix invite dialogs for landscape layout
Scrolling's needed in some cases, and you can't easily put a ListView
inside a ScrollView. So replace the ListView with a LinearLayout whose
contents I manage manually, and wrap the whole layout in a ScrollView.
2019-06-23 10:20:16 -07:00
Eric House
054ac325bb fix invite-how alert not scrolling
By setting a custom view I wasn't using I broke scrolling of the
AlertDialog's list view which I was using. Known bug apparently....
2019-06-23 10:20:16 -07:00
Eric House
84dc14ff78 get rid of DispatchNotify
All it did was forward intent's data to MainActivity. Only question is
whether making MainActivity singleTask is a problem. We'll see.
2019-06-23 10:20:16 -07:00
Eric House
c82081521f cleanup 2019-06-23 10:20:16 -07:00
Eric House
71af4d3187 make it a single thread 2019-06-23 10:20:16 -07:00
Eric House
bade9f6b40 move SMSPhoneInfo into its own class/file 2019-06-23 10:20:16 -07:00
Eric House
266c61f84b make a common superclass 2019-06-23 10:20:16 -07:00
Eric House
1c2a0ed994 Rename SMSService NBSProxy, and make it not a service
Just keep a thread for each
phone we're sending to or receiving from, and pass them packets and
other things to send or (incoming case) process. So far the threads
don't die, but they will soon once there's nothing in their queues. Just
need to be sure there's no racing there.

This is to work around the frequent failure of the OS to pass enqeued work
into the service within a reasonable amount of time (I expect seconds, but see
delays of minutes or even hours.)
2019-06-23 10:20:16 -07:00
Eric House
808a896fbf up strings for release
This is just to try yet again to get past the play store console's
past-permissions bug
2019-06-23 10:20:16 -07:00
Eric House
1ed9ad4aac reflect bt receipts in how long since saw device
Made no sense to use explicit scans only since typically you only do
that to get things going.
2019-06-23 10:20:16 -07:00
Eric House
7e9f75de0a remove separate marking of permissions as banned
It's enough to check manifest for their presence
2019-06-23 10:20:16 -07:00
Eric House
ed066f99a2 Up version code and string to try a new play store release 2019-06-23 10:20:16 -07:00
Eric House
fd0ec1d131 move SMSReceiver from main manifest to the others
Theory is that the store's buggy site is presenting its
banned-permissions interface because it's detecting a Receiver that
requires SMS_RECEIVE permission even though the permissions themselves
aren't there any more.
2019-06-23 10:20:16 -07:00
Eric House
70123e2cd3 up version name (but not code)
This will NOT be released on Google Play, so no need to up code.
2019-06-23 10:20:16 -07:00
Eric House
71e8132f55 fix broken symlink 2019-06-23 10:20:16 -07:00
Eric House
ffb3b19aef fix build script for new Play Store variant name 2019-06-23 10:20:16 -07:00
Eric House
c1c2c415dd changelog and cleanup 2019-06-23 10:20:16 -07:00
Eric House
1522463a3a fix multi-message aspect of smsproto
passes --run-sms-test now, and works on Android occasionally combining messages.
2019-06-23 10:20:16 -07:00
Eric House
e9bcf6a476 always respect user's local player name 2019-06-23 10:20:16 -07:00
Eric House
53d2aa8023 fix a couple of random crashes
a race condition and a misunderstanding
2019-06-23 10:20:16 -07:00
Eric House
3d5b4017e5 add useful stuff to build-info.txt inside .apk 2019-06-23 10:20:16 -07:00
Eric House
0f9fd24cb7 try to address one-time assert
and remove it from shipping build
2019-06-23 10:20:16 -07:00
Eric House
92a30249a6 show the stalled-service alert based on pref
Allow users to turn the notification on; otherwise skip it. And set
the default on/off based on DEBUG type of build.
2019-06-23 10:20:16 -07:00
Eric House
1b84878930 add a bool resource matching BuildConfig.DEBUG
I want to be able to have some boolean prefs default based on whether
it's a DEBUG build.
2019-06-23 10:20:15 -07:00
Eric House
d25041e8a0 fix null procptr crash in jni
I can't reproduce this, but while testing recovery from DatagramSocket
recreation in RelayService got enough to know that somehow a timer's
procptr's not set. So test before calling, and log instead of crashing.
2019-06-23 10:20:15 -07:00
Eric House
36cc181a5e get another DatagramSocket when ours goes bad
Fix longstanding bug triggered by something as simple as putting device
into and out of airplane mode. Once the class-variable socket was
created it was never replaced. Now respond to exceptions that mean it's
useless and set it to null so existing logic will recreate it.
2019-06-23 10:20:15 -07:00
Eric House
4354cbdc4f tweaks to logging and imports; should have no effect 2019-06-23 10:20:15 -07:00
Eric House
52891e8391 report inability to get locks in travis debug builds 2019-06-23 10:20:15 -07:00
Eric House
dbcec41450 track all pending service Intents; warn of stalls
When enqueuing Intents for any of the three services, cache the
Intent. When onHandleWork() is called, remove the equivalent cached
intent. Then periodically check for intents that have been stored for
more than 60 seconds, and post a Notification alerting user to
stall. The user will likely have noticed that messages aren't flowing,
so this will simply explain the problem. Includes an "email author"
button.
2019-06-23 10:20:15 -07:00
Eric House
7b04f8d4ed cleanup and refactor
Move some work into superclass where instrumentation can be added to
greater effect. And remove from BTService an earlier attempt (at stall
detection.)
2019-06-23 10:20:15 -07:00
Eric House
97a3c3a2d8 refactor: new constructor for common case 2019-06-23 10:20:15 -07:00
Eric House
c4bba7db74 additions for debugging
toward tracking down relay stalls, log a bit more in resend process and
add UI to support an option where there's no reliance on
polling (i.e. FCM only)
2019-06-23 10:20:15 -07:00
Eric House
f7444785ab replace assert with logging 2019-06-23 10:19:01 -07:00
Eric House
13d2917d85 up version strings 2019-06-23 10:19:01 -07:00
Eric House
c9d4df0cc4 add missing AndroidManifest.xml files for new variants 2019-06-23 10:19:01 -07:00
Eric House
b4aa6e2ae9 use latest nbsplib 2019-06-23 10:19:01 -07:00
Eric House
ae5b78e955 change to work with changed NBSProxy API 2019-06-23 10:19:01 -07:00
Eric House
5c243b3ff9 API's changed 2019-06-23 10:19:01 -07:00
Eric House
8b3c64b476 use the latest NBSProxy dev release 2019-06-23 10:19:01 -07:00