Commit graph

1110 commits

Author SHA1 Message Date
Eric House
f6d7eed84d add mqtt as a new transport
This is meant to replace the relay eventually, but for now it's a new
option, like BT or SMS, to be chosen. Protocol is handled in common/
code for the first time, meaning that linux and android interact without
the need to keep two platforms in sync. Linux uses lib-mosquitto, and
Android uses eclipse's Paho client (the generic java version, not the
one that uses four-year-old Service patterns and so crashes for SDK >=
26.)
2020-05-20 13:58:53 -07:00
Eric House
996e0d62c7 show alert icon in place of chat when quarantined
It'll be helpful (non-release only) to see an alert icon for all games
that can't be opened.
2020-05-20 13:04:52 -07:00
Eric House
fe2d8712d4 log stash when exception caught 2020-05-19 11:58:42 -07:00
Eric House
a1719f14b2 prune quarantine data on launch
I had hundreds of val==zero entries
2020-05-19 08:00:17 -07:00
Eric House
90a175e509 string/version code changes for new release 2020-05-05 08:23:11 -07:00
Eric House
0e9661aa19 fix search of wordlists containing duplicates
Hungarian is unique (so far) in having two-letter tiles that can be
spelled with one-letter tiles AND in allowing words to be spelled both
ways. This crashed search based on strings because there were
duplicates. So now search is done by tile arrays. Strings are first
converted, and then IFF there is more than one tile array result AND the
wordlist has the new flag indicating that duplicates are possible, THEN
the user is asked to choose among the possible tile spellings of the
search string.
2020-05-04 08:33:15 -07:00
Eric House
98ce0e416f api cleanup: dict_iter -> di
(JNI changed too, so it's not just compiler-checked, but tests ok)
2020-05-03 21:45:08 -07:00
Eric House
c4b4c9a0c8 handle 'len' param for dict info if provided 2020-05-02 18:38:42 -07:00
Eric House
2b8e6e192a include len in info for upgradeable wordlists
Server should offer to upgrade if size has changed: checksum doesn't
cover everything.
2020-05-02 13:04:32 -07:00
Eric House
71575934b8 mark-bad menuitm (DEBUG) for standalone games too 2020-04-30 13:25:25 -07:00
Eric House
2d6aa1d019 final change list change? 2020-04-30 09:21:30 -07:00
Eric House
7efd084d35 don't assert in race condition loss 2020-04-29 10:54:19 -07:00
Eric House
0e0615f5d2 fix another likely race condition
Use an ArrayList rather than an array, though that the size of the array
changed mid-calc suggests there could be other problems later. We'll see.
2020-04-29 10:44:31 -07:00
Eric House
8fb21002ad word around some race condition to avoid crash
Reported by Play Store user; can't reproduce but this should fix it.
2020-04-29 10:37:42 -07:00
Eric House
e34da24393 revert wordlist changes
There are bugs there still to resolve and I need to ship. Will return
once they're fixed.
2020-04-29 10:15:58 -07:00
Eric House
0078e58535 cleanup around jni wrapping and checking
Separated the refcounting and ptr-as-long wrapping aspects of GamePtr
into a superclass that others might later inherit from. Cleaned up
dict_iter entrypoints, and added sanity checks to both structs so I'll
quickly notice if I get the ptr management wrong.
2020-04-28 20:13:59 -07:00
Eric House
e7c96290ea name change only
It was confusing using dict_ as the prefix for two "classes"
2020-04-28 15:24:22 -07:00
Eric House
b2bc4e34cf do wordlist lookups using tiles not chars
Fixing a problem with languages (like Hungarian) where it's legal to use
a two-letter tile or two single-letter tiles to play the same word. When
words are seen, or searched for, as char-arrays, there are
duplicates. Current code crashes, but there's also risk the user gets
unexpected behavior. Crash is fixed, and foundation laid for better UX,
by doing all searches for tile arrays. If a search string translates to
more than one tile array the user must choose. For that choice to make
sense it's now possible to translate tile[] to char[] with a delimiter
between the tile strings.
2020-04-28 13:29:12 -07:00
Eric House
f8aa204842 another changelog addition 2020-04-26 15:42:28 -07:00
Eric House
72cf605792 update changelog 2020-04-24 23:42:27 -07:00
Eric House
a35cc760f2 get rid of the stupid '->' in game submenu title 2020-04-24 22:17:39 -07:00
Eric House
4e1018d7d2 reflect log-storage state in what menus are available
It'd debug-build-only, but I like knowing what's going on.
2020-04-24 21:57:32 -07:00
Eric House
cbf81c64bd track and pass all words when phonies==BLOCKED 2020-04-24 14:58:17 -07:00
Eric House
ebc6c4629d make language names localizable (and add Hungarian) 2020-04-24 13:36:01 -07:00
Eric House
3ee6f95a16 update changelog 2020-04-24 13:13:49 -07:00
Eric House
83a5d32ed0 check for null 2020-04-24 12:58:02 -07:00
Eric House
70479710bc changelog for new release 2020-04-24 07:40:25 -07:00
Eric House
abc34f623f add Hungarian to display wordlist 2020-04-24 06:34:30 -07:00
Eric House
055eceffba got back to singleTask
Having intents launch second instances of GameList on top of open games
is sucking.
2020-04-20 14:37:39 -07:00
Eric House
fe9eb9ae7c test for null back from refusal to load quarantined game 2020-04-20 12:19:04 -07:00
Eric House
54efffa635 pass the wordlist name too 2020-04-20 09:34:14 -07:00
Eric House
10f509ea1f pass and display the blocked word 2020-04-19 22:27:14 -07:00
Eric House
c0f074c1bf support new phony to block words not in dict
Currently detects the same as tiles not in a line and calls out to a new
util method that's currently parameter-less. On Android the option only
appears in d variants.
2020-04-19 17:31:31 -07:00
Eric House
f0444c5c1e make player edit dialog less ugly 2020-04-19 08:57:54 -07:00
Eric House
56b1990207 another changelog tweak 2020-04-18 17:06:40 -07:00
Eric House
d2fcbb5f9d update changelog 2020-04-18 14:51:53 -07:00
Eric House
b94ba0fd96 add debug-only menuitem for marking a game corrupt 2020-04-18 14:43:46 -07:00
Eric House
5fce6d8e26 add delete option for suspect-corrupt files 2020-04-18 14:35:36 -07:00
Eric House
8c50bb1895 Avoid opening games that have crashed.
On each open, increment a counter. And if we're able to close without a
crash intervening, decrement. Once we're trying to open with a non-0
counter we have a bad game. Open only after warning the user.
2020-04-18 13:36:21 -07:00
Eric House
c39bede5c1 up version strings 2020-04-18 10:09:16 -07:00
Eric House
b82975179b remove mistaken assert
It's ok to fail to open a game, as will happen e.g. when a message
arrives for a game that was recently deleted.
2020-04-18 07:08:00 -07:00
Eric House
9f92bce880 name exported file based on FLAVOR 2020-04-17 20:29:47 -07:00
Eric House
b8ba5a98c1 remove too-frequent logging 2020-04-17 18:49:20 -07:00
Eric House
5d2f84acd8 move log-related menuitems into a submenu 2020-04-17 18:49:20 -07:00
Eric House
0e5cc9f2b9 log pid and tid roughly same as logcat does 2020-04-17 18:49:20 -07:00
Eric House
6560394478 part two: add threadID and support multiple threads
Looks like it's enough to just use a mutex so threads block until it's
their turn to send logs to java.
2020-04-17 18:49:20 -07:00
Eric House
cfa9b73833 first cut at persisting logged messages
Works, with support for writing them to file. BUT does not handle
messages coming in from multiple threads at once so drops a lot of them.
2020-04-17 18:49:20 -07:00
Eric House
36bf92e8e5 fix misspelled column type INTEGER
I have no idea how this worked or how old. Might require a new DB
version? Needs testing.
2020-04-17 18:49:20 -07:00
Eric House
94b00b1c7c fix mis-formatting causing crash 2020-04-17 18:49:20 -07:00
Eric House
ad69438607 move the two allow-hints settings back together 2020-04-17 18:49:20 -07:00