Commit graph

1490 commits

Author SHA1 Message Date
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
Eric House
1e941acd2c register with relay every time git rev changes 2020-09-04 19:11:35 -07:00
Eric House
8a28be2b9c cleanup removed unused locals 2020-09-04 11:04:33 -07:00
Eric House
0ba4c5a092 up version codes for release 2020-09-02 08:55:49 -07:00
Eric House
f0b162c239 changelog changes for next release 2020-09-02 08:48:20 -07:00
Eric House
623fc1b4dc cleanup chat changes
Don't add the message to the DB or UI if unable to send it. And show the
chat icon in preference to the debug-only-game-corrupted icon.
2020-09-02 08:41:08 -07:00
Eric House
f11c8ba569 fix chat-sending breakage from c5f1d2bf3b
ChatDelegate expects to post to a running JNIThread, so we can't shut it
down before calling the thing! Will need another way to stop that leak.
2020-09-01 21:15:10 -07:00
Eric House
f6414998c8 show in toast how many .apk files need deleting
I'll delete them later
2020-09-01 17:08:24 -07:00
Eric House
10cf96aa46 remove redundant intent opening
This might be the reason there are sometimes two windows getting opened.
2020-09-01 16:06:21 -07:00
Eric House
07704969af get rid of wordlist numbering even for DEBUG 2020-09-01 14:50:38 -07:00
Eric House
e0d291ae0e open wordlists browser even without Storage permission
and add a na-key to rationale for storage permissions so don't
ask forever when user wants to decline.
2020-09-01 14:48:08 -07:00
Eric House
b5bc784431 make filter config scrollable
If you're using a monster font and have the keyboard up you might not be
able to touch the "apply filter" button without dismissing the
keyboard. (Hi Deb :.) So make it possible to scroll it into view. Won't
ever become scrollable for most people, and seems to play well with the
scrolling wordlist regardless.
2020-09-01 12:13:40 -07:00
Eric House
d9f54181a3 tweak a couple of na-tutorial strings 2020-08-31 18:27:20 -07:00
Eric House
53563236e4 offer to open game when rejecting invite as dup 2020-08-29 17:17:49 -07:00
Eric House
46752af0cd have release build check daily for upgrades
(Applies to github and sourceforge releases only)
2020-08-29 16:56:08 -07:00
Eric House
a0beecafc3 Don't accept invitation again for same channel
Do away with debug setting to accept duplicate invitations. Change
definition of duplicate to mean specifying a channel and gameID that
already exist. So now send-to-self works without a debug
preference. Accidentally clicking on the same emailed invite twice will
still be blocked. There will be problems if a game's been deleted but
those have probably always been here.
2020-08-29 16:11:24 -07:00
Eric House
42575f1380 cleanup: never return null 2020-08-29 13:38:32 -07:00
Eric House
34d5ef291c save downloaded .apks in private dir
Don't need File permission now. Files will pile up unseen now,
so need to add delete logic eventually.
2020-08-28 12:21:46 -07:00
Eric House
99f0c09d06 make params private so can't assign without check
All array elems must be Serializable and I want to check in Debug
builds when new uses are added.
2020-08-28 12:21:29 -07:00
Eric House
a580335fea remove obsolete method 2020-08-28 09:58:28 -07:00
Eric House
20766631d5 remove crashlytics
Hadn't worked in a while anyway. There's a replacement I can add
separately when it makes sense.
2020-08-28 09:17:23 -07:00
Eric House
5e2122d81b add to change log 2020-08-28 08:35:26 -07:00
Eric House
73b6d0519f fix NPE
There was a way to get to the sender before its handler had been
initialized. That can only happen on UI thread, so just drop the send
rather than figure out a better way (for now).
2020-08-28 08:32:23 -07:00
Eric House
193383bfa6 don't use newer API for gratuitous animation
Fixing NoSuchMethod exception from play store
2020-08-28 08:26:41 -07:00
Eric House
22582f247d work around fast-scrolling eating taps for nearby objects
As happened with expander arrows on the right when I turned on fast
scrolling, the on-left-side scrollbar was preventing selecting rows when
there were enough list elements for fast scrolling to be enabled. So use
a listener to turn it on only after the user starts to scroll. And move the
bar back to the right side since that's where people expect it.
2020-08-27 22:55:25 -07:00
Eric House
942604e2bd up version strings and changelog 2020-08-27 12:36:54 -07:00
Eric House
adacee5503 tweak player edit layout (add margins) 2020-08-27 12:36:54 -07:00
Eric House
f9ceacdfa7 remove warning about setting room name 2020-08-26 21:28:00 -07:00
Eric House
19f4ebc727 add advisement not to use connect-by-room-name 2020-08-25 19:18:26 -07:00
Eric House
b641be30e7 tweak string 2020-08-25 17:00:55 -07:00
Eric House
14cad646e3 don't crash when setTitle called with id of 0 2020-08-25 15:54:33 -07:00
Eric House
b0f7176b6c fix relay game failure to change roles
If a configured-as-host game joined an existing game the relay would
make it a guest. The android util_ callback for that change was only
implemented in BoardDelegate and so the change was dropped unless the
game was open/visible. Because comms recorded the change, though, the
callback would never be called again and so the game never learned to
behave as a guest and never registered: permanent failure to join game!
Implemented with a new server state so initClientConnection can be
called from server_do() instead of inside comms while processing an
incoming packet.
2020-08-25 14:53:33 -07:00
Eric House
1534298422 up client version
There's no change that matters, but on relay I want to see the upgrade
rate.
2020-08-25 08:24:30 -07:00
Eric House
b1f6ac7088 changelog 2020-08-24 17:02:49 -07:00
Eric House
d10d2597d4 add logging; cleanup
I'm chasing a relay problem that's hard to repro and need more info when
it's happened. (These won't show up in shipping builds.)
2020-08-24 17:02:49 -07:00
Eric House
a7acc37395 adding logging 2020-08-24 12:10:25 -07:00
Eric House
7cb2560b2d restore some default after download cancelled
Don't leave the text "download more" as the spinner's value when
onActivityResult() is called with a cancel.
2020-08-24 08:52:10 -07:00
Eric House
3f92b879de change player name when [un]made a robot 2020-08-23 14:18:41 -07:00
Eric House
12e8328e83 remove password edit in usual cases
Keep it around only where there's more than one local player
2020-08-23 14:06:29 -07:00
Eric House
97e7a4de69 use https for changelog
won't load on newer Android versions otherwise
2020-08-22 20:33:03 -07:00
Eric House
dc7064a168 fix bug resulting in invitation droppage
Recent changes in how nli address sets were stored led to rejecting
incoming invitations when BT had been removed (e.g. on emulator) because
I didn't notice the removal when validating.
2020-08-22 12:36:31 -07:00
Eric House
f8f3082c0f fix NPE introduced by 458872c88 2020-08-21 17:58:45 -07:00
Eric House
118d9e49fe include locale info in mqtt server reg 2020-08-21 13:04:14 -07:00
Eric House
2e4203da1c remove string; fix long-click on thumbnail 2020-08-20 16:57:26 -07:00
Eric House
793904d46a move some menuitems around 2020-08-20 15:53:00 -07:00
Eric House
8385d7f5b2 add a selected-check to group header
And make it so tapping there selects
2020-08-20 15:40:55 -07:00
Eric House
9aca3bded7 tapping thumbnail opens game
Only the leftmost column toggles selection now.
2020-08-20 14:13:56 -07:00
Eric House
a76556ca20 move sel count to front to avoid clipping 2020-08-20 13:04:04 -07:00
Eric House
6d74a56f09 checkmark replaces game-type when item selected 2020-08-20 10:38:57 -07:00
Eric House
ca2dc0b78f start GamePtr with refcount of 1 (for consistency) 2020-08-19 13:48:30 -07:00
Eric House
8cac030e04 include OS version and make/model in email 2020-08-19 13:25:04 -07:00
Eric House
4d69366a82 display names of groups to be deleted 2020-08-19 10:40:46 -07:00
Eric House
f55796f845 fix move-group AOOB and menu enablement for context case 2020-08-19 09:40:46 -07:00
Eric House
0e58e24c3d fix group-order storage 2020-08-19 09:08:31 -07:00
Eric House
e5eb1aab6e override layout defaults to shrink table rows 2020-08-18 16:29:09 -07:00
Eric House
374fd4a0b6 up target sdk from 28 to 29 2020-08-17 12:45:55 -07:00
Eric House
458872c886 use new makeObject to improve API 2020-08-17 10:49:12 -07:00
Eric House
ca4e6e29d5 remove misguided assert (debug only) 2020-08-17 10:49:12 -07:00
Eric House
55cb36d091 cleanup 2020-08-16 19:29:42 -07:00
Eric House
1ce9267381 fix case where several patterns call for choice
Null-out patterns so if we have a pattern later we know it came from the
user choosing.
2020-08-16 16:13:23 -07:00
Eric House
6567f6ffcf debug features on by default on DEBUG builds 2020-08-15 12:03:41 -07:00
Eric House
67be4d2249 remove unused imports (one file only) 2020-08-14 16:56:02 -07:00
Eric House
d44fca3671 up version strings 2020-08-14 10:51:57 -07:00
Eric House
ddf0f185d4 do log db stuff on background thread 2020-08-14 10:51:57 -07:00
Eric House
5b23b40c4f revert unused changes 2020-08-14 10:51:57 -07:00
Eric House
274ebcef2d make +Blank button disabled until focus gained 2020-08-13 13:26:26 -07:00
Eric House
fe742b7e81 move note display into menuitem to save space 2020-08-13 13:01:49 -07:00
Eric House
360f454c3e tweak string 2020-08-13 09:52:45 -07:00
Eric House
0216451bd5 make lib name a constant 2020-08-13 09:52:05 -07:00
Eric House
5d305f7df7 for debug builds, check for upgrades hourly 2020-08-13 09:16:04 -07:00
Eric House
eab9b7feda re-change string accidentally reverted in merge 2020-08-12 18:28:51 -07:00
Eric House
e1a485d23e Merge branch 'android_branch' into android_translate 2020-08-12 17:02:07 -07:00
Eric House
8511c633ee Merge android_translate branch 2020-08-12 16:50:34 -07:00
Eric House
590b0d0b04 use curly quotes 2020-08-12 16:34:59 -07:00
Eric House
2d0a53978f Merge remote-tracking branch 'weblate/android_translate' into android_translate 2020-08-12 16:19:55 -07:00
Eric House
88abf58d3a one-word tweak 2020-08-12 13:21:50 -07:00
Eric House
b521943505 tweak stringsy 2020-08-12 12:46:46 -07:00
Eric House
ba0d551750 filter tweak to deal with large font/small screen 2020-08-11 17:00:59 -07:00
Eric House
7a43e95aa8 fix crashes when filter strings are too long 2020-08-11 14:13:11 -07:00
Eric House
b6a74b7d15 update change log 2020-08-09 12:18:34 -07:00
Eric House
0e3651131e get rid of two unnecessary classes 2020-08-09 12:17:34 -07:00
Allan Nordhøy
7933a70399
Translated using Weblate (English)
Currently translated at 100.0% (844 of 844 strings)
2020-08-09 15:32:46 +02:00
Eric House
0b9f628115 fix string 2020-08-07 18:42:39 -07:00
Eric House
d0145779ce fix string 2020-08-07 18:41:46 -07:00
Eric House
e8175d69aa fix problems iterating backwards with start-with pattern 2020-08-07 11:05:58 -07:00
Eric House
798f8421da show delimiter when language requires it 2020-08-06 11:41:50 -07:00
Eric House
0f9bcd9898 let user choose between tile-spellings 2020-08-06 11:37:05 -07:00
Eric House
87337ba789 add a show-faq menu 2020-08-05 14:01:34 -07:00
Eric House
92c1180411 add button taking you to the (new) FAQ 2020-08-05 13:46:44 -07:00
Eric House
b8f359c3e5 add filtering to wordlist browser
Add a basic regular expression engine to the dictiter, and to the UI add
the ability to filter for "starts with", "contains" and "ends with",
which translate into ANDed RE_*, _*RE_* and _*RE, respectively (with
_ standing for blank/wildcard). The engine's tightly integrated with the
next/prevWord() functions for greatest possible speed, but unless
there's no pattern does slow things down a bit (especially when "ENDS
WITH" is used.) The full engine is not exposed (users can't provide raw
REs), and while the parser will accept nesting (e.g. ([AB]_*[CD]){2,5}
to mean words from 2-5 tiles long starting with A or B and ending with C
or D) the engine can't handle it. Which is why filtering for word length
is handled separately from REs (but also tightly integrated.)

Users can enter strings that don't map to tiles. They now get an
error. It made sense for the error alert to have a "Show tiles"
button, so there's now a dialog listing all the tiles in a wordlist,
something the browser has needed all along.
2020-08-05 09:47:44 -07:00
Eric House
d71cf6cac6 remove assert
It's firing on a device whose screen happens to be the wrong size. Seems
nothing bad happens in spite of proceeding, so let's....
2020-08-01 20:16:41 -07:00
Eric House
1d587caf85 remove dead symlink
(part of reverting f-droid mqtt removal I missed)
2020-07-27 20:50:54 -07:00
Eric House
915b47d612 use mavenCentral instead of eclipse's repo 2020-07-27 20:36:42 -07:00
Eric House
965ecc51e2 user newer ndk version (required by f-droid) 2020-07-27 20:36:42 -07:00
Eric House
f59b51268d Revert "Remove mqtt from f-droid build"
This reverts commit 7583c26e41.
2020-07-27 09:32:27 -07:00
Eric House
f4104a318a modify version strings for new release 2020-07-25 14:03:49 -07:00
Eric House
f32b894843 Remove mqtt from f-droid build
The Maven repo that includes the (FOSS) client library for MQTT isn't
approved by the f-droid build system, so for now rip MQTT out of that
variant. Long-term I'll have to fix this, either by persuading the
f-droid folk to permit the library or by building the C client from
source in my jni library -- or when the relay goes away the f-droid
build will cease to offer internet play.
2020-07-25 13:59:29 -07:00
Eric House
197897c95e remove obsolete credit 2020-07-25 13:58:29 -07:00
Eric House
6905b0cfcf cleanup and update version strings
commented out more of variable line-thickness since the ability to set
has been removed.
2020-07-25 13:58:29 -07:00
Eric House
3cbc707b1d add change notes
Version upgrade to follow
2020-07-25 13:58:29 -07:00
Eric House
df8a9f5108 quarantine: tolerate one crash but not two
I was really after the situation where a game could never be
opened. There are lots of reasons a single failure can occur, not least
of which is installing via adb while game's open. :-)
2020-07-25 13:58:29 -07:00
Eric House
5d1bba2faf remove the under-construction icon
It looks bad, especially to a new user we suspect. Also add retries,
hoping that whatever caused the thumbnail to fail to load once will not
happen again.
2020-07-25 13:58:29 -07:00
Eric House
fcc2beb857 add preference to set cell line thickness 2020-07-25 13:58:29 -07:00
Eric House
725bec1a7a add pref to set color of board lines 2020-07-25 13:58:29 -07:00
Eric House
68343858d0 remove unneeded code 2020-07-25 13:58:29 -07:00
Eric House
6b2fceb468 more dialog cleanup
get rid of subclasses that are no longer separate, since features like
providing a not-again checkbox are available everywhere now.
2020-07-25 13:58:29 -07:00
Eric House
ba9fe85611 provide default Action to avoid NPE 2020-07-25 13:58:29 -07:00
Eric House
c8b587c29b simplify dialogs
Get rid of subclasses, since there's not the clear inheritance structure
I imagined. Any dialog type might want a not-again checkbox, or to have a
third button offer an unexpected option. This is a big change that needs
some bake time.
2020-07-25 13:58:29 -07:00
Eric House
37d774b9da on load, remove records missing a device
Can't test because changing the class meant the thing couldn't be
deserialized. Oh well. It was likely a fluke that caused the null dev
entry anyway.
2020-07-25 13:58:29 -07:00
Eric House
2b0dcbbd17 work around NPE
Not sure if the name being null is ok, but this is likely better code.
2020-07-25 13:58:29 -07:00
Eric House
cfd988d998 changelog change 2020-07-25 13:58:29 -07:00
Eric House
7583c26e41 Remove mqtt from f-droid build
The Maven repo that includes the (FOSS) client library for MQTT isn't
approved by the f-droid build system, so for now rip MQTT out of that
variant. Long-term I'll have to fix this, either by persuading the
f-droid folk to permit the library or by building the C client from
source in my jni library -- or when the relay goes away the f-droid
build will cease to offer internet play.
2020-07-25 11:59:00 -07:00
Eric House
18be14c760 remove obsolete credit 2020-07-20 18:16:02 -07:00
Eric House
e8127a22fb cleanup and update version strings
commented out more of variable line-thickness since the ability to set
has been removed.
2020-07-20 11:15:34 -07:00
Eric House
4629f878a3 add change notes
Version upgrade to follow
2020-07-19 21:50:24 -07:00
Eric House
dbe48644c2 quarantine: tolerate one crash but not two
I was really after the situation where a game could never be
opened. There are lots of reasons a single failure can occur, not least
of which is installing via adb while game's open. :-)
2020-07-19 21:30:22 -07:00
Eric House
e8c18b74d0 remove the under-construction icon
It looks bad, especially to a new user we suspect. Also add retries,
hoping that whatever caused the thumbnail to fail to load once will not
happen again.
2020-07-19 21:15:15 -07:00
Eric House
982200cb3b add preference to set cell line thickness 2020-07-19 18:04:00 -07:00
Eric House
ad4542b4ac add pref to set color of board lines 2020-07-19 17:31:50 -07:00
Eric House
6f049c0b27 remove unneeded code 2020-06-25 12:01:44 -07:00
Eric House
e72532c999 more dialog cleanup
get rid of subclasses that are no longer separate, since features like
providing a not-again checkbox are available everywhere now.
2020-06-25 10:20:19 -07:00
Eric House
4d960c2115 provide default Action to avoid NPE 2020-06-23 09:41:40 -07:00
Eric House
04534d729e simplify dialogs
Get rid of subclasses, since there's not the clear inheritance structure
I imagined. Any dialog type might want a not-again checkbox, or to have a
third button offer an unexpected option. This is a big change that needs
some bake time.
2020-06-23 08:51:29 -07:00
Eric House
4a3f5d5a44 on load, remove records missing a device
Can't test because changing the class meant the thing couldn't be
deserialized. Oh well. It was likely a fluke that caused the null dev
entry anyway.
2020-06-21 11:32:19 -07:00
Eric House
1398e1ed55 work around NPE
Not sure if the name being null is ok, but this is likely better code.
2020-06-20 14:43:21 -07:00
Eric House
07bc2a08aa changelog change 2020-06-15 17:38:09 -07:00
Eric House
14f414d85f up strings for new release 2020-06-15 08:58:38 -07:00
Eric House
e44f19f04e include in register whether build is DEBUG 2020-06-13 18:10:05 -07:00
Eric House
af46660d6c make url for mqtt-relay apis a preference 2020-06-13 18:10:01 -07:00
Eric House
c4dfae13ee always disconnect inside clearInstance()
For some reason I wasn't unless it was the current instance, meaning
that some would leak and forever be connecting and disconnecting as
failures were in effect ignored.
2020-06-13 10:46:28 -07:00
Eric House
e4f213470c add a basic password for mqtt 2020-06-11 13:11:56 -07:00
Eric House
c3c041864d add under-construction icon as thumbnail fallback 2020-06-10 21:45:05 -07:00
Eric House
51a00cd829 allow everybody the new phonies option 2020-06-10 12:54:22 -07:00
Eric House
4508192a3a hide mqtt but couple it to relay
Idea is that if you have relay you have MQTT too. Eventually relay
should go away.
2020-06-10 09:53:26 -07:00
Eric House
28ff1022c3 fix typo in user-vis string 2020-06-10 09:50:25 -07:00
Eric House
9c890032c0 implement relay backoff timer
Moving logic into the timer itself. There's always meant to be one
running, set from between 10 seconds and 23 hours from now. Code
receiving messages (mqtt or relay) resets the backoff when a message is
received, so when there's activity the timer should stay short. Somebody
with no games at all will have attempts made to connect to the relay and
mosquitto once/day, which is when invitations via that method would be
received. Devices with FCM should see lower latency of course.
2020-06-10 08:31:55 -07:00
Eric House
63835105e4 remove relay-check-interval option and fix relay disable 2020-06-09 17:31:44 -07:00
Eric House
1560bf01ed move pref into newgame defaults -- since it is one 2020-06-09 16:13:08 -07:00
Eric House
699eef79cb change file name (nothing else) 2020-06-09 16:04:29 -07:00
Eric House
72e813038f fix mqtt problems
There were ways of leaving multiple instances running, I think fighting
for resources and keeping each other from connecting. Now I think there
can only be one. And lots of logging will help find future problems.
2020-06-04 11:36:04 -07:00
Eric House
5f31fedf70 handle new mqtt fcm message
Not sure yet how to restart, but this is a try
2020-06-03 18:53:10 -07:00
Eric House
8f9bf100e5 register FCM id (and other stats) with new relay API 2020-06-02 11:56:05 -07:00
Eric House
bb9e0559dc change method name 2020-05-21 19:38:01 -07:00
Eric House
f6d7eed84d add mqtt as a new transport
This is meant to replace the relay eventually, but for now it's a new
option, like BT or SMS, to be chosen. Protocol is handled in common/
code for the first time, meaning that linux and android interact without
the need to keep two platforms in sync. Linux uses lib-mosquitto, and
Android uses eclipse's Paho client (the generic java version, not the
one that uses four-year-old Service patterns and so crashes for SDK >=
26.)
2020-05-20 13:58:53 -07:00
Eric House
996e0d62c7 show alert icon in place of chat when quarantined
It'll be helpful (non-release only) to see an alert icon for all games
that can't be opened.
2020-05-20 13:04:52 -07:00
Eric House
fe2d8712d4 log stash when exception caught 2020-05-19 11:58:42 -07:00
Eric House
a1719f14b2 prune quarantine data on launch
I had hundreds of val==zero entries
2020-05-19 08:00:17 -07:00
Eric House
90a175e509 string/version code changes for new release 2020-05-05 08:23:11 -07:00
Eric House
0e9661aa19 fix search of wordlists containing duplicates
Hungarian is unique (so far) in having two-letter tiles that can be
spelled with one-letter tiles AND in allowing words to be spelled both
ways. This crashed search based on strings because there were
duplicates. So now search is done by tile arrays. Strings are first
converted, and then IFF there is more than one tile array result AND the
wordlist has the new flag indicating that duplicates are possible, THEN
the user is asked to choose among the possible tile spellings of the
search string.
2020-05-04 08:33:15 -07:00
Eric House
98ce0e416f api cleanup: dict_iter -> di
(JNI changed too, so it's not just compiler-checked, but tests ok)
2020-05-03 21:45:08 -07:00
Eric House
c4b4c9a0c8 handle 'len' param for dict info if provided 2020-05-02 18:38:42 -07:00
Eric House
2b8e6e192a include len in info for upgradeable wordlists
Server should offer to upgrade if size has changed: checksum doesn't
cover everything.
2020-05-02 13:04:32 -07:00
Eric House
71575934b8 mark-bad menuitm (DEBUG) for standalone games too 2020-04-30 13:25:25 -07:00
Eric House
2d6aa1d019 final change list change? 2020-04-30 09:21:30 -07:00
Eric House
7efd084d35 don't assert in race condition loss 2020-04-29 10:54:19 -07:00
Eric House
0e0615f5d2 fix another likely race condition
Use an ArrayList rather than an array, though that the size of the array
changed mid-calc suggests there could be other problems later. We'll see.
2020-04-29 10:44:31 -07:00
Eric House
8fb21002ad word around some race condition to avoid crash
Reported by Play Store user; can't reproduce but this should fix it.
2020-04-29 10:37:42 -07:00
Eric House
e34da24393 revert wordlist changes
There are bugs there still to resolve and I need to ship. Will return
once they're fixed.
2020-04-29 10:15:58 -07:00
Eric House
0078e58535 cleanup around jni wrapping and checking
Separated the refcounting and ptr-as-long wrapping aspects of GamePtr
into a superclass that others might later inherit from. Cleaned up
dict_iter entrypoints, and added sanity checks to both structs so I'll
quickly notice if I get the ptr management wrong.
2020-04-28 20:13:59 -07:00
Eric House
e7c96290ea name change only
It was confusing using dict_ as the prefix for two "classes"
2020-04-28 15:24:22 -07:00
Eric House
b2bc4e34cf do wordlist lookups using tiles not chars
Fixing a problem with languages (like Hungarian) where it's legal to use
a two-letter tile or two single-letter tiles to play the same word. When
words are seen, or searched for, as char-arrays, there are
duplicates. Current code crashes, but there's also risk the user gets
unexpected behavior. Crash is fixed, and foundation laid for better UX,
by doing all searches for tile arrays. If a search string translates to
more than one tile array the user must choose. For that choice to make
sense it's now possible to translate tile[] to char[] with a delimiter
between the tile strings.
2020-04-28 13:29:12 -07:00
Eric House
f8aa204842 another changelog addition 2020-04-26 15:42:28 -07:00
Eric House
72cf605792 update changelog 2020-04-24 23:42:27 -07:00
Eric House
a35cc760f2 get rid of the stupid '->' in game submenu title 2020-04-24 22:17:39 -07:00
Eric House
4e1018d7d2 reflect log-storage state in what menus are available
It'd debug-build-only, but I like knowing what's going on.
2020-04-24 21:57:32 -07:00
Eric House
cbf81c64bd track and pass all words when phonies==BLOCKED 2020-04-24 14:58:17 -07:00
Eric House
ebc6c4629d make language names localizable (and add Hungarian) 2020-04-24 13:36:01 -07:00
Eric House
3ee6f95a16 update changelog 2020-04-24 13:13:49 -07:00
Eric House
83a5d32ed0 check for null 2020-04-24 12:58:02 -07:00
Eric House
70479710bc changelog for new release 2020-04-24 07:40:25 -07:00
Eric House
abc34f623f add Hungarian to display wordlist 2020-04-24 06:34:30 -07:00
Eric House
055eceffba got back to singleTask
Having intents launch second instances of GameList on top of open games
is sucking.
2020-04-20 14:37:39 -07:00
Eric House
fe9eb9ae7c test for null back from refusal to load quarantined game 2020-04-20 12:19:04 -07:00
Eric House
54efffa635 pass the wordlist name too 2020-04-20 09:34:14 -07:00
Eric House
10f509ea1f pass and display the blocked word 2020-04-19 22:27:14 -07:00
Eric House
c0f074c1bf support new phony to block words not in dict
Currently detects the same as tiles not in a line and calls out to a new
util method that's currently parameter-less. On Android the option only
appears in d variants.
2020-04-19 17:31:31 -07:00
Eric House
f0444c5c1e make player edit dialog less ugly 2020-04-19 08:57:54 -07:00
Eric House
56b1990207 another changelog tweak 2020-04-18 17:06:40 -07:00
Eric House
d2fcbb5f9d update changelog 2020-04-18 14:51:53 -07:00
Eric House
b94ba0fd96 add debug-only menuitem for marking a game corrupt 2020-04-18 14:43:46 -07:00
Eric House
5fce6d8e26 add delete option for suspect-corrupt files 2020-04-18 14:35:36 -07:00
Eric House
8c50bb1895 Avoid opening games that have crashed.
On each open, increment a counter. And if we're able to close without a
crash intervening, decrement. Once we're trying to open with a non-0
counter we have a bad game. Open only after warning the user.
2020-04-18 13:36:21 -07:00
Eric House
c39bede5c1 up version strings 2020-04-18 10:09:16 -07:00
Eric House
b82975179b remove mistaken assert
It's ok to fail to open a game, as will happen e.g. when a message
arrives for a game that was recently deleted.
2020-04-18 07:08:00 -07:00
Eric House
9f92bce880 name exported file based on FLAVOR 2020-04-17 20:29:47 -07:00
Eric House
b8ba5a98c1 remove too-frequent logging 2020-04-17 18:49:20 -07:00
Eric House
5d2f84acd8 move log-related menuitems into a submenu 2020-04-17 18:49:20 -07:00
Eric House
0e5cc9f2b9 log pid and tid roughly same as logcat does 2020-04-17 18:49:20 -07:00
Eric House
6560394478 part two: add threadID and support multiple threads
Looks like it's enough to just use a mutex so threads block until it's
their turn to send logs to java.
2020-04-17 18:49:20 -07:00
Eric House
cfa9b73833 first cut at persisting logged messages
Works, with support for writing them to file. BUT does not handle
messages coming in from multiple threads at once so drops a lot of them.
2020-04-17 18:49:20 -07:00
Eric House
36bf92e8e5 fix misspelled column type INTEGER
I have no idea how this worked or how old. Might require a new DB
version? Needs testing.
2020-04-17 18:49:20 -07:00
Eric House
94b00b1c7c fix mis-formatting causing crash 2020-04-17 18:49:20 -07:00
Eric House
ad69438607 move the two allow-hints settings back together 2020-04-17 18:49:20 -07:00
Eric House
b51e3d8d1e remove unused jni declaration 2020-04-15 19:59:03 -07:00
Eric House
c3b1423c36 add (unused) method to copy apk to Downloads/ 2020-04-11 21:18:20 -07:00
Eric House
9fd4bb2a11 enable relayid-invites for non-tagged release builds
Too useful for testing
2020-04-11 19:54:02 -07:00
Eric House
ca6a0868c9 show last-move as an alert rather than a toast
it gets lost the other way.
2020-04-11 15:51:58 -07:00
Eric House
c5f1d2bf3b release lock when BoardDelegate paused
The lock was leaking when sometimes the OS would call onStop() without
isFinishing() being true, then never use the fragment again. And never
call onDestroy(). Releasing the lock in onStop and regetting it in
onResume seems to fix, but this needs some testing and time.
2020-04-11 15:04:02 -07:00
Eric House
fc30ba5f40 Merge branch 'for-156-release' into android_branch 2020-04-11 12:59:04 -07:00
Eric House
3d5db1d48f update changelog 2020-04-11 12:30:28 -07:00
Eric House
6455c8f688 remove mistaken '+' from layout file 2020-04-11 12:19:55 -07:00
Eric House
40479b6fe1 fix failure to collapse
The problem appears to be that the new <vector/> .xml drawable has a
greater height for purposes of layout. Specifying dimensions seems to be
the way to go, though devices may vary.
2020-04-11 12:13:58 -07:00
Eric House
67759c883a show pending name in scoreboard
when remote hasn't arrived, show same string in scoreboard as in games
list rather than the local player's default name -- duh.
2020-04-11 12:10:01 -07:00
Eric House
f5808e0514 up release constants so can install 2020-04-11 12:08:03 -07:00
Eric House
effbc3ef00 fix crash creating light-colored arrow
Changing it to a VectorDrawable meant it crashed code that assumed
otherwise. Fix by removing the assumption.
2020-04-11 12:05:27 -07:00
Eric House
61a1ddae69 add another change to changelist 2020-04-11 10:56:54 -07:00
Eric House
87e04ec667 default to allowing duplicate invites for DEBUG 2020-04-11 08:37:25 -07:00
Eric House
af4785c09f fix crash creating light-colored arrow
Changing it to a VectorDrawable meant it crashed code that assumed
otherwise. Fix by removing the assumption.
2020-04-11 07:17:22 -07:00
Eric House
e0b2011964 remove unused constant 2020-04-10 07:28:53 -07:00
Eric House
98416d341d up strings for new release 2020-04-10 07:12:56 -07:00
Eric House
43a90cc048 fix failure to collapse
The problem appears to be that the new <vector/> .xml drawable has a
greater height for purposes of layout. Specifying dimensions seems to be
the way to go, though devices may vary.
2020-04-10 07:12:56 -07:00
Eric House
831af47411 change MainActivity's launchMode to "standard"
reverse change in 19fa3fce05 (April 4
2019) making MainActivity singleTask, which caused starting the app to
launch the gamesList screen rather than the game that had been open when
it was moved to background. Now it's "standard," and I have to hope that
doesn't produce new problems. As I wrote back then, we'll see. More
quickly I hope.
2020-04-10 07:12:56 -07:00
Eric House
7073d836e3 specify ABI per-debug/release: no x86 for release
This is as it was before I updated my invocation of NDK recently.
2020-04-10 07:12:56 -07:00