Commit graph

11619 commits

Author SHA1 Message Date
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
3a0294044e fix crashes when actual bad words sent
Same as before, needed to explicitly set the state back to
XWSTATE_INTURN after doing the work the special state required.
2020-04-18 07:31:03 -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
2efc82f4e0 add --phonies arg so this doesn't happen again 2020-04-18 06:41:21 -07:00
Eric House
72cb12f383 fix crash anytime you used PHONIES_DISALLOW
Yikes. I used to assert, in nextTurn(), that you were in the right
state. On release builds that went away, and you were moved into the
right state regardless. The bug happened when I changed that to exit
nextTurn() without changing the state, meaning that for PHONIES_DISALLOW
the host filled up its message queue trying to communicate that the
latest move was ok, never getting out of the state that required sending
that message. The fix is simply to change the state after sending and,
guest-side, after receiving, that message.
2020-04-18 06:14:29 -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
ab07c1c466 show bonus-square-held
Again, so I can see what's going on. Use timeout so doesn't force
lifting the mouse, closer to what happens on Android with Toasts.
2020-04-17 07:06:31 -07:00
Eric House
388fc4f871 don't offer to display empty list of words 2020-04-17 06:52:36 -07:00
Eric House
5f7bb30307 fix crash: don't offer to commit an illegal move! 2020-04-16 22:54:46 -07:00
Eric House
18711c1dd3 show gtk dialog with lookup-words
That way I can at least see it's working.
2020-04-16 22:54:05 -07:00
Eric House
91e6e50480 stop broken upgrade early-launch case
Wasn't checking for existance of script and so got and exception
deleting what didn't exist. Instead I define nonexistance as being too
early.
2020-04-16 22:18:17 -07:00
Eric House
22f62d53e0 add DB versioning for linux 2020-04-16 22:18:13 -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
b81bd46645 remove assertion when message mis-delivered
I don't know why, but in my tests the relay seems to be delivering
messages to the wrong device. The linux device detects this. It used to
assert, but now just drops the message. If this is happening on Android
it might be why I'm seeing crashes...
2020-04-11 11:44:09 -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
87802150d5 fix logging macro to allow a single argument 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
858d4bd6b7 fix linux build 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
0a696cf203 cleanup 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
387d88bdde fix assertions when duplicateMode on
Hadn't tested in a while and fixing undo problems added some invalid
assumptions.
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
4c0c57229f cleanup 2020-03-30 18:54:46 -07:00
Eric House
fcfca60514 remove unnecessary types from generics constructors 2020-03-30 18:54:46 -07:00
Eric House
c5fcc952c5 fix assertions when duplicateMode on
Hadn't tested in a while and fixing undo problems added some invalid
assumptions.
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
8bd623d91a fix NFC
A change in how sendMsg() figured out what address types to use dropped
NFC, breaking sending on Android. Fix.
2020-03-24 15:58:06 -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
Eric House
5611d17849 fix so games don't stall after undo
With these changes the test script no longer produces games that don't
finish. I think they are recovering from the problems produced by one
device doing an undo while another is making a move, or other problems
produced by undo being allowed to happen on any device at any time, but
haven't analyzed the games beyond the test script's verifying that they
all finish with a Winner after all tiles are consumed.
2020-03-19 16:53:44 -07:00
Eric House
3c1a748272 fix dictionary sum checking server-side 2020-03-18 22:28:58 -07:00
Eric House
b3a3d38ca4 remove unused (I think) icons 2020-03-18 16:56:23 -07:00
Eric House
224f2a29da convert two more .svg files 2020-03-18 16:27:47 -07:00
Eric House
a7862d2efe replace .png arrows with .svg 2020-03-18 16:11:10 -07:00
Eric House
0df0878c0a use DrawableVector for middle square marker 2020-03-18 13:35:24 -07:00
Eric House
197c7e61b0 convert to using VectorDrawable for two files
Proof-of-concept. I hate that this can't be automated readily using
stuff in ubuntu, but we'll see how it works.
2020-03-18 12:51:39 -07:00
Eric House
7f8f0d096c make arrows more pointed 2020-03-18 12:31:38 -07:00
Grace Guo
e3b471cbdb
Translated using Weblate (Japanese)
Currently translated at 100.0% (825 of 825 strings)
2020-03-18 08:36:28 +01:00
Eric House
5cae732a60 fix release builds 2020-03-17 20:33:24 -07:00
Eric House
6e27196aed specify svg files to be used as sources
To move away from generating .png files, I need to be able to specify
which of the .svg files is used as a source at build time. (The rest
will be converted manually into .xml files that are checked in.)
2020-03-17 20:25:33 -07:00
Eric House
dbb897826e tweak logging 2020-03-14 19:33:58 -07:00
katianderic
1d8bb1d0db fix Android build (requires adding new comms method) 2020-03-14 18:52:28 -07:00
katianderic
b1f7b13e78 toward fixing stalls when undo used
There are still some stalls turning up when running the test script,
especially with more than two players in a game, but but it'll be
easier to do the final debugging off my pathetic travel-only
chromebook. And things are already much better. :-)
2020-03-14 14:47:26 -07:00
katianderic
901b70a5f2 get rid of legacy "incorrect" stuff around hashing 2020-03-14 13:44:56 -07:00
katianderic
1a082f7f15 let move stack determine whose turn it is
When something goes wrong with a move (typically because of undo), the
move stack and server's idea of whose turn it is get out of
sync. Since it being my turn means it's up to me to put the next move
on the stack, let the stack own "next turn". (Can probably eventually
get rid of the ServerCtxt variable that tracks it.)
2020-03-14 13:44:56 -07:00