Commit graph

6414 commits

Author SHA1 Message Date
Eric House
9598ea3585 fix to compile post API change. 2012-11-13 21:32:42 -08:00
Eric House
c4df31892e Fix occasional infinite loop of devices sending and receiving the same
message over and over when getting updated by GCM.  The problem
occurred when one device had an un-ACKable initial message still in
its queue.  I call resendAll a lot, which caused that message to get
resent to the other game which then replied without being able to ACK
it so it remained to be sent again.  This would continue until users
moved forward in the game.  The fix is to add a backoff timer to
resendAll() so that it can't loop.  The timer is reset when an ackable
and new message is received, meaning there's been a change in what's
available to resend.  And since users calling resendAll manually
expect it to do something, add a force param that ignores the backoff.
seems to fix the problem (but needs a lot of testing.)
2012-11-13 21:25:03 -08:00
Eric House
cf8d30ce5d tweak logging; fix uninitialized debug-only variable 2012-11-13 21:18:52 -08:00
Eric House
ba11fcf8df don't bother checking for stream size of 0 in jni since comms does
that now.
2012-11-13 21:01:25 -08:00
Eric House
cd2550a90d Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-11-13 07:24:54 -08:00
Eric House
093fc4d1fa cleanup 2012-11-13 07:23:07 -08:00
Eric House
57ea768aaf refuse to send 0-length messages. That may happen only when the stupid
curses client calls server_initClientConnection over and over, but
reduces unnecessary messaging in that case at least.
2012-11-13 07:22:48 -08:00
Eric House
c4f5b4522e minor printing tweaks 2012-11-13 07:17:56 -08:00
Eric House
2908802017 try to make linux client mimic Android a bit better in saving after
any network activity so messages get acked more quickly.
2012-11-13 06:15:36 -08:00
Eric House
43b1e219f3 add a bit more logging to comms 2012-11-13 06:14:36 -08:00
Eric House
082e6a61f7 comment out unused command 2012-11-12 20:57:39 -08:00
Eric House
60814264e7 compile with XWFEATURE_COMMSACK turned off 2012-11-12 20:56:50 -08:00
Eric House
76c938cc67 fix to compile with API change; to drop relayid when it's rejected and
to use register with the GCM id on next [re]connect; and to not leave
variable unintialized when unable to call into java world due to being
called without context.
2012-11-12 08:03:25 -08:00
Eric House
4f3c81417d go back to logging devids for now 2012-11-12 08:01:24 -08:00
Eric House
6ca966f22a make test script and linux client mimic case where relay regid is
rejected by relay.  Client re-registers and a new relay regid is
issued.
2012-11-12 07:27:20 -08:00
Eric House
6a85661095 lots of improvements: make useful for testing with non-android clients; shelve backoff data, etc. 2012-11-10 19:31:22 -08:00
Eric House
1316ae4b67 Fix relay devid protocol to deal with case where client submits a
ID_TYPE_RELAY id that's not in the devices table (as has happened when
a device switches relay URLs during testing, but might also happen if
I have to delete an entry from the devices table.)  In that case,
return ID_TYPE_NONE to the client, which will be its clue to delete
its ID_TYPE_RELAY id and submit the platform-specific id again.

Note: android won't compile this revision thanks to util.h change
2012-11-10 15:05:44 -08:00
Eric House
b53412d98d Fix to actually work. Grrr. 2012-11-10 14:52:10 -08:00
Eric House
ba733634cb NPE: don't crash on first install 2012-11-09 06:57:37 -08:00
Eric House
b0f85e02df use grep of app's help message to determine whether a param is
supported so can test with older clients and not crash.
2012-11-09 06:55:38 -08:00
Eric House
f1ee77882b Send devid with RECONN as well as CONN so games present when device
upgrades can also use GCM.  Tested on relay but not device.
2012-11-09 06:54:12 -08:00
Eric House
ff16db5c10 remove logging 2012-11-08 20:09:16 -08:00
Eric House
0f21f849d9 fix crash attempting to download dict when there's no network, e.g. in
airplane mode.
2012-11-08 20:08:20 -08:00
Eric House
0ef7c8bf46 return TYPE_NONE on devices like Kindle that don't do GCM instead of
an empty string claiming to be a GCM ID.
2012-11-08 19:58:03 -08:00
Eric House
07123ac823 cleanup: remove logging and only check for messages when the json data
holds that command.
2012-11-08 19:54:09 -08:00
Eric House
5cbafb9f56 up version strings and code 2012-11-08 19:49:45 -08:00
Eric House
283045c649 revert previous trivial change 2012-11-08 19:23:52 -08:00
Eric House
3b1f6a695f don't show "can't do GCM" Toast on Kindle Fire 2012-11-08 06:38:35 -08:00
Eric House
2df4199a77 test script for messaging devices 2012-11-08 06:13:01 -08:00
Eric House
4eff38a85d Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-11-07 22:06:41 -08:00
Eric House
af89047969 treat an empty devID string as TYPE_NONE regardless of what the client claims. 2012-11-07 22:03:58 -08:00
Eric House
e6cd2265df fix crash: make formatParams work with empty strings 2012-11-07 21:57:18 -08:00
Eric House
aafcd5144a Better Kindle fix: don't even post message if SMS not supported. 2012-11-07 19:46:33 -08:00
Eric House
949b804f35 fix NPE on Kindle Fire, which has no SMS DB. Duh. 2012-11-07 19:43:08 -08:00
Eric House
83754d626e add backoff for resending for messages still not removed from msgs table 2012-11-07 08:05:45 -08:00
Eric House
45d0b2dbc8 various improvements, including printing a period on every loop when
there's no work to do.  All that remains is backoff.
2012-11-07 07:31:52 -08:00
Eric House
8516dca1cb what I really meant to check in 2012-11-07 06:23:20 -08:00
Eric House
9b48523ff3 fix to work with new DB scheme and to send json client now expects 2012-11-07 06:17:33 -08:00
Eric House
1e13d6ac6c look for values in msg sent from server, including one that puts up a
message via a notification.
2012-11-06 19:09:15 -08:00
Eric House
2c339ed7a5 fix to work with new devid/table scheme 2012-11-06 07:25:38 -08:00
Eric House
39dbed2004 add missing util method (fixing crash) and with it wire up new devID
scheme: now relay-assigned shorter id will be saved and used for
future games.
2012-11-06 07:08:06 -08:00
Eric House
9ad28908bb assert enum within range 2012-11-06 07:07:14 -08:00
Eric House
9981360c67 put back minsdk stuff accidentally removed in merge. 2012-11-05 06:55:54 -08:00
Eric House
41cfacfee4 don't crash on emulator (which doesn't have library required by GCM) 2012-11-05 06:20:55 -08:00
Eric House
03108f311a Merge branch 'android_branch' into android_gcm 2012-11-05 06:14:21 -08:00
Eric House
0376e25c26 Merge branch 'fix_beta_53' into android_branch 2012-11-05 05:43:33 -08:00
Eric House
bb2e3ffdb1 fix (by dropping second message) assert that there is no first
message.  This is a TEMPORARY fix.
2012-11-04 21:36:20 -08:00
Eric House
e8720ec419 add link to changelog 2012-11-04 17:53:42 -08:00
Eric House
3942a49cac Add a debug preference allowing to provide, or override, the download
dir.  This will let users work around bugs on devices like my Blaze 4G
where the OS gives the wrong path, and also allows testing.  Inval
DictUtil's dict cache eash time this is changed, so in effect adding a
wrong path pref hides all dicts in the Downloads dir.
2012-11-04 17:47:30 -08:00
Eric House
69108fd8a1 cleanup: import class to make declarations shorter. 2012-11-04 17:33:07 -08:00