Commit graph

11383 commits

Author SHA1 Message Date
Eric House
b9df279cd5 Merge branch 'android_translate' into android_branch 2019-06-23 11:05:10 -07:00
Eric House
c2c6312e91 include service delay stats for DEBUG builds
A start at determining of often there's a problem with Service not
scheduling work quickly enough.
2019-06-23 10:20:16 -07:00
Eric House
fb0d87781a build from new wordlist 2019-06-23 10:20:16 -07:00
Eric House
5bce759d32 fix race condition leading to NPE 2019-06-23 10:20:16 -07:00
Eric House
4f63ad3b83 wip: cleanup (not related to duplicate) 2019-06-23 10:20:16 -07:00
Eric House
ba363fdbc9 offer to email when unable to lock game
Only on non-shipping builds. This is attempting to catch a non-repro
lock-forever I'm trying to fix.
2019-06-23 10:20:16 -07:00
Eric House
c72e97e0f6 add support for 64-bit ARM
Add a third processor type to the .so, and fix first compile-time
warnings and then a few dumb bugs based on assumptions about ptr sizes.
Works to play networked games and browse wordlists, but is not
extensively tested and needs to be before release.
2019-06-23 10:20:16 -07:00
Eric House
ce26696a37 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-06-23 10:20:16 -07:00
Eric House
b50bc145af show SMS status in (fixes always-red indicator)
(Not duplicate-specific)
2019-06-23 10:20:16 -07:00
Eric House
ac84a3b376 change engine to optionally look at pending tiles
option not used ... yet
2019-06-23 10:20:16 -07:00
Eric House
881128f1c9 Makefile for CSW19 ... ish 2019-06-23 10:20:16 -07:00
Eric House
37ebf508e5 add DBUtils utility for saving/restoring Serializables 2019-06-23 10:20:16 -07:00
Eric House
78f1ba6dde 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-06-23 10:20:16 -07:00
Eric House
b63ba3e843 show toast when dropping duplicate invite if DEBUG
I forget to enable that option too often. (No impact on release builds.)
2019-06-23 10:20:16 -07:00
Eric House
a9eff12074 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-06-23 10:20:16 -07:00
Eric House
1e5024f4d5 remove wince files 2019-06-23 10:20:16 -07:00
Eric House
dd51e7ca06 add menuitem to copy relayid to gtk clipboard
(I'm tired of typing it manually.)
2019-06-23 10:20:16 -07:00
Eric House
266765405b 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-06-23 10:20:16 -07:00
Eric House
c6c8e4209f add more logging around failure-to-open-intent 2019-06-23 10:20:16 -07:00
Eric House
cf4a7d91a0 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-06-23 10:20:16 -07:00
Eric House
2827526466 up strings for new release 2019-06-23 10:20:16 -07:00
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
762e701a00 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-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
fe96a72a3e 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-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
06b9598414 add makefile for new wordlist 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