Commit graph

6777 commits

Author SHA1 Message Date
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
9fa23af6e0 retain thread->env mapping in DEBUG builds only
I'm keeping it AND asserting at every possible location that the env
passed all the way in is the same as what the mapping produces. If in
months I haven't seen a single crash then I can evaluate which way of
passing the env around is better. (It'd be code size vs. performance,
as the passing of env is noticably faster. Code size could be fixed by
turning 'XWEnv xwe,' into a macro that goes away on some builds.)
2020-04-26 13:39:21 -07:00
Eric House
88335d38f2 stop using thread->env mapping for util callbacks 2020-04-26 13:39:21 -07:00
Eric House
eb9ef738e4 remove comms/transport from using thread->env map 2020-04-26 13:39:21 -07:00
Eric House
2343c34a44 remove more use of thread->env mapping 2020-04-26 13:39:21 -07:00
Eric House
b7b7da795a remove use of thread->env mapper for drawing 2020-04-26 13:39:21 -07:00
Eric House
cfaa6849b2 pass env into dict-related methods
I was getting an occasional crash using a stale env to delete a dict's
resources because the dict was cacheing the env that created it. Dumb!
Using the thread->env mapping stuff worked, but that felt risky and so I
tried just passing it in. It's safe, and involves an amount of change I
can tolerate. So likely going that way.
2020-04-26 13:39:16 -07:00
Eric House
72cf605792 update changelog 2020-04-24 23:42:27 -07:00
Eric House
b618c99fa8 just print the upper-case versions of tile faces 2020-04-24 22:21:02 -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
5786151e76 Merge branch 'android_branch' into android_translate 2020-04-24 13:07:34 -07:00
Eric House
951c0c00de fix malformed format specifier 2020-04-24 13:04:32 -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
Adnan1091
0ac68548b6
Translated using Weblate (Turkish)
Currently translated at 2.0% (17 of 825 strings)
2020-04-24 11:11:15 +02:00
Eric House
9d04b97ec8 add option to have robot words reversed
With reject-phonies set this will trigger the reject path.
Also init CommonPrefs in jni land since its makePhonyPct, left unitialized,
causes the robot to deliberately reverse every turn, firing an assertion that the
robot's moves are legal.
2020-04-22 21:26:55 -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
988facccd1 refactor: make vtable population test xplatform 2020-04-19 12:56:11 -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
Eric House
b51e3d8d1e remove unused jni declaration 2020-04-15 19:59:03 -07:00
Eric House
c3b1423c36 add (unused) method to copy apk to Downloads/ 2020-04-11 21:18:20 -07:00
Eric House
9fd4bb2a11 enable relayid-invites for non-tagged release builds
Too useful for testing
2020-04-11 19:54:02 -07:00
Eric House
29ed46e12b fix so upgrade of release builds works 2020-04-11 19:23:20 -07:00
Eric House
ca6a0868c9 show last-move as an alert rather than a toast
it gets lost the other way.
2020-04-11 15:51:58 -07:00
Eric House
c5f1d2bf3b release lock when BoardDelegate paused
The lock was leaking when sometimes the OS would call onStop() without
isFinishing() being true, then never use the fragment again. And never
call onDestroy(). Releasing the lock in onStop and regetting it in
onResume seems to fix, but this needs some testing and time.
2020-04-11 15:04:02 -07:00
Eric House
fc30ba5f40 Merge branch 'for-156-release' into android_branch 2020-04-11 12:59:04 -07:00
Eric House
3d5db1d48f update changelog 2020-04-11 12:30:28 -07:00
Eric House
6455c8f688 remove mistaken '+' from layout file 2020-04-11 12:19:55 -07:00
Eric House
40479b6fe1 fix failure to collapse
The problem appears to be that the new <vector/> .xml drawable has a
greater height for purposes of layout. Specifying dimensions seems to be
the way to go, though devices may vary.
2020-04-11 12:13:58 -07:00
Eric House
67759c883a show pending name in scoreboard
when remote hasn't arrived, show same string in scoreboard as in games
list rather than the local player's default name -- duh.
2020-04-11 12:10:01 -07:00
Eric House
f5808e0514 up release constants so can install 2020-04-11 12:08:03 -07:00
Eric House
effbc3ef00 fix crash creating light-colored arrow
Changing it to a VectorDrawable meant it crashed code that assumed
otherwise. Fix by removing the assumption.
2020-04-11 12:05:27 -07:00
Eric House
61a1ddae69 add another change to changelist 2020-04-11 10:56:54 -07:00
Eric House
87e04ec667 default to allowing duplicate invites for DEBUG 2020-04-11 08:37:25 -07:00
Eric House
af4785c09f fix crash creating light-colored arrow
Changing it to a VectorDrawable meant it crashed code that assumed
otherwise. Fix by removing the assumption.
2020-04-11 07:17:22 -07:00
Eric House
e0b2011964 remove unused constant 2020-04-10 07:28:53 -07:00
Eric House
98416d341d up strings for new release 2020-04-10 07:12:56 -07:00
Eric House
43a90cc048 fix failure to collapse
The problem appears to be that the new <vector/> .xml drawable has a
greater height for purposes of layout. Specifying dimensions seems to be
the way to go, though devices may vary.
2020-04-10 07:12:56 -07:00
Eric House
831af47411 change MainActivity's launchMode to "standard"
reverse change in 19fa3fce05 (April 4
2019) making MainActivity singleTask, which caused starting the app to
launch the gamesList screen rather than the game that had been open when
it was moved to background. Now it's "standard," and I have to hope that
doesn't produce new problems. As I wrote back then, we'll see. More
quickly I hope.
2020-04-10 07:12:56 -07:00
Eric House
7073d836e3 specify ABI per-debug/release: no x86 for release
This is as it was before I updated my invocation of NDK recently.
2020-04-10 07:12:56 -07:00
Eric House
497007a84f show pending name in scoreboard
when remote hasn't arrived, show same string in scoreboard as in games
list rather than the local player's default name -- duh.
2020-04-10 07:12:56 -07:00
Eric House
341605001d force display order on ConnTypes 2020-04-10 07:12:56 -07:00
Eric House
ec6e815994 changes generated by AS (moving to androidx) 2020-04-10 07:12:56 -07:00
Eric House
9002be7064 tweak strings 2020-04-10 07:12:56 -07:00
Eric House
c0dd9a4ccc upgrade to latest gradle version
Required redoing how I invoke the NDK. The limititations I had to hack
around before seem fixed, so this is probably better. But there will be
glitches. :-)
2020-04-10 07:12:56 -07:00
Eric House
4e347f2257 tweaks for logging/debuggin 2020-04-10 07:12:56 -07:00
Eric House
0f6b1897b7 remove unnecessary types from generics constructors 2020-04-10 07:12:56 -07:00
Eric House
a8a9b25c62 include translations in release notes 2020-04-10 07:12:56 -07:00
Eric House
e8432c3c44 fix app name capitalization 2020-04-10 07:12:56 -07:00
Eric House
916102b088 fix uninstall script 2020-04-10 07:12:56 -07:00
Eric House
d5122843b1 change strings for new release 2020-04-10 07:12:56 -07:00
Eric House
6602e3daae hack: limit chat field length to 255
The common code truncates to 255 *bytes*, not chars, so this isn't even
right, but at least for ascii users it'll make it less likely that
what's typed doesn't all get sent. The right fix is to change the format
to not limit sent str len to 255 bytes. See commit 512a8e1af.
2020-04-10 07:12:56 -07:00
Eric House
ac6373afa7 fix crash when chat message is too long
Len byte was limited to 255, but would get clipped (masked with 0xFF)
then all the string data would get written. So on receipt, the clipped
length was taken to be that of the string data, with the rest of the
string to be interpreted as something else. An array index, in this
case.
2020-04-10 07:12:56 -07:00
Eric House
c1597cc941 recover from corrupt chat player index
This should never happen, but it did and I want to stop local crashes to
investigate.
2020-04-10 07:12:56 -07:00
Allan Nordhøy
c9b4d76c74
Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.0% (636 of 825 strings)
2020-04-05 06:24:48 +02:00
Allan Nordhøy
0e476bf28f
Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.9% (635 of 825 strings)
2020-04-04 04:38:00 +02:00
Eric House
fcfca60514 remove unnecessary types from generics constructors 2020-03-30 18:54:46 -07:00
Eric House
041ea0ad7c include translations in release notes 2020-03-30 18:48:17 -07:00
Eric House
f13e87d268 fix app name capitalization 2020-03-30 18:41:10 -07:00
Nathan
a084f97863 Translated using Weblate (French)
Currently translated at 91.5% (755 of 825 strings)
2020-03-30 18:41:10 -07:00
Bernard Massot
e7e2fc915e Translated using Weblate (French)
Currently translated at 89.5% (739 of 825 strings)
2020-03-30 18:41:10 -07:00
Eric House
6686e6bf49 fix uninstall script 2020-03-30 12:04:42 -07:00
Nathan
109075e629
Translated using Weblate (French)
Currently translated at 91.5% (755 of 825 strings)
2020-03-30 03:18:49 +02:00
Eric House
8989427f59 change strings for new release 2020-03-26 19:42:01 -07:00
Eric House
5e5da59cbc hack: limit chat field length to 255
The common code truncates to 255 *bytes*, not chars, so this isn't even
right, but at least for ascii users it'll make it less likely that
what's typed doesn't all get sent. The right fix is to change the format
to not limit sent str len to 255 bytes. See commit 512a8e1af.
2020-03-26 18:24:46 -07:00
Eric House
512a8e1afa fix crash when chat message is too long
Len byte was limited to 255, but would get clipped (masked with 0xFF)
then all the string data would get written. So on receipt, the clipped
length was taken to be that of the string data, with the rest of the
string to be interpreted as something else. An array index, in this
case.
2020-03-26 18:19:03 -07:00
Bernard Massot
c42de3b146
Translated using Weblate (French)
Currently translated at 89.5% (739 of 825 strings)
2020-03-26 13:46:24 +01:00
Eric House
1f5ff11a9a recover from corrupt chat player index
This should never happen, but it did and I want to stop local crashes to
investigate.
2020-03-25 22:27:01 -07:00
Eric House
d90314b153 fix formatter specifiers in Japanese 2020-03-24 16:50:51 -07:00
Eric House
53bc8ecdb0 Merge branch 'android_branch' into android_translate 2020-03-24 16:27:25 -07:00
Eric House
cd0cf0c3f2 tweaks to logging 2020-03-24 15:59:33 -07:00
Eric House
2451b0c53c fix formatting exception in rarely-seen string
I have no idea how to fix the translated strings, of course, so just
stuck the missing specifier in at the beginning.
2020-03-24 11:04:48 -07:00
Cassio Lamarck Silva Freitas
f8fe45323f
Translated using Weblate (Portuguese)
Currently translated at 47.3% (391 of 825 strings)
2020-03-23 04:46:59 +01:00
Eric House
acfca164ca fix reversed arrow icons 2020-03-20 19:36:40 -07:00