Commit graph

1702 commits

Author SHA1 Message Date
Eric House
3102271840 turn "known players" on for all 2021-03-21 13:40:17 -07:00
Eric House
4f8ae02bbe regression: don't offer to archive archived game 2021-03-21 13:25:47 -07:00
Eric House
1869557f12 when a move is dropped for lack of dict, alert user
Better to encourage deletion so the remote player knows what's up. This
will not happen often but it has bitten me so....
2021-03-21 10:33:49 -07:00
Eric House
637c47e506 add another as-generated vector asset
Can't figure out how to change the color on the untrade one, so it'll
wait.
2021-03-20 20:05:13 -07:00
Eric House
21b4f51648 swap menuitem positions 2021-03-20 13:46:02 -07:00
Eric House
677abe6fb8 remember prev dict choice and use for longtap
Often I want to view a different wordlist from what's in use in the
game. So make the in-board long-tap shortcut to a wordlist remember what
the short-tap gesture chose most recently and use that instead of
assuming the game's list is what's wanted. Remember the choice on a
per-language rather than per-game basis.
2021-03-20 13:29:22 -07:00
Eric House
e1712f4560 when KP is deleted, remove record of its being expanded
I'm tired of having a record recreated and showing up expanded first
thing. Better to save less garbage.
2021-03-20 08:49:41 -07:00
Eric House
88e76af7ab put scores alert on backstack too
It also should go away when board is dismissed.
2021-03-19 18:14:00 -07:00
Eric House
521a5b57b8 put gameover alert on backstack
This seems to do what I want: cause it to be dismissed whenever the
board fragment behind it (that launched it) goes away, e.g. because the
remote deleted first and local got a deleted-elsewhere-so-delete-here?
alert.
2021-03-19 18:04:52 -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
34aee3d7d0 add remaining langs to code-to-lang table 2021-03-19 14:29:20 -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
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
28e0dfe315 give prefs entry-page a title 2021-02-21 11:52:37 -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
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
Eric House
a13e33688a add missing prefs 2021-02-17 20:21:58 -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
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
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
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
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
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
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
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
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
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
Eric House
0ef43fe30a tweak alert layout 2021-01-03 14:15:57 -08:00
Eric House
f202ca107c make radio text larger 2021-01-03 12:26:14 -08: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
Eric House
07c4deb185 don't show wordlist note line unless present 2021-01-01 16:48:06 -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
dc4fcada2a show wordlist's md5sum (non-release builds only) 2020-12-21 17:22:17 -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
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
4b2dd9e9c5 up version strings and changelog 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
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
ef3de65355 Merge remote-tracking branch 'weblate/android_branch' into android_branch 2020-12-02 18:03:02 -08:00
Eric House
db430d63db changelog and version strings 2020-12-01 07:55:10 -08: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
f954ae5943 turn on mqtt game-gone warnings for all 2020-11-29 11:40:17 -08:00
Eric House
7fb070da49 Squashed merge from android_translate 2020-11-28 19:16:41 -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
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
3e411873c0 Merge branch 'android_translate' into android_branch 2020-10-28 13:40:57 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
608b4010a0 move user-vis strings (resIDs) into enum 2020-09-16 22:41:53 -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
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
cf3c8fc862 cleanup 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
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
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
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
Eric House
066c4a90bf use different url prefix for CrossDbg
Invitations will now only allow opening the game (Dbg or not) that
created them. Should prevent bogus warnings that games have been
deleted. Impacts only developers and friends running CrossDbg and
CrossWords on the same device. Can still get games going between the two
using room names or invite-by-devid.
2020-09-07 12:27:32 -07:00
Eric House
d199789593 up version strings and log for release 2020-09-06 21:47:18 -07:00
Eric House
592554bdcb work around NPE reported on store
Must be a race condition that can cause this. So just fail to open the
game as if something more common had gone wrong.
2020-09-06 21:47:11 -07:00
Eric House
29328e6412 fix NPE in logging 2020-09-06 19:31:25 -07:00
Eric House
7e19a4ef85 fix exception launching in background 2020-09-06 19:30:15 -07:00
Eric House
6d74c4c16f don't allow release builds to invite using mqtt
Duh...
2020-09-06 17:20:51 -07:00
Eric House
85969fb913 seed random at start of jni, not of first game opened
Noticed the same emulator would always generate the same MQTT id, even
after a factory reset. That's because I was seeding rand() in that
jni *game* init code, not the (called-earlier) init of the whole jni
world. MQTT id generation happens on app launch before any game can be
opened so was using an unseeded rand().
2020-09-06 16:15:28 -07:00
Eric House
93a98820e1 cleanup 2020-09-06 14:06:51 -07:00
Eric House
9752c96add remove reporting of deleted games (mqtt only)
It's wrong now while mqtt deviIDs are changing mid-game.
2020-09-06 13:11:31 -07:00
Eric House
b67870118e tweak unable-to-create-alert alert
And force a DEBUG-only crash so I can perhaps investigate
2020-09-06 11:24:38 -07:00
Eric House
22ad5aa4e2 add devid to About alert 2020-09-05 17:52:00 -07:00
Eric House
3510268752 use order-by so don't have to iterate over results
This assumes, as seems to be the case, that rowid is assigned increasing
order.
2020-09-05 17:52:00 -07:00
Eric House
fbc8a62a13 show the game's mqtt devid, not the device's 2020-09-05 14:18:49 -07:00
Eric House
1c6d28633f don't let keys change with every upgrade (use newest)
Supid bug generating keys from __FILE__ meant each release
build (usually done in /tmp/$$, or on a travis server) had a new key and
generated a new MQTT devID (and other stuff less frequently used.)
Replace the keys with something that won't change, and as a temporary
fix so the upgrade including this fix doesn't generate new keys use the
most recent stored key matching the suffix the old keys will have had in
common.
2020-09-04 20:51:44 -07:00
Eric House
d5fb0cc8be remove title from connections info dialog 2020-09-04 20:49:31 -07:00
Eric House
5a05ab2e56 include mqtt devid in email-author info 2020-09-04 20:36:47 -07:00