Commit graph

6165 commits

Author SHA1 Message Date
Eric House
be3cad96d7 tweak strings 2012-11-19 21:23:07 -08:00
Eric House
1994ea788e don't allow deleting default group. Wording needs fixing, or better
yet, replace the menuitem with greyed-out "is default group".  But
this works for now.
2012-11-19 19:28:26 -08:00
Eric House
82c39489f0 lots of changes toward grouping games in user-definable groups.
Creation and movement between work.  Deletion crashes.  Expansion
doesn't stick.  All's rough.
2012-11-19 07:41:15 -08:00
Eric House
2779139e75 add columns using data as well. Like pref commit, this does not change behavior. 2012-11-17 10:20:14 -08:00
Eric House
9ad41d5a3a use String[] data to build table-creation queries rather than huge
inline string concatenations.
2012-11-17 10:14:55 -08:00
Eric House
416db91312 experimental: always post notification on new moves received rather
than giving GamesList a chance to launch game directly.
2012-11-16 07:31:52 -08:00
Eric House
cefc13a2cd Docs say should allow GCM to reregister on app upgrade. And that the
registrar takes care of storing devid.  So app version when
registration arrives, and get from registrar except after an upgrade.
2012-11-15 21:44:56 -08:00
Eric House
9a4a8c7b26 use static to avoid querying OS for version over and over. 2012-11-15 21:41:51 -08:00
Eric House
f70a5bc6ee add getAppVersion() 2012-11-15 21:24:54 -08:00
Eric House
e1bc9876dd add to-do 2012-11-15 21:23:31 -08:00
Eric House
bda193029e add constructor in order to pass SENDER_ID to parent constructor,
as docs say to do
2012-11-15 21:14:45 -08:00
Eric House
f64de16ce3 catch and discard all exceptions that come when initing GCM. Fringe
devices may do anthing at that point.
2012-11-15 07:03:32 -08:00
Eric House
5afd93c5f5 fix NPE on Kindle 2012-11-15 06:42:27 -08:00
Eric House
694857dd4e add, but disable with compile flags, ability to mark sent messages
with a timestamp rather than delete them.  Plan is to experiement with
this as a way of keeping devices from sending too many identical
messages when GCM's in use -- since constraints on the msgs table will
not allow identical messages to be added.
2012-11-15 06:25:22 -08:00
Eric House
c847ec127e add and use function that does formatted printing to a std::string so
query buffers can no longer overflow.
2012-11-15 06:15:44 -08:00
Eric House
5463535265 don't increase backoff if there wasn't actually anything to send. 2012-11-14 05:42:47 -08:00
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