Commit graph

10958 commits

Author SHA1 Message Date
Eric House
fb15039b60 assert refcount never climbs after reaching 0
Looking for a common but not-yet-reproducible situation where the
gamelock gets stuck preventing a game from being opened, usually related
to a move arriving. One thing that looked wrong is it seemed possible to
have the refcount drop to 0 then get increased again, causing somebody
to thing he has a lock when it's actually unlocked. So assert to try to
catch that case (and synchronize to make it much harder.)
2019-05-29 15:51:09 -07:00
Eric House
d92c2b87c8 show SMS status in (fixes always-red indicator)
(Not duplicate-specific)
2019-05-29 09:43:12 -07:00
Eric House
30fd27aa53 change engine to optionally look at pending tiles
option not used ... yet
2019-05-26 17:59:00 -07:00
Eric House
838d0e5cc2 Makefile for CSW19 ... ish 2019-05-22 19:24:44 -07:00
Eric House
53e10ebafb add DBUtils utility for saving/restoring Serializables 2019-05-22 18:51:16 -07:00
Eric House
95bea0a13f fix npe sending relay invites to self
Needed to handle the case where both are null. Can't reproduce this in
release builds so likely doesn't justify a new release.
2019-05-21 13:18:27 -07:00
Eric House
fb88dfda8a show toast when dropping duplicate invite if DEBUG
I forget to enable that option too often. (No impact on release builds.)
2019-05-21 13:16:00 -07:00
Eric House
3aa1ed0187 remove exif data from image files
command: find . -name '*.jp*g' -o -name '*.png' | xargs exiftool -all=
Did this because fdroid is complaining about metadata and I can't see
any obvious changes in the appearance of the app, but it's not
well-considered. Back this out if there are problems.
2019-05-20 06:41:47 -07:00
Eric House
b65cff4c31 remove wince files 2019-05-20 06:26:57 -07:00
Eric House
e2cf25fc0a add menuitem to copy relayid to gtk clipboard
(I'm tired of typing it manually.)
2019-05-18 09:48:22 -07:00
Eric House
9b01d044f1 try to fix assertion by catching null UDP socket
I think there's a rare race condition here. Assuming it results from a
bad network state rather than two sends coming too quickly, respond to
not having a connection by killing the thread so the next send will
retry.
2019-05-16 12:23:33 -07:00
Eric House
107e6d0fca add more logging around failure-to-open-intent 2019-05-16 12:06:38 -07:00
Eric House
10fff616ae try harder to respond to an intent with a rowID
Failure to immediately get a lock for a rowID in an intent meant that
other intent processing kicked in, and might have done the wrong
thing. So now if there's a rowid in it we try nothing else. And we use
the GameLock callback mechanism to deal with the case where it's
temporarily unavailable, as it will be when an incoming move is being
dispatched to it.
2019-05-15 16:44:19 -07:00
Eric House
4919f487eb up strings for new release 2019-04-25 15:20:21 -07:00
Eric House
622fa53c64 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-04-25 11:54:11 -07:00
Eric House
c757ba1386 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-04-09 11:45:32 -07:00
Eric House
012ebe26f7 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-04-09 09:51:04 -07:00
Eric House
fbf810444b log msgIDs (relay only for now)
I want to track and eliminate the duplication of the 0th message.
2019-04-09 08:59:57 -07:00
Eric House
fdb0e0d14b put message back in okonly dialog 2019-04-08 18:57:18 -07:00
Eric House
8f77a87a7a preserve checkmarks when invite dialogs rotate 2019-04-08 18:46:25 -07:00
Eric House
ec5162ddce trivial changes to force a build 2019-04-05 21:13:21 -07:00
Eric House
d6710622ad 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-04-05 13:30:23 -07:00
Eric House
4db2fd229b add hint explaining new tap-on-pending-words feature
And bring back another BoardCanvas hint that had been commented out.
2019-04-05 13:26:49 -07:00
Eric House
660cfa83a3 remove dead code 2019-04-05 12:47:07 -07:00
Eric House
fec0124f8c allow long-tap lookup of pending words too
When a word's been formed as part of the current turn, but not yet
committed, allow long-tap to trigger an offer to look it up online same
as for already-committed words. Allows checking the legality of
potential plays AND figuring WTF the hint feature just suggested.
2019-04-05 11:54:58 -07:00
Eric House
48880281dc add empty invitee list string for Bluetooth too 2019-04-04 21:32:28 -07:00
Eric House
dbdfa0b46c 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-04-04 21:26:24 -07:00
Eric House
163eaf9612 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-04-04 18:51:11 -07:00
Eric House
19fa3fce05 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-04-04 12:52:28 -07:00
Eric House
326bda70e3 cleanup 2019-04-02 21:55:01 -07:00
Eric House
2fd647d0aa make it a single thread 2019-04-02 21:55:01 -07:00
Eric House
758f08c7f3 move SMSPhoneInfo into its own class/file 2019-04-02 21:54:55 -07:00
Eric House
5e1e285046 make a common superclass 2019-04-02 21:49:16 -07:00
Eric House
35bcc3910c 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-04-02 21:48:58 -07:00
Eric House
0251ff0b44 use mutex to synchronize access to smsproto apis
I'm seeing my simultaneous access assert fail, so might as well break
fix it the foolproof way. It's background threads only that are calling
this stuff on Android so blocking them shouldn't hurt.
2019-04-02 16:08:08 -07:00
Eric House
7cc4ad6f2a up strings for release
This is just to try yet again to get past the play store console's
past-permissions bug
2019-03-25 15:41:40 -07:00
Eric House
425bedf464 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-03-25 13:53:25 -07:00
Eric House
2f264e36ca add makefile for new wordlist 2019-03-23 18:53:48 -07:00
Eric House
603daa447f remove separate marking of permissions as banned
It's enough to check manifest for their presence
2019-03-22 16:43:18 -07:00
Eric House
e2b7aceea7 Up version code and string to try a new play store release 2019-03-22 13:58:49 -07:00
Eric House
5f29af46e0 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-03-22 13:22:18 -07:00
Eric House
dc5b134708 up version name (but not code)
This will NOT be released on Google Play, so no need to up code.
2019-03-22 10:51:07 -07:00
Eric House
e84f7ff960 fix broken symlink 2019-03-22 10:47:20 -07:00
Eric House
12d95fdd30 fix build script for new Play Store variant name 2019-03-22 10:15:27 -07:00
Eric House
dad649474e changelog and cleanup 2019-03-22 10:05:13 -07:00
Eric House
8a620533e5 fix multi-message aspect of smsproto
passes --run-sms-test now, and works on Android occasionally combining messages.
2019-03-21 18:49:19 -07:00
Eric House
ea1cc68eb0 cut logging in test app 2019-03-21 18:40:15 -07:00
Eric House
e799474e00 always respect user's local player name 2019-03-21 09:13:38 -07:00
Eric House
eb79393dc1 fix a couple of random crashes
a race condition and a misunderstanding
2019-03-21 09:12:32 -07:00
Eric House
83b8169a6b add useful stuff to build-info.txt inside .apk 2019-03-20 15:47:20 -07:00