Commit graph

11522 commits

Author SHA1 Message Date
Eric House
8d1065ea75 up strings for new release 2019-11-27 07:32:49 -08:00
Eric House
7eaa466f78 add ability to send moves via NFC
You can now play an entire game via NFC. There's no UI though: big
question is how to make the feature "discoverable."
2019-11-23 10:53:51 -08:00
Eric House
1e7ae2b2ec fix lower->upper translation: tr didn't like my strings
For whatever reason, though emacs thought the lower- and uppercase
strings I was passing to tr were the same but for case two letters were
getting dropped. This lets tr figure things out itself.
2019-11-19 22:27:41 -08:00
Eric House
8da3c5fc68 add comms_getPending(), and refactor to implement 2019-11-18 09:26:46 -08:00
naofum
5045356e6e
Translated using Weblate (Japanese)
Currently translated at 100.0% (778 of 778 strings)
2019-11-18 13:04:30 +01:00
Allan Nordhøy
e73664355f
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.2% (647 of 778 strings)
2019-11-16 16:04:24 +01:00
Allan Nordhøy
40454f4b24
Translated using Weblate (English)
Currently translated at 100.0% (778 of 778 strings)
2019-11-16 16:04:24 +01:00
Eric House
58c3ab4e4a first cut at python version of dawg2dict
Perl version doesn't work and I don't remember enough of the language to
fix it.
2019-11-13 13:22:30 -08:00
Eric House
c5a8319fa8 fix comment 2019-11-13 12:32:06 -08:00
Eric House
611e046987 check for undefined variable 2019-11-12 09:08:08 -08:00
Eric House
c69ec52502 add comms stats to conn status display (DEBUG only) 2019-11-05 08:30:38 -08:00
Eric House
a35f0f7339 fix stall when sending chat
Oops. Old code doesn't mark chat messages as successfully processed.
2019-11-05 08:30:15 -08:00
Eric House
f8a84cbe0a adding missing DB field
Can't upgrade a game if the field's missing so just add it. Adding a
notion of versioning and upgrading isn't worth the effort.
2019-11-03 18:14:47 -08:00
Eric House
56fc359f42 fix counts/values for 'D' (thanks Peter) 2019-11-03 18:12:24 -08:00
Eric House
54e5ca361d remove unnecessary logging 2019-11-03 11:24:29 +00:00
Eric House
da7f84d683 fix log_hex format alignment 2019-11-03 11:24:23 +00:00
Allan Nordhøy
9bcc538cce
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.0% (646 of 778 strings)
2019-11-03 12:03:52 +01:00
Eric House
37ac29e65e always log hash failure 2019-11-03 09:34:18 +00:00
Eric House
e37220cbb1 add ability to upgrade app during game
This was in the .sh version of the script but not the .py. Delete the
former too BTW.
2019-11-03 09:30:32 +00:00
Eric House
685c8879c3 don't consider message received until it's processed
I think I'm seeing a bug where msg <n> is received, I record that I'm
now looking for msg <n+1>, fail to process <n> (perhaps because some
resource is temporarily unavailable?), and am now in a state where I
won't accept <n> when it's resent. This fixes this by only recording <n>
received after processing code has accepted it.
2019-11-03 08:35:56 +00:00
WaldiS
79a08a625f
Translated using Weblate (Polish)
Currently translated at 94.7% (737 of 778 strings)
2019-11-01 21:03:48 +01:00
Eric House
96ee5bec8c start adding logging specific to comms' windowing
(Hi from Santiago)
2019-11-01 07:22:56 -07:00
Eric House
96f4d2cfc0 don't offer NFC on Android 10, where it's broken. 2019-10-22 13:40:17 +02:00
Eric House
06b6afe612 use sdk 28 for real
requires dropping junit Assert and accessing an old Canvas method via reflection.
2019-10-22 13:40:17 +02:00
Eric House
bf37ab0fc1 use https now to fix broken updating 2019-10-22 13:39:14 +02:00
Eric House
a1a71df7c6 update Makefile for latest Catalan wordlist 2019-10-22 13:24:40 +02:00
Andreas Kleinert
b616849128
Translated using Weblate (German)
Currently translated at 100.0% (778 of 778 strings)
2019-10-17 19:52:46 +02:00
Joan Montané
df66d040a3
Translated using Weblate (Catalan)
Currently translated at 95.1% (740 of 778 strings)
2019-10-09 14:58:30 +02:00
Allan Nordhøy
0e968158c9
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.0% (646 of 778 strings)
2019-10-02 06:56:00 +02:00
Joan Montané
731b748790
Translated using Weblate (Catalan)
Currently translated at 93.2% (725 of 778 strings)
2019-10-02 06:55:59 +02:00
Estébastien Robespi
282250211e
Translated using Weblate (French)
Currently translated at 92.8% (722 of 778 strings)
2019-09-29 15:55:53 +02:00
Allan Nordhøy
32c03671a0
Translated using Weblate (Polish)
Currently translated at 94.5% (735 of 778 strings)
2019-09-29 15:55:52 +02:00
Allan Nordhøy
f8829e9bdb
Translated using Weblate (Catalan)
Currently translated at 92.4% (719 of 778 strings)
2019-09-29 15:55:52 +02:00
Allan Nordhøy
7d125a95e8
Translated using Weblate (Japanese)
Currently translated at 100.0% (778 of 778 strings)
2019-09-29 15:55:51 +02:00
naofum
9b04d4b90b
Translated using Weblate (Japanese)
Currently translated at 100.0% (778 of 778 strings)
2019-09-23 15:27:52 +02:00
naofum
de430bddb5
Translated using Weblate (Japanese)
Currently translated at 89.6% (697 of 778 strings)
2019-09-21 12:27:50 +02:00
naofum
e69d9bcab9
Translated using Weblate (Japanese)
Currently translated at 73.3% (570 of 778 strings)
2019-09-19 11:27:38 +02:00
Eric House
7fd366c2d9 avoid NPE when invite isn't only thing passed 2019-09-17 07:47:13 +03:00
Eric House
f12531e40b let cells be taller than wide too (take 2) 2019-09-10 16:40:50 +03:00
leela
e5570447a4
typo ellipsis, added
see [source](https://hosted.weblate.org/projects/xwords/android/source/review/?type=check%3Aellipsis)
2019-09-02 07:09:34 +00:00
Wee
947683eeab
Translated using Weblate (German)
Currently translated at 99.7% (776 of 778 strings)
2019-08-31 10:23:46 +02:00
Eric House
0b61a8bfb7 assert that valid message is handled
I suspect that messages are being dropped (in server) after being
recorded (in comms), causing the game to stall forever. So add an
assertion that it's not happening. Haven't seen it yet in a few hundred
games, but it'll be nice to be more confident.
2019-08-29 23:10:42 +03:00
Eric House
dccd582009 up API version to 28 (required soon) 2019-08-27 19:36:38 +03:00
Eric House
a872e7b7be remove x86 from release builds
I either remove it or add the 64-bit abi. Since it's only there to run
in the emulator let's just leave it in for DEBUG builds. If I need to
run a release build in the emulator I can add it back.
2019-08-27 19:33:40 +03:00
Eric House
40fd954bcd arm means two ABIs now 2019-08-27 19:33:25 +03:00
Eric House
fa889262f6 change version strings and update changelog 2019-08-24 17:12:12 +03:00
Allan Nordhøy
1fb0788eb3
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.8% (644 of 778 strings)
2019-08-22 08:23:41 +02:00
Allan Nordhøy
c64ec34eb9
Translated using Weblate (English)
Currently translated at 100.0% (778 of 778 strings)
2019-08-22 08:23:38 +02:00
Eric House
8c16d1e749 fix dialog not exiting when close button called
Need to use gtk_dialog_run(), not gtk_main()
2019-08-19 07:50:33 +03:00
Eric House
2a54c9ed20 fix Slovak makefile for new wordlist 2019-08-19 07:49:23 +03:00
Eric House
0960ed4963 remove bad assert
Can't connect to relay when laptop (emu case) or device has no network,
so stop asserting all the time on airplanes :-)
2019-08-10 06:10:08 -07:00
Andreas Kleinert
b1a0258b49
Translated using Weblate (German)
Currently translated at 100.0% (778 of 778 strings)
2019-08-09 22:22:50 +02:00
Eric House
2e4d3a1276 add source of current (dinky) Slovak wordlist 2019-08-08 09:57:40 -07:00
Eric House
b602f6fb3c Merge branch 'android_translate' into android_branch 2019-08-08 07:44:05 -07:00
Allan Nordhøy
04bd0df344
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.0% (638 of 778 strings)
2019-08-04 01:22:36 +02:00
Allan Nordhøy
f8743e56e7
Translated using Weblate (English)
Currently translated at 100.0% (778 of 778 strings)
2019-08-04 01:22:35 +02:00
Allan Nordhøy
bef208ee3b
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.5% (634 of 778 strings)
2019-08-01 07:10:56 +02:00
WaldiS
fcd5194062
Translated using Weblate (Polish)
Currently translated at 95.1% (740 of 778 strings)
2019-08-01 07:10:55 +02:00
Hosted Weblate
a102d1710a
Merge branch 'origin/android_translate' into Weblate. 2019-07-30 07:35:13 +02:00
Elizabeth Sherrock
ca56f18608
Translated using Weblate (Chinese (Simplified))
Currently translated at 5.4% (41 of 764 strings)
2019-07-30 07:35:12 +02:00
WaldiS
6291a7fde7
Translated using Weblate (Polish)
Currently translated at 92.5% (707 of 764 strings)
2019-07-30 07:35:09 +02:00
WaldiS
e36883b1f6 Translated using Weblate (Polish)
Currently translated at 90.6% (692 of 764 strings)
2019-07-24 18:46:51 -07:00
Eric House
489ac08289 remove logging 2019-07-24 07:49:29 -07:00
Eric House
a85cfef82d add missing .deb file 2019-07-24 07:49:03 -07:00
WaldiS
b0ea3a3be8
Translated using Weblate (Polish)
Currently translated at 90.6% (692 of 764 strings)
2019-07-21 23:06:35 +02:00
Eric House
597bcebefa first set of EditTexts getting 'X' clear button
I'm using SearchView for now. Would rather have a custom layout without
a magnifying glass I need to hide, but this works for now.
2019-07-20 21:54:35 -07:00
Eric House
af1ac3f779 don't optimize for email-only case
The test got out-of-date, and with SMS and clipboard options always
present there's no point in testing: should always pass.
2019-07-14 15:12:15 -07:00
Eric House
6f3be5933f test script taken from eehouse.org (it works) 2019-07-07 13:00:06 -07:00
Eric House
0f00997928 hide show-fcm-receives pref when FCM not built in
I just spent an hour trying to understand why fcm wasn't working against
the f-droid build. This should make that less likely to happen again.
2019-07-07 13:00:06 -07:00
Eric House
1ce243904e bring in changes from eehouse.org
This is what's been running for months, so committing it.
2019-07-07 13:00:06 -07:00
Eric House
475206a373 don't assume send will succeed
(Pulling in change that's been on eehouse.org for a while)
2019-07-07 13:00:06 -07:00
Eric House
22f697cd37 remove option to use backwards-compatible smsproto
Everybody should have upgraded by now...
2019-07-07 13:00:06 -07:00
Eric House
df14108e4e add lowercase equivalents
where missing and seems possible
2019-07-07 13:00:06 -07:00
Eric House
4abefb025c add lower-case letters as alternatives 2019-07-07 13:00:06 -07:00
Eric House
18e1f001a0 Merge remote-tracking branch 'weblate/android_translate' into android_translate 2019-07-07 12:59:15 -07:00
Joan Montané
7a3c646a3e
Translated using Weblate (Catalan)
Currently translated at 97.1% (742 of 764 strings)
2019-07-04 10:01:10 +02:00
Elizabeth Sherrock
f7012e327f
Translated using Weblate (Chinese (Simplified))
Currently translated at 0.0% (0 of 764 strings)
2019-07-02 05:00:40 +02:00
Elizabeth Sherrock
b4de8911fc
Added translation using Weblate (Chinese (Simplified)) 2019-07-01 04:05:24 +02:00
Eric House
2700ba3376 add next-up to changelog 2019-06-29 22:52:07 -07:00
WaldiS
579d0114c4 Translated using Weblate (Polish)
Currently translated at 89.9% (687 of 764 strings)
2019-06-29 22:39:12 -07:00
Eric House
411707a3a1 fix NPE with empty wordlist (and add note for Greek) 2019-06-29 16:44:38 -07:00
Eric House
f1ee8564cb fix to compile with release flags 2019-06-29 16:44:38 -07:00
Eric House
ea0b176b2a debug-build-only macros to find proto-based crashes
When a stream reader and writer are out of sync it often shows up as
trying to read off the end of the stream (firing an assert.) It's useful
to know where that's coming from on android where there's usually no
stack trace in the jin world. So pass __func__ in using macros, and log
before asserting. Crude but quick and already useful.
2019-06-28 21:22:45 -07:00
Eric House
7bc6bf31e8 fix rare crash with synchronized
When I started opening a lot of games at the same time hit a race
condition that synchronized fixes. Duh. Since two similiarly used
variables with the same name confused me, changed that too.
2019-06-27 11:18:07 -07:00
Eric House
4aa7d67d24 honor comms_getAddrDisabled for relay invite sends
It still isn't for other conn-via types, nor for relay invite receipts
that don't go through comms.
2019-06-26 14:08:55 -07:00
Eric House
7809591de5 fix crash with env not being set for dict iter thread 2019-06-24 11:59:48 -07:00
Eric House
25cce2c7f3 add timer to gtk's new-game dialog 2019-06-24 09:20:34 -07:00
WaldiS
e001f0c31f
Translated using Weblate (Polish)
Currently translated at 89.9% (687 of 764 strings)
2019-06-23 22:00:30 +02:00
Eric House
42e3ccef50 remove unused strings 2019-06-23 11:40:33 -07:00
Eric House
84b121ee4c fix path (still doesn't seem to work) 2019-06-23 11:29:29 -07:00
Eric House
b3e197dd59 tweak change note 2019-06-23 11:16:15 -07:00
Eric House
ef1746632b cleanup 2019-06-23 11:12:27 -07:00
Eric House
b9df279cd5 Merge branch 'android_translate' into android_branch 2019-06-23 11:05:10 -07:00
Eric House
c2c6312e91 include service delay stats for DEBUG builds
A start at determining of often there's a problem with Service not
scheduling work quickly enough.
2019-06-23 10:20:16 -07:00
Eric House
fb0d87781a build from new wordlist 2019-06-23 10:20:16 -07:00
Eric House
5bce759d32 fix race condition leading to NPE 2019-06-23 10:20:16 -07:00
Eric House
4f63ad3b83 wip: cleanup (not related to duplicate) 2019-06-23 10:20:16 -07:00
Eric House
ba363fdbc9 offer to email when unable to lock game
Only on non-shipping builds. This is attempting to catch a non-repro
lock-forever I'm trying to fix.
2019-06-23 10:20:16 -07:00
Eric House
c72e97e0f6 add support for 64-bit ARM
Add a third processor type to the .so, and fix first compile-time
warnings and then a few dumb bugs based on assumptions about ptr sizes.
Works to play networked games and browse wordlists, but is not
extensively tested and needs to be before release.
2019-06-23 10:20:16 -07:00
Eric House
ce26696a37 assert refcount never climbs after reaching 0
Looking for a common but not-yet-reproducible situation where the
gamelock gets stuck preventing a game from being opened, usually related
to a move arriving. One thing that looked wrong is it seemed possible to
have the refcount drop to 0 then get increased again, causing somebody
to thing he has a lock when it's actually unlocked. So assert to try to
catch that case (and synchronize to make it much harder.)
2019-06-23 10:20:16 -07:00
Eric House
b50bc145af show SMS status in (fixes always-red indicator)
(Not duplicate-specific)
2019-06-23 10:20:16 -07:00
Eric House
ac84a3b376 change engine to optionally look at pending tiles
option not used ... yet
2019-06-23 10:20:16 -07:00
Eric House
881128f1c9 Makefile for CSW19 ... ish 2019-06-23 10:20:16 -07:00
Eric House
37ebf508e5 add DBUtils utility for saving/restoring Serializables 2019-06-23 10:20:16 -07:00
Eric House
78f1ba6dde fix npe sending relay invites to self
Needed to handle the case where both are null. Can't reproduce this in
release builds so likely doesn't justify a new release.
2019-06-23 10:20:16 -07:00
Eric House
b63ba3e843 show toast when dropping duplicate invite if DEBUG
I forget to enable that option too often. (No impact on release builds.)
2019-06-23 10:20:16 -07:00
Eric House
a9eff12074 remove exif data from image files
command: find . -name '*.jp*g' -o -name '*.png' | xargs exiftool -all=
Did this because fdroid is complaining about metadata and I can't see
any obvious changes in the appearance of the app, but it's not
well-considered. Back this out if there are problems.
2019-06-23 10:20:16 -07:00
Eric House
1e5024f4d5 remove wince files 2019-06-23 10:20:16 -07:00
Eric House
dd51e7ca06 add menuitem to copy relayid to gtk clipboard
(I'm tired of typing it manually.)
2019-06-23 10:20:16 -07:00
Eric House
266765405b try to fix assertion by catching null UDP socket
I think there's a rare race condition here. Assuming it results from a
bad network state rather than two sends coming too quickly, respond to
not having a connection by killing the thread so the next send will
retry.
2019-06-23 10:20:16 -07:00
Eric House
c6c8e4209f add more logging around failure-to-open-intent 2019-06-23 10:20:16 -07:00
Eric House
cf4a7d91a0 try harder to respond to an intent with a rowID
Failure to immediately get a lock for a rowID in an intent meant that
other intent processing kicked in, and might have done the wrong
thing. So now if there's a rowid in it we try nothing else. And we use
the GameLock callback mechanism to deal with the case where it's
temporarily unavailable, as it will be when an incoming move is being
dispatched to it.
2019-06-23 10:20:16 -07:00
Eric House
2827526466 up strings for new release 2019-06-23 10:20:16 -07:00
Eric House
9be8b21efc always log stack of lock held more than 1 minute
(DEBUG only) I'm seeing deadlocks in a non-reproducible way and need to
get at the source. This should log the stacks of long-held locks, and
notify via Toast (when possible) when it occurs.
2019-06-23 10:20:16 -07:00
Eric House
993fff8e13 use a single queue for all nbsproto threads
No point in worrying about whether a thread exists without emptying its
queue. Instead have a thread start when something's added to the queue
and exit when it's been empty for a while. Only trick is the need to
remember the phone number[s] on behalf of which a retry's necessary
because jni code is waiting to see if combining can be done.
2019-06-23 10:20:16 -07:00
Eric House
8c2582b9a2 differentiate betweeen PENDING and RECENT tiles
Should not show the new you-can-lookup-uncommitted-words hint for
already-played words, so needed to be able to tell difference between
the two. Now you can -- and on the gtk side I draw them differently
because I can.
2019-06-23 10:20:16 -07:00
Eric House
8044593249 log msgIDs (relay only for now)
I want to track and eliminate the duplication of the 0th message.
2019-06-23 10:20:16 -07:00
Eric House
22a68dd8cf put message back in okonly dialog 2019-06-23 10:20:16 -07:00
Eric House
6098f28210 preserve checkmarks when invite dialogs rotate 2019-06-23 10:20:16 -07:00
Eric House
6a28e398dc trivial changes to force a build 2019-06-23 10:20:16 -07:00
Eric House
a50927a00d replace oft-firing assertion with logging
It's crashing all the time and involves a system that only exists in
debug builds. So I should understand the root cause, but other stuff
needs to get done first.
2019-06-23 10:20:16 -07:00
Eric House
797eea833a add hint explaining new tap-on-pending-words feature
And bring back another BoardCanvas hint that had been commented out.
2019-06-23 10:20:16 -07:00
Eric House
d3f4a729d7 remove dead code 2019-06-23 10:20:16 -07:00
Eric House
762e701a00 allow long-tap lookup of pending words too
When a word's been formed as part of the current turn, but not yet
committed, allow long-tap to trigger an offer to look it up online same
as for already-committed words. Allows checking the legality of
potential plays AND figuring WTF the hint feature just suggested.
2019-06-23 10:20:16 -07:00
Eric House
8f6026e633 add empty invitee list string for Bluetooth too 2019-06-23 10:20:16 -07:00
Eric House
c5efeb283a fix invite dialogs for landscape layout
Scrolling's needed in some cases, and you can't easily put a ListView
inside a ScrollView. So replace the ListView with a LinearLayout whose
contents I manage manually, and wrap the whole layout in a ScrollView.
2019-06-23 10:20:16 -07:00
Eric House
054ac325bb fix invite-how alert not scrolling
By setting a custom view I wasn't using I broke scrolling of the
AlertDialog's list view which I was using. Known bug apparently....
2019-06-23 10:20:16 -07:00
Eric House
84dc14ff78 get rid of DispatchNotify
All it did was forward intent's data to MainActivity. Only question is
whether making MainActivity singleTask is a problem. We'll see.
2019-06-23 10:20:16 -07:00
Eric House
c82081521f cleanup 2019-06-23 10:20:16 -07:00
Eric House
71af4d3187 make it a single thread 2019-06-23 10:20:16 -07:00
Eric House
bade9f6b40 move SMSPhoneInfo into its own class/file 2019-06-23 10:20:16 -07:00
Eric House
266c61f84b make a common superclass 2019-06-23 10:20:16 -07:00
Eric House
1c2a0ed994 Rename SMSService NBSProxy, and make it not a service
Just keep a thread for each
phone we're sending to or receiving from, and pass them packets and
other things to send or (incoming case) process. So far the threads
don't die, but they will soon once there's nothing in their queues. Just
need to be sure there's no racing there.

This is to work around the frequent failure of the OS to pass enqeued work
into the service within a reasonable amount of time (I expect seconds, but see
delays of minutes or even hours.)
2019-06-23 10:20:16 -07:00
Eric House
fe96a72a3e use mutex to synchronize access to smsproto apis
I'm seeing my simultaneous access assert fail, so might as well break
fix it the foolproof way. It's background threads only that are calling
this stuff on Android so blocking them shouldn't hurt.
2019-06-23 10:20:16 -07:00
Eric House
808a896fbf up strings for release
This is just to try yet again to get past the play store console's
past-permissions bug
2019-06-23 10:20:16 -07:00
Eric House
1ed9ad4aac reflect bt receipts in how long since saw device
Made no sense to use explicit scans only since typically you only do
that to get things going.
2019-06-23 10:20:16 -07:00
Eric House
06b9598414 add makefile for new wordlist 2019-06-23 10:20:16 -07:00
Eric House
7e9f75de0a remove separate marking of permissions as banned
It's enough to check manifest for their presence
2019-06-23 10:20:16 -07:00
Eric House
ed066f99a2 Up version code and string to try a new play store release 2019-06-23 10:20:16 -07:00
Eric House
fd0ec1d131 move SMSReceiver from main manifest to the others
Theory is that the store's buggy site is presenting its
banned-permissions interface because it's detecting a Receiver that
requires SMS_RECEIVE permission even though the permissions themselves
aren't there any more.
2019-06-23 10:20:16 -07:00
Eric House
70123e2cd3 up version name (but not code)
This will NOT be released on Google Play, so no need to up code.
2019-06-23 10:20:16 -07:00
Eric House
71e8132f55 fix broken symlink 2019-06-23 10:20:16 -07:00
Eric House
ffb3b19aef fix build script for new Play Store variant name 2019-06-23 10:20:16 -07:00
Eric House
c1c2c415dd changelog and cleanup 2019-06-23 10:20:16 -07:00
Eric House
1522463a3a fix multi-message aspect of smsproto
passes --run-sms-test now, and works on Android occasionally combining messages.
2019-06-23 10:20:16 -07:00
Eric House
9c1e7ac154 cut logging in test app 2019-06-23 10:20:16 -07:00
Eric House
e9bcf6a476 always respect user's local player name 2019-06-23 10:20:16 -07:00
Eric House
53d2aa8023 fix a couple of random crashes
a race condition and a misunderstanding
2019-06-23 10:20:16 -07:00
Eric House
3d5b4017e5 add useful stuff to build-info.txt inside .apk 2019-06-23 10:20:16 -07:00
Eric House
0f9fd24cb7 try to address one-time assert
and remove it from shipping build
2019-06-23 10:20:16 -07:00
Eric House
92a30249a6 show the stalled-service alert based on pref
Allow users to turn the notification on; otherwise skip it. And set
the default on/off based on DEBUG type of build.
2019-06-23 10:20:16 -07:00
Eric House
1b84878930 add a bool resource matching BuildConfig.DEBUG
I want to be able to have some boolean prefs default based on whether
it's a DEBUG build.
2019-06-23 10:20:15 -07:00
Eric House
d25041e8a0 fix null procptr crash in jni
I can't reproduce this, but while testing recovery from DatagramSocket
recreation in RelayService got enough to know that somehow a timer's
procptr's not set. So test before calling, and log instead of crashing.
2019-06-23 10:20:15 -07:00
Eric House
36cc181a5e get another DatagramSocket when ours goes bad
Fix longstanding bug triggered by something as simple as putting device
into and out of airplane mode. Once the class-variable socket was
created it was never replaced. Now respond to exceptions that mean it's
useless and set it to null so existing logic will recreate it.
2019-06-23 10:20:15 -07:00
Eric House
4354cbdc4f tweaks to logging and imports; should have no effect 2019-06-23 10:20:15 -07:00
Eric House
52891e8391 report inability to get locks in travis debug builds 2019-06-23 10:20:15 -07:00
Eric House
dbcec41450 track all pending service Intents; warn of stalls
When enqueuing Intents for any of the three services, cache the
Intent. When onHandleWork() is called, remove the equivalent cached
intent. Then periodically check for intents that have been stored for
more than 60 seconds, and post a Notification alerting user to
stall. The user will likely have noticed that messages aren't flowing,
so this will simply explain the problem. Includes an "email author"
button.
2019-06-23 10:20:15 -07:00
Eric House
7b04f8d4ed cleanup and refactor
Move some work into superclass where instrumentation can be added to
greater effect. And remove from BTService an earlier attempt (at stall
detection.)
2019-06-23 10:20:15 -07:00
Eric House
97a3c3a2d8 refactor: new constructor for common case 2019-06-23 10:20:15 -07:00
Eric House
0728d06c4d make msgNo reflect srcID, not channelNo
It's more useful if it's per-device unique within a game. (Just used for
debugging now, so no impact on anything.)
2019-06-23 10:20:15 -07:00
Eric House
c4bba7db74 additions for debugging
toward tracking down relay stalls, log a bit more in resend process and
add UI to support an option where there's no reliance on
polling (i.e. FCM only)
2019-06-23 10:20:15 -07:00
Eric House
f7444785ab replace assert with logging 2019-06-23 10:19:01 -07:00
Eric House
577fd3e560 Wait for ACK to remove stored message
Bringing in a change that's been on the production relay for a while but
apparently didn't pass tests locally. Now it does.
2019-06-23 10:19:01 -07:00
Eric House
da917c35f5 apply ordering and limit correctly 2019-06-23 10:19:01 -07:00
Eric House
13d2917d85 up version strings 2019-06-23 10:19:01 -07:00
Eric House
c9d4df0cc4 add missing AndroidManifest.xml files for new variants 2019-06-23 10:19:01 -07:00
Eric House
b4aa6e2ae9 use latest nbsplib 2019-06-23 10:19:01 -07:00
Eric House
ae5b78e955 change to work with changed NBSProxy API 2019-06-23 10:19:01 -07:00
Eric House
5c243b3ff9 API's changed 2019-06-23 10:19:01 -07:00
Eric House
8b3c64b476 use the latest NBSProxy dev release 2019-06-23 10:19:01 -07:00
Eric House
da857e30e4 add logging of CurGameInfo
Trying to track down why some player names aren't preserved
2019-06-23 10:19:01 -07:00
Eric House
dfcb6272e3 override toString() for debugging 2019-06-23 10:19:01 -07:00
Eric House
4aee08b8d4 add missing consts 2019-06-23 10:19:01 -07:00
Eric House
94f7e13468 change emacs compile command (in comment)
No point defaulting to something that no longer exists
2019-06-23 10:19:01 -07:00
Eric House
edb0a8a8f7 fix symlinks post rename 2019-06-23 10:19:01 -07:00
Eric House
38775e4172 fix broken symlink 2019-06-23 10:19:01 -07:00
Eric House
be2ba7388d change name of variant -- it's not the main one anymore 2019-06-23 10:19:00 -07:00
Eric House
62c0292045 check if permission in manifest
I got bitten when creating a new variant leaving the permission out of
the manifest but using a config flag to claim it was there. Better to
have just one place to configure that. So check for presence in the
manifest and, for now, assert that that matches the isBanned flag. Soon
the isBanned flag can be removed.
2019-06-23 10:19:00 -07:00
Eric House
99eafd9c60 add retain()/release()
Seems to work but needs testing!
2019-06-23 10:19:00 -07:00
Eric House
16fccca3a8 up version code to try another gps release 2019-06-23 10:19:00 -07:00
Eric House
d925981666 add new Variant for github & sourceforge releases
and log permission check results
2019-06-23 10:19:00 -07:00
Eric House
acbbb7fc88 one less malloc 2019-06-23 10:19:00 -07:00
Eric House
0a249c8595 tweak UI with longer string 2019-06-23 10:19:00 -07:00
naofum
2c6f3f3794 Translated using Weblate (Japanese)
Currently translated at 75.9% (580 of 764 strings)
2019-06-23 10:19:00 -07:00
Eric House
8f51ee11df tweak string 2019-06-23 10:17:55 -07:00
Eric House
ffb768d75e don't capture lock stack in release builds 2019-06-23 10:17:55 -07:00
Eric House
937dd8081e unlock lock we won't be keeping
This might fix the occasional game permalock.
2019-06-23 10:17:55 -07:00
Eric House
7d8d584a85 fix a likely-fluke NPE with a test
It seems impossible for the menu to be getting update without init()
having been called, but that must be what happened. To check for null.
2019-06-23 10:17:55 -07:00
Eric House
4ba46e62f4 fix invite not coming up after perms warning dismissed
or when it's not shown at all because the not-again checkbox is checked
2019-06-23 10:17:55 -07:00
Eric House
f968994451 cleanup 2019-06-23 10:17:55 -07:00
Eric House
df3cab8c26 up version of NBSProxy lib 2019-06-23 10:17:55 -07:00
Eric House
da47316152 fix npe 2019-06-23 10:17:55 -07:00
Eric House
468da222de add not-again checkbox to remove-sms-from-game alert
Some people will decide to leave SMS comms in while I look for an
alternative. Maybe. Don't show them the same alert every time they open
the game. In the process removed what seemed to be a duplicate ivar.
2019-06-23 10:17:55 -07:00
Eric House
dfcf76f5cd refactor alerts code
Should be no change here, but the goal's to make it easier to mix
functionality, e.g. adding notagain checkbox to other types.
2019-06-23 10:17:55 -07:00
Eric House
a40c6f494f don't show sms-failed toast when permission is banned 2019-06-23 10:17:55 -07:00
Eric House
d31271e372 move constant 2019-06-23 10:17:55 -07:00
Eric House
712c61b9d5 add Overrides as part of sanity check 2019-06-23 10:17:55 -07:00
Eric House
2828744aa2 include name of game being deleted 2019-06-23 10:17:55 -07:00
Eric House
f8e840cf04 update web page (esp. fix style for device display) 2019-06-23 10:17:55 -07:00
Eric House
81fc21e0e5 cleanup 2019-06-23 10:17:55 -07:00
Eric House
dc9d05fc94 give new variant the right icons 2019-06-23 10:17:55 -07:00
Eric House
b8ed94b765 update changes log 2019-06-23 10:17:55 -07:00
Eric House
146d104e2b oops 2019-06-23 10:17:55 -07:00
Eric House
8456b9fd76 relay tracks variantCode int, not string 2019-06-23 10:17:55 -07:00
Eric House
6bc65476d0 add a case for Signal as default SMS app 2019-06-23 10:17:55 -07:00
Eric House
a093dae712 display the Banned alert from invite-choice dialog 2019-06-23 10:17:55 -07:00
Eric House
8cb53eb884 add non-mobile number if user confirms
Fix logic error that didn't proceed with the number-add in the
non-mobile case.
2019-06-23 10:17:55 -07:00
Eric House
9def95fed7 try various recipes for launching SMS app
There's no one way to launch an SMS app with a ready-to-send
invitation. So try the two that work on our two phone/app combinations,
iterating until startActivity() succeeds. The code's set up to have new
recipes added easily.
2019-06-23 10:17:55 -07:00
Eric House
390a59ee17 post a tip/warning when new invite-by-sms-app chosen 2019-06-23 10:17:55 -07:00
Eric House
8d3b9ac2d5 send an int code rather than a name 2019-06-23 10:17:55 -07:00
Eric House
3326fc90f2 warn when 'sms data' selected in build where it's banned 2019-06-23 10:17:55 -07:00
Eric House
c97905e11e more tweaks 2019-06-23 10:17:55 -07:00
Eric House
2ca85cc0b1 remove logging 2019-06-23 10:16:59 -07:00
Eric House
bdb31224e9 new method stub to fix fdroid build crash 2019-06-23 10:16:59 -07:00
Eric House
e70dc45fb1 script to build all possible variants 2019-06-23 10:16:59 -07:00
Eric House
ff7f4655f7 removing permissions from the Play Store version 2019-06-23 10:16:59 -07:00
Eric House
5bdc473e02 use NBSProxy if available
Lots of work dealing with banned permissions (SEND_SMS and
RECEIVE_SMS). First, if they're banned and NBSProxy is installed, just
use it as if the permissions had been granted. When it's not there,
explain at various points where users will otherwise be confused: when
they try to invite using data sms, or when they open a game that already
uses it.)
2019-06-23 10:16:59 -07:00
Eric House
c59e86b724 support setActionPair() for okOnly alerts too 2019-06-23 10:14:16 -07:00
Eric House
4493f9d9cd cut some logging 2019-06-23 10:14:16 -07:00
Eric House
039e50ecff remove misplaced assert
It's an error to use an env with the wrong thread, but it IS possible
for more than one thread to be associated with the same env. So don't
assert to the contrary.
2019-06-23 10:14:16 -07:00
Eric House
d5ae8356b4 fixing refcounting and adding logging
Seeing the occasional crash and trying to plug leaks that might be
contributing. I think I fixed the Gameptr.finalize() assertions I've
been seeing forever but the thread match assertion remains. Logs will
help catch that.
2019-06-23 10:14:16 -07:00
Eric House
7f8b3c1820 remove logging and reformat: no change 2019-06-23 10:14:16 -07:00
Eric House
8ace884d56 return supported types as list, not set
I was seeing them displayed in different orders where I want to control
the order instead.
2019-06-23 10:14:16 -07:00
Eric House
451d2a271e use constant APPLICATION_ID instead of method call 2019-06-23 10:14:16 -07:00
Eric House
89c103ab4c remove some logging 2019-06-23 10:14:16 -07:00
Eric House
aa8296f829 make setActionPair work for confirmThen alerts too
(To be used shortly)
2019-06-23 10:14:16 -07:00
Eric House
4297b3c2c3 recast SMSService as a JobIntentService
Didn't think it was required, but once the app started getting messages
in the background it stoped working or crashed. Changes are minimal
because this service isn't responsible for receiving messages: it
doesn't have the long-lived threads of the BT and Relay services.
2019-06-23 10:14:16 -07:00
Eric House
1e397d07f4 add debug-only checking for thread safety
Lots of threads call the smsproto code now so the existing check was
failing. Replace it with one that ensures that only one thread at a time
is running the code. Debug-builds only.
2019-06-23 10:14:16 -07:00
Eric House
2b87d60cba Let's test this jitpack stuff on Travis
Importing a library but not using it yet
2019-06-23 10:14:16 -07:00
Eric House
bec37536f6 more data with my SMS
And catch an exception starting SMSService in background
2019-06-23 10:14:16 -07:00
Eric House
713d2e5634 make result -1 if will otherwise trip asserts. 2019-06-23 10:13:32 -07:00
Eric House
c05d8c43d2 logging toward finding who's sending or reporting 0 2019-06-23 10:13:32 -07:00
Eric House
89a5ccf4bc pull nbs port-checking over from NBSProxy 2019-06-23 10:13:32 -07:00
Eric House
7bee8120a8 logging toward tracking a rare assertion failure 2019-06-23 10:13:32 -07:00
Eric House
8fb1a8405a add extra explanatory text to phone number invite dialog
Set different expectations based on whether the invitation's by NBS or a
launch of the messaging app.
2019-06-23 10:13:32 -07:00
Eric House
13b789847c distinguish between NBS and SMS
What I've been calling SMS is now "data sms" (or "nbs", in
code). There's a new way of inviting, called "User Sms" or somesuch,
that launches the user's SMS app with a URL and phone number, much like
email (save that no addressing is required by the inviter.) This new way
won't be involved in the ban on SMS permissions. (But play by NBS is
still awesome and will stay where it can.)
2019-06-23 10:13:32 -07:00
Eric House
15a1dad5ea that's already done 2019-06-23 10:13:31 -07:00
Eric House
a187fdca64 put back the nbs port 2019-06-23 10:13:31 -07:00
Eric House
a3d6dc809b some cleanup, e.g. to assert my signals are valid 2019-06-23 10:13:31 -07:00
Eric House
d5e68141bd comment out dead code I keep reading 2019-06-23 10:13:31 -07:00
Eric House
0ad1697607 fix valgrind-noted empty array cruft. 2019-06-23 10:13:31 -07:00
Eric House
8be4bd5f51 fix defines and compile that then broke 2019-06-23 10:13:31 -07:00
Eric House
27e33dda62 new version code to replace bad upload 2019-06-23 10:13:31 -07:00
Eric House
a400a62753 fix broken noSMS variant
needed SMS permissions in a new xw4 manifest
2019-06-23 10:13:31 -07:00
Eric House
f5d92735be remove SMS_BANNED stuff for now 2019-06-23 10:13:31 -07:00
Eric House
3a41be0051 up changelog 2019-06-23 10:13:31 -07:00
Eric House
9baffc93e3 exit thread when BT turned off
(The test was in the thread this replaced.)
2019-06-23 10:13:31 -07:00
Eric House
23739f57b9 put back SMS permissions
March 9's the deadline, so let's not remove it yet!
2019-06-23 10:13:31 -07:00
Eric House
5897e4c59e make packet accumulator a thread that sends
Get rid of the single sender thread and the complexity of querying
individual queues for their state (and the slowdown that happened when
successful writes had to wait for those to devices that weren't
responding). Instead each PacketAccumulator does its own waiting with
timeouts and backoffs, wakes itself when appropriate, and periodically
sends if it can make a connection. Now when there are a bunch of
messages ready they'll get sent pretty quickly once connections to the
remote device start to be successful.
2019-06-23 10:13:31 -07:00
Eric House
183b221a2e each message gets a localID so logs can show progress
And rewrite toString()
2019-06-23 10:13:31 -07:00