Commit graph

12750 commits

Author SHA1 Message Date
Eric House
567c3dbf9e show mempool stats (DEBUG builds) 2021-03-19 14:27:04 -07:00
Eric House
4937d13273 use indexeddb for storage 2021-03-19 14:27:04 -07:00
Eric House
2a6931fdcf add and start using indexeddb via emscripten APIs
Replace a couple of load/store actions with new APIs that do so
asynchronously (using indexeddb underneath, via emscripten APIs.)
Required restructuring how app starts. More changes to come. The idea is
to replace wordlist storage: this'll keep 'em smaller and not require
conversion to string.
2021-03-19 14:27:04 -07:00
Eric House
55f590ca0b choose the smallest dict available
I'm running out of memory when using the largest English
dicts. Something other than LocalStorage will have to be used for
Polish, but for now limp along with smaller wordlists.
2021-03-19 14:27:04 -07:00
Eric House
dd78abb116 separate dbg and rel directories 2021-03-19 14:27:04 -07:00
Eric House
664913b2eb fix NPE when len not initialized
Duh....
2021-03-19 14:27:04 -07:00
Eric House
d5e7dc4c97 game from a downloaded wordlist works!!!! 2021-03-19 14:27:04 -07:00
Eric House
afc3ff156e make game ask for dicts when needed
It's awkward for platform code to create a dictionary prior to opening a
game whose data contains the information about what dict to open. So add
a dutil method to fetch a dict, and call it from inside game opening
code. Makes linux code better at least.
2021-03-19 14:27:04 -07:00
Eric House
7924c046d6 fix linux compile 2021-03-19 14:27:04 -07:00
Eric House
5e9863adaf snapshot: downloading wordlist seems to work 2021-03-19 14:27:04 -07:00
Eric House
2ab2f5642e add name button and store wordlist
As a p.o.c., load the built-in wordlist into storage once, and
thereafter use it from there rather than as a file. Now it can go away
and a wordlist for the user's locale be downloaded and stored instead.
2021-03-19 14:27:04 -07:00
Eric House
c829017150 comment out logging 2021-03-19 14:27:04 -07:00
Eric House
0508fe1418 hide device buttons sometimes 2021-03-19 14:27:04 -07:00
Eric House
46ec7e5e3e remove removed file 2021-03-19 14:27:04 -07:00
Eric House
06b530c443 add notion of index to storage
I'm heading toward being able to know what all the games are by how
they're stored in a xplatform way. This is a start. Adding a second key
to storage, and looking at grouping everything where one key or the
other matches.
2021-03-19 14:27:04 -07:00
Eric House
39161a1170 just some notes 2021-03-19 14:27:04 -07:00
Eric House
c9ea5c1f69 remove stuff from html 2021-03-19 14:27:04 -07:00
Eric House
4eede76780 add callback called when window regains focus
I need to redraw the canvas then, but haven't figured out yet.
2021-03-19 14:27:04 -07:00
Eric House
fa8bcd3c2c url-decode args prior to passing to main() 2021-03-19 14:27:04 -07:00
Eric House
6b650907b2 regression: notify remote when deleted game messaged 2021-03-19 14:27:04 -07:00
Eric House
c801243dd5 hide game buttons when no game visible 2021-03-19 14:27:04 -07:00
Eric House
ffc42ed5e0 remove deleted games from games list
Was getting crashes since they could still be looked up
2021-03-19 14:27:04 -07:00
Eric House
61be81cf1a invite known players 2021-03-19 14:27:04 -07:00
Eric House
30e6182c7a sort game names in opengames dialog 2021-03-19 14:27:04 -07:00
Eric House
280390990f use new scheme to simplify blank picking 2021-03-19 14:27:04 -07:00
Eric House
ae05e62a5a Don't fail when two games have same name
Needed to change how callbacks worked, and that temporarily killed
sorting. Will fix.
2021-03-19 14:27:04 -07:00
Eric House
ab6abea6a7 use a callback instead of malloc inside js 2021-03-19 14:27:04 -07:00
Eric House
534e245048 change load-from-storage to not require free() 2021-03-19 14:27:04 -07:00
Eric House
03d76fbacd use name from invitation 2021-03-19 14:27:04 -07:00
Eric House
523c9b270a keep games open and switch between them
Motiviation was to be able to deliver a message in the background, but
at least for now it's easier not to close games again. Can always do
that later if it's a memory problem.
2021-03-19 14:27:04 -07:00
Eric House
5cd4b31648 fix to do num-based comparison 2021-03-19 14:27:04 -07:00
Eric House
c8f22f5fb1 register with mqtt host 2021-03-19 14:27:04 -07:00
Eric House
033290bd69 cleanup, esp around js callbacks 2021-03-19 14:27:04 -07:00
Eric House
940e2569c9 fix exiting when another tab opened. And cleanup. 2021-03-19 14:27:04 -07:00
Eric House
41cd3d8f39 open game to receive message 2021-03-19 14:27:04 -07:00
Eric House
e2beccc85c sort games, fix buttons 2021-03-19 14:27:04 -07:00
Eric House
5b645abae8 cleanup 2021-03-19 14:27:04 -07:00
Eric House
3d87d4f60a name the closed game 2021-03-19 14:27:04 -07:00
Eric House
208a6b764c don't report as deleted a game that's just closed 2021-03-19 14:27:04 -07:00
Eric House
b386abcf9d make stuff better 2021-03-19 14:27:04 -07:00
Eric House
d5b1e429ea fix assertion failure 2021-03-19 14:27:04 -07:00
Eric House
79433de160 sending invites works
though play after it still glitchy
2021-03-19 14:27:04 -07:00
Eric House
43874a6a5d new game works
Only two options: local game with one robot, or networked needing to
invite someone.
2021-03-19 14:27:04 -07:00
Eric House
57783756d6 rename and open seem to work 2021-03-19 14:27:04 -07:00
Eric House
0c99b8490b implement new game and open game (roughly) 2021-03-19 14:27:04 -07:00
Eric House
9ec8952fdb move game stuff into separate struct 2021-03-19 14:27:04 -07:00
Eric House
3a0d0befc7 toward allowing multiple games 2021-03-19 14:27:04 -07:00
Eric House
c79d634458 add blank-picker dialog 2021-03-19 14:27:04 -07:00
Eric House
b80f3fdf06 implement wasm_util_remSelected 2021-03-19 14:27:04 -07:00
Eric House
be1042559a draw scoreboard larger for current turn player 2021-03-19 14:27:04 -07:00
Eric House
23cb7bb85d unsigned->signed to fix drawing garbage in empty tiles 2021-03-19 14:27:04 -07:00
Eric House
07d5bd9883 refactor: one method for rows of buttons 2021-03-19 14:27:04 -07:00
Eric House
ae4985e518 ask for username if not provided 2021-03-19 14:27:04 -07:00
Eric House
5abf13c4a2 new files to make EM_JS stuff sharable 2021-03-19 14:27:04 -07:00
Eric House
007e1e4acb add alert for asking user for string 2021-03-19 14:27:04 -07:00
Eric House
52773c577f make dialogs stackable 2021-03-19 14:27:04 -07:00
Eric House
540cf73496 cleanup: fetch checkboxes rather than pass in 2021-03-19 14:27:04 -07:00
Eric House
88e44d45ff fix so keyboard input works
Emscripen was hogging all keyboard events even when canvas didn't have
focus. There's an arcane way to fix that in js.
2021-03-19 14:27:04 -07:00
Eric House
74109ce172 fix to send after connect 2021-03-19 14:27:04 -07:00
Eric House
d53ab92af3 show game-over details 2021-03-19 14:27:04 -07:00
Eric House
5a061f5786 notify, and stop using, when another tab starts up
I'm wrestling with how to have concurrent tabs open. They can't be on
the same game because both can't connect using same MQTT dev id (and
they'd quickly get the saved state screwed up.) Only problem is
sometimes a tab in a new window doesn't have access to localstorage and
so is able to connect on its own. But later that state isn't reachable
any more: relaunch firefox and you get back the to the older state.
2021-03-19 14:27:04 -07:00
Eric House
dc90823e9b move alert to on top of board 2021-03-19 14:27:04 -07:00
Eric House
eec86e099d make alert and confirm non-blocking
Using a custom div and callbacks. TODO: make it floating so it's more
dialog-like. But that's just css at this point.
2021-03-19 14:27:04 -07:00
Eric House
76139c43f6 move most of my js into separate file 2021-03-19 14:27:04 -07:00
Eric House
9852142a2d draw letters centered 2021-03-19 14:27:04 -07:00
Eric House
7dc949fb38 choose font sizes to fit
Make on demand rather than guessing. Only wind up with six or so, so the
linear search is probably ok.
2021-03-19 14:27:04 -07:00
Eric House
fddac79dd8 rebase, and handle changed draw api 2021-03-19 14:27:04 -07:00
Eric House
96829b5478 fix so release build builds
without MEMDEBUG defined that is
2021-03-19 14:27:04 -07:00
Eric House
02a193902f get trade working 2021-03-19 14:26:18 -07:00
Eric House
bf5db08357 get rid of sGlobals! 2021-03-19 14:26:18 -07:00
Eric House
b368d0b801 pass closure from js to avoid global 2021-03-19 14:26:18 -07:00
Eric House
880bff747d use js runtime for timers too 2021-03-19 14:26:18 -07:00
Eric House
1813552b5e use native js for idle (timers next) 2021-03-19 14:26:18 -07:00
Eric House
40e72f8b29 snapshot (with textfield broken) 2021-03-19 14:26:18 -07:00
Eric House
c57471364f get URL-encoded invitation receipt working 2021-03-19 14:26:18 -07:00
Eric House
1b5cdce72c don't try to send when not connected 2021-03-19 14:26:18 -07:00
Eric House
7efc4b29bf get mqtt working again 2021-03-19 14:26:18 -07:00
Eric House
a1d6f25fc6 tweak makefile 2021-03-19 14:26:18 -07:00
Eric House
d586ccf67f work with WASM=1 and shell template to pass argv from url 2021-03-19 14:26:18 -07:00
Eric House
2eff5ebc7b cleanup 2021-03-19 14:26:18 -07:00
Eric House
4612ca70c7 snapshot: message exchange mostly works 2021-03-19 14:26:18 -07:00
Eric House
e3814bf0eb snapshot: sends message to inviter 2021-03-19 14:26:18 -07:00
Eric House
551765b120 launch asap 2021-03-19 14:26:18 -07:00
Eric House
40468d8a1b load existing game on launch 2021-03-19 14:26:18 -07:00
Eric House
c5aea32227 save game on changed 2021-03-19 14:26:18 -07:00
Eric House
3cb1183e96 Makefile tweaks 2021-03-19 14:26:18 -07:00
Eric House
9bc72d0745 move stream storage into super 2021-03-19 14:26:18 -07:00
Eric House
2c7568723f add missing files 2021-03-19 14:26:18 -07:00
Eric House
7dc309cc3d get local storage working 2021-03-19 14:26:18 -07:00
Eric House
b236b80a71 setup so load/store get called 2021-03-19 14:26:18 -07:00
Eric House
d7d3f293e7 cleanup 2021-03-19 14:26:18 -07:00
Eric House
cd614004ae two-robot game works 2021-03-19 14:26:18 -07:00
Eric House
15ae9da08b refactor so game init is repeatable (untested) 2021-03-19 14:26:18 -07:00
Eric House
ec9570ab81 improve drawCell() 2021-03-19 14:26:18 -07:00
Eric House
66a422e2a2 cleanup so building .html works again 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
ed274d9835 run naked, and add buttons for hints etc 2021-03-19 14:26:18 -07:00
Eric House
c2b56c8d32 modify to run "naked" 2021-03-19 14:26:18 -07:00
Eric House
656f433d57 snapshot: using alert() and confirm() 2021-03-19 14:26:18 -07:00
Eric House
3c791b0f3c git confirm working 2021-03-19 14:26:18 -07:00
Eric House
1d87c3facd snapshot: tile dragging works, timers don't 2021-03-19 14:26:18 -07:00
Eric House
9b4328d6dc snapshot 2021-03-19 14:26:18 -07:00
Eric House
a047a9c865 start changing colors 2021-03-19 14:26:18 -07:00
Eric House
de98a70b9f snapshot
Staring to hack stuff: I need an alert mechanism already to confirm a
move.
2021-03-19 14:26:18 -07:00
Eric House
0b34018d98 draw first text 2021-03-19 14:26:18 -07:00
Eric House
633896292a snapshot: drawing empty board 2021-03-19 14:26:18 -07:00
Eric House
947b28f3b3 snapshot: does something 2021-03-19 14:26:18 -07:00
Eric House
b62ab69799 add missing file 2021-03-19 14:26:18 -07:00
Eric House
073b5f6bf3 enable delete and archive when msg queue empties
Recent change added Delete button to game-over alert, but only when no
unacked messages remained (since deleted games can't continue trying to
send messages other games might still need to know the game's over.)
Typically the alert would go up and then, if the remote device is
online, shortly after acks would arrive. Now when that happens the alert
gets updated to offer to delete and archive.
2021-03-19 14:07:43 -07:00
Eric House
d5546b484d cleanup (mostly non-DBG compile errors) 2021-03-19 13:03:39 -07:00
Eric House
fb0807c14b fix so 0-percent works 2021-03-19 12:50:37 -07:00
Eric House
3f6f16c2f4 add script to print comms msg exchange details 2021-03-19 12:50:32 -07:00
Eric House
f335ea7ad9 remove or tweak logging 2021-03-19 12:50:28 -07:00
Eric House
5fa44e54fa remove unneeded .h file 2021-03-19 12:50:23 -07:00
Eric House
f9e1deabfc don't include dict tiles/values in initial server msg
There's code on all platforms to force user to have dict prior to
opening a game or responding to an invitation. "Empty" dict play hasn't
made sense in a long time.
2021-03-19 12:50:19 -07:00
Eric House
ca88d9c0bf backout ack change for now 2021-03-12 07:16:28 -08:00
Eric House
f947382f4c in comms, send ack on receipt of duplicate msg 2021-03-11 21:43:26 -08:00
Eric House
e30a02ee7c cleanup: more getting rid of Dialog 2021-02-25 17:20:15 -08:00
Eric House
d0323b5ce1 move game name field to top of dialog 2021-02-25 17:18:52 -08: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
c22526b1f7 Offer to delete finished games 2021-02-25 10:14:06 -08:00
Eric House
9804594237 cleanup: use AlertDialog not Dialog 2021-02-25 08:56:08 -08:00
Eric House
5c09d9b9a4 add commented-out javac option
(so I don't have to research it again)
2021-02-25 08:55:05 -08:00
Eric House
ad8451d5c9 fix NPE
When nothing has focus can't close keyboard. (Likely it's not up in that
case anyway.)
2021-02-24 21:18:59 -08:00
Eric House
1c9b94efbc hide keyboard when filter run and when filter closed 2021-02-24 20:15:58 -08:00
Eric House
5736870357 when filtering, enter key hides keyboard and applies filter 2021-02-24 20:08:43 -08:00
Eric House
e2b51beb60 for filters, bring up keyboard all-caps 2021-02-24 20:03:39 -08:00
Eric House
9af5ed2a6c add reset button to wordlist filter 2021-02-24 19:10:31 -08:00
Eric House
c97b9875bd cleanup: make TableLayout include less
Scroller is allowed only one child and I guess I wanted the TableLayout
to suffice, but having unrelated stuff in it sucked. So wrap it in a
LinearLayout and move the unrelated stuff out.
2021-02-24 19:03:52 -08:00
Eric House
ae0a30a088 french translation for f-droid metadata
We'll see if it shows up.
2021-02-23 17:09:09 -08:00
Eric House
e351a5e4f0 up release numbers; changelog changes 2021-02-22 08:12:48 -08:00
Eric House
5abc95dd6e add experimental translatable f-droid metadata 2021-02-21 16:21:02 -08:00
Eric House
1a79d124f2 Squashed commit of the following:
commit f68186cafb
Author: Bernard Massot <bmassot@free.fr>
Date:   Sun Feb 21 19:22:45 2021 +0000

    Translated using Weblate (French)

    Currently translated at 99.4% (883 of 888 strings)
2021-02-21 15:28:06 -08:00
Eric House
28e0dfe315 give prefs entry-page a title 2021-02-21 11:52:37 -08:00
Eric House
0df49bcb62 Squashed commit of the weblate cleanup 2021-02-21 11:06:37 -08:00
Eric House
18aacdefeb Squashed commit of the following:
commit fabc29dfef
Author: Bernard Massot <bmassot@free.fr>
Date:   Sun Feb 21 18:25:36 2021 +0000

    Translated using Weblate (French)

    Currently translated at 99.3% (882 of 888 strings)

commit b26f383d32
Author: Hosted Weblate <hosted@weblate.org>
Date:   Sun Feb 21 19:09:29 2021 +0100

    Update translation files

    Updated by "Cleanup translation files" hook in Weblate.

    Translation: Crosswords/Android
    Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-02-21 10:54:55 -08:00
Hosted Weblate
e9e0834048 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-02-21 10:44:53 -08:00
Eric House
aaca73eb40 bring up different dialog after invite sent 2021-02-21 10:40:53 -08:00
Eric House
4e21e40de5 tweak buttons and text of invite dialog
I want to encourage people not to think there's action to be taken
between when they invite and an invitee responds, e.g. to email. So make
the "Close Game" button the "positive" one that case.
2021-02-20 20:33:35 -08:00
Eric House
014cafe67e cleanup 2021-02-18 16:53:00 -08:00
Eric House
8cd1162421 fix to build Foss by default
(had to change: replacing something no longer there)
2021-02-18 16:00:11 -08:00
Eric House
309fcece03 generate mapping from prefs file to binding to fix reset
I balked at writing code consisting of a bunch of classes there only to
provide a mapping to resource file IDs, instead opting to generate them.
(The right move might have been to generate everything from the old
xwprefs.xml, but it's too late for that. :-)
2021-02-18 15:57:10 -08:00
Eric House
fdb9b43c63 regenerate new prefs xml files from previous scheme
I realized I'd made some mistakes and so rebuilt them from the old
xwprefs.xml file. Didn't find any new mistakes, but there are fewer
unnecessary changes so the release-to-release diff should make more
sense.
2021-02-18 09:57:59 -08:00
Bernard Massot
e4febd814e
Translated using Weblate (French)
Currently translated at 99.4% (884 of 889 strings)
2021-02-18 17:11:11 +01:00
Eric House
a13e33688a add missing prefs 2021-02-17 20:21:58 -08:00
Eric House
ea189ab6ae Squashed commit of the following:
commit 8e985b09a7
Author: Bernard Massot <bmassot@free.fr>
Date:   Wed Feb 17 22:47:17 2021 +0000

    Translated using Weblate (French)

    Currently translated at 99.3% (883 of 889 strings)
2021-02-17 19:08:30 -08:00
Eric House
6c50fcb818 cleanup; make original tiles-values choice the default
We've decided that on upgrade users shouldn't be surprised by a busy
board and unaware of how to fix it. So keep it the way it's been and let
the curious discover the new ability. Also, simplify code.
2021-02-17 15:47:55 -08:00
Eric House
6cc370e63c Squashed commit of the following:
commit e31ebc05c2
Author: Hosted Weblate <hosted@weblate.org>
Date:   Wed Feb 17 20:29:01 2021 +0100

    Update translation files

    Updated by "Cleanup translation files" hook in Weblate.

    Translation: Crosswords/Android
    Translate-URL: https://hosted.weblate.org/projects/xwords/android/

commit a6ad3e4292
Merge: d168e6e5e 69538a11a
Author: Hosted Weblate <hosted@weblate.org>
Date:   Wed Feb 17 20:28:59 2021 +0100

    Merge branch 'origin/android_branch' into Weblate.

commit 69538a11a9
Author: Hosted Weblate <hosted@weblate.org>
Date:   Wed Feb 17 20:21:22 2021 +0100

    Update translation files

    Updated by "Cleanup translation files" hook in Weblate.

    Translation: Crosswords/Android
    Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-02-17 11:31:07 -08:00
Eric House
d168e6e5e6 Squashed commit of the following:
commit 69538a11a9
Author: Hosted Weblate <hosted@weblate.org>
Date:   Wed Feb 17 20:21:22 2021 +0100

    Update translation files

    Updated by "Cleanup translation files" hook in Weblate.

    Translation: Crosswords/Android
    Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-02-17 11:26:53 -08:00
Eric House
2ebb8caaf9 don't over-scroll
At least with my dozens of Known Players I was getting an empty alert.
2021-02-17 10:34:15 -08:00
Eric House
ad3be6732a Squashed commit of the following:
commit 3176272c43
Author: Muha Aliss <muhaaliss@pm.me>
Date:   Tue Feb 9 17:56:50 2021 +0000

    Translated using Weblate (Turkish)

    Currently translated at 4.2% (38 of 887 strings)

commit 5579eae91d
Author: Bernard Massot <bmassot@free.fr>
Date:   Thu Feb 11 21:27:37 2021 +0000

    Translated using Weblate (French)

    Currently translated at 99.2% (880 of 887 strings)
2021-02-17 07:27:32 -08:00
Eric House
04bc1d20a3 use radio buttons for menu to show cur setting 2021-02-11 14:42:57 -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
d3cf74920e remove unused method 2021-02-10 19:37:19 -08:00
Eric House
232cbe04ef tweak strings 2021-02-10 17:19:47 -08:00
Eric House
da352d6948 draw tile value in cell
This is an experiment. I suspect the eventual fix will be to have two
modes, one of which draws the values and the other doesn't, replacing
the TILES/VALUES pref.
2021-02-10 17:05:55 -08:00
Eric House
538ab5ab3b Rename a couple of variants to be more clear 2021-01-29 18:05:33 -08:00
Eric House
d5c706fb07 trying to not have all travis builds show "dirty" 2021-01-29 16:28:52 -08:00
Eric House
4fef4e4b29 Move to using androidx-based prefs classes and recipes
Use the current recommended classes and organization of app
settings. Means breaking xwprefs.xml into eight or so files and a bunch
of changes to classes derived from Preference. Seems to work, but there
will be bugs. Also got rid of most Activity subclasses that were
alternatives to Fragments, since all Android versions I'm allowed to
support now support Fragments.
2021-01-29 16:05:38 -08:00
Eric House
31cfbaab1a up changelog for new release 2021-01-28 19:02:00 -08:00
Eric House
457955c40e move QR-Code to top of local invite-means list
It'll be the most often used I suspect so make it easier to find.
2021-01-28 16:22:44 -08:00
Eric House
8dd1db31c7 don't include FCM service in shared Manifest
Since not everybody has it now, and you crash if you try to load what
you don't have.
2021-01-28 16:22:44 -08:00
Eric House
0373f02c3e tweak color edit dialog 2021-01-27 11:58:56 -08:00
Eric House
4850b77756 UI and string tweaks 2021-01-25 21:58:36 -08:00
Eric House
0698e67dcf tweak string 2021-01-25 20:21:50 -08:00
Eric House
0ea9b42db8 clear high-bit when generating gameIDs
postgres DB, at least on ARM, doesn't like it.
2021-01-25 07:58:49 -08:00
Eric House
d3440dc7d6 Squashed commit of the following:
commit 663c0c3395
Author: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Date:   Sat Jan 23 16:22:50 2021 +0000

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (887 of 887 strings)
2021-01-24 19:57:56 -08:00
Eric House
73f9b20df7 Squashed commit of the following:
commit d255dc7758
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Sun Jan 17 18:26:54 2021 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 69.3% (619 of 892 strings)

commit 542af0a287
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Sun Jan 17 18:27:24 2021 +0000

    Translated using Weblate (English)

    Currently translated at 100.0% (892 of 892 strings)

commit 8ced0990d0
Author: Luca De Filippo <luca.defilippo@translationcommons.org>
Date:   Thu Jan 14 15:41:05 2021 +0000

    Translated using Weblate (Italian)

    Currently translated at 96.3% (859 of 892 strings)
2021-01-19 20:35:10 -08:00
Eric House
178042159b remove debug-only warnings about relay stall
Yeah it stalls. That's why MQTT and why BT doesn't use Service any more.
2021-01-19 20:25:18 -08:00
Eric House
ddd5f7b978 remember last-used radio and start with it next time
Saves a step if you generally create games the same way most of the
time. Required reordering alert init.
2021-01-19 13:40:08 -08:00
Eric House
fafbac7a4e catch rare NPE
I got this crash once. This hack avoids it at no cost until I can track
it down.
2021-01-19 10:05:49 -08:00
Eric House
fb8d86c5da tweak text 2021-01-19 10:05:42 -08:00
Eric House
ceec6e7468 fix crash verifying first tray can yield a move
Had never needed an engine for a remote player before. So create one on
demand and nuke after use.
2021-01-18 16:55:20 -08:00
Eric House
2927ded334 default undo pct to 0
Until it's fixed don't need to be have tests always fail for a known
reason
2021-01-18 16:27:16 -08:00
Eric House
19542fee88 send sdk INT when registering
better for tracking than version string
2021-01-18 08:45:57 -08:00
Eric House
66456725ef revert Paho upgrade (crashes on boot on 4.1.1) 2021-01-18 08:44:47 -08:00
Eric House
bb6049fc25 Squashed commit of the following:
commit 8ced0990d0
Author: Luca De Filippo <luca.defilippo@translationcommons.org>
Date:   Thu Jan 14 15:41:05 2021 +0000

    Translated using Weblate (Italian)

    Currently translated at 96.3% (859 of 892 strings)
2021-01-16 18:12:08 -08:00
Eric House
5080889f68 toward a debug build that's closer to f-droids
since that's where the majority of downloads are coming from, let's make
sure play using SMS works and than MQTT is fine without FCM.
2021-01-16 18:00:04 -08:00
Eric House
4f6c13a0d2 upgrade paho client
One I'm using crashes occasionally so see if it's fixed. Not that I'm
checking changelogs or anything :-)
2021-01-11 14:09:57 -08:00
Eric House
d41d5c700f don't let first player have unplayable rack 2021-01-09 20:39:33 -08:00
Eric House
7af001d481 game config changes
get rid of password; disable, not hide, stuff that's irrelevant for a
non-local player
2021-01-09 20:39:33 -08:00
Allan Nordhøy
0f97cd217d
Translated using Weblate (Norwegian Bokmål)
Currently translated at 67.6% (603 of 892 strings)
2021-01-10 02:32:04 +01:00
Wellington Terumi Uemura
f141b148fd
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (892 of 892 strings)
2021-01-07 10:29:14 +01:00
Hosted Weblate
8d800d4307
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-01-06 01:11:36 +01:00
Eric House
91d306270d remember which KnownPlayer entries are expanded 2021-01-05 12:21:54 -08:00
Eric House
4aaee07369 add button taking you to Known Players browser
from the new-game alert. It winds up closing that alert without creating
a game, but that's ok for now IMO.
2021-01-05 11:47:21 -08:00
Eric House
3350ca19b7 use same (new) dialog for solo games 2021-01-04 21:26:12 -08:00
Eric House
4d1e380616 Update translation files
Updated by "Cleanup translation files" hook in Weblate.
2021-01-04 12:07:13 -08:00
Eric House
65ba8cef66 use same dialog for all new networked games 2021-01-04 11:46:34 -08:00
Eric House
185abd2d04 up copyright date: Happy New Year 2021-01-04 08:23:51 -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
a3048441e9 fix the unable-to-post-alert alert
Returning null from createDialog() isn't allowed, so return this as a
fallback as before. But the old code immediately dismissed it and
created another in an infinite loop. So just suck it up and display it.
And as always hope users don't see it.
2021-01-03 17:43:28 -08:00
Eric House
bf6afb803f remove obsolete BuildConfig variable 2021-01-03 17:01:52 -08:00
Hosted Weblate
3a26e9a1ea
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-01-03 23:24:31 +01:00
Eric House
a8b9a6c206 Merge branch 'android_branch' of https://hosted.weblate.org/git/xwords/android into android_branch 2021-01-03 14:22:42 -08:00
Eric House
0ef43fe30a tweak alert layout 2021-01-03 14:15:57 -08:00
Eric House
672de280da squash me 2021-01-03 12:36:49 -08:00
Eric House
6f5c2799c4 Squashed commit from weblate, e.g.:
commit ef81d3ce08
Author: joaooliva <joaooliva@protonmail.com>
Date:   Sun Jan 3 18:15:16 2021 +0000

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 97.1% (867 of 892 strings)
2021-01-03 12:33:07 -08:00
joaooliva
ef81d3ce08
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.1% (867 of 892 strings)
2021-01-03 21:27:53 +01:00
Eric House
f202ca107c make radio text larger 2021-01-03 12:26:14 -08:00
Eric House
2e3ba03f3d Squashed commit of the following:
Author: joaooliva <joaooliva@protonmail.com>
Date:   Sun Jan 3 03:54:00 2021 +0000

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 88.4% (784 of 886 strings)

Author: Luca De Filippo <luca.defilippo@translationcommons.org>
Date:   Mon Dec 14 15:04:16 2020 +0000

    Translated using Weblate (Italian)

    Currently translated at 2.8% (25 of 883 strings)
2021-01-02 20:44:28 -08:00
Hosted Weblate
9eb5bb329a
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2021-01-03 05:28:32 +01:00
Hosted Weblate
1fea94f73c
Merge branch 'origin/android_branch' into Weblate. 2021-01-03 05:28:31 +01:00
joaooliva
2a53586ada
Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.4% (784 of 886 strings)
2021-01-03 05:28:30 +01:00
Eric House
4e49faac1f let background fragment post dialog
Fix -- I think -- problem where game-deleted message received but not
handled by ChatDelegate would loop forever. Fix is to let non-visible
fragments take a shot, the BoardDelegate in this case. Seems to work,
but wasn't 100% reproducible AND the fix may break something else.
2021-01-02 20:24:15 -08:00
Eric House
13c1c8c940 cleanup bits of game config dialog 2021-01-02 17:51:40 -08:00
Eric House
72f2db4f57 improve new-games dialog
Add radio buttons to make clear what the choices are. This should
eventually replace the alert that's show when you don't have any Known
Players.
2021-01-02 17:02:08 -08:00
joaooliva
2a803af158
Translated using Weblate (Portuguese (Brazil))
Currently translated at 58.1% (515 of 886 strings)
2021-01-02 22:45:28 +01:00
Eric House
07c4deb185 don't show wordlist note line unless present 2021-01-01 16:48:06 -08:00
Eric Prod
ebe1c5a22d just the message, ma'am 2021-01-01 16:15:42 -08:00
Eric House
8a6244bd9f cleanup: make config setting like all the others 2020-12-30 19:31:40 -08:00
Eric House
2df966b0cd tweak string and logging 2020-12-29 15:50:23 -08:00
Eric House
1a5d967054 up versions codes 2020-12-28 14:58:33 -08:00
Eric House
0c939984f5 choose the shortest pattern
Don't assume it's the last as previous code did
2020-12-28 14:58:33 -08:00
Eric House
d72142ad40 cleanup 2020-12-28 14:58:33 -08:00
Eric House
35bdd2282e limit pattern parse by max length of tiles 2020-12-27 11:53:36 -08:00
Eric House
d0f5d9949a handle two-letter tiles better
Choose the two-letter tile where possible. Not sure though if this is
always the right move.
2020-12-26 20:45:34 -08:00
Eric House
dc4fcada2a show wordlist's md5sum (non-release builds only) 2020-12-21 17:22:17 -08:00
Eric House
e4a3d55876 include all possible case combinations (like Spanish) 2020-12-20 21:23:45 -08:00
Eric House
9929feecdc use the last pattern when several available
For some reason, in Spanish but not Catalan, filtering doesn't work with
two-letter tiles. The reason is that e.g. with RR two patterns, R.R and
RR (i.e. two R tiles, or one RR tile), are returned. The first shouldn't
be there since there are no words with RR that are spelled with two R
tiles. Until I can fix this picking the second (last) pattern seems to
work better.
2020-12-20 21:19:51 -08:00
Eric House
15c5f18e7e update changelog 2020-12-19 15:12:21 -08:00
Eric House
5a30f75c0a Translated using Weblate (Portuguese (Brazil)) 2020-12-18 20:46:43 -08:00
Eric House
563db2f089 send language code (since name is getting localized)
Allows server to check for wordlist upgrades correctly.
2020-12-18 20:44:16 -08:00
Eric House
2b7ffb3030 don't report NULL loc strings version 2020-12-18 08:00:32 -08:00
Eric House
4f7ab4fd46 turn on batch proto for BT
Will break apps more than maybe two years old. Sad.
2020-12-17 15:51:08 -08:00
Eric House
a175ed525f add handling of new wordlist-download uri
If I can't figure out how to register for .xwd files, next best idea is
to encode a download in a custom url. This is one way of doing that, and
works with the urls just added to BYOD. Will likely change.
2020-12-17 15:37:13 -08:00
Eric House
7fd82b4831 fix to compile on raspberry pi (64-bit ARM) 2020-12-15 10:02:51 -08:00
Eric House
c2c4a0b60a Squashed commit of the following:
commit fef7443517
Merge: a9b7f64ee 62e181857
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Dec 15 18:04:37 2020 +0100

    Merge branch 'origin/android_branch' into Weblate.

commit 62e1818578
Author: Luca De Filippo <luca.defilippo@translationcommons.org>
Date:   Mon Dec 14 15:04:16 2020 +0000

    Translated using Weblate (Italian)

    Currently translated at 2.8% (25 of 883 strings)
2020-12-15 09:07:05 -08:00
Eric House
4936adab75 add option to output number of words 2020-12-14 08:57:11 -08:00
Eric House
4b2dd9e9c5 up version strings and changelog 2020-12-14 08:57:11 -08:00
Eric House
ef7c0965ba fix to build wordlist from current sources
I'd lost the old source, so uncompressed a current list to recreate.
2020-12-14 08:57:11 -08:00
Eric House
085aad63ee offer debug menuitems on NON_RELEASE builds
not just DEBUG
2020-12-14 08:57:11 -08:00
Eric House
731a24ba0a include mqttdevid in app info sent for upgrade check 2020-12-14 08:57:11 -08:00
Eric House
57ab42223a fix to print older wordlists with tiny headers 2020-12-14 08:57:11 -08:00
Eric House
2056291cd5 revert string changes (overriding translator :-)
Known Players is a feature I'm devloping and right now want to keep it
capitalized as players learn what it is. It's only in debug builds at
the moment anyway.
2020-12-14 08:57:11 -08:00
Eric House
1c5a32ac15 include relayDevID when registering with mosquitto
Will make it easier to debug stuff
2020-12-14 08:57:11 -08:00
Eric House
35db73e4e4 display BT Mac addr in About dialog (debug only)
It's useful so why not.
2020-12-14 08:57:11 -08:00
Eric House
ac25baedd1 oops 2020-12-14 08:57:11 -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
17ea06067d don't use hex version of gameID
It's too hard to force the relay's webview to do the same
2020-12-14 08:57:11 -08:00
Eric House
e07993c306 show gameID in connections summary 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
f0e9ede61f add manual message-send to fcm_loop for testing 2020-12-14 08:57:11 -08:00
Luca De Filippo
2ab18b0a55
Added translation using Weblate (Italian) 2020-12-14 15:56:57 +01:00
Joan Araujo
68fcfc941b
Translated using Weblate (Spanish)
Currently translated at 17.5% (155 of 883 strings)
2020-12-11 14:29:04 +01:00
VOLKAN BAKIR
c3a4e324af
Translated using Weblate (Turkish)
Currently translated at 2.9% (26 of 883 strings)
2020-12-11 14:29:04 +01:00
Eric House
ef3de65355 Merge remote-tracking branch 'weblate/android_branch' into android_branch 2020-12-02 18:03:02 -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
3760d735bc fix compile when XWFEATURE_RAISETILE defined
Doesn't seem to work, and that's not addressed by this.
2020-12-02 17:21:47 -08:00
Eric House
aa5bacdd5f save and restore board windows' positions 2020-12-02 14:29:07 -08:00
Eric House
31eeb1de43 when dragging, move crosshairs even over tile
Change so you still see dragging happening via crosshairs movement, but
the dragged tile itself doesn't move except over a place it can be
dropped.
2020-12-02 08:41:52 -08:00
Eric House
db430d63db changelog and version strings 2020-12-01 07:55:10 -08:00
Eric House
249bfbe66e update emacs compile commands: ant is dead 2020-12-01 07:55:01 -08:00
Allan Nordhøy
04440d759a
Translated using Weblate (Norwegian Bokmål)
Currently translated at 68.9% (609 of 883 strings)
2020-11-30 20:29:01 +01:00
Allan Nordhøy
fe1a34b177
Translated using Weblate (English)
Currently translated at 100.0% (883 of 883 strings)
2020-11-30 20:29:00 +01:00
Eric House
ebbb6dd7da fix NPE rotating phone when new invite-now alert up 2020-11-30 10:26:58 -08:00
Eric House
99a7930dfb add loop to print a bunch of devids (disabled) 2020-11-29 11:43:19 -08:00
Eric House
f954ae5943 turn on mqtt game-gone warnings for all 2020-11-29 11:40:17 -08:00
Hosted Weblate
f9b4c809e7
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-11-29 04:46:37 +01:00
Hosted Weblate
bc47849667
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-11-29 04:46:34 +01:00
Eric House
7fb070da49 Squashed merge from android_translate 2020-11-28 19:16:41 -08:00
Eric House
623f3ad145 inform when client's game complete too
Board needs to know when to dismiss the waiting-for-host alert. A
similiar need host-side was handled from common/; do same for client
side.
2020-11-28 17:57:33 -08:00
Eric House
00588f50f3 show an cannot-play-yet alert on guest side too 2020-11-28 13:55:36 -08:00
Eric House
4314a3f012 remove unused param/ivar 2020-11-28 13:55:36 -08:00
Eric House
386cfbda71 close game when invite dialog dismissed via back button
Catch the onCancelled event, and treat as "close" button tap. Also
disable cancel via taps outside the alert, which I think is less
confusing than leaving the unplayable game up without the alert or
closing it without explanation.
2020-11-28 10:33:52 -08:00
Eric House
437aef5ed5 use wrapper to replace static reference
BoardDelegate can have a one-to-one relationship to this thing, and
occasional leakage was preventing opening a new alert, so some fix was
needed. This one's simple.
2020-11-27 11:47:38 -08:00
Eric House
9929de1fa7 only show game-gone msg src on non-release builds 2020-11-25 10:40:08 -08:00
Eric House
f4e7ff1397 fix NPE for case where there are no Known Players 2020-11-25 10:39:41 -08:00
Eric House
82a11e5ebf explain where deleted game message comes from
Not sure it'll make release builds, but it's useful for figuring out if
the deletes should actually be there.
2020-11-23 21:37:18 -08:00
Eric House
48cf291c5a listen for invite alert dismiss
Because I'm doing a singleton thing, if I miss the alert going away I
won't up another up. This tries to always catch dismissal. Might still
be screwed if it's not actually put up for some reason. Needs testing.
2020-11-22 20:40:28 -08:00
Eric House
6fb3d19f03 revert having missing player count in window title
The invite-now alert is enough.
2020-11-22 20:40:28 -08:00
Eric House
776cc5703d use insecure; get own mac addr
Try using both secure and insecure sockets. The latter appears to cause
fewer problems on OS/device combos with crappy BT. It's only possible if
I know the addr of the device I want to, so hack around that being
secret by passing it on request.
2020-11-21 16:25:49 -08:00
Eric House
dbfe8083ca tweak string 2020-11-21 16:06:13 -08:00
Eric House
5031afa3ff don't include colons in nli's BT addr (to save space) 2020-11-21 16:05:21 -08:00
Eric House
f067144ec5 oops: wrong return type 2020-11-21 16:05:21 -08:00
Eric House
d5be06413f add invite history and ability to invite all at once
If inviting known players to a more-than-two-player game, can select all
at once. Required using checkboxes instead of radiobuttons for the case
where nMissing > 1.
2020-11-21 15:11:59 -08:00
Eric House
210b0bcbcb send mqtt game-gone when game deleted
Receiver only does anything if the game's open. This could change....
2020-11-21 08:43:24 -08:00
Eric House
f3bb0c99a9 invite alert changes
Create new class that owns the alert. Let it decide whether to post,
remove, etc. Seems to work, but I've removed some of the "reinvite"
options I'm not sure were helpful anyway. To be considered...
2020-11-20 18:07:19 -08:00
Eric House
105f93f3ab increase length of default room name to 5 chars
There are conflicts on relay. So while it's still relevant, reduce 'em.
2020-11-20 16:06:42 -08:00
Eric House
5d86743857 enable mqtt game-gone message for DEBUG builds
It should be enabled for all once the dup-devid problem should be behind
everybody.
2020-11-20 16:03:03 -08:00
Eric House
a58048e9eb get rid of boolean meant to prevent duplicate invite alerts
It was preventing even one and seems no longer to be necessary.
2020-11-17 17:58:22 -08:00
Eric House
cc8f1e4a57 remove bad assert 2020-11-15 10:47:13 -08:00
Eric House
e288090e70 quarantine: print the stacks holding refs when fails
Store null instead of stack for release builds to minimize performance
impact.
2020-11-14 12:08:47 -08:00
Eric House
9c913fb1c4 keep OK button disabled when no invite means selected
Little UX tweak: enable OK button based on whether there's something
available to return if it's clicked.
2020-11-14 09:20:18 -08:00
Eric House
c06b9a4835 fix tiny list item due to missing thumbnail
When thumbnail was required but couldn't be produced list item showed up
tiny as height followed thumbnail's. Instead, when there's no thumbnail
behave as if it's disabled, a layout that looks ok.
2020-11-13 17:43:30 -08:00
Eric House
3e98e91751 tweak string 2020-11-13 17:43:25 -08:00
Eric House
7e326b3b02 allow specifying PID 2020-11-13 17:43:18 -08:00
Eric House
5485f92116 use a radio button for QRCode option
To make it clear it's an option like the others use the same widget
type. Show the code only when it's selected.
2020-11-11 17:34:17 -08:00
Eric House
98f8056b40 make qrcode available in two sizes 2020-11-10 14:22:50 -08:00
Eric House
9981a559df prevent auto-pop of keyboard
Some screens can't fit it and so it obscures the buttons.
2020-11-02 18:41:39 -08:00
Eric House
db13370cb8 tweak status string (and name for clarity) 2020-11-02 18:01:23 -08:00
Eric House
a44c08e4cc merge android_translate in 2020-11-02 17:10:51 -08:00
Eric House
4dab5bc3bb make game-event notifications noisy by default
Set importance to HIGH, which is apparently required for sound.
2020-11-02 16:45:56 -08:00
Eric House
c9ce2dda21 show known player's bt mac addr for non-release 2020-11-02 16:15:42 -08:00
Eric House
a0e31d8db8 make qr code bigger 2020-11-02 16:01:10 -08:00
Eric House
26f6bb8b43 cleanup/refactor 2020-11-01 19:33:41 -08:00
Eric House
157332d2cc add pref to disable use of bluetooth
It's buggy enough on some devices that a user might need to disable it.
2020-11-01 19:33:41 -08:00
Eric House
04000ddf7e improve corrupt-game experience
add padding to alert, remove cancel button, clean up warning text, and
confirm delete.
2020-10-29 11:30:12 -07:00
Eric House
b165072bed always drop quarantine count to 0 on close
There are ways I can't record a close, e.g. user swiping app to kill
it. To avoid that leading to a corrupt-game warning, or to failure to
open in background, drop the count to 0 rather then merely decrementing
it when it closes correctly. Assumption is that if it closes ok once
it's ok.
2020-10-29 11:30:12 -07:00
Eric House
0250996009 cleanup 2020-10-29 11:30:12 -07:00
Eric House
a5b98c483c fix removal of unpaired device
Two uses of remove() were passing different info. So pass the other one
from the other use.
2020-10-29 08:40:46 -07:00
Eric House
1019271c94 handle mqtt invites same as others
Invitations over MQTT were handled by different code that always opened
the new game on top of any other open one. Use instead existing code
that puts up a notification instead where appropriate.
2020-10-28 17:11:05 -07:00
Eric House
3fbb2bbd7c fix merge of Brazilian files 2020-10-28 13:56:42 -07:00
Eric House
3e411873c0 Merge branch 'android_translate' into android_branch 2020-10-28 13:40:57 -07:00
Eric House
0cee3c8d60 add systemd service file for relay 2020-10-28 13:32:49 -07:00
Eric House
db366bb515 cleanup 2020-10-28 13:32:49 -07:00
Eric House
a8a8f801f7 tweak string 2020-10-28 13:32:49 -07:00
Eric House
81799d3903 add addrType to comms' main addr when added to channel
I'm fixing android client not showing stats for or allowing to disable
mqtt after it's added automatically to a game that connects
otherwise. Problem was that only the channel got the mqtt address
flag. So now add the flag for any type that's added.
2020-10-28 13:32:49 -07:00
Eric House
88dbc40180 test script: strip extension when making logs dir 2020-10-28 13:32:49 -07:00
Eric House
fa3a33f133 offer to hide new-game buttons immediately
Don't wait for user to tap one of the buttons. Instead notice when
scrolling becomes possible, and offer once per launch until user says
"hide" or clicks the don't-ask-again box.
2020-10-28 13:32:49 -07:00
Eric House
b6955696eb again 2020-10-28 13:32:49 -07:00
Eric House
d65fb80dff don't commit me 2020-10-28 13:32:49 -07:00
Eric House
a5f8b87478 remove dead code 2020-10-28 13:32:49 -07:00
Eric House
d95d1a9f70 changes, part 1 2020-10-28 12:57:12 -07:00
Eric House
0888167db5 remove unused format spec (SMS number no longer known) 2020-10-28 12:03:07 -07:00
Vanessa Regina Andrade dos Santos
1d41eea48d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 26.8% (230 of 858 strings)
2020-10-27 20:26:43 +01:00
Eric House
3d1cefe00b cleanup (no code change) 2020-10-26 14:13:50 -07:00
Eric House
ba99eb0838 avoid crash (maybe on corrupt data?) 2020-10-26 13:04:28 -07:00
Eric House
f1eea13c5e remember last invitee and make default next time 2020-10-26 11:03:22 -07:00
Eric House
712661a6e9 show quarantine count (non-release only)
Looks like I'm occasionally leaking so that the count grows. This will
let me see when something is 1 when it should be 0.
2020-10-26 11:03:22 -07:00
Eric House
9deac8afbb show Known Player name in button
Got tired of it not being clear what the button was going to do
2020-10-25 15:29:49 -07:00
Eric House
f997c88ba4 cleanup bt code 2020-10-25 15:29:46 -07:00
Eric House
5a8ea0b998 change name of string 2020-10-25 11:58:23 -07:00
Eric House
6c9be4a67d remove dead script
replaced by changed to relay2 flask app
2020-10-24 22:27:47 -07:00
Eric House
04eeb8f18f don't crash when number of INVITEMEANS changes
This won't impact shipping code, but if during development I add then
remove a new INVITEMEANS I can crash with AIOOB trying to load by
ordinal. So check first.
2020-10-24 13:13:47 -07:00
Eric House
a61db95266 shrink the QR code
It doesn't need its own alert if it's smaller, and at least a Nexus5's
phone can pick it up this size.
2020-10-24 10:08:11 -07:00
Vanessa Regina Andrade dos Santos
8971cdeebc
Translated using Weblate (Portuguese (Brazil))
Currently translated at 26.8% (230 of 858 strings)
2020-10-24 17:26:42 +02: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
e7a63c7c0b change mqtt register URL 2020-10-22 22:33:25 -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
Vanessa Regina Andrade dos Santos
30b42fcedf
Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.7% (204 of 858 strings)
2020-10-22 04:26:41 +02:00
Vanessa Regina Andrade dos Santos
21f22bbb3d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 22.4% (193 of 858 strings)
2020-10-16 05:26:40 +02:00
Vanessa Regina Andrade dos Santos
c01bd4e8d0
Translated using Weblate (Portuguese (Brazil))
Currently translated at 18.9% (163 of 858 strings)
2020-10-14 22:26:39 +02:00
Vanessa Regina Andrade dos Santos
2f6019f4c2
Translated using Weblate (Portuguese (Brazil))
Currently translated at 18.4% (158 of 858 strings)
2020-10-13 01:26:38 +02:00
Vanessa Regina Andrade dos Santos
c7282603f5
Translated using Weblate (Portuguese (Brazil))
Currently translated at 17.8% (153 of 858 strings)
2020-10-10 04:26:41 +02:00
Eric House
8240f753ca bluetooth tweaks
Add a single method to provide candidate devices; don't bother passing
bogus BT MAC addrs; let instance belonging to background-user start
communicating again when user becomes foreground.
2020-10-07 19:39:51 -07:00
Eric House
284e7eb85a fix broken device deletion; refresh time-last-seen
I was comparing the wrong strings and so broke deleting known BT
devices. And wanted to see how often since I'd seen them updated, though
every 10 seconds is still 10 seconds.
2020-10-07 19:06:33 -07:00
Vanessa Regina Andrade dos Santos
07ad779306
Added translation using Weblate (Portuguese (Brazil)) 2020-10-08 03:26:35 +02:00
Eric House
af7f776118 don't post RemoteDeleted Alert more than once 2020-10-07 17:06:18 -07:00
Eric House
a95e761024 fix NPE
I hope. Happens when there's a duplicate delete-deleted-game alert, and
trying to close the view a second time may also be a problem.
2020-10-07 11:29:04 -07:00
Eric House
fef7d2d544 Prune unpaired devs; accept uncatagorized devs
Some devices unpair themselves and needed to stop being listed so user'd
know to fix. And my Nexus 5x is neither a PHONE nor a COMPUTER per BT,
so accept a larger range of BT classes when scanning.
2020-10-06 11:43:21 -07:00
Eric House
a9409f8cca beginnings of script to filter logcat 2020-10-06 10:06:13 -07:00
Eric House
94a709423a improve UI around invites and offering QR code 2020-10-05 18:22:28 -07:00
Eric House
8957b3ff53 remove unused constant 2020-10-05 08:34:28 -07:00
ssantos
c316be6adb
Translated using Weblate (Portuguese)
Currently translated at 40.6% (349 of 858 strings)
2020-10-05 14:12:21 +02:00
Eric House
4f17c64301 close InviteChoicesAlert when game connects
That'll happen if QR code is used in its current location.
2020-10-04 21:47:12 -07:00
Eric House
359e1d12d1 add qrcode for invite to invite-how alert
Need to find the right place for it, explain it, and get rid of the
alert it's part of when the invite is accepted.
2020-10-04 21:47:09 -07:00
ssantos
bb6afba214
Translated using Weblate (Portuguese)
Currently translated at 40.6% (349 of 858 strings)
2020-10-02 23:40:58 +02:00
Eric House
6ae1ec9f81 use a grid for kp dialog layout 2020-10-01 14:44:18 -07:00
Eric House
9f1f1aeee7 only harvest when closing game 2020-10-01 13:39:02 -07:00
Eric House
377bb36c73 cleanup 2020-10-01 13:38:07 -07:00
Eric House
bae7f8a641 add delete button 2020-10-01 11:51:50 -07:00
Eric House
6c5d1b082f start on a gtk dialog displaying/editing knowns 2020-09-30 20:38:44 -07:00
Eric House
21483cf861 add missing file 2020-09-30 20:38:44 -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
479ec4ef44 tweak 2020-09-30 16:38:34 -07:00
Eric House
27b14ac201 tweaks to server-side script 2020-09-30 15:49:07 -07:00
Eric House
797ba0ba8c make the checked icon solid, and white in middle
Looks like crap when translucent and you see through it
2020-09-30 15:30:09 -07:00
Eric House
fb2a2aa6bb add missing string to fix build 2020-09-30 10:51:26 -07:00
Eric House
31fed09e12 make checkmark translucent rather than replace type
Got tired of losing information about what type of game it was once
selected. Now the sel checkmark is translucent and on top.
2020-09-30 10:33:15 -07:00
Eric House
dbde9c87ae list known player in invite info where known
(for mqtt only)
2020-09-30 10:10:43 -07:00
Eric House
2bfeedceb3 change strings for release 2020-09-30 07:24:22 -07:00
Eric House
3af6d0671c make long-tap on wordlist entry copy it to clipboard 2020-09-29 17:03:44 -07:00
Eric House
2b56b1f8b2 cleanup 2020-09-29 16:06:59 -07:00
Eric House
2a973b6968 make radio buttons in invite alert bigger
Trying to get closer to the size they were in AlertDialog
2020-09-29 15:42:32 -07:00
Eric House
f98759881c use separate new-game scheme for debug app 2020-09-29 14:47:53 -07:00
Eric House
24df7bb694 update bad-url script to offer to launch CrossWords
Working around a bug in Android 11 that broke invitation http urls
getting passed to CrossWords. They always launch the backstop script on
eehouse.org. So modify that script to include a link that will pass the
invitation params to CrossWords via a proprietary scheme it already
registers for. No change to app required!
2020-09-29 13:28:54 -07:00
Eric House
65102c2114 fix test that allowed deleting new-games group 2020-09-29 08:16:46 -07:00
Eric House
148286313f don't try to sort a null array! 2020-09-29 07:54:39 -07:00
ssantos
8d518bba1c
Translated using Weblate (Portuguese)
Currently translated at 40.6% (349 of 858 strings)
2020-09-29 16:40:57 +02:00
Eric House
eb728e4368 fix crash: don't go beyond last edge
An obscure pattern from a user caught this one, but the test should have
been there all along.
2020-09-28 19:18:09 -07:00
Eric House
e9ec30206d add debug-only field tracking place in iterator 2020-09-28 19:18:04 -07:00
Eric House
0f7d924a8e accept dicts with full paths (linux) 2020-09-28 16:12:24 -07:00
Eric House
2f849efe2a make tap on whole line toggle expander 2020-09-28 13:05:24 -07:00
Eric House
574e50f235 keep players in sorted order
Sorting in common/ is hard because there's not locale-aware sort
available. Java should do the right thing so do it there.
2020-09-28 12:23:48 -07:00
Eric House
0c7e9836e2 cleanup 2020-09-28 11:48:26 -07:00
Eric House
7b097ea67d Don't allow duplicates when renaming 2020-09-28 11:17:51 -07:00
Eric House
ba9164641a Toward more generic naming/use of Renamer
Not quite done
2020-09-28 09:32:46 -07:00
Eric House
8406d9e551 implement Known Player renaming
Used existing GameNamer which now needs to be made more general.
2020-09-28 08:59:39 -07:00
Eric House
3d078d0894 don't show KP menuitem when there are none 2020-09-28 08:16:48 -07:00
Eric House
aff75053ac implement deleting known players 2020-09-27 20:52:56 -07:00
Eric House
9e78e47954 fix so non-drag movement stops timer to show words
The last change meant the test whether to show the words under the
pen-down cell would pass when it shouldn't because a drag to an occupied
location didn't register as movement. Change so movement counts to stop
the timer even if it wouldn't change the drag-target's location.
2020-09-27 17:32:23 -07:00
Eric House
80160d740f null-terminate words buffer 2020-09-27 14:23:39 -07:00
Eric House
7fe249ad8d Don't allow drag of tile to place it can't be
Rather than have a tile revert to its original location if it's dropped
where it can't be (on an occupied tile or outside the board), put it in
the last place it could have been. Do that by only updating cur when
it's to a legal location, and then relocating to cur when drag ends.
2020-09-27 13:44:21 -07:00
Eric House
fda432468a UI tweak 2020-09-26 21:26:01 -07:00
Eric House
dd177b96c5 tweaks and cleanup 2020-09-26 21:17:55 -07:00
Eric House
810030125b when inviting show means, not knowns, by default
If you've bypassed the quick-start game it's probably because you want
to play somebody not yet in the Known Players list. So don't start out
with that list as how you'll invite.
2020-09-26 20:40:19 -07:00
Eric House
af3eee42df start with expanders minimized 2020-09-26 20:35:02 -07:00
Eric House
9bc73b8bfc add known players browser
There's lots to do, but it shows what's know about each one and has
unimplemented UI for changing names and deleting.
2020-09-26 19:22:03 -07:00
Eric House
9b12f60dbf Don't use EditWClear; fix spinner size 2020-09-26 11:00:11 -07:00
Eric House
b0c1c5ac1b don't deref ptr after free(); cleanup 2020-09-26 11:00:11 -07:00
Eric House
fad252d8c0 use created stamp to decide between conflicting addresses
Not at all tested, but now the game's timestamp is kept and passed in to
where it can be used to determine, e.g., which of two Bluetooth device
names to keep for a given opponent.
2020-09-26 09:48:35 -07:00
Eric House
c4b55385a3 add creation timestamp to game struct
Address resolution will want to know which address is older. Game
creation is a good enough proxy for that, so add it in a cross-platform
way.
2020-09-26 09:48:35 -07:00
Eric House
d17ac7ea0b rename gamesdb public functions (linux only) 2020-09-26 09:48:35 -07:00
Eric House
f0f2a598e0 make up new name rather than drop new player 2020-09-26 09:48:35 -07:00
Eric House
a054762323 use EditWClear for new quick-game-with-know alert 2020-09-26 09:48:35 -07:00
Eric House
c17dc91672 add not-again explanation of quick-connect alert 2020-09-26 09:48:35 -07:00
Eric House
982f238b9d disable the robot button in invites for now 2020-09-26 09:48:35 -07:00
Eric House
49909c84d6 make known-player stuff conditional
and ifdefs to C and BuildConfig flag to java so the feature can be
hidden in release builds until it's ready.
2020-09-26 09:48:35 -07:00
Eric House
b3fa1edda5 missing file 2020-09-26 09:48:35 -07:00
Eric House
8fa92ad00e provide choice to invite known players
Add second type of option to the current list of "InviteMeans", so you
can configure a game then skip sending email if the player's address is
known.
2020-09-26 09:48:35 -07:00
Eric House
fc05612b74 rough implementation of creating and inviting a known player
Followed the way rematch works. Which is gross. Eventually the two
paths (invitee and rematch) should be unified with rematch getting a lot
simpler.)
2020-09-26 09:48:35 -07:00
Eric House
b8c588e02c add new jni methods (untested) 2020-09-26 09:48:35 -07:00
Eric House
11266ece5b gtk known-player invitation works 2020-09-26 09:48:35 -07:00
Eric House
736c9f3503 harvest players on open; save and make available
Got as far as having gtk client display list of previously harvested
known players to be invited. Their addresses, or at least mqtt ids are
saved. Next is to actually invite one.
2020-09-26 09:48:35 -07:00
Eric House
187323192f Test for game type before calling resend_all
I have a case where app crashed on launch due to the assert that resend_all()
wasn't being called on a standalone game. That happened because somehow
the game's android-side db entry showed pending packets to send, though the
game type was correct. Fix is to check for game type also, but also to add
a test so comms won't get invoked with a null ptr on release builds.
2020-09-26 09:43:48 -07:00
Eric House
d8d894da46 put groupless games into "recovered" group
At least one device was mysteriously losing games. They were winding up
with a group ID for a non-existant group. Now on startup I look for such
games and assign them to a new "recovered games" group. We'll see how
common this is before deciding whether it's a good enough
solution. Another perhaps better solution would be to display all games,
ordered by groups, rather than displaying all known groups and their
games.
2020-09-25 18:02:17 -07:00
Eric House
f4e4dfacb6 up strings for new release 2020-09-23 12:41:40 -07:00
Eric House
471a85e7ef use html entities instead of curly quotes
Fixes problem on older phones
2020-09-23 12:22:24 -07:00
Eric House
24125aad0c disable ill-timed not-again hint
On new installs it happens at the wrong time. So get rid of it for now.
2020-09-23 12:12:27 -07:00
Eric House
43c1e13563 remove dead code 2020-09-23 12:01:17 -07:00
Eric House
00c2052af8 add creation time to set displayable in gamelistitem
I'm storing the create time in the DB on Android so don't need to add it
to CurGameInfo right away.
2020-09-23 11:58:43 -07:00
Eric House
8072a0c629 write 0 where flags will be
unused for now.
2020-09-22 10:56:06 -07:00
Eric House
4183d4362c shrink game-type icons so they look ok as alert title icons
On a small-screen (?) emulator (Nexus 5 1080x1920) the icons in the
new-game alerts are huge. Setting their size to 32x32 instead of 120x120
seems to fix this. Haven't tested on more than two devices, on one of
which they were ok before and still are.
2020-09-22 10:52:19 -07:00
Eric House
774a05f8dc in log script, print sender as well as addressee 2020-09-19 22:52:21 -07:00
Eric House
608b4010a0 move user-vis strings (resIDs) into enum 2020-09-16 22:41:53 -07:00
Eric House
9e2ef3a698 rewrite not-installed php script in py 2020-09-15 12:27:41 -07:00
Eric House
ca64d69cef accept invites with https scheme
Will switch to sending them in a few months
2020-09-15 08:01:05 -07:00
Eric House
584c9e2332 use same ID for all upgrade notifications
Don't want them stacking up
2020-09-14 21:37:15 -07:00
Eric House
38ae14296c Pass message to SMS app same as to email
Doing away with letting user build a local phone list (left over from
the NBS case where it made sense.) Just launch the default SMS app with
the message and let 'em choose a recipient. Hard to test, but works on
two of two phones so far.
2020-09-14 21:21:17 -07:00
Eric House
9be9caae54 don't show the dup-invite alert
It's coming up too often, sometimes several times in a row so that all
must be dismissed. Until I can detect which result from explicit user
action (tapping a URL) rather than duplicated delivery over MQTT and
bluetooth, this is better.
2020-09-14 21:12:35 -07:00
Eric House
755b9e4c1f re-register when variant changes
useful only for testing releases
2020-09-14 12:03:58 -07:00
Eric House
d4ae2e1f06 up version strings and changelog 2020-09-14 09:58:35 -07:00
Eric House
534612be85 catch exception using BT as second user 2020-09-14 09:58:35 -07:00
Eric House
1e9cc5d325 remove redundant key/value pair 2020-09-14 09:10:25 -07:00
Eric House
4b6f4047fb add tmp key to backstop model names
I'm using model names to detect duplicates, but there are enough that
may not suffice. So add a new random per-device ID to be used only until
the dupes are resolved.
2020-09-14 08:36:59 -07:00
Eric House
e4594f36e0 generate new mqtt devid when server reports dupe
Thanks to my use of unseeded() rand() early on to generate mqtt device
IDs, a handful of devices are using the same devIDs. The server notices
this and passes a new response which triggers generating a new id that
should be unique (rand() being seeded earlier now.) Testing says the
games that are left behind with the old devid will limp along thanks to
their relay connection while newer games will be better.
2020-09-13 15:06:08 -07:00
Eric House
4e7055d629 test for null
Was seeing null client in logs. Though NPE was caught and harmless
there's no point in having it thrown.
2020-09-13 15:06:03 -07:00
Eric House
3f6e1a8721 no-code-change cleanup: star next to type not name 2020-09-13 14:34:47 -07:00
Eric House
36cc6cc9d6 fix two bits never being set 2020-09-12 21:23:02 -07:00
Eric House
c6d3759373 test to avoid NPE 2020-09-12 15:53:45 -07:00
Eric House
a5387be742 Change download dir prefs name and add hint
Not sure this even belongs here, but that decision will wait until BYOD
is online and I have to figure out how people will distribute custom
wordlists.
2020-09-11 14:03:17 -07:00
Eric House
aa8364cd3f add full git rev for non-release builds 2020-09-11 14:00:46 -07:00
Dimitry Barré
c949033ad6
Translated using Weblate (English)
Currently translated at 100.0% (858 of 858 strings)
2020-09-11 17:36:08 +02:00
Eric House
74bb463f1f add systemd service file for relay 2020-09-10 15:33:50 -07:00
Eric House
cf3c8fc862 cleanup 2020-09-10 15:33:50 -07:00
Hosted Weblate
1a775043d6 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-09-10 15:33:50 -07:00
Eric House
1d2cdd74fc tweak string 2020-09-10 15:33:06 -07:00
Eric House
e26fd23df1 add addrType to comms' main addr when added to channel
I'm fixing android client not showing stats for or allowing to disable
mqtt after it's added automatically to a game that connects
otherwise. Problem was that only the channel got the mqtt address
flag. So now add the flag for any type that's added.
2020-09-10 15:11:22 -07:00
Eric House
80b7097eee test script: strip extension when making logs dir 2020-09-10 11:13:30 -07:00
Eric House
47bced5f18 offer to hide new-game buttons immediately
Don't wait for user to tap one of the buttons. Instead notice when
scrolling becomes possible, and offer once per launch until user says
"hide" or clicks the don't-ask-again box.
2020-09-09 15:15:31 -07:00
Hosted Weblate
4edf9f6a4f
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-09-08 07:22:15 +02:00
Eric House
ed630fa067 again 2020-09-07 18:35:45 -07:00
Eric House
9ddbea6572 don't commit me 2020-09-07 18:30:21 -07:00
Eric House
79324032b9 remove dead code 2020-09-07 17:59:53 -07:00
Hosted Weblate
cc73b2fbb4 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-09-07 17:48:06 -07:00
Oğuz Ersen
19b584ac94 Translated using Weblate (Turkish)
Currently translated at 2.0% (18 of 861 strings)
2020-09-07 17:48:06 -07:00
Hosted Weblate
937b8e4ff8 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2020-09-07 17:48:06 -07:00
Eric House
616aeb9da6 reorganize About dialog
Changed enough that I needed to replace an already-localized string with
one that'll need localization. Sorry.
2020-09-07 17:45:46 -07:00