Commit graph

13409 commits

Author SHA1 Message Date
Eric House
b758cd3f0f respond to invitations coming in as argv params
including downloading wordlist if necessary
2023-02-26 19:53:12 -08:00
Camille
8b80e9dfd5
Translated using Weblate (French)
Currently translated at 91.6% (808 of 882 strings)
2023-02-26 18:36:46 +01:00
Eric House
a6e912c6ae cleanup 2023-02-23 16:38:08 -08:00
Eric House
8ceaf39fe5 put up game picker after deleting current game 2023-02-23 16:24:55 -08:00
Eric House
32275017a6 implement rematch 2023-02-23 15:51:40 -08:00
Eric House
a95b59b3ea add pending messages count to display 2023-02-23 12:58:31 -08:00
Eric House
a0f5e2d5d4 remove dead code 2023-02-23 10:55:05 -08:00
Eric House
4941c258c8 tweaks to show gameID more 2023-02-23 08:47:57 -08:00
Eric House
a0be9adc12 fix self address
not sure why it didn't seem to be a problem...
2023-02-22 21:06:48 -08:00
Eric House
95e9647ff0 receipt of invitations works 2023-02-22 20:54:21 -08:00
Eric House
5382941f63 snapshot: play via MQTT works for a while 2023-02-22 19:52:45 -08:00
Eric House
4bc24b41f6 snapshot: saved games open now 2023-02-22 19:04:05 -08:00
Eric House
78d84a941e compiles, but untested
And certainly won't work!
2023-02-22 19:04:05 -08:00
Eric House
cc481373d8 use new public gameinfo api 2023-02-21 19:15:21 -08:00
Eric House
fd36590e7f fix assertions that assumed multi-device 2023-02-21 17:32:21 -08:00
Eric House
ef9ff71d8a fix log formatting problems 2023-02-21 17:32:21 -08:00
ssantos
28f86e37c2
Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2023-02-19 17:39:00 +01:00
ssantos
670f2bc483
Translated using Weblate (German)
Currently translated at 100.0% (882 of 882 strings)
2023-02-19 17:38:59 +01:00
Eric House
89afb411bd update INSTALL read-me file 2023-02-18 13:09:49 -08:00
Eric House
c94c7c5d35 fix offering Rematch when multiple games are selected 2023-02-18 13:09:49 -08:00
Wellington Terumi Uemura
05b463f3fb
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (882 of 882 strings)
2023-02-18 07:36:58 +01:00
Eric House
9ca291cf0d enable rematch for 3- and 4-device games
Because only the host/inviter knows the addresses of all the devices
in a game it's hard for guests to rematch (unless it's a 2-device
game, as they know the host's address.) So now, as part of telling
guests the game is ready to play, include the addresses of other
guests. It's usually only 9 bytes per device, and only happens when
more than two devices are in a game.
2023-02-16 21:36:46 -08:00
Eric House
dcc9cd553c move string into resources 2023-02-16 21:33:42 -08:00
Eric House
ee859a6c6a cleanup: remove dead code 2023-02-15 08:31:51 -08:00
Wellington Terumi Uemura
8613973b67
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:15 +01:00
Thunderstrike116
94c934a241
Translated using Weblate (Greek)
Currently translated at 1.0% (9 of 881 strings)
2023-02-15 11:36:14 +01:00
ssantos
1b6e7b706b
Translated using Weblate (Portuguese)
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:14 +01:00
ssantos
16f43fee44
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:13 +01:00
Eric House
dc4032faf8 for debugging, add ability to invite via text mqtt devid
Add ability to copy to clipboard and then to invite by pasting from
clipboard. Makes it much easier to connect two emulator instances
where neither can camera the other's QR code.
2023-02-12 19:47:06 -08:00
Eric House
840abb4037 up version strings and changelog 2023-02-11 07:58:51 -08:00
Eric House
34ba254e64 cleanup 2023-02-11 07:50:53 -08:00
Eric House
0e14783d3b use negotiated streamVersion to decide what to send via MQTT
No point in sending the old-topic-format MQTT messages to clients that
know about the new one, and in fact it's harmful. Devices in a game
already agree on the stream version to use and communicate it, so pass
that into comms once it's known and from there on to the device code
that builds mqtt messages.
2023-02-09 16:53:18 -08:00
Eric House
d924776a84 make invitation to three-device games work on gtk/linux 2023-02-08 10:28:00 -08:00
Eric House
ad5514ac17 clean up error reporting for linux sqlite3 2023-02-05 09:09:26 -08:00
Eric House
646e806ae4 get rid of stream_open(), which was a NO-OP 2023-02-04 07:44:57 -08:00
Eric House
cea0b9659d remove unused files 2023-02-04 07:33:36 -08:00
Eric House
4a57b76817 cleanup: pass xwe with closeProc rather than to destroy
It's only needed when there's a close proc, and that's rare.
2023-02-03 22:00:47 -08:00
Eric House
6584be9ec6 resendAll after mqtt host config changes 2023-02-03 17:15:02 -08:00
Eric House
4e029a0fda optimize haveWithGameID() 2023-02-03 10:18:54 -08:00
Eric House
e79450ab4c refactor message queue access
Cleanup to reduce changes when queue storage changes, which is coming
to optimize mqtt sends.
2023-02-03 10:18:54 -08:00
Eric House
c820abb514 remove unused params 2023-02-03 10:18:54 -08:00
JL Pilgram
a61725f934
Translated using Weblate (Italian)
Currently translated at 81.8% (720 of 880 strings)
2023-02-01 21:50:51 +01:00
Wellington Terumi Uemura
641c60779d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:51 +01:00
ssantos
516019a605
Translated using Weblate (Portuguese)
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:51 +01:00
ssantos
57a54d2007
Translated using Weblate (German)
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:50 +01:00
Hosted Weblate
bc238299c2
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-01-31 17:51:40 +01:00
Eric House
8cb0e83885 up version number
I already pushed the tag so it needs to change. No need to change
version code though and it already fails to track tag.
2023-01-31 08:43:21 -08:00
Eric House
84349cddec fix jni crash by removing (unused) constructor
Older Android required a default constructor be explicily declared
unless there was none other, and the other was unused so just removed
it.
2023-01-31 08:37:04 -08:00
Eric House
d6a2004bdb name change only 2023-01-31 08:36:49 -08:00
Hosted Weblate
19835d8dba
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-01-31 02:14:35 +01:00
Eric House
71dc5944bc Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2023-01-30 17:14:11 -08:00
Eric House
c4167112c8 Translated using Weblate (German)
Currently translated at 100.0% (882 of 882 strings)
2023-01-30 17:13:51 -08:00
Eric House
fcff8dab35 send from inside comms_invite on Linux but not Android
This is probably a temporary fix for Linux not being aggressive enough
about calling comms_resendAll() when opening a game. For now, though,
test scripts fail without it.
2023-01-30 12:02:46 -08:00
Eric House
18973675d0 don't send invite from inside comms_invite() 2023-01-27 21:07:39 -08:00
Eric House
a6d1736a7e replace assertion with logging 2023-01-26 11:20:40 -08:00
Eric House
de3ebe5113 cleanup 2023-01-26 10:17:42 -08:00
Eric House
01c19d8f06 tweak getting permissions for phone and NBS
Use my set of permissions more than trying for individual ones, as
that's not enough on newer OS versions. Seems to work sometimes at
least, but maybe only after a new install.
2023-01-25 11:59:34 -08:00
Eric House
d863208118 make selfAddress for invitee reflect types in invitation 2023-01-25 11:55:47 -08:00
Eric House
60bc43724d add NFC to selfAddress of new games (when supported) 2023-01-25 10:29:27 -08:00
Eric House
a18e19e574 logging change 2023-01-24 17:38:51 -08:00
Eric House
863a54bfe1 Once received, nuke invite on mqtt broker
To prevent deleted games' ghost invitations from remaining as
persisted on a topic and so being received over and over, have
recipient of invitation send an empty message on the same topic to
remove them. Any message sent once the game start would have replaced
the invitation, but sometimes if the sender is deleted at the right
time there's none.
2023-01-24 17:23:30 -08:00
Eric House
6bb14548c9 fix TransportSendInvt to include type
In failing to pass the type into TransportSendInvt I was forcing
implementations to send to all types, which led to a lot of duplicate
invitations.
2023-01-24 17:11:05 -08:00
Eric House
295ca02c84 fix race condition leading to thrashing MQTT clients 2023-01-24 12:06:06 -08:00
Eric House
ffe571664c remove asserts flagging problems I can't fix yet 2023-01-24 11:38:11 -08:00
Eric House
7fdf43eba6 add logging 2023-01-23 22:08:50 -08:00
Eric House
873501f8da changes for better testing invites and sms 2023-01-17 18:01:30 -08:00
Eric House
f1262e49e7 remove unused util method 2023-01-16 10:10:01 -08:00
Eric House
c620f9bc75 Don't allow comms types that aren't in selfAddress
(Likely crashes on android)
2023-01-15 16:18:26 -08:00
Eric House
efb6c2d0a6 remove mistaken assertion 2023-01-15 07:27:17 -08:00
Eric House
74d358a0ae fix another mistaken int->long promotion
and change method names to avoid confusion later
2023-01-14 22:30:19 -08:00
Eric House
49e78f8666 tweak haveGame fix and add to changelog 2023-01-14 09:12:37 -08:00
Eric House
b003744645 provide haveGame() for gameIDs
Was getting false negatives when BT and WifiDir game-exists tests
passed gameID to method expecting rowid.
2023-01-13 22:15:33 -08:00
Eric House
514ca45e4f change copyright date -- Happy New Year! 2023-01-11 20:38:40 -08:00
Eric House
a02ea95600 remove dead code: game_reset and friends 2023-01-11 12:28:09 -08:00
Eric House
8c8561e2ea linux: subscribe only after connect succeeds 2023-01-11 11:10:45 -08:00
Eric House
baf02f6800 don't crash forever if mqtt host name mistyped 2023-01-10 22:36:52 -08:00
Eric House
52d2543812 remove IP_DIRECT from Linux
If I support it in android it'll likely look different and I'll want
to start over.
2023-01-06 10:01:59 -08:00
Eric House
08ea648a3f changelog and version codes 2023-01-06 07:53:10 -08:00
Eric House
a5b0f3dd20 add debug-only code to check for thread-safety 2023-01-06 07:53:10 -08:00
Eric House
df5da2c4aa add assert toward removing (redundant) method 2023-01-05 21:53:22 -08:00
Eric House
3921da97b9 use new topic format for invitations too 2023-01-05 21:53:22 -08:00
Eric House
e2a13a0ec1 Clean up API (new objects in jni no longer scare me) 2023-01-04 20:41:45 -08:00
Eric House
4caf660c1c cleanup 2023-01-04 14:13:53 -08:00
Eric House
f1ab7be1a3 remove assertion 2023-01-01 18:35:09 -08:00
Eric House
16ced1dd49 fix linux compile; log gameID as %X everywhere 2022-12-30 16:15:03 -08:00
Eric House
9e5b074f7e remove dead strings; stage new ones 2022-12-30 15:49:06 -08:00
Eric House
837991feb4 remove timestamps from mqtt header and procs that feed it
It belongs in comms msg header. Also remove PROTO_2, which shipping
code can read but never could send.
2022-12-30 15:35:01 -08:00
Eric House
310e1cea4f remove bad assert 2022-12-30 15:35:01 -08:00
Eric House
550248bce0 fix assertions from missing timestamps 2022-12-29 22:39:26 -08:00
Eric House
bba8e99098 require that timestamp be set
MQTT must create the same header for each message, so having it set
the current timestamp is bad. I actually think it belongs in the comms
header, not in each transport.
2022-12-29 21:24:59 -08:00
Eric House
2942c140ee consider channel when deciding if a game's present (and fix assign)
Rematch against self didn't work, and is useful for testing. So in
dutil method hasGame(), check if games with the same gameID are also
for the same channel. And when creating a new game for rematch, make
sure it's channel is 0.
2022-12-29 21:21:39 -08:00
Eric House
2b8c0194a2 fix string formatting mismatch 2022-12-29 07:22:54 -08:00
Eric House
ae9d576bad fix crash when 0-length mqtt buffers arrive
Which is what happens when you "clear" retained messages
2022-12-28 23:21:32 -08:00
Eric House
5175775b1d don't truncate gameID
In some cases games were created with 32-bit ids, and sometimes only
20 bits were used.
2022-12-27 17:38:26 -08:00
Eric House
fdbd404f37 cleanup 2022-12-27 17:38:20 -08:00
Eric House
9e675d49ba log info about an assert I've seen 2022-12-26 20:30:46 -08:00
Eric House
30136e22a1 remove relay options from test script 2022-12-26 19:40:57 -08:00
Eric House
1ae4f2d774 make relay-related commandline options compile conditionally 2022-12-26 19:31:23 -08:00
Eric House
6648a25dd0 tweak logging 2022-12-26 19:24:39 -08:00
Eric House
3faf4687db don't call a game over until message count drops to 0
I'm looking for a test case to reproduce the Andorid situation where
invitations are never deleted from comms' queue and so prevent the
game from being considered over. Doesn't seem to happen in Linux, but
more tests are good.
2022-12-26 17:15:44 -08:00
Eric House
5fe02a0888 set initial flags to reflect new version for invites
Creating an address record without having heard from the remote is
new, and setting it to an old version was preventing using new msg
format. So set to new by default. Not sure how it'll get downgraded
facing an old client, but a 100-game upgrade test passes.....
2022-12-21 16:11:55 -08:00
Eric House
5887140d9b use hex for gameID in games list; fix compile error 2022-12-21 10:38:31 -08:00
Eric House
9b1fe83b61 fix to compile without DEBUG set 2022-12-21 10:29:48 -08:00
Eric House
7764c17705 resend all even if some unsendable
Looks like invitations become unsendable before they're deleted
sometimes and so block sending real messages. This fixes device
accepting invitation but never hearing back from host.
2022-12-21 10:21:41 -08:00
Eric House
8ce145f1fd don't try to send invite via BT without an address 2022-12-21 08:30:09 -08:00
Eric House
933da2de07 API cleanup and all done
This should complete sending to multiple topics (for backwards
compatibility) and supporting combined messages in the future (sending
them is hard; receiving not so much.)
2022-12-20 11:55:30 -08:00
Eric House
6b029d5a85 invitations work on linux 2022-12-20 09:20:02 -08:00
Eric House
233a9c465d snapshot: message sending works on android 2022-12-20 09:02:17 -08:00
Eric House
af4e39d921 snapshot: new mqtt msg format allowing multiple messages 2022-12-19 19:53:57 -08:00
Eric House
b179a0bade remove dead code 2022-12-18 18:50:05 -08:00
Eric House
3b6132d8a1 remove stuff that wasn't meant to get pushed 2022-12-18 16:21:51 -08:00
Eric House
096c13614a use ifdefs to go back to using only old-style per-device topics 2022-12-18 16:17:05 -08:00
Eric House
cf2d49e249 more 2022-12-18 10:23:36 -08:00
Eric House
ef39a2fa62 add debugging stuff -- don't push 2022-12-18 09:42:31 -08:00
Eric House
d799b94169 use persist flag and new per-game mqtt topics (too)
I didn't understand MQTT at all. Per the docs anyway it only keeps a
message around if its "persist" flag is set, and then it only keeps
the most recent per topic. I expected that when a device connected,
messages would be waiting for it, but that's apparently not true (some
evidence to the contrary.) But having all games on a device share the
same topic means only one message can be waiting. So switch to
including gameID in the topic, subscribing to a wildcard topic and
sending to a different one per game. For now, for legacy purposes,
we'll keep sending to the old per-device topic.
2022-12-16 14:35:22 -08:00
ssantos
6c64d29956
Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2022-12-16 19:47:42 +01:00
ssantos
41e4da2b04
Translated using Weblate (Portuguese)
Currently translated at 99.8% (881 of 882 strings)
2022-12-14 22:50:35 +01:00
Eric House
31593aaeda call setRetained on all outbound messages 2022-12-13 17:41:48 -08:00
Eric House
e051fa04f9 fix robot having human name in config dialog 2022-12-13 06:13:03 -08:00
Eric House
988cf7f175 remove mistaken assert 2022-12-11 21:08:24 -08:00
Eric House
53e1a68d6d track, and offer to display, comms-sent invites like others
I'm only keeping the most recent since they're sent every time a game
opens, app launches, etc.
2022-12-10 22:17:14 -08:00
Hosted Weblate
b8a9e1715a
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-10 17:09:33 +01:00
Hosted Weblate
693ded041b
Merge branch 'origin/android_branch' into Weblate. 2022-12-10 17:09:32 +01:00
Viktória Nagy
df70b0dbb5
Translated using Weblate (Hungarian)
Currently translated at 10.5% (93 of 883 strings)
2022-12-10 17:09:31 +01:00
Eric House
ed21fe01f4 remove dead string 2022-12-10 08:09:19 -08:00
ssantos
497bac22dd
Translated using Weblate (German)
Currently translated at 99.8% (882 of 883 strings)
2022-12-09 15:48:20 +01:00
Wellington Terumi Uemura
89d0572fd7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (883 of 883 strings)
2022-12-07 14:48:29 +01:00
Eric House
aea7c3fd92 always save known player game start time
Was only saving it in case of conflict, which is rare
2022-12-06 07:45:10 -08:00
Hosted Weblate
a14e08240f
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-06 06:21:59 +01:00
Eric House
a2806f1c3f show known player name of missing host
This is for debugging use only for now, but it's useful when a host
seems non-responsive to know which it is.
2022-12-05 21:21:46 -08:00
Hosted Weblate
ce8372f46a
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-05 22:57:20 +01:00
Hosted Weblate
9c0ec79424
Merge branch 'origin/android_branch' into Weblate. 2022-12-05 22:57:19 +01:00
Wellington Terumi Uemura
cbaee81ec9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (886 of 886 strings)
2022-12-05 22:57:19 +01:00
Eric House
48748110ed get rid of banned-nbs info -- been long enough 2022-12-05 13:56:12 -08:00
Eric House
47a5e66d72 perms now needed for NBS 2022-12-05 13:56:12 -08:00
Eric House
3826ddfbff don't ask for phone permissions if can't send NBS 2022-12-05 13:56:12 -08:00
Eric House
af8c7b9900 remove notion of banned permissions 2022-12-05 13:56:12 -08:00
Eric House
e5d91be4c4 add another bt perms test 2022-12-05 13:56:12 -08:00
Eric House
871a45d3d3 add permissions 2022-12-05 13:56:12 -08:00
Eric House
f72a6c1b88 default nbs_port to 0
Shouldn't be referenced at all on GPlay builds, but that's more work
2022-12-05 13:54:49 -08:00
Eric House
93db9f5add remove REQUEST_INSTALL_PACKAGES from all variants
And start adding it to those not on the Play Store
2022-12-05 13:54:02 -08:00
Eric
c5e24d1294
Translated using Weblate (Chinese (Simplified))
Currently translated at 8.6% (77 of 886 strings)
2022-12-03 14:48:51 +01:00
Lucie Vávrová
8d9e478487
Translated using Weblate (Czech)
Currently translated at 18.8% (167 of 886 strings)
2022-12-03 14:48:51 +01:00
ssantos
c2d1eef69c
Translated using Weblate (Portuguese)
Currently translated at 99.8% (885 of 886 strings)
2022-11-25 22:47:47 +01:00
ssantos
cfdec4f22e
Translated using Weblate (German)
Currently translated at 99.8% (885 of 886 strings)
2022-11-25 22:47:47 +01:00
Eric House
3e32fdb840 sort words using blanks behind those not
Engine shouldn't be so stupid as to play a blank for 0 points. So when
comparing two moves, sort first on score, then use number of blanks
used to break any ties.
2022-11-24 08:25:40 -08:00
Eric House
9f37faff7c make NBS invitations work through new comms mech 2022-11-24 08:25:40 -08:00
Eric House
ad6bf4a976 add fdroid sha256 so invitations work there too 2022-11-24 08:25:40 -08:00
Wellington Terumi Uemura
43c712d7fe
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (886 of 886 strings)
2022-11-19 23:48:31 +01:00
Eric House
929de903f4 don't hide delete box for archived games 2022-11-19 09:07:11 -08:00
Eric House
34f68a435b include game name in nli when rematching 2022-11-18 21:52:10 -08:00
Hosted Weblate
e7cebe1d46
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-11-18 21:21:31 +01:00
Eric House
9881305c97 remove REQUEST_INSTALL_PACKAGES from google play variants 2022-11-18 12:21:19 -08:00
Hosted Weblate
7a129c5a5b
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-11-18 20:17:31 +01:00
Eric House
0141f110be fix to compile without DEBUG set 2022-11-18 11:09:22 -08:00
Eric House
067ceffc53 fix theme sharing
Had broken it when adding 21x21 board support, and it looks as if I
never hooked up receiving the incoming theme URLs.
2022-11-18 11:09:22 -08:00
Eric House
e59161ae2d fix crash starting three-device games 2022-11-18 11:09:22 -08:00
Eric House
b999da1a92 remove BT perms crashes and fix so BT invitations work 2022-11-18 11:09:22 -08:00
Eric House
8ca83ae871 add BT permissions requests 2022-11-18 11:09:22 -08:00
Eric House
43a96fb6fc get rid of stuff trying to support two sdk versions 2022-11-18 11:09:22 -08:00
Eric House
2d30854949 better way to create enum 2022-11-18 11:09:22 -08:00
Eric House
3c3e148ae8 more permission checks 2022-11-18 11:09:22 -08:00
Eric House
551c5332c4 more permissions checking 2022-11-18 11:09:22 -08:00
Eric House
347e54d2e7 start checking for BT permissions 2022-11-18 11:09:22 -08:00
Eric House
c888e2621b builds for both 30 and 31 (with manual changes) 2022-11-18 11:09:22 -08:00
Eric House
7620e64516 switch DBG build to sdk 31
Now if I grant the permission manually in Settings the app doesn't
crash trying to use Bluetooth. Can't test for or ask for it yet.
2022-11-18 11:09:22 -08:00
Eric House
92b02fccb7 cleanup 2022-11-18 11:09:22 -08:00
Eric House
4419e0347c remove unused property 2022-11-18 11:09:22 -08:00
Eric House
93e6e315db fix to not crash, and exit cleanly, when opening unopenable games
When e.g. I open a game saved with a newer stream version flag it as
bad rather than asserting each time.
2022-11-18 11:09:22 -08:00
Eric House
e7861dca48 fix crashes when emulator decides it supports Bluetooth 2022-11-18 11:09:22 -08:00
Eric House
86303475af fix assertion firing when relay address still present 2022-11-18 11:09:22 -08:00
Eric House
a2667eab0b tweak search order and remove relay
Can't rematch using the relay any more!
2022-11-18 11:09:22 -08:00
Eric House
ec71ea349e remove dead code 2022-11-18 11:09:22 -08:00
Eric House
f2b034d710 recognize in-comms invites when opening incomplete game
Android offers to invite when it thinks no invitations have been
sent. Now it knows about those buried in comms.
2022-11-18 11:09:22 -08:00
Eric House
6f57665da2 pass number of pending comms invites into informMissing() 2022-11-18 11:09:22 -08:00
Eric House
e8d2c4d600 add channel to nli logging 2022-11-18 11:09:22 -08:00
Eric House
403bbafb0d go back to quarantine requiring two failures to close 2022-11-18 11:09:22 -08:00
Eric House
924695d3fb add new stream version that skips relay and allows longer string
And remove some dead code
2022-11-18 11:09:22 -08:00
Eric House
41d9d4a254 complete getUsername() impl to call into prefs for user choice 2022-11-18 11:09:22 -08:00
Eric House
848ae6f0f6 remove dead code; assert other dead
Adding asserts to confirm that code that shouldn't be called in fact
isn't.
2022-11-18 11:09:22 -08:00
Eric House
ee6c88b944 fix inviting known players by adding invitee to new game creation 2022-11-18 11:09:22 -08:00
Eric House
12d8a092d7 move getUsername() to dutils to avoid crash
Being in util meant the default implementation got called, and that
returned a null string: boom.
2022-11-18 11:09:22 -08:00
Eric House
34a72705c0 set quarantine count to 1 for debug builds 2022-11-18 11:09:22 -08:00
Eric House
be9d80533e cleanup and add helper functions
Looking toward a time when channelNo's high-order bits ensuring the
right device is receiving messages go away.
2022-11-18 11:09:22 -08:00
Eric House
e960877256 more 2022-11-18 11:09:22 -08:00
Eric House
066232d234 more stuff 2022-11-18 11:09:22 -08:00
Eric House
f2809e6e15 start of getting rid of gameID part of channelNo
Don't seem to need it post-relay, and it complicates things when
invitations are messages too.
2022-11-18 11:09:22 -08:00
Eric House
9a7946de36 fix stall showing up in curses test app
Duplicate messages early on, which happened only in the test script
but could have anywhere, broke connectivity. So don't kill address
records when a duplicate shows up. Dupes only escape message ID
checking early (before channel is established). I used to remove
address records when a message was rejected, but don't understand why
so removed that, though asserts show it's not mattering except for
those early messages.
2022-11-18 11:09:22 -08:00
Eric House
0ed20391c3 save game before summary (summary does UPDATE only, not INSERT) 2022-11-18 11:09:22 -08:00
Eric House
4cfc781cd7 remove assert (until I figure out why firing) 2022-11-18 11:09:22 -08:00
Eric House
f5cc23f591 add assert 2022-11-18 11:09:22 -08:00
Eric House
1e447e9d60 move TransportProcs into cGlobals to fix gtk crash 2022-11-18 11:09:22 -08:00
Eric House
47ea296c39 fix crash by passing missing proc ptrs 2022-11-18 11:09:22 -08:00
Eric House
f2b707ed4d add assert to test where param is unnecessary 2022-11-18 11:09:22 -08:00
Eric House
e372b5e6d1 set game name from nli 2022-11-18 11:09:22 -08:00
Eric House
758a157472 check for dict before making game from invite
This belongs in common code but that's for later.
2022-11-18 11:09:22 -08:00
Eric House
75eaadaddb cleanup -- belongs on main 2022-11-18 11:09:22 -08:00
Eric House
5a5a8e7db8 make games connect after creation from invitation 2022-11-18 11:09:22 -08:00
Eric House
3923a2d9a6 check for duplicate invites; don't create if found
Add dutil proc haveGame() and use it to detect duplicate
invitations. I'm passing, but ignoring on android, the channel, which
means that for now you can't invite yourself and on-device testing
requires having CrossWords and CrossDbg or a second user.
2022-11-18 11:09:22 -08:00
Eric House
2a861db675 remove dead code 2022-11-18 11:09:22 -08:00
Eric House
980ba68297 fix stuff crashing android 2022-11-18 11:09:22 -08:00
Eric House
7587653541 fix memory leaks; get curses using new invite resp. code 2022-11-18 11:09:22 -08:00
Eric House
766554d3f5 snapshot: rematch and invitation handling most work from common
But curses will crash, duplicates and missing dicts aren't handled,
etc.
2022-11-18 11:09:22 -08:00
Eric House
8a64d53f61 cleanup 2022-11-18 11:09:22 -08:00
Eric House
6b29ee92e6 tweaks to game_makeRematch 2022-11-18 11:09:22 -08:00
Eric House
b9c6551e8b merge android_branch changes to comms_make
Not tested at all on android
2022-11-18 11:09:22 -08:00
Eric House
d1a9c07adc fix so invites work, at least in simple case 2022-11-18 11:09:22 -08:00
Eric House
10bbab88bf tweak
There's an assertion I need to remove or understand here.
2022-11-18 11:09:22 -08:00
Eric House
98184b9e47 fix to compile and allow invites too late
The curses test scripts keep sending invitations, so don't assert
that's not true.
2022-11-18 11:09:22 -08:00
Eric House
16857ab74a snapshot: comms_invite() call gets to jni 2022-11-18 11:09:22 -08:00
Eric House
5bc2a38439 fix so invite via SMS works too (discon_ok2 test passes) 2022-11-18 11:09:22 -08:00
Eric House
61faf1a730 support comparing SMS addresses too 2022-11-18 11:09:22 -08:00
Eric House
8a91970ba8 add sms for curses (untested) 2022-11-18 11:09:22 -08:00
Eric House
b4e197f8af snapshot: mqtt invites for gtk work via comms
Merge that won't compile, but I want it to start fromp
2022-11-18 11:09:22 -08:00
Alejandro Rodriguez
31777c3807
Translated using Weblate (Spanish)
Currently translated at 36.1% (321 of 887 strings)
2022-11-17 14:46:59 +01:00
Alejandro Rodriguez
c3da21c707
Translated using Weblate (Spanish)
Currently translated at 36.0% (320 of 887 strings)
2022-11-15 21:47:20 +01:00
Alejandro Rodriguez
74b8468ae7
Translated using Weblate (Spanish)
Currently translated at 35.9% (319 of 887 strings)
2022-11-12 12:50:41 +01:00
Eric House
3b71ba9aca Merge branch 'for-fdroid-193' into android_branch 2022-11-11 13:11:16 -08:00
Eric House
1ba8148dd1 update change log and version strings 2022-11-11 12:59:02 -08:00
Eric House
98dd2148ce use constant for flag that must change with sdk version 2022-11-11 12:59:02 -08:00
Eric House
93902d6336 set sdk versions per variant
Prev build will crash on android 12 because it claims to know about
sdk 31 but gets Bluetooth permissions wrong. It's been released on
fdroid due to miscommunication. Fix will be to roll non-gplay variants
back to 30 for now. I'm deliberately breaking gplay builds because
nothing should ship there until I sort out the permissions stuff 31
requires. (Shipping 30 is no longer possible for the gplay store.)
2022-11-11 11:59:33 -08:00
Eric House
041f21f1a5 Merge branch 'branch-192' into android_branch 2022-11-07 09:57:34 -08:00
Eric House
7ca39180ab up version strings and changelog 2022-11-05 20:47:52 -07:00
Eric House
3caa0f14e8 fix failure to launch url intent on Android 12 2022-11-05 20:45:06 -07:00
Eric House
edc9d34654 fix so wordlist upgrades work again
Not sure when this broke...
2022-11-05 20:45:06 -07:00
Eric House
458eeb7176 add fields missing from missing from copy constructor 2022-11-05 20:45:06 -07:00
Eric House
9429fd34e6 more fixes for Android 31
FLAG_IMMUTABLE and android:exported="true"
2022-11-05 20:45:06 -07:00
Eric House
5654602662 fix manifest to work for Android 31 and above 2022-11-05 20:45:06 -07:00
Eric House
85e6fb0dbf up target sdk to 31
Looks like that'll be required soon
2022-11-05 20:45:06 -07:00
Alejandro Rodriguez
07d4690b95 Translated using Weblate (Spanish)
Currently translated at 34.1% (303 of 887 strings)
2022-11-05 20:45:06 -07:00
liimee
394ff601f6 Translated using Weblate (Indonesian)
Currently translated at 36.5% (324 of 887 strings)
2022-11-05 13:33:12 -07:00
ssantos
cf824a3241 Translated using Weblate (German)
Currently translated at 99.8% (886 of 887 strings)
2022-11-05 13:33:12 -07:00
ssantos
d42eb06100 Translated using Weblate (Portuguese)
Currently translated at 100.0% (887 of 887 strings)
2022-11-05 13:33:12 -07:00
ssantos
5a02a53f3c Translated using Weblate (German)
Currently translated at 99.6% (884 of 887 strings)
2022-11-05 13:33:12 -07:00
Kateryna Golovanvoa
1f46d1783e Translated using Weblate (Russian)
Currently translated at 7.7% (69 of 887 strings)
2022-11-05 13:33:12 -07:00
Anna Malinovskaia
d5cdc2f7f6 Translated using Weblate (Russian)
Currently translated at 7.1% (63 of 887 strings)
2022-11-05 13:33:12 -07:00
Kateryna Golovanvoa
8c54584eae Translated using Weblate (Russian)
Currently translated at 7.1% (63 of 887 strings)
2022-11-05 13:33:12 -07:00
Kateryna Golovanvoa
82312fe9ae Translated using Weblate (Russian)
Currently translated at 3.1% (28 of 887 strings)
2022-11-05 13:33:12 -07:00
Eric
f30ff9ea61 Translated using Weblate (Chinese (Simplified))
Currently translated at 8.6% (77 of 887 strings)
2022-11-05 13:33:12 -07:00
ssantos
1cfe4ec854 Translated using Weblate (Portuguese)
Currently translated at 98.0% (870 of 887 strings)
2022-11-05 13:33:12 -07:00
ssantos
5d07e8d48b Translated using Weblate (German)
Currently translated at 92.1% (817 of 887 strings)
2022-11-05 13:33:12 -07:00
Hugel
86ec37cd9f Translated using Weblate (Chinese (Simplified))
Currently translated at 7.5% (67 of 887 strings)
2022-11-05 13:33:12 -07:00
Eric House
ecf3b0cae9 server-side file required for Android 12 deep links 2022-11-05 13:33:12 -07:00
Eric House
66914ad341 get deep links to the point where adb launches on android 12 2022-11-05 12:01:20 -07:00
Eric House
6f5ae560e1 use https for deep links 2022-11-05 12:01:05 -07:00
Eric House
3eb07410bd don't show delete checkbox if there are un-ack'd messages 2022-11-04 10:08:24 -07:00
Eric House
7c33bb41af add note explaining source 2022-11-04 10:08:24 -07:00
liimee
d7f8fa8d9b
Translated using Weblate (Indonesian)
Currently translated at 36.5% (324 of 887 strings)
2022-10-30 06:07:28 +01:00
ssantos
3167050b14
Translated using Weblate (German)
Currently translated at 99.8% (886 of 887 strings)
2022-10-10 20:02:58 +02:00
Eric House
29d44cd49c use an explicit mapping to uppercase Turkish
Sed is otherwise turning stuff into 'I' that shouldn't be
2022-10-09 10:40:04 -07:00
Eric House
a672728305 fix crash using wrong widget id 2022-10-09 08:07:58 -07:00
Eric House
a83fbfebe2 hide name edit for existing games
This is a simpler fix that making it editable, as the name's in the
titlebar etc.
2022-10-09 08:07:12 -07:00
Eric House
4f8afadb25 toward adding name to config and transmitting it 2022-10-09 08:06:51 -07:00
Eric House
828f8b3af3 add support for non-empty Turkish wordlist 2022-10-07 08:12:56 -07:00
Eric House
2312290987 make only 15-letters dicts by default 2022-10-06 15:25:25 -07:00
Eric House
0663bbab5b fix test script param 2022-10-06 08:45:03 -07:00
Eric House
fad2c7b3c1 add assert and a debugging aid 2022-10-06 08:45:03 -07:00
Eric House
5c40f175bb work around old unstarted games where gi only was saved
I think....
2022-10-06 08:45:03 -07:00
ssantos
f74db30a5d
Translated using Weblate (Portuguese)
Currently translated at 100.0% (887 of 887 strings)
2022-10-04 17:20:05 +02:00
ssantos
9965119ad7
Translated using Weblate (German)
Currently translated at 99.6% (884 of 887 strings)
2022-10-04 17:20:04 +02:00
Kateryna Golovanvoa
e90092a0d5
Translated using Weblate (Russian)
Currently translated at 7.7% (69 of 887 strings)
2022-10-02 05:22:26 +02:00
Anna Malinovskaia
b3b283121b
Translated using Weblate (Russian)
Currently translated at 7.1% (63 of 887 strings)
2022-09-28 03:19:09 +02:00
Kateryna Golovanvoa
4c28c0b6c1
Translated using Weblate (Russian)
Currently translated at 7.1% (63 of 887 strings)
2022-09-28 03:19:09 +02:00
Kateryna Golovanvoa
d33a077f48
Translated using Weblate (Russian)
Currently translated at 3.1% (28 of 887 strings)
2022-09-24 20:24:30 +02:00
Eric
98b1567a87
Translated using Weblate (Chinese (Simplified))
Currently translated at 8.6% (77 of 887 strings)
2022-09-17 13:21:31 +02:00
Eric House
e55212df9f improve new game creation
There was some confusion around host and self addresses, where they're
created, default values, removing conTypes from defaults that are not
in received host addr, etc. I left in some asserts to help understand
if code that seems wrong but hard to fix is still getting called.
2022-09-14 21:37:44 -07:00
Eric House
11c2cca9b0 fix failure to launch url intent on Android 12 2022-09-13 18:15:12 -07:00
Eric House
b4a0616dfc fix so wordlist upgrades work again
Not sure when this broke...
2022-09-11 21:19:53 -07:00
Eric House
ce579213b1 fix asserts 2022-09-06 20:38:56 -07:00
Eric House
674c811a09 pass addresses to game on creation
Current networking, based on invitations rather than a relay that
plays matchmaker, allows host to know its address when a game is
created, and for guest to know its host's address in
addition. Enforcing this makes inviting and rematching in common
code (coming soon) easier. Big change on Android is I used to create a
new game prior to passing it to GameConfigDelegate, but now I have to
wait for user to configure (including choosing how to communicate)
before I can create it.
2022-09-06 18:21:53 -07:00
Eric House
ca2d97e647 add fields missing from missing from copy constructor 2022-09-06 11:40:09 -07:00
Eric House
881b9a92ad cleanup 2022-09-06 11:40:09 -07:00
Eric House
381b014b8b change name for clarity 2022-09-06 11:40:09 -07:00
Eric House
4996d3fe89 improve comms address tracking (breaks android for now)
Remove legacy relay-inspired logic around comms addressing. Now when a
device creates a game it's required to provide its "self address," and
if it's a client, the address of the host (which it presumably got
through the invitation in response to which the game is being
created.) Then as registration messages come in from clients, the host
gathers their addresses as always.
2022-09-06 11:40:09 -07:00
Eric House
ad8b81baf5 makefile for CSW21 2022-09-06 11:40:09 -07:00
ssantos
be4c199203
Translated using Weblate (Portuguese)
Currently translated at 98.0% (870 of 887 strings)
2022-09-02 22:16:47 +02:00
ssantos
894fe674cd
Translated using Weblate (German)
Currently translated at 92.1% (817 of 887 strings)
2022-09-01 14:22:50 +02:00
Eric House
2c80787f5c fix gtk invite for sms 2022-08-26 13:26:03 -07:00
Eric House
4ba1b2418c cleanup: remove some relay stuff 2022-08-25 11:20:26 -07:00
Eric House
3c9626c5ba always include ISO, even if including old langCode 2022-08-25 11:20:26 -07:00
Hugel
b54065d416
Translated using Weblate (Chinese (Simplified))
Currently translated at 7.5% (67 of 887 strings)
2022-08-25 18:19:43 +02:00
Eric House
baed9b16e5 back to android 30 for the time being
I'm going to make the 31 permission changes on a separate branch
2022-08-23 10:31:59 -07:00
Eric House
63a80b3726 Merge branch 'fixing-190' into android_branch 2022-08-22 11:51:40 -07:00
Eric House
dbe7ab5ae1 up release and changelog 2022-08-22 11:27:34 -07:00
Eric House
b93a9202e7 minimal changes for crash-fix release
* Unsubscribe all topics, not just one
* Use English when language not available to avoid NPE
* Use the same androidx component as everywhere else
2022-08-22 09:19:09 -07:00
Eric House
ccff0bd15e more fixes for Android 31
FLAG_IMMUTABLE and android:exported="true"
2022-08-20 12:33:48 -07:00
Eric House
8dac8910ae changelog and version strings 2022-08-20 12:14:22 -07:00
Eric House
653310ce2a fix manifest to work for Android 31 and above 2022-08-20 12:14:18 -07:00
Eric House
1b9fd67e9f logging cleanup 2022-08-20 10:24:29 -07:00
Eric House
bab96c4528 work around NPE by defaulting to English
Somehow getLangIsoCode() is returning null when called early in app
launch, on some subset of devices the Play Store isn't
identifying. I'm just going to default to "en" when that happens.
2022-08-20 10:10:41 -07:00
Eric House
4ab88eb572 revert test for connectedness in mqtt shutdown
An assertion's firing indicating I don't understand what's going
on. Let's study some more first.
2022-08-20 09:55:59 -07:00
Eric House
d0b180a41d use androidX.preference.PreferenceManager everywhere
I'd left one file out when converting
2022-08-20 09:16:33 -07:00
Eric House
4106765d53 add some consts 2022-08-16 18:28:53 -07:00
Eric House
2638533e6f turn net state listening back on for MQTT
I'd removed it when the relay went away, but MQTT apparently doesn't
listen for network changes on its own and so there was no attempt to
resend messages when the device regained connectivity. Now there
is. Old logic to avoid thrashing remains and is not tested with MQTT
-- shouldn't need to be....
2022-08-14 11:38:42 -07:00
Eric House
e46fd52e00 remove assert that's firing and so obscuring logging of cause 2022-08-14 10:14:11 -07:00
Eric House
29a6ededda fix topic; don't try to unsubscribe or disconnect if not connected 2022-08-13 12:26:25 -07:00
Eric House
e05a18bdbb up target sdk to 31
Looks like that'll be required soon
2022-08-11 10:40:18 -07:00
Eric House
12511755a8 require --variant parameter 2022-08-10 18:18:08 -07:00
Eric House
0e9235dcd0 up version code 2022-08-10 12:13:50 -07:00
Eric House
52c7ced4aa changelog 2022-08-10 12:13:50 -07:00