Commit graph

170 commits

Author SHA1 Message Date
Eric House
e6d516ca1d remove assertion firing in dup mode
The assertion's clearly blocking testing, but I'm not sure it's not an
error for two move explanations to want to co-exist. For now they're
concatenated.
2022-08-01 13:05:19 -07:00
Eric House
b1b8644f8f cleanup: delete ref where it's last used 2022-07-11 17:47:57 -07:00
Eric House
dac0727c40 fix sig mismatch between jni and java 2022-07-11 17:47:57 -07:00
Eric House
51abc98647 use same variable name throughout 2022-07-08 21:57:42 -07:00
Eric House
a393a99c19 add ISOCode class
I was getting language name and iso code confused so adding a new type
to keep them separate. Keep string type for crossing JNI boundary and
passing as param e.g. in URLs and Bundles.
2022-07-07 10:00:24 -07:00
Eric House
9e835b90bf refactor jni code
Adding some utility functions
2022-07-07 10:00:24 -07:00
Eric House
a6a6523e9c cleanup: remove asserts and unused strings
Some asserts were firing in the very rare case where for some reason
relay couldn't be converted to mqtt.
2022-07-02 20:15:29 -07:00
Eric House
2dfc9129f3 add timestamp to saved msgs, modify mqtt header to include later
I want receiver to know when message was originally created. This adds
timestamp to messages and passes it via send proc. Client needs to
send it where possible. So far, MQTT format can't include it without
change, so I'm adding a new proto version. This change can read the
new version. Once that's well-enough distributed I can start sending
using it. Other transmission types than MQTT are for later.
2022-06-29 12:34:27 -07:00
Eric House
20908284f5 LangCode->ISOCode replacement, Android side
Now we use only ISOCode string internally to identify languages, and
since that's universal it can be built into an wordlist and used
without the build of CrossWords knowing about that language
specifically (though it'll have to know about it to have the language
name be localizable.) For legacy support, though, the old int codes
are transmitted in invitations and URLs IFF available, otherwise the
string's used. If a newer build invites and older build to play in a
too-new language there will be trouble.
2022-06-05 09:07:06 -07:00
Eric House
33b636b458 cleanup around lc code; add to JNI 2022-06-04 14:18:03 -07:00
Eric House
4190926c0a add isoCode to DictInfo, and load it 2022-06-04 14:18:00 -07:00
Eric House
df1606c8fb use ifdef to remove relay-only params 2022-05-15 12:10:37 -07:00
Eric House
66b94ce67b more cleanup 2022-05-10 20:54:26 -07:00
Eric House
5834125058 remove two relay-related prefs 2022-05-10 20:54:26 -07:00
Eric House
5f4dd46f72 rip out most devid stuff 2022-05-10 20:54:26 -07:00
Eric House
58cba766d3 remove RelayService and stuff that uses it 2022-05-10 20:54:26 -07:00
Eric House
3953ab19a4 remove more relay code (and undef XWFEATURE_RELAY) 2022-05-10 20:54:26 -07:00
Eric House
06583daf7d more removing relay 2022-05-10 20:54:25 -07:00
Eric House
bc31024647 assert relay calls not getting made 2022-05-10 20:54:25 -07:00
Eric House
da23bfe23b add debug pref to not add mqtt to all games
I want it for testing that stuff like NBS (data SMS) works for more
than connecting. MQTT works so well nothing ever gets used once it's
there.
2022-05-09 15:10:15 -07:00
Eric House
b209188077 make android supports 21x21 too
Only Dbg builds will see option to create for now
2022-04-04 11:46:22 +02:00
Eric House
2175600190 use new webapi to fetch mqttid to replace relayid
And drop relay once we have it. Makes perfecting RelayService backoff
less an issue.
2022-02-12 13:27:24 -08:00
Eric House
2e5f6128f2 post new msg message from relay2
This is to have a utility back, but mostly to start playing with being
able to send keepalives to a device that have nothing to do with moves.
2022-01-06 19:07:08 -08:00
Eric House
a85f5df4e3 another tweak: make version imply format 2021-12-29 07:35:43 -08:00
Eric House
694953c820 add support for trays with up to 9 tiles 2021-07-16 12:15:46 -07:00
Eric House
e667291da5 show invitee name where possible
When I've invited a Known Player, use that player's name in parens in
scoreboard and games list elem/summary until a remote device connects
(usually in response to an invitation) and provides an actual player
name. Makes it much easier to tell one pending game from another. And
doesn't really work (yet) where there's more than one remote player in
a game.
2021-05-30 13:31:33 -07:00
Eric House
be698069a4 cleanup of recent changes 2021-05-14 11:34:15 -07:00
Eric House
daf5894d79 call new web api to ack mqtt messages
This is toward debugging. Not sure it'll be use to add functionality yet.
2021-04-19 07:04:58 -07:00
Eric House
d74161958e cleanup: remove dead and use new code 2021-03-28 20:27:24 -07:00
Eric House
2a20caa6d7 fix breakage caused by merge 2021-03-27 11:00:06 -07:00
Eric House
64ff2e5f69 Merge branch 'android_branch' into wasm 2021-03-27 10:27:14 -07:00
Eric House
3102271840 turn "known players" on for all 2021-03-21 13:40:17 -07:00
Eric House
17311dc757 get rid of dict processing where possible
The old API required passing dict into game creation/loading. New
doesn't, but in some places I was doing other stuff there (like checking
existance), so can't remove there. Still code goes away.
2021-03-19 14:29:20 -07:00
Eric House
970c2f6f9a make android compile/run with wasm changes 2021-03-19 14:29:20 -07:00
Eric House
23cb7bb85d unsigned->signed to fix drawing garbage in empty tiles 2021-03-19 14:27:04 -07:00
Eric House
9bc72d0745 move stream storage into super 2021-03-19 14:26:18 -07:00
Eric House
d620461574 fix so all compile 2021-03-19 14:26:18 -07:00
Eric House
f7ba081e01 don't offer to archive or delete games missing acks
Once in the archive games don't ever send unless opened explicitly (no
resend-all-on-gained-network stuff for them). So don't offer to put a
game there if it has unsent (unacked) messages. Should prevent problem
of a host being archived before it's managed to send its final move to
all guests.
2021-02-25 12:13:23 -08:00
Eric House
be0a6f83f3 drive letters/values from a three-value enum
There are three choices now. The button pops up a menu on android and
moves through the choices on linux.
2021-02-11 14:11:02 -08:00
Eric House
64f1d83b5d show-values mode now means show along with face
not instead of. It now feels as if it should be a global setting, not a
per-game thing to toggle. We'll see what folks think.
2021-02-10 20:43:11 -08:00
Eric House
538ab5ab3b Rename a couple of variants to be more clear 2021-01-29 18:05:33 -08:00
Eric House
64a470185c display known player timestamp when known (debug only)
For some reason it's getting cleared sometimes. Will fix.
2021-01-04 08:12:05 -08:00
Eric House
17bda01d16 don't require title in FCM notification
And turn off the raised-tile thing for now
2020-12-14 08:57:11 -08:00
Eric House
b26549e331 a bit of cleanup 2020-12-14 08:57:11 -08:00
Eric House
45bc623975 enable RAISETILE feature for linux and android
It's timer-based. Not sure I like that, but let's see how it feels
on-device.
2020-12-02 17:55:49 -08:00
Eric House
249bfbe66e update emacs compile commands: ant is dead 2020-12-01 07:55:01 -08:00
Eric House
5d4fd0e58b don't dispose gi before game
gathering players was failing because disposed gi was pointing at
garbage. I'm lucky it didn't segfault.
2020-10-23 19:03:26 -07:00
Eric House
af37fb45f7 Rewrite BT comms to not use a Service
It's simpler this way, and I'm tired of stuff not happening because the
OS chooses not to schedule e.g. an invitation send for minutes. Goal's
to be running BluetoothServerSocket.accept() as much as possible when
there are active BT games in play OR when the game's in the foreground.
If that's happening, sent invitations and moves will be received when
users expect. When there's no traffic and app isn't being brought to
foreground, backoff will ensure I don't try to run accept() too often.

FWIW, BTLE seems to offer a better way to do this (to have an app be
responsive to incoming invitations when it hasn't run in the foreground
in a while), but it requires users to accept FINE_LOCATION
permission. I'm hoping I can make this work to avoid asking for that
permission.
2020-10-21 21:10:09 -07:00
Eric House
f90d76329b use semaphore to protect known players data
Requires adding a common method called by platform code on creating a
new dutil ctxt.
2020-09-30 17:21:18 -07:00
Eric House
dbde9c87ae list known player in invite info where known
(for mqtt only)
2020-09-30 10:10:43 -07:00