Commit graph

6010 commits

Author SHA1 Message Date
Eric House
723e7d7953 update changes to include translations included 2018-07-19 06:57:21 -07:00
Allan Nordhøy
6abff25946 Translated using Weblate (Norwegian Bokmål)
Currently translated at 55.2% (413 of 748 strings)
2018-07-19 06:54:32 -07:00
Joan Montané
5ced000c8c Translated using Weblate (Catalan)
Currently translated at 94.3% (706 of 748 strings)
2018-07-19 06:54:14 -07:00
Eric House
a9701525b7 up version string for new release 2018-07-19 06:47:18 -07:00
Eric House
fcefa9ca97 dismiss the BT invite progress thing on success
Not sure how this broke in the reorg of XWService stuff, but let's be
agressive about dismissing that thing.
2018-07-19 06:33:05 -07:00
Eric House
4450a8d56c fix NPE by inspection
I'm not sure how it happened -- race condition -- but it's harmless to
drop the action when it does.
2018-07-19 06:33:00 -07:00
Eric House
7cb00b6266 fix assertion: return a f*ing sink
Messed this up in February apparently.
2018-07-19 06:32:48 -07:00
Eric House
b0cf3a795c fix NPE by inspection
fix crash reported by user. Looks like a race on the way out so check
for null first.
2018-07-19 06:32:36 -07:00
Eric House
d40b8b7cad dismiss the BT invite progress thing on success
Not sure how this broke in the reorg of XWService stuff, but let's be
agressive about dismissing that thing.
2018-07-19 06:29:59 -07:00
Eric House
e1fec99860 fix NPE by inspection
I'm not sure how it happened -- race condition -- but it's harmless to
drop the action when it does.
2018-07-19 06:29:03 -07:00
Eric House
67d09a79b5 fix assertion: return a f*ing sink
Messed this up in February apparently.
2018-07-19 06:07:26 -07:00
Eric House
a3fb82ebc4 Merge branch 'android_branch' into android_translate 2018-07-18 22:30:58 -07:00
Eric House
a3ac3c4c8a fix NPE by inspection
fix crash reported by user. Looks like a race on the way out so check
for null first.
2018-07-18 22:26:26 -07:00
Eric House
807fe8633f add forgotten file 2018-07-17 08:46:39 -07:00
Eric House
8f9c9e0623 fix crash around uri permissions for new OS version
Use a FileProvider with all the necessary xml changes to pass apk to
installer without crashing it or myself.
2018-07-17 07:02:36 -07:00
Eric House
276ef38108 use sdk26 -- will be required soon anyway 2018-07-15 10:33:09 -07:00
Joan Montané
cc714a96cb Translated using Weblate (Catalan)
Currently translated at 94.3% (706 of 748 strings)
2018-07-14 12:35:09 +02:00
Eric House
019cc628e4 fix crash figuring md5sum of null bytes
Just return null String
2018-07-13 22:35:44 -07:00
Eric House
5d6c743087 fix (I hope) null jni array dereference 2018-07-13 18:20:05 -07:00
WaldiS
cf24b1e4a0 Translated using Weblate (Polish)
Currently translated at 0.2% (2 of 748 strings)
2018-07-13 21:41:10 +02:00
WaldiS
2d53673ae5 Added translation using Weblate (Polish) 2018-07-12 20:57:43 +02:00
Eric House
bd1cc4276b cleanup and variable rename (no code changes) 2018-07-11 07:33:36 -07:00
Eric House
3477bcf7b6 fix release-build scripts for new gradle output paths 2018-07-11 06:48:42 -07:00
Eric House
af0ddaa0f7 up version code and strings 2018-07-11 06:41:36 -07:00
Eric House
6bab91803d fix release builds
(broken since 091299c 2 months ago)
2018-07-11 06:38:54 -07:00
Allan Nordhøy
3959c73a86 Translated using Weblate (Norwegian Bokmål)
Currently translated at 55.2% (413 of 748 strings)
2018-07-11 00:39:41 +02:00
Eric House
95ac66370c fix off-by-one preventing delayed messages from sending 2018-07-10 07:08:57 -07:00
Eric House
9c2a722cc5 change two method names 2018-07-10 07:07:30 -07:00
Eric House
8c14ccc0d2 add new dutil to store by ptr; use for smsproto msgID 2018-07-10 06:36:34 -07:00
Eric House
08c41ddd3e add debug preference controlling new smsproto format
Don't use the message-combining feature for sends unless this is
set. After a release the default value will switch to true.
2018-07-10 06:19:16 -07:00
Eric House
a9769efe1c implement load/store on android 2018-07-09 07:11:54 -07:00
Eric House
1941642607 add load and store to dutils, and implement with stubs 2018-07-06 06:56:54 -07:00
Eric House
3437ae2ebc use smsproto in Android 2018-07-06 06:48:56 -07:00
Eric House
ed90c9c16d implement util->dutil split for Android
So now all jni code uses a single dutil context, but also a single
mempool and jniutil instance instead of new instances of the latter two
per game and dict-iteration.
2018-07-05 08:32:19 -07:00
Eric House
9cdd5a7b72 share mpool and vtable in jni calls
A number of jni calls were "stateless", which meant they allocated their
own vtmgr and mpool instances each time invoked. Instead invoke them
with the global jni closure and add to it vtmgr (already has mpool) and
use these instead of allocating/freeing each time. To make sure no race
conditions are introduced (mpool, though debug-only, is probably not
thread-safe), guard these new uses with an in-use flag. If that fires
I'll need a mutex or something.
2018-06-27 21:17:44 -07:00
Eric House
39a5ce92ee refactor a bit (no behavior change) 2018-05-23 22:03:16 -07:00
Eric House
7fa0cb1b93 rewrite as Thread instead of AsyncTask
I want to be able to use it in contexts where AsyncTask doesn't make
sense, e.g. from timer in background.
2018-05-11 10:23:49 -07:00
Eric House
091299c030 upgrade AS and gradle and with luck travis will work 2018-05-06 14:33:10 -07:00
Eric House
32df1777d3 Merge branch 'android_branch' into android_translate 2018-05-03 06:46:44 -07:00
Eric House
82e6c5495b fix to delete dict even when loc is wrong
Somehow I got a wordlist into a location different from what was
recorded in the DB table and since the delete command matched on
location as well as name it was never deleted (which meant the checksum
was never updated and so upgrading never seemed to succeed.) Removing
the match on location fixed that problem, and since I don't see any harm
in cacheing only one version of a wordlist will simply leave it that
way.

Did a bunch of cleanup as well.
2018-05-01 07:22:59 -07:00
Eric House
a27e8c4c04 move static method into enum 2018-05-01 07:00:14 -07:00
Eric House
1e766ee52d show usage when no args provided 2018-04-29 20:12:22 -07:00
Eric House
681e2cd8a0 up version code and strings 2018-04-18 21:49:04 -07:00
Joan Montané
08e74b5dc7 Translated using Weblate (Catalan)
Currently translated at 93.3% (698 of 748 strings)
2018-04-07 09:34:52 +02:00
Eric House
8f86cf9a77 don't assert on debug builds either
I'm seeing several IllegalStateException crashes due to e.g. having an
alert posted when app's in the background. Need to fix them, but the
debug build crashing isn't helpful. Log.e() instead.
2018-03-22 06:55:49 -07:00
Eric House
ab0764fa5a hack around IllegalStateException with Wait alert
The pesky thing is back. When app's in the background with an
unconnected game open displaying the "resend/wait" alert and the game
connects get IllegalStateException because the fragment stack's being
modified after onSaveInstanceState() (or, because the dialog fragment,
saved as an instance variable in BoardDelegate, dates from an earlier
state. Anyway, catching and dropping the exception and elsewhere failing
silently to rebuild the alert seems to fix the problem, but the right
fix is likely different. I suspect hanging onto that iVar is wrong, and
that the dialog should go away when onStop() is called and then be
rebuilt later from saved state. But for now, not crashing is good.
2018-03-21 08:11:07 -07:00
Eric House
a8db820b68 change strings for new release 2018-03-14 20:07:05 -07:00
Eric House
36c9e8c93b Merge branch 'android_branch' into android_translate 2018-03-14 19:32:25 -07:00
Eric House
77e40619ce Merge branch 'android_translate' of git://git.weblate.org/xwords into android_translate 2018-03-14 19:29:13 -07:00
Markus Enzenberger
dc0436e80d Translated using Weblate (German)
Currently translated at 99.0% (743 of 750 strings)
2018-03-11 09:37:11 +01:00
Eric House
e207b1e9fa log intent contents
trying to track down why/when they wind up empty
2018-03-08 08:30:01 -08:00
Eric House
2a2558a011 add/fix utility for printing Intent contents 2018-03-08 08:17:56 -08:00
Markus Enzenberger
a47381ed53 Translated using Weblate (German)
Currently translated at 98.4% (738 of 750 strings)
2018-03-04 08:39:34 +01:00
Eric House
2c153d1b9e log pending score drawing
I'll occasionally see the pending score in tray drawn dim after hint
fails to find a move, but can't reproduce. So add logging.
2018-03-01 06:58:37 -08:00
Markus Enzenberger
a24977dddc Translated using Weblate (German)
Currently translated at 86.2% (647 of 750 strings)
2018-02-28 19:13:52 +01:00
Joan Montané
98dd664a35 Translated using Weblate (Catalan)
Currently translated at 93.0% (698 of 750 strings)
2018-02-28 11:35:02 +01:00
Eric House
b3559915e9 replace AsyncTask with Thread
It didn't even use the runOnUiThread feature!
2018-02-26 07:57:28 -08:00
Eric House
73c7494e30 move invitation handling into superclass
Remove a bunch of duplicated code, replacing with implementation in
XWService. Fixes duplicate invitation and game opening policies being
slightly different.
2018-02-24 07:56:57 -08:00
Eric House
0bccf565c6 cleanup: ivar becomes local variable 2018-02-07 07:35:25 -08:00
Eric House
c762b43047 up version strings and changelog 2018-02-06 07:25:07 -08:00
Eric House
102671398b truncate player name, not score
Try some funky layout shite to get, within a horizontal linear layout,
the first text field trucated if necessary so that the second (holding
the score) can be fully displayed. Tested on exactly one emulator so
far.
2018-02-03 20:11:03 -08:00
Eric House
9c9a19d445 truncate player name, not score
Try some funky layout shite to get, within a horizontal linear layout,
the first text field trucated if necessary so that the second (holding
the score) can be fully displayed. Tested on exactly one emulator so
far.
2018-02-03 20:08:55 -08:00
Joan Montané
a152b169e8 Translated using Weblate (Catalan)
Currently translated at 75.4% (566 of 750 strings)
2018-02-03 10:34:50 +01:00
Eric House
cf1f4a9114 replace one with other in Catalan <plurals> elem
I think there's a bug in Weblate because I've seen this before: where
the English provides only an <other> the translation comes back with
only a <one>. That's wrong. Try adding a <one> in the English case to
see if that makes a difference.
2018-02-02 21:32:30 -08:00
Eric House
9855ef55ae replace one with other in Catalan <plurals> elem
I think there's a bug in Weblate because I've seen this before: where
the English provides only an <other> the translation comes back with
only a <one>. That's wrong. Try adding a <one> in the English case to
see if that makes a difference.
2018-02-02 21:30:15 -08:00
Eric House
1b36e734a4 Merge branch 'android_branch' into android_translate 2018-02-02 21:20:43 -08:00
Joan Montané
71b959aef3 Translated using Weblate (Catalan)
Currently translated at 75.4% (566 of 750 strings)
2018-02-01 09:34:48 +01:00
Eric House
757c5b4ece cleanup: move db access into doInBackground() 2018-01-29 19:29:18 -08:00
Eric House
5326d42438 enable smart scrolling
Otherwise it takes too long to scroll if you have hundreds of
games. To make this work had to move scroller to left side of games
list display as otherwise the scroller steals events from the expander
thingies.
2018-01-29 05:33:48 -08:00
Eric House
875d956836 don't need the local threadinfo at all
I think the crash was just due to removing env from the global state
rather than just leaving it be.
2018-01-23 21:26:11 -08:00
Eric House
ffaa232dba fix dictname being an empty string early on
Likely because of something in the jni world unset per-player dict name
is empty string rather than null, so test for that too. Fixes dicts
popup in newly-created game have an empty first line " (in use)".
2018-01-23 21:14:27 -08:00
Eric House
fd0c5767e6 toast status for resend should include the "re" 2018-01-23 06:56:18 -08:00
Eric House
d809ff4f7c give dict iter its own threadmap
I like this better than the previous fix: rather than share a
thread->env map with the game world allocate a new one for each
iterator. This could cause problem if the iterator is used on threads
that don't currently call map_thread(), or if there are callbacks that
need to look up the env that I'm not aware of. Needs testing...
2018-01-22 22:02:57 -08:00
Eric House
7242a709cb fix crash (race condition?) downloading dict info
Stumbled on a NPE opening up the wordlist browser configuring the first
game on a new install. So now test for null there and init early if
necessary. Seems to work, and won't do anything in places were not
needed.
2018-01-22 21:46:04 -08:00
Eric House
ff92c4a627 update changelog 2018-01-22 21:37:43 -08:00
Eric House
9654241fcf remove ability to set a min > max or max < min
Remake the min and max spinners every time either value changes so they
can't be used to set nonsensical values. (Which leads to immediate
crashes.) I'm sure this wasn't always a problem, but...
2018-01-22 21:31:41 -08:00
Eric House
efad90dd64 update strings for new release 2018-01-22 08:31:17 -08:00
Eric House
cbb683fc74 fix env-mapping crash in jni due to race condition
As reported to google, dict iterator destruction was crashing due to a
race condition if it happened after a game using the same dict had been
closed since it needed a mapped env that the game closure would
remove. Fixed in two ways, one by adding the mapping prior to the code
that uses it (a common pattern: add happens many times, whenver it might
be needed, but remove only once), and second by passing env into the
code that was crashing.

The mapping stuff remains inherently racy and I'm not sure now how to
fix that. It depends on there being a place to unmap after which it's
guaranteed the mapped value won't be needed again. When two
objects (game and dict_iter in this case) map the same env/thread combo
there's a race.
2018-01-22 07:45:43 -08:00
Eric House
134bcbdfa4 cleanup
Add new method with default values, etc: no change in behavior
2018-01-21 21:53:04 -08:00
Eric House
5f0c3bf4bd fix DEBUG assertion: unexpected Actions are expected
Looks like the assertion was left in when adding support for dual-pane
mode, as all other onPosButton() implementations called super rather
than assert. Which this one does now too.
2018-01-21 21:39:14 -08:00
Eric House
ecd6531ce3 add comment; tweak string
best I can do to respond to a suggestion on weblate.
2018-01-19 22:54:20 -08:00
Eric House
19a6672785 don't show current players tiles in list of remaining 2018-01-18 22:02:06 -08:00
Eric House
5afd8763b4 include Catalan translation in changes 2018-01-17 21:19:57 -08:00
Eric House
cdb22defcf cleanup; don't list unack'd acks 2018-01-17 21:17:09 -08:00
Eric House
339779e88e add ip of localhost as comment
Stops having to remember it every six months....
2018-01-17 21:07:28 -08:00
Eric House
efec6aba66 Merge branch 'android_branch' into android_translate 2018-01-17 20:54:49 -08:00
Eric House
42b521f144 switch positions of two PreferenceScreens
putting more oft-used on top
2018-01-16 07:54:33 -08:00
Eric House
a83f3617de up copyright for new year 2018-01-16 07:50:02 -08:00
Weblate
0aa8874e4d Merge remote-tracking branch 'origin/android_translate' into android_translate 2018-01-08 22:20:10 +01:00
naofum
999b7c1217 Translated using Weblate (Japanese)
Currently translated at 73.8% (549 of 743 strings)
2018-01-08 22:20:09 +01:00
Joan Montané
9278179d4c Translated using Weblate (Catalan)
Currently translated at 74.0% (550 of 743 strings)
2018-01-08 22:20:08 +01:00
Eric House
8c9e79f0fc add settings for debugging/tracking GCM 2018-01-03 21:32:23 -08:00
Eric House
11be66eb3f correctly report number of pending moves resent
Was overwriting rather than accumulating.
2018-01-02 22:50:41 -08:00
Eric House
e5ae940216 use AtomicReference. 2018-01-01 20:19:24 -08:00
Eric House
b24a004cab wip: get rid of join() from main thread
Getting ANRs because (I think) the main thread's waiting for the write
thread to die and now the write thread's doing a ton of work
sometimes. So move the threads into a standalone object that can be
allowed to die on its own time without anybody waiting.
2018-01-01 20:19:16 -08:00
Eric House
ea985e2f7a tweak changelog 2017-12-31 12:20:41 -08:00
Eric House
11c3d8fdf6 skip trying UDP after five failures 2017-12-31 10:19:06 -08:00
Eric House
4f7a12f5a1 don't claim "no move" when search interrupted
I *think* the reason I'm occasionally seeing toasts about not finding a
move is that when the engine's interrupted by there being a UI event in
the queue that error is posted. Instead try posting only when at the end
of the search nothing's been found.
2017-12-31 09:54:55 -08:00
Eric House
2c5720fddc tweak icons; make and add untrade 2017-12-30 15:07:11 -08:00
Eric House
b0fe00f502 update build instruction
And include the problem with 'convert' on MacOS
2017-12-29 17:56:50 -08:00
Eric House
5e20e54638 try to speed up delivery when udp not working
Having reconfigured to use non-existent relay port as a test of falling
back to the web apis, tweak stuff: send the packets that have been
accumulated when an EOQ is found (rather than dropping all of them
immediately) before exiting the write thread; and start the threads up
when posting a packet in case they aren't (they may not be when the post
happens via timer firing.)
2017-12-27 15:03:28 -08:00
Eric House
9fd4a90ccd use currentTimeMillis() for time
Everybody else does....
2017-12-27 14:43:25 -08:00
Eric House
17f27a1b65 remove relayStatus() from jni
Making it a no-op as the only thing it did, tweaking the net status
indicator, isn't useful.
2017-12-27 14:42:15 -08:00
Eric House
de691af7ca oops: save outgoing UDP acks, not web ones
Incorrect ! meant that outbound ACKs were saved for web sends rather
than UDP and so couldn't be resent in the case where fallback to web was
needed.
2017-12-27 12:30:02 -08:00
Eric House
10df914897 ignore folders and generated file 2017-12-22 08:02:49 -08:00
Eric House
7099a7627a wip: toward being able to resend ACKs again 2017-12-21 21:22:40 -08:00
Eric House
d134077d87 move ack timer off of ui thread
Seemed to be causing ANRs. Integrate instead into outgoing message queue
by using poll(timeout) then checking for unack'd packets every time
through the loop (but not more than once/3 seconds or so.)
2017-12-21 21:22:40 -08:00
Eric House
8d9889ccc4 cleanup, e.g. use label to exit outer loop 2017-12-19 07:30:31 -08:00
Eric House
ed57a744b6 use the new built-in game_receiveMessage
I'd forgotten it...
2017-12-19 07:28:19 -08:00
Eric House
16dc1b15bd update release strings and changelog 2017-12-18 22:45:45 -08:00
Eric House
5772718537 mark packets with udp-sent time
Presence of timestamp instead of a boolean determines whether packet
should next via Web. Timestamps might also allow to process a larger
number of unacked packets in a single timer fire....
2017-12-18 18:58:19 -08:00
Eric House
2339f09557 start skipping UDP when acks aren't coming
Track ack'd and unack'd packets. When there are ten more of the latter,
skip the UDP-send step. This is probably not the algorithm I'll settle
on (an explicit PING to the relay over UDP might be simpler), but it's
simple and easy.
2017-12-18 18:13:04 -08:00
Eric House
ec698c4c62 remove empty strings (currently an error) 2017-12-17 11:17:23 -08:00
Eric House
de8993c2e5 Merge branch 'android_translate' into android_branch 2017-12-17 11:13:32 -08:00
Eric House
771c9ba4a6 add three navbar icons from The Noun Project
with attribution of course.
2017-12-17 11:07:43 -08:00
Eric House
dc964ea6c1 catch up small-board menu 2017-12-16 08:17:15 -08:00
Eric House
39dbe67929 add archive menuitem
As with Rematch, you should have the option once you've dismissed the
special alert that comes up when finished games are opened.
2017-12-16 08:06:20 -08:00
Eric House
da1c3f992a Merge branch 'android_branch' into relay_via_http 2017-12-15 07:20:53 -08:00
Eric House
b0befa62e3 remove logging 2017-12-15 07:17:14 -08:00
Eric House
2db67ed339 try send via udp, then web
Send each packet via UDP if that's thought to be working (always is,
now) and start a 10-second timer. If it hasn't been ack'd by then,
resend via Web API. Tested by configuring to use a UDP socket that the
relay isn't listening on. Only problem is that the backoff timers are
broken: never stops sending every few seconds.
2017-12-15 07:12:14 -08:00
Eric House
c7a635285c change text and names around native-vs-web choice
The plan's to use the native relay protocol first, then to fall back to
the slower but more reliable (esp. on paranoid/block-everything wifi
networks) webAPI. This is the name change without behavior
change (except that the native kill() to report deleted games is gone.)
2017-12-14 06:47:03 -08:00
Eric House
e96a982f24 get rid of moved file already 2017-12-12 06:59:31 -08:00
Bernard Massot
70aeef6c8e Translated using Weblate (French)
Currently translated at 99.1% (737 of 743 strings)
2017-12-11 17:46:23 +01:00
Eric House
4746f153e3 add assertion
Need to revisit that join() call; this'll help.
2017-12-11 06:56:53 -08:00
Eric House
4fa8079bf0 log outgoing "post" params json 2017-12-11 06:55:25 -08:00
Eric House
d1a5a94740 fix crash processing multiple packets
When grouping to allow multiple packets per outbound API call I forgot
that some are there to mark the end-of-queue: can't be sent! Trying
caused a NPE. Now if any EOQ is found in the queue that batch is dropped
and the thread's exited.
2017-12-11 06:42:35 -08:00
Eric House
701e6968de file to pull an apk
app-id is hardcoded for now.
2017-12-10 11:56:52 -08:00
Weblate
6ffd4d4a37 Merge remote-tracking branch 'origin/android_translate' into android_translate 2017-12-01 04:25:46 +01:00
Eric House
4b81b784fc Merge branch 'android_branch' into relay_via_http 2017-11-28 06:24:09 -08:00
Eric House
8e37551f8a up changelog for new release 2017-11-27 20:40:16 -08:00
Eric House
455373343a remove requirement for gcm.jar
remove from xw4d version too since it can't work anyway.
2017-11-27 20:40:16 -08:00
Eric House
af81342021 create new fdroid variant 2017-11-27 20:40:06 -08:00
Eric House
503702c0e4 log unack'd packets 2017-11-26 20:56:38 -08:00
Eric House
0d8aef06f3 keep packets until ack'd for retry and better logging 2017-11-26 20:11:25 -08:00
Allan Nordhøy
9572cdca1b Translated using Weblate (Norwegian Bokmål)
Currently translated at 55.6% (411 of 738 strings)
2017-11-26 15:49:40 +01:00
Eric House
58eafd5fd1 fix glitches in XML strings for Norwegian 2017-11-20 22:04:42 -08:00
Eric House
3216ef8a5c Merge branch 'android_branch' into android_translate 2017-11-20 06:53:34 -08:00
Eric House
b6124ca2d1 change version strings and changelog 2017-11-19 20:10:54 -08:00
Eric House
4698c0e54b add not-again explanation for new archive feature 2017-11-19 20:00:45 -08:00
Allan Nordhøy
e6a1aef7a2 Translated using Weblate (Norwegian Bokmål)
Currently translated at 11.6% (86 of 738 strings)
2017-11-14 06:48:41 +01:00
Eric House
2879055ca9 log url when response code isn't 200 2017-11-13 08:17:26 -08:00
Eric House
5166933be6 Merge branch 'android_branch' into relay_via_http 2017-11-13 07:27:17 -08:00
Eric House
607567cd35 don't allow duplicate group names
If group already exists, warn rather than create another with the same
name.
2017-11-12 22:50:45 -08:00
Eric House
c2eff7d3f2 add "archive" option to dialog on opening done game
Create the group if needed. Name's not user-editable at this
point. Should be a preference, and that preference should be changed if
user renames it.
2017-11-12 22:31:48 -08:00
Eric House
35d172225f Use AtomicInteger rather than synchronization 2017-11-12 20:10:51 -08:00
Eric House
373c0249bc start backoff timer at 5 second, not 30.
Makes the http case nearly as quick as the udp one when both games are
on the same device. Which is all I've tested so far.
2017-11-12 20:04:22 -08:00
Eric House
8650795a81 don't crash when can't reach relay via http 2017-11-12 08:53:19 -08:00
Eric House
057728c287 make gtk include an invite ID in rematch invitations
otherwise Android refuses to accept the second "" it receives.
2017-11-11 16:39:09 -08:00
Eric House
fa52c5091a fix tap down lower not opening game
Making the right_side elem match its parent height prevents the
lower-right region of game list items from falling through and
triggering a toggle-selection event.
2017-11-11 15:45:00 -08:00
Eric House
39deeeb089 fix tap down lower not opening game
Making the right_side elem match its parent height prevents the
lower-right region of game list items from falling through and
triggering a toggle-selection event.
2017-11-11 15:43:07 -08:00
Eric House
3da5f237c6 add asserts to catch non-web holdouts; don't crash
Getting nulls when e.g. the relay isn't up. Shouldn't crash in that
case.
2017-11-11 15:31:36 -08:00
Eric House
c2d5f2d253 cleanup 2017-11-11 13:05:25 -08:00
Eric House
e2c6480992 fix linux client
everything takes one param now, and post sends an array
2017-11-11 12:57:33 -08:00
Eric House
f428538afc send an array of packets to post()
Somethimes there are several on the queue, so why not send all at
once. Note: this will break the linux implementation which I'll fix next.
2017-11-11 10:47:26 -08:00
Eric House
b9800b22f5 RelayService uses web instead of UDP!
As expected, moves are no longer received instantly because the UDP
socket isn't available for the relay to write too once the URL
handler (relay.py) finishes.
2017-11-11 09:56:20 -08:00
Eric House
4a3133924a name change for clarity 2017-11-11 09:14:35 -08:00
Eric House
0831bd8022 talk to relay.py/kill, first web api use from android
And it seems to work!
2017-11-11 08:22:52 -08:00
Eric House
31123b72ce fix failure to notify relay of half-game deletion
Wasn't detecting as a relay game something registered on relay but not
yet joined by another device, a common case!
2017-11-11 08:13:29 -08:00
Eric House
da3f6db9e4 fix failure to notify relay of half-game deletion
Wasn't detecting as a relay game something registered on relay but not
yet joined by another device, a common case!
2017-11-11 08:10:48 -08:00
Eric House
acf668ae8a add new prefs controlling web api usage
Add, but don't use yet, prefs giving relay.py path and checkbox whether
to use the new APIs.
2017-11-10 22:16:15 -08:00
Eric House
f2c4c82129 a shot at no-conn connecting
Ideally the comms module wouldn't go through its connecting routine in
order to join a game. To that end I added a join() method to relay.py
and code to call it. Joins happen (pairing games, starting new ones,
etc.), but after that communication doesn't. First part of fixing that
would be to make cookieID persistent and transmit it back with the rest
of what join sends (since it's used by all the messages currently sent
in a connected state), but I suspect there's more to be done, and even
that requires a fair number of changes on the relay side. So all that's
wrapped in #ifdef RELAY_VIA_HTTP (and turned off.)
2017-11-10 21:34:02 -08:00
Eric House
d1e6a0d1d3 fix seed comparison: ints vs strings
Was coming in as a string when called via curl. This may be a problem
for other ints if I go with lots of params instead of a json, which is
looking less likely.
2017-11-09 06:47:33 -08:00
Eric House
205adf0d0f add prototype of join()
join's how devices will create or join existing games. It more
compilicated than I'd like but seems to work except that once a slot's
assigned it's unavailable to anybody else even if the other fails ever
to respond (i.e. needs the ACK function of the c++ relay.)
2017-11-08 08:04:57 -08:00
Eric House
6c8b9d5277 fix query syntax: % operator bad 2017-11-07 07:34:06 -08:00
Eric House
c661c8a74e basic join() (inserting/updating game records) works 2017-11-07 07:33:04 -08:00
Eric House
3dfd419ec7 relay returning NOTHING is a thing; deal with it 2017-11-02 07:16:11 -07:00
Eric House
a1433e5f3d add kill to relay.py; call from test script using curl
It'll eventually get called from Android and maybe linux, but for now
it's cool to have games disappear from the showinplay display when
they're done.
2017-10-31 20:05:07 -07:00
Eric House
d2897d6dc8 fix to match format of empty return case 2017-10-30 19:06:38 -07:00
Eric House
7b50c90aac pass timeoutSeconds
ACK doesn't need to wait 2 seconds for a reply, and when it does so the
next send waits too. Eventually we'll want to combine messages already
in the queue into a single send. For now, this makes things better.
2017-10-28 20:12:05 -07:00
Eric House
6787fe1406 fix length byte 2017-10-22 21:29:16 -07:00
Eric House
4583b5d88d use ! with struct instead of ntohs 2017-10-22 15:47:01 -07:00
Eric House
284888df44 add timeoutSecs param 2017-10-21 12:13:19 -07:00
Allan Nordhøy
ebe594ed1d Added translation using Weblate (Norwegian Bokmål) 2017-10-19 11:48:34 +02:00
Eric House
7414e0eeae param should be json array as string 2017-10-18 22:02:14 -07:00
Eric House
3ffef37d77 don't require myKey.py 2017-10-18 21:19:09 -07:00
Eric House
fbaa1f139e add test method and implement query() endpoint 2017-10-18 21:18:30 -07:00
Eric House
c08be98fda wip: include multiple packets in reponse json 2017-10-18 07:09:05 -07:00
Eric House
b86ffeb2b9 wip: data gets to relay and response handled
A device registers and a game can start. But we don't get to being
able to make a move yet.
2017-10-18 06:53:15 -07:00
Eric House
2dc80ac93f talk to new python script to interface with relay
So far uses curl and json-c to send b64-encoded data to new script
which is able to echo the data. Next that script will need to open a
UDP socket to the relay and return results that appear before timeout.
2017-10-17 21:32:11 -07:00
Andreas Kleinert
b7c72dd1e6 Translated using Weblate (German)
Currently translated at 8.4% (62 of 738 strings)
2017-10-17 20:45:54 +02:00
Eric House
6b0fe35c8f use readFully() rather than read()
readFully() blocks; read() can return with less than you expect.
2017-10-16 22:12:35 -07:00
Eric House
927c4f12a0 make tap on thumbnail select/deselect
Working around there being a border around the game-type image area.
With this change long-tapping works only on the right 2/3 of the
region. There might be a fix, but it's still better than there being
a hole (the border) in the thing where behavior's different.
2017-10-14 14:31:41 -07:00
Eric House
fd3220c1c2 Merge branch 'android_branch' of github.com:eehouse/xwords into android_branch 2017-10-12 21:15:08 -07:00
Eric House
1e38069b94 update script seen by those without the app installed 2017-10-12 21:14:07 -07:00
Eric House
0a774625a1 cleanup 2017-10-10 20:17:36 -07:00
Eric House
c9a86a23e0 remove GCM-related receiver from shared manifest
Duh. The .java file was removed, but the declaration that all apps can
handle an intent (that requires WakeLock they no longer all have) was
not. Should fix crashes I'm seeing.
2017-09-28 20:02:05 -07:00
Eric House
bbffe4caf1 Add assert prior to removing dead (?) code
There should no longer be a need for curThis(), but let's confim by
asserting for a while.
2017-09-28 06:51:59 -07:00
Eric House
a3bf942004 fix assertion by not handling Action
Was wrong to assert that unexpected Actions never arrived.
2017-09-28 06:51:24 -07:00
Eric House
79e852a9eb change ID of duplicate menu
Board and Games List were using same menuid which meant that even when
chosen from Board's menu it would up getting handled by GamesList (in
dual-pane mode.)
2017-09-28 06:50:16 -07:00
Eric House
d3b9a98518 fix to serve the oldest release newer than current
Removing hard-coded list of release .apks in favor of picking them from
the file system based on version code reported by aapt.
2017-09-27 20:39:58 -07:00
Eric House
7b691dfd2f offer to hide buttons when invoked from action bar 2017-09-26 07:34:54 -07:00
Eric House
604119f99b stub out GCMIntentService for d variant
Somehow the d variant was crashing without the WAKELOCK permission, the
OS having invokes something GCM-related. This should ensure nothing
GCM-related can ever happen.
2017-09-26 07:01:55 -07:00
Eric House
6fa01eb971 move GCM-related permissions into new manifest
Create an AndroidManifest.xml specific for the xw4 variant, and move the
GCM-related permissions (including WakeLock) into it.
2017-09-25 06:17:44 -07:00
Eric House
fd7f564e11 add debug menu to copy git info to clipboard
Makes it easier to find out what the diffs were.
2017-09-24 14:40:31 -07:00
Eric House
096aa3bd0f make GCM_SENDER_ID empty for xw4d variant build
This seems to fix that app, when built by me where GCM_SENDER_ID's set
in the environment, being a battery hog. Apparently google's code
doesn't handle being passed the wrong senderID very well.
2017-09-24 14:30:59 -07:00
Eric House
9bdf43a89e remove duplicated BuildConfig entry 2017-09-22 06:55:02 -07:00
Eric House
5dc9327d31 record current git-diff in assets 2017-09-22 06:46:19 -07:00
Eric House
592a6429d4 up changelog and version strings 2017-09-20 06:40:42 -07:00
Eric House
39efbaa7f5 fix timer-draw NPE due to race condition
use runOnUiThread()....
2017-09-19 22:09:57 -07:00
Eric House
a328221b63 up version codes for new release
I somehow screwed up the last release, but google got the apk so
requires me to change the version number.
2017-09-19 07:46:17 -07:00
Eric House
dc29321b28 change strings for new release 2017-09-13 08:06:08 -07:00
Eric House
e98c25a81a fix crash by removing assert I didn't need
Looks like what I was worried about wasn't an issue.
2017-09-13 07:39:07 -07:00
Eric House
ae25c6e014 fix list item breakage: no inputType for TextView
I'd added inputType="text" everywhere I added maxLines="1" but it turns
out that breaks touches being handled at least on some devices. And it
makes no sense to have an inputType for something user can't put into.
2017-09-12 07:56:40 -07:00
Eric House
058d3a7828 try to fix travis: copy over .enc file 2017-09-11 06:47:59 -07:00
Eric House
8efd608ac2 fold in (as diff, not merge) travis config 2017-09-11 06:16:47 -07:00
Eric House
54997f6db2 more EditText fixing 2017-09-07 07:51:57 -07:00
Eric House
2de54a2535 fix script for a gradle world 2017-09-07 07:45:33 -07:00
Eric House
d87a1ca7a8 fix EditText so monkey can't abuse it
Several EditText fields are configured so monkey breaks things, e.g. by
entering too much text in the default player name config. Fix. This
probably won't impact users but it lets the monkey tests move on to
other things that might.
2017-09-07 07:36:16 -07:00
Eric House
f161de2977 make menu consistent 2017-09-07 06:15:17 -07:00
Eric House
1ee5afd5cf add inputType=text to singleline EditTexts
Turns out the maxLine="1" thing needs this accompaniment or it'll let
you add carriage returns, as adb monkey found.
2017-09-07 06:13:14 -07:00
Weblate
11368df086 Merge remote-tracking branch 'origin/android_translate' into android_translate 2017-09-06 11:49:19 +02:00
Eric House
6866887438 include last commit in change notes 2017-09-05 19:23:21 -07:00
Eric House
8971837d22 fix crash on Samsung Galaxy Note 3 running 4.4
Can't repro on Nexus emulator running 4.4 nor on Samsung running 4.4.4,
but the reporter says this fixes it. And from reading it appears
expecting older devices to load Material themes without an AppCompat
library is wrong.
2017-09-05 19:17:02 -07:00
Eric House
f5e66463f9 up release strings for new version 2017-09-03 14:15:43 -07:00
naofum
406ffca333 Translated using Weblate (Japanese)
Currently translated at 73.8% (545 of 738 strings)
2017-09-03 14:15:26 -07:00
Eric House
51ca1777e2 make the have-chat icon green 2017-09-03 13:28:37 -07:00
Eric House
4549c397ae cleanup
don't check standalone games for chat messages
2017-09-03 10:38:54 -07:00
Eric House
2735144515 mark games with unread chat 2017-09-02 12:12:39 -07:00
Eric House
2616891608 remove/replace deprecated singleLine element 2017-09-02 12:12:39 -07:00
Eric House
a10dd6a314 make game sort order clearer and easier to modify
For the ORDER BY clause that governs how games are displayed within a
group, use a static string built from a list of clauses that are then
easy to move up and down. Add clause that moves games with unread chat
to the top. Another commit will modify the display so it's clear why
it's there.
2017-09-02 12:12:39 -07:00
Eric House
5ed9d2c6aa remove dead code 2017-09-02 11:24:58 -07:00
Eric House
1c3b5564b5 use same red/green for expiry as for net status
Slightly less glaring; slightly more consistency.
2017-09-01 08:12:38 -07:00
Eric House
e97dd26e6f fix missing "game in room NNNN" in games list
Looks like sometimes the TextField was GONE
2017-08-31 21:21:54 -07:00
Bernard Massot
e24f7bdba8 Translated using Weblate (French)
Currently translated at 91.1% (673 of 738 strings)
2017-08-31 21:21:54 -07:00
Eric House
a6d8708abc sort unconnected games to top of list 2017-08-31 20:07:40 -07:00
naofum
ecbfcb674c Translated using Weblate (Japanese)
Currently translated at 73.8% (545 of 738 strings)
2017-08-31 03:46:35 +02:00
Eric House
586899891d Merge remote-tracking branch 'weblate/android_translate' into android_translate 2017-08-30 07:22:36 -07:00
Eric House
79b0d38c0c tweak changelog 2017-08-30 06:30:25 -07:00
Eric House
8489d1401f only try to put up Wait/Invite alert once
Bring back the test for being null, and add an additional one via a new
boolean iVar that we haven't tried posting it already. On some devices
there's enough of a lag that the is-null test passes several times
before the first makeDialog() call, leading to a cascade of attempts to
create that hangs the UI. The test's needed, but only once should be
start the process.
2017-08-29 07:33:15 -07:00
Eric House
077159b8c4 save commitID in instanceState
When the back stack is restored commit() is not called, so the fragment
needs to save it. Without this 0 is passed to popBackStack() and
everything's dismissed, not just the one fragment.
2017-08-29 07:31:37 -07:00
Eric House
741dbf2bed fix finish() to close a specific fragment
Rather than just pop whatever's on top of the back stack, which might be
the alert whose listener called finish(), use saved commit() ids to pop
down to the fragment itself. This feels like a risky change, and it's
tested only by back-button-dismissing the Wait alert in an unconnected
game in BoardDelegate, so needs some bake time.
2017-08-29 07:10:04 -07:00
Eric House
bb4c5502c8 save commit id in fragment 2017-08-29 07:03:52 -07:00
Eric House
270df00692 use new API to offer to hide buttons
When SDK >= 19 there's an API to tell if a listview is full enough to
require scrolling. So use that, rather than the raw count of games, to
decide whether to offer new users to hide the new game buttons.
2017-08-28 07:12:10 -07:00
Eric House
db658edc67 don't add to queue once it's stopped
No point in adding something if we're not going to process it.
2017-08-28 07:06:57 -07:00
Eric House
671d345377 remove most of xw4dbg's AndroidManifest.xml
What's here is merged with the main one, so no point in duplicating and
it's just a pain to maintain. Remove as much as possible that's not
unique to the debug variant (crashlytics and wifidirect, basically.)
2017-08-27 15:55:31 -07:00
Eric House
58f828c187 up version strings and changelog 2017-08-27 15:49:57 -07:00
Eric House
54be99b635 remove logging 2017-08-27 15:49:35 -07:00
Eric House
5914ad8a1d include ActionPair in serialization of DlgState
Oops. Debug build assertion showed I was leaving an infrequently used
field out of serialization, adn then required that that object be
Serializable and implement equals() to pass more tests.
2017-08-27 11:40:26 -07:00
Eric House
9231224eea explicitly use Theme.Material as app theme
Fixed Samsung having made a white actionbar default and so my menubar
icons becoming invisible.
2017-08-27 10:12:37 -07:00
Bernard Massot
2e73a4277b Translated using Weblate (French)
Currently translated at 91.1% (673 of 738 strings)
2017-08-27 12:45:42 +02:00
Eric House
ff415640fd sync variants' AndroidManifest.xml files 2017-08-26 11:02:27 -07:00
Eric House
24a38c8f46 cleanup connection status display text
Get rid of treating 0 as a legit date (1970 being illegit). Tweak
formatting. It's not perfect, but few people see it so we'll see how it
goes during development.
2017-08-24 06:58:53 -07:00
Eric House
1a36f3286b ignore generated files 2017-08-22 07:52:15 -07:00
Eric House
33f80fbefd up version strings for new release 2017-08-16 07:34:03 -07:00
Eric House
f7d4d6b637 sort by versionCode, then by file age
revert a bit, dropping use of git revision and repo to provide an
order. Instead use aapt (which is an ubuntu package now) to pull the
version code and appID from .apk files, order by versionCode, and
secondarily by file mod time.
2017-08-16 07:29:17 -07:00
Eric House
19c7543eb3 make finding most recent apk based on git revision
Auto-update was based on my manually setting what the newest is. Better
to use the git revision stored in the .apk, or failing that (later) in
the file name, to determine "age". This is all based on forcing a linear
order on git commits, but at least at the granularity of releases that
should be ok.
2017-08-14 22:40:07 -07:00
Eric House
bb846060e9 always add "self" choice to invite-by-relay-id list
Poorly integrated: you can delete it only to have it come back, but
send-to-self is just a debugging thing anyway.
2017-08-14 07:52:18 -07:00
Eric House
f795ae6de6 use same string for both download menuitems
Mistake was putting "download more languages" at the bottom of list of
wordlists in one language. Having separate strings is a bigger change,
and in context just "Download more" works in both cases. Change name of
string so translators will notice.
2017-08-14 07:18:16 -07:00
Eric House
eb34294679 fix failure to create game after downloading dict
Wasn't setting the necessary iVar...
2017-08-14 06:49:05 -07:00
Eric House
af48fb850d update strings for new release 2017-08-13 19:37:29 -07:00