Commit graph

7324 commits

Author SHA1 Message Date
Eric House
001445435b fix formatting 2013-10-23 06:18:43 -07:00
Eric House
3af3e4052f rename method 2013-10-22 08:02:38 -07:00
Eric House
9ed1c21cf8 honor selected group when creating net and sms games too 2013-10-22 07:40:46 -07:00
Eric House
9997c43298 start new groups out expanded 2013-10-22 07:06:54 -07:00
Eric House
8c5cd9ebe3 store selected groups by id rather than position, fixing problems like
clearing the selection after moving a group
2013-10-22 07:02:49 -07:00
Eric House
8f8fd22c7f make strings consistent 2013-10-22 07:00:36 -07:00
Eric House
1bb0c49c71 assert that we don't use an unprepared menu. 2013-10-21 20:44:47 -07:00
Eric House
bd902bfc12 ignore dawg exporting files 2013-10-21 20:39:21 -07:00
Eric House
d96b092b42 fix crash on tiny-screen devices: rename menu to match change on other
devices' menu
2013-10-21 20:38:07 -07:00
Eric House
e8616735b6 move .o files into an obj directory 2013-10-21 18:52:12 -07:00
Eric House
ccc46a819c supress output for png-generating script 2013-10-21 07:48:08 -07:00
Eric House
1b3c8ed661 ExpiringDelegate rather than ExpiringTextView needs to draw selected
state so can coordinate with expiring state representation.
2013-10-21 07:46:58 -07:00
Eric House
7a4d3093a1 on ICS+, onPrepareOptionsMenu can get called several times while
adjusting selections, so just bail when they're in an incomplete state.
2013-10-21 07:43:31 -07:00
Eric House
b7edbf14a4 placeholder svg files 2013-10-21 06:55:18 -07:00
Eric House
a38370c2f5 fix so groups correctly redraw unselected on ICS+. TODO: integrate
with the expiring stuff.
2013-10-21 06:29:02 -07:00
Eric House
b9afc47a25 placeholder icons for up and down, and fix to show only when there's room to move 2013-10-19 22:09:07 -07:00
Eric House
93425fe1e7 snapshot: fix crash on ICS; create game in selected group rather than
default (probably works local games only); etc.
2013-10-19 21:58:44 -07:00
Eric House
7712ee15e3 Clear selections after every menuitem call. Since that means the
selection's not available after a confirm dialog, modify
showConfirmThen() to take optional params like showNotAgainDlgThen(),
and make deleting games use it.
2013-10-19 10:12:57 -07:00
Eric House
df48c5d142 rename ivar 2013-10-19 10:07:03 -07:00
Eric House
91142b1976 replace three more pngs with an .svg 2013-10-18 22:47:57 -07:00
Eric House
33a8c30ade replace checked-in images with another generated 2013-10-18 22:40:53 -07:00
Eric House
d838151c0c modify build system to generate .png files from .svg files, with one
.svg as an example.
2013-10-18 22:36:45 -07:00
Eric House
07bfc3de37 snapshot: handle more menus. (Add game seems broken, though) 2013-10-18 21:37:13 -07:00
Eric House
4fe402e636 pass parent, not self 2013-10-18 21:33:33 -07:00
Eric House
43e69c7627 make group head view selectable, and separate group and game selection
so that only one type can be selected at once.  Combine all three
menus into one, but only enable subsets equivalent to the old menus
depending on what's selected.  Snapshot: menus pretty much don't work.
2013-10-18 20:40:20 -07:00
Eric House
9fe34e4183 Merge branch 'from_android_beta_69' into android_branch 2013-10-17 06:31:17 -07:00
Eric House
bf13046d98 add -> to submenu title to indicate it's a submenu 2013-10-17 06:13:47 -07:00
Eric House
b4dc0dbcbd tweak changes description 2013-10-17 06:13:27 -07:00
Eric House
055b4ce04e don't try to hide whole submenu -- crashes on 2.3 devices 2013-10-17 06:12:37 -07:00
Eric House
5979566772 hide title bar by default for pre-ICS devices but not for those where
I'm using the action bar.
2013-10-17 06:12:04 -07:00
Eric House
ea4c705bc6 up strings for new release 2013-10-17 05:43:57 -07:00
Eric House
1455c448c1 fix formatting 2013-10-16 21:04:30 -07:00
Eric House
2a01d25a29 fix NPE: update menu after deleting games 2013-10-16 21:03:19 -07:00
Eric House
85382c982c remove words from main games list. People don't read them, and now
there's a '+' in the menubar.
2013-10-16 08:13:18 -07:00
Eric House
f4160c178d hide Add button/menuitem when there's a selection 2013-10-16 07:36:36 -07:00
Eric House
9d6facce84 name the number of selected games in delete confirm dialog 2013-10-16 07:21:34 -07:00
Eric House
b6aa0e19a6 tweak text 2013-10-16 06:20:10 -07:00
Eric House
dab8ba88e5 use darker selection color from alarm clock app, which has a similar dark theme. 2013-10-16 06:20:01 -07:00
Eric House
7fd535b141 tap on selected item deselects rather than opening game 2013-10-16 06:13:10 -07:00
Eric House
0c3057f75c use different icon 2013-10-15 22:20:59 -07:00
Eric House
7414247ed1 add pencil/edit actionbar icons 2013-10-15 22:12:49 -07:00
Eric House
9217eb71dd move config into actionbar from context menu, deprecating it there. 2013-10-15 22:06:29 -07:00
Eric House
9beef6d51e move Trade menu into actionbar 2013-10-15 22:04:50 -07:00
Eric House
972629db8e string tweaks, including calling Exchange "Trade" because it's smaller. 2013-10-15 22:04:33 -07:00
Eric House
bfea8dad49 fix NPE. I think it's a bug that null appears there, but better not to
crash.
2013-10-15 22:03:14 -07:00
Eric House
44bae9246b use enum instead of a bunch of constants 2013-10-15 21:17:34 -07:00
Eric House
f30203bb22 fix NPE when choosing not to see new hint dialog again 2013-10-15 21:15:44 -07:00
Eric House
27fa9bf203 deprecate delete context menu item 2013-10-15 19:14:49 -07:00
Eric House
4bc554bc40 use new params-passing DlgDelegate to add hint about new selecting
feature.
2013-10-15 19:04:58 -07:00
Eric House
2ec0a7ba8d new param to interface to allow passing closure to delayed dialog
handling.  Unused, so no behavior change yet.
2013-10-15 18:48:02 -07:00
Eric House
6a6c528d36 new newbie message (not yet used) 2013-10-15 18:44:10 -07:00
Eric House
4af68196a6 use same icon for both add menuitems 2013-10-15 07:37:31 -07:00
Eric House
c2605344e0 remove padding that was causing redraw after unselected 2013-10-15 07:33:24 -07:00
Eric House
8816e590f2 copy gmail app's selection color 2013-10-14 19:01:51 -07:00
Eric House
638ad7b2c2 use proper Holo icons for delete and add 2013-10-14 08:08:46 -07:00
Eric House
44b9afe709 reuse code at cost of some extra allocs 2013-10-14 07:54:19 -07:00
Eric House
2f0f4996ac don't persist selection: goal is that it remains only while the
GamesList activity is frontmost within the app (including if app
itself is backgrounded); clear selection on back button (copying
gmail); be more effecient getting multiple child views.
2013-10-14 07:50:42 -07:00
Eric House
cc39953358 2013-10-14 06:54:43 -07:00
Eric House
45c632b735 deselect items inside collapsing group 2013-10-14 06:54:02 -07:00
Eric House
ddb87516ab don't turn on selection if already on (fixes Assertion) 2013-10-13 21:39:13 -07:00
Eric House
f305cbb9fe On resume of GamesList, remove from selected set any game that no
longer exists.
2013-10-13 21:26:59 -07:00
Eric House
a6d8806a7c change button text to match description 2013-10-13 21:24:55 -07:00
Eric House
938140a2c4 use custom color for game selection 2013-10-13 20:59:22 -07:00
Eric House
ec8a4119a9 give network icon a bit of padding now that it's a tap target 2013-10-13 20:46:24 -07:00
Eric House
ac229e4ae7 implement delete of selected games with confirmation 2013-10-13 20:33:55 -07:00
Eric House
e7a23afc4a add delete item to menu/actionbar, visible only if number of selected
games > 0
2013-10-13 20:15:51 -07:00
Eric House
1d0ccf97af copy in change to select games in games list and to remember which are
selected.
2013-10-13 20:03:52 -07:00
Eric House
e56fd06c09 mention menubar change 2013-10-11 22:40:29 -07:00
Eric House
5f177ac62f remove logging 2013-10-11 22:30:13 -07:00
Eric House
2acd59e08e give credit for report 2013-10-11 22:11:14 -07:00
Eric House
7dfc800fcb reregister using GCM id if it's changed (or been received) since last registered 2013-10-11 21:42:34 -07:00
Eric House
512c080634 don't try to register more than once per 10 seconds. I hope this
fixes the two-packet-in-a-row I'm seeing on the relay.
2013-10-11 20:53:04 -07:00
Eric House
7714bdc84f up version strings 2013-10-11 20:42:22 -07:00
Eric House
9a8ed72ea1 when new GCM ID is received, force re-register. 2013-10-11 07:51:10 -07:00
Eric House
9efb044c4f simplify construction of one query 2013-10-09 21:13:22 -07:00
Eric House
becbf7aea6 include dict2dawg in exported files 2013-10-09 21:12:52 -07:00
Eric House
c0598aa06b fix to compile without DEBUG defined 2013-10-09 21:02:15 -07:00
Eric House
ad2916b186 add Makefile so byod export will pick it up 2013-10-09 20:54:31 -07:00
Eric House
fe8bb0932c delete messages whose games have been deleted 2013-10-09 20:41:14 -07:00
Eric House
ec468ef3ba printf -> catf missed because in ifdef 2013-10-09 20:40:21 -07:00
Eric House
bb246fd7e7 rename printf -> catf; no other changes 2013-10-09 20:20:45 -07:00
Eric House
6cbfc03228 Merge remote branch 'origin/android_branch' into android_branch 2013-10-09 20:09:31 -07:00
Eric House
c34fb48a2c oops -- init mutex. This may be why the relay's hanging after a
crash.
2013-10-09 20:08:29 -07:00
Eric House
24509662e8 fix so standalone games don't crash! 2013-10-09 07:36:21 -07:00
Eric House
303f919b5e fix pattern for synonyms 2013-10-09 07:36:04 -07:00
Eric House
253073efc5 cleanup and rename variable 2013-10-09 07:35:21 -07:00
Eric House
0431f1a7ea fix capitalization 2013-10-07 07:01:03 -07:00
Eric House
5e92de6ff8 skip Hëx files when exporting for byod 2013-10-07 07:00:27 -07:00
Eric House
ec77be8a2a put the pass/turn done menuitem in the action bar as a first cut 2013-10-01 07:50:01 -07:00
Eric House
c294ad45cf don't recomment tapping the pts area of tray when it's not visible 2013-10-01 07:50:01 -07:00
Eric House
4abc9623f9 add invalidateOptionsMenuIf(), for working with action bar in a
safe-before-sdk-11 way
2013-10-01 07:50:01 -07:00
Eric House
f4881dd00e make default value false (though doesn't matter as caller sets that:
prev commit)
2013-10-01 07:50:01 -07:00
Eric House
3b87c9562c formatting 2013-10-01 07:50:00 -07:00
Eric House
7290a41913 tweak; add limit 2013-10-01 00:01:39 -07:00
Eric House
b3723897d5 to prevent duplicate UDP packets (I hope), bind the UDP socket to a
single ip address rather than INADDR_ANY.  Get that address at runtime
for an interface provided in the config file.
2013-09-30 23:40:12 -07:00
Eric House
552fa28b39 export model_getNumTilesInTray() via jni 2013-09-30 21:59:12 -07:00
Eric House
fddd159e57 by default, don't hide the title bar 2013-09-30 21:58:17 -07:00
Eric House
6dcb08594e remove unused strings 2013-09-30 07:09:25 -07:00
Eric House
f3e41486ca handle mailto: url, and add one. Note that everything about the url
is ignored, just routes to existing Utils.email() method.
2013-09-30 07:09:25 -07:00
Eric House
ce9c345aa9 add changelog and up version strings for new release 2013-09-30 07:09:25 -07:00
Eric House
945c41c615 Merge remote branch 'origin/android_branch' into android_branch 2013-09-27 05:46:43 -07:00
Eric House
9f38ded122 new script 2013-09-27 05:46:06 -07:00
Eric House
4d4f76c8ae assert not registering with RELAY_ID 2013-09-26 08:37:39 -07:00
Eric House
4202f24091 don't allow reregister with a RELAY_ID (a client bug) 2013-09-26 08:37:21 -07:00
Eric House
c1f94681bb when a message sent via udp from cref isn't acked, add it to stored
messages so gcm loop can pick it up.
2013-09-26 07:14:24 -07:00
Eric House
9640d0c5f9 fail build when jni compile fails 2013-09-26 06:39:32 -07:00
Eric House
63067dc374 oops: the test is equality with 'epoch' 2013-09-25 07:33:41 -07:00
Eric House
31fa2ea442 turn on feature where sent messages are marked rather than deleted.
Make default 'epoch' rather than NULL so constraint will work to
prevent duplicates, and fix insertion SQL to not violate constraint.
2013-09-25 06:38:10 -07:00
Eric House
fb59aa4907 use epoch rather than null as default so constraint will work 2013-09-24 08:37:18 -07:00
Eric House
8862c5f750 move include file up 2013-09-24 08:37:18 -07:00
Eric House
a4de87cfeb fix constraint, and add stime to it 2013-09-24 08:37:18 -07:00
Eric House
c9daf91b06 remove excess logging 2013-09-23 07:19:53 -07:00
Eric House
f59a7db85d update to work with either udp or tcp-sourced stored messages 2013-09-23 07:18:00 -07:00
Eric House
74546d183f better log message 2013-09-23 07:00:20 -07:00
Eric House
8ab832a136 wrap a bunch of tcp-connection code in !XWApp.UDP_ENABLED so compiler
can make it go away.
2013-09-23 07:00:05 -07:00
Eric House
107ba4c940 new gcc setting required, I assume, by new ndk version 2013-09-22 21:35:22 -07:00
Eric House
f74a82ee07 make background for exchange buttons black so they look
enabled/disabled when in fact they are.  Apparently now that the
theme's changed they don't look right without it, perhaps because the
old theme gave their layout a background other than white.
2013-09-22 20:37:42 -07:00
Eric House
4de9df4c97 Merge remote branch 'origin/android_branch' into android_branch 2013-09-22 20:36:38 -07:00
Eric House
e1a5a2d53a remove excess logging 2013-09-22 20:35:32 -07:00
Eric House
9d722e0b13 follow relay reg protocol change to always send relayID even if empty;
track whether current registration is good, but DON'T throw current
relayID away when gcm id changes, rather, reregister with same
relayID.
2013-09-20 05:35:08 -07:00
Eric House
2e6d49303b remove logging around hasNoMessages stuff -- too much 2013-09-20 04:54:05 -07:00
Eric House
e12069b45d fix to work with devids and devtypes being arrays 2013-09-19 06:38:37 -07:00
Eric House
9169659c80 cleanup: let conversion to including devid and change in devid happen at different rates 2013-09-18 08:05:19 -07:00
Eric House
5d49b9b5d6 oops: don't default to clearing relayid 2013-09-18 08:04:12 -07:00
Eric House
9650000fce add filter option -- sometimes want to see devices not in a current game. 2013-09-18 07:03:25 -07:00
Eric House
aa13fa07a7 Merge branch 'from_android_beta_65' into android_branch 2013-09-17 07:30:36 -07:00
Eric House
6225ec1d87 fix name string 2013-09-15 13:12:34 -07:00
Eric House
af44c6d190 only append to mtimes when appending a new devid 2013-09-15 12:54:47 -07:00
Eric House
b67ea7293d add mtimes, remove mtime, for devices to track each time the devid
changes.  Eventually; now it's updated too often.
2013-09-15 12:46:40 -07:00
Eric House
59d32d36b0 up version strings 2013-09-15 10:32:26 -07:00
Eric House
37a79b25f6 fix reported NPE (by inspection, as I can't repro) 2013-09-15 10:28:23 -07:00
Eric House
b0e2975994 show specific columns from devices table rather than * 2013-09-15 10:16:11 -07:00
Eric House
c212c0e367 add in-memory cacheing of messageless-connname/hid combos. 2013-09-15 10:04:46 -07:00
Eric House
657d0d2b1f -l - means log to stderr 2013-09-15 10:04:45 -07:00
Eric House
de1f1cf681 in devices table, replace devid and devtype with array so can track
history if/as they change; remove rrcount as no longer needed.
2013-09-15 09:59:51 -07:00
Eric House
3499af3ac4 fix reported NPE (by inspection, as I can't repro) 2013-09-14 21:22:06 -07:00
Eric House
2629c07256 Address problem with devids (e.g. GCM): until now when you got a new
devid you tossed your relayID and reregistered.  Which meant any
existing messages meant for your relayID were orphaned, and any open
games didn't know who they belonged to until you reconnected to them
with your new relayID.  So: modify the UDP protocol (though not on
Android yet) to include both relayID and devid with registration, with
one or the other an empty string if not present or not changed from
earlier.  I can't fix existing clients that are dropping their
relayIDs, but when one does a re-connect without a relayID I can look
it up from the existing game record, then reuse it rather than issue a
new one.  Better than nothing -- and that protocol will be obsolete
soon anyway.
2013-09-14 21:06:14 -07:00
Eric House
91a0dc5ecd turn chat back on -- and make it configurable via a single property in
build.xml that's turned into both a -D option to the jni compiler and
a constant in the java world.
2013-09-11 22:18:00 -07:00
Eric House
91e78eccf9 make download progress determinate 2013-09-11 08:37:12 -07:00
Eric House
2cad611ec4 get postgres port from config; send connname only if present 2013-09-11 07:42:14 -07:00
Eric House
8fa5e3e4bd drop duplicate packet rather than asserting 2013-09-11 07:30:12 -07:00
Eric House
51850ad019 remove strings no longer used 2013-09-11 07:19:35 -07:00
Eric House
ae79da9842 Merge branch 'from_android_beta_65' into android_branch 2013-09-10 08:00:57 -07:00
Eric House
a1300e9fe2 can't use & in the changes file 2013-09-09 19:45:09 -07:00
Eric House
1669687f19 wrap a bit more chat code in test so java can leave it out 2013-09-09 19:31:17 -07:00
Eric House
a25d664eb5 Merge branch 'from_android_beta_65' into android_branch
Conflicts:
	xwords4/android/XWords4/res/raw/changes
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
2013-09-09 08:01:28 -07:00
Eric House
bd81eb4bbe list another change 2013-09-09 07:44:46 -07:00
Eric House
cf71479931 cleanup formatting 2013-09-09 07:42:27 -07:00
Eric House
94b2eddda6 fix crash by adding byte protocol expects 2013-09-09 07:42:00 -07:00
Eric House
00aa53dd3a up version strings 2013-09-09 06:56:48 -07:00
Eric House
4c36207822 comment out toast that's showing on every connection -- too annoying 2013-09-08 22:33:37 -07:00
Eric House
5d7cc9e9e8 disable chat, and include reason in change log 2013-09-08 19:09:49 -07:00
Eric House
04eeebc3a4 fix so still compiles when chat feature is disabled 2013-09-08 19:08:58 -07:00
Eric House
c115752852 supply in linux client, and look for and store on relay, os version 2013-09-07 16:17:31 -07:00
Eric House
1cf676e86b stop menu button (or "action bar overflow") from being invisible on
tablet devices.
2013-09-07 16:09:53 -07:00
Eric House
4ed9078f3f add new exception thrown when can't open game for rowid, and catch the
one place it seems to happen.
2013-09-07 16:09:53 -07:00
Eric House
afab7ab33a up version strings 2013-09-07 08:16:44 -07:00
Eric House
de2c938f41 stop menu button (or "action bar overflow") from being invisible on
tablet devices.
2013-09-07 08:10:00 -07:00
Eric House
5b7a039d78 cleanup 2013-09-05 07:53:47 -07:00
Eric House
fdbdfa5911 add OS release number to reg data 2013-09-04 21:05:39 -07:00
Eric House
810dfac8b8 postpone packet creation and id assignment until send time so id can
be logged along with send.
2013-09-04 08:11:42 -07:00
Eric House
42a517b246 support UPGRADE message; don't queue KEEPALIVE packets when network is
down (as it is on Kindle when screen off)
2013-09-03 06:57:21 -07:00
Eric House
48e0afc589 add comment 2013-09-03 06:54:42 -07:00
Eric House
70fc4c448c print the exception's stack trace 2013-09-03 06:54:13 -07:00
Eric House
40215337c9 cleanup 2013-09-03 06:53:25 -07:00
Eric House
032f8c1f99 add ctrl port command to post UPGRADE message to clients 2013-09-03 06:52:02 -07:00
Eric House
8da0b73744 replace string_printf() with new class derived from std::string with
printf() method.
2013-09-02 13:17:42 -07:00
Eric House
23bdec0ea1 Remove debug prefs checkboxes for ignoring gcm and using the udp relay
mechanism.  Replace with static finals with shipping settings.
2013-09-01 09:40:08 -07:00
Eric House
0003065571 handle dev (not game) messages arriving via gcm 2013-08-31 08:58:12 -07:00
Eric House
a95d620b09 Make ack timeout settable from ctrl port; add ctrl facility to print
and nack outstanding acks.
2013-08-31 08:30:25 -07:00
Eric House
07c9722433 add ability to forget multiple devices 2013-08-31 08:26:44 -07:00
Eric House
f6a91464ac don't update db unless value's changed 2013-08-31 07:59:58 -07:00
Eric House
593bb91ee6 saving last packet timestamp in onDestroy then reading in in onCreate
wasn't working because they're not always called in that order.  So
for now save every time we get a message.  Should be every time it
changes...
2013-08-31 07:59:58 -07:00
Eric House
7b9f6adf6d preserve most recent maxInterval rather than counting on getting it
from relay.
2013-08-31 07:59:58 -07:00
Eric House
d9bfc01e35 change unsigned char to uint8_t (using sed) 2013-08-29 22:55:11 -07:00
Eric House
3592c2a1ab add logging 2013-08-29 21:54:36 -07:00
Eric House
99ec44809a use random number rather than incrementing static int (which can be
reset) to keep Intents from being reused
2013-08-29 21:54:17 -07:00
Eric House
b6fd850d04 improve logging 2013-08-29 21:53:22 -07:00
Eric House
49ab62d521 set DEBUG when building ndk based on target in build.xml 2013-08-29 07:28:08 -07:00
Eric House
0e6b211a76 fix treating game-targeted messages as if they were device-targeted.
Should probably have separate tables for the two types....
2013-08-29 06:37:22 -07:00
Eric House
b80051cc73 send dev-targeted messages pulled from db by rewriting their headers
with a new packetID.
2013-08-28 21:36:12 -07:00
Eric House
de125eb9a6 fix GetStoredMessages to also return messages without connnames,
i.e. messages to a device rather than to a game.
2013-08-28 21:29:39 -07:00
Eric House
cd2b83c9c5 type change: use vector<uint8_t> rather than string in struct for
retrieving data from db.
2013-08-28 20:33:42 -07:00
Eric House
e2f689765b Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-08-28 20:08:33 -07:00
Eric House
c4cf8b3c3c make 'devs print' take multiple devid args; rename args to argv everywhere. 2013-08-28 19:23:40 -07:00
Eric House
831018ed9d oops: remove extra format specifier 2013-08-28 19:20:37 -07:00
Eric House
ad9615709e test whether gcm being ignored not when receiving messages but when
deciding whether to stay connected to relay.
2013-08-28 08:02:48 -07:00
Eric House
b5f35fab78 unescape things like '\n' in messages 2013-08-28 08:00:21 -07:00
Eric House
4207df8078 apply limit to all; list messages without connname too 2013-08-28 07:29:24 -07:00
Eric House
2e7433f2b2 change 'devs msg' command to send to a list, or to all 2013-08-28 07:29:23 -07:00
Eric House
b3342c6e8a for --clean-start option, try not to remove games not created by this script. 2013-08-28 07:29:23 -07:00
Eric House
668cc27f35 lots of logging; handle GCM messages for device as well as for a
single game; tweak for more reliable connection or messages to help
diagnose.
2013-08-27 07:57:36 -07:00
Eric House
a7d5d261d3 replace static final ints with enum 2013-08-27 07:03:25 -07:00
Eric House
084abb57e3 Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-08-27 06:52:11 -07:00
Eric House
35a09512ce add missing params 2013-08-26 08:41:42 -07:00
Eric House
57ea3cd77e wasn't supposed to check this in with debugging on 2013-08-26 07:22:07 -07:00
Eric House
f6b34fcbbc sleep time should depend on configured ACK expiry 2013-08-25 22:24:21 -07:00
Eric House
d3c15eb58b remove logging 2013-08-25 22:23:52 -07:00
Eric House
063b01d3d8 change most len-as-short+bytes strings to vli+bytes; add device model
to what's passed for device registration, and store it in a new column
in devices table.
2013-08-25 21:20:26 -07:00
Eric House
d10e9f6235 use vlis for acks in both directions 2013-08-25 16:59:07 -07:00
Eric House
47414beeb2 catch up with changes in udp proto: use vli for packet num in header. 2013-08-25 16:15:37 -07:00
Eric House
7e02db78db change function name spelling 2013-08-25 16:14:42 -07:00
Eric House
91235f3be7 begin process of using variable-length-ints in udp protocol. Works
between linux client and relay, but unrelased features of Android
client will be broken until fixed.
2013-08-25 12:34:35 -07:00
Eric House
69f34f4ef8 make method private 2013-08-25 12:32:26 -07:00
Eric House
cf3437c686 fix argc checking to prevent crashes 2013-08-23 07:44:42 -07:00
Eric House
4be1653ab7 remove logging 2013-08-23 07:41:10 -07:00
Eric House
235346b7a4 fix signature string (and log when there's a mismatch) 2013-08-23 07:41:10 -07:00
Eric House
38adea1612 fix infinite recursion 2013-08-22 08:23:32 -07:00
Eric House
1af12f1de2 refactor packet assembly/sending so posting message can post all,
including header.
2013-08-22 08:15:38 -07:00
Eric House
16aafccec6 to telnet interface add ability to forget device and to send to one
not known (which will make message available next time it connects or
via GCM); rename methods.
2013-08-22 06:29:20 -07:00
Eric House
23a59e8097 sometimes a device goes away and we don't notice, so when it comes
back just reuse its record rather than asserting there's no record
there.
2013-08-21 21:32:55 -07:00
Eric House
45998fd2c0 don't assert when packet size short is unexpectedly large. Not sure
why this happens, but it's not a reason to abort a test.
2013-08-21 21:28:47 -07:00
Eric House
3dee41e584 set new clntvers row in devices table at the same time as updating it
in games table.  (The latter is now redundant and will go away.)
2013-08-21 06:49:37 -07:00
Eric House
f728f7459b pass INITIAL_CLIENT_VERS and git version to relay 2013-08-20 08:42:41 -07:00
Eric House
5197033de3 In the spirit of setting constants in only one place, pass
INITIAL_CLIENT_VERS in from build.xml rather than the jni makefile,
and make it available in java world as well.
2013-08-20 08:42:12 -07:00
Eric House
2157706dcd add client version and a desc string to devices DB and to reg info sent to relay 2013-08-20 08:09:45 -07:00
Eric House
a8d67830d8 add missing enum 2013-08-19 20:51:03 -07:00
Eric House
84d06b9fed use g_shell_parse_argv() to parse input buf (so messages can be in
quotes and contain whitespace)
2013-08-19 08:25:06 -07:00
Eric House
7bce97f78a post notification, not alert, on receipt of relay alert message 2013-08-19 07:02:03 -07:00
Eric House
0868a33c83 print out whether message is ACK'd or not 2013-08-18 20:52:09 -07:00
Eric House
31a3a593a4 handle alert command by posting message (if app's in foreground;
should otherwise post an intent...); remove some of excessive logging
2013-08-18 20:13:08 -07:00
Eric House
5412119a6f add hexDump (commented out) 2013-08-18 15:49:13 -07:00
Eric House
d0aca01289 clean up send message/alert code 2013-08-18 15:48:44 -07:00
Eric House
47203437cc register devices more often; add ctrl command to send text message to
device if possible, otherwise to post it to the db (mostly for testing).
2013-08-17 14:55:19 -07:00
Eric House
8ad549d2bd query on null db fails, doesn't assert 2013-08-16 19:15:28 -07:00
Eric House
e776f7b230 comment out toast that's showing on every connection -- too annoying 2013-08-15 22:32:00 -07:00
Eric House
8c56f55445 track time since last game-related packet, not any packet from relay. 2013-08-15 22:32:00 -07:00
Eric House
10ef75113f factor common code 2013-08-15 22:32:00 -07:00
Eric House
6a27bbba94 tweaks to new ctrl command 2013-08-15 19:22:23 -07:00
Eric House
d07bb5013d oops: function need to return something 2013-08-15 19:22:01 -07:00
Eric House
62f0819a82 Toward resurrecting ctrl feature to give runtime info about stuff that
isn't in the DB.  Step one: comment out the stuff that doesn't compile
and add ability to print all registered devices with their ages.
2013-08-15 08:44:33 -07:00
Eric House
06f0b7e411 treat KEEPALIVE same as RQSTMSGS (for now) 2013-08-15 07:25:20 -07:00
Eric House
61009cefc7 in advance of using memcache, keep track (in memory) of those devids
for which no messages are pending, since that's a query that can be
made by each device every minute.
2013-08-15 07:24:30 -07:00
Eric House
42bbc946ae quote variable and echo when switching to udp 2013-08-15 07:20:22 -07:00
Eric House
f1b60dab62 Don't assert when can't find state transition. At least in some cases
these result from unexpected/out-of-order packets that slip through.
2013-08-14 08:11:21 -07:00
Eric House
fe51d19c2e Device can't be 'alreadyHere' if has hostID of 0 since the only way a
device gets registered involves giving it a non-0 hostID.  Fixes array
OOB access.
2013-08-14 08:10:09 -07:00
Eric House
80f66d1df7 remove test for duplicates now that it's impossible 2013-08-13 08:20:57 -07:00
Eric House
5be8779749 remove redundant member variable 2013-08-13 08:19:32 -07:00
Eric House
c9406c36ae use a simple array rather than a vector to store currently connected
devices.  It's simpler, searching for hid is faster, and it makes it
easier to detect when we try to add the same device twice.
2013-08-13 08:04:19 -07:00
Eric House
652a8ec905 toward staying reachable as-if GCM were there: note whether GCM
working, and if so skip keeping the connection up.  But otherwise stay
reachable by relay for a week after last udp packet was received.
2013-08-12 08:24:52 -07:00
Eric House
09494dcf09 remove unused param 2013-08-12 08:15:55 -07:00
Eric House
0ba0530bf3 set global before informing of change so if there's a query result
will match what was sent
2013-08-12 08:13:58 -07:00
Eric House
fde50cce32 move timeout interval into config file; cleanup 2013-08-12 07:41:48 -07:00
Eric House
a96c0c548f switch from static final ints to an enum; no other change. 2013-08-11 10:47:01 -07:00
Eric House
1d52a9afea add reset button to ConnStatusHandler on-click dialog that calls to
stubbed-out function in RelayService
2013-08-10 23:24:46 -07:00
Eric House
de1803c9dd cleanup: reduce number of params required 2013-08-10 17:36:37 -07:00
Eric House
758c6a6c5c add interface to ConnStatusHandler as part of moving UI-based response
into Activity.
2013-08-10 14:25:28 -07:00
Eric House
dbc1bb1cd5 use getHandler() 2013-08-10 08:54:51 -07:00
Eric House
787367071d show only those devids in the visible games 2013-08-08 19:55:04 -07:00
Eric House
f96155f12b merge changes for quick b65 2013-08-08 01:14:23 -07:00
Eric House
9528e61f84 Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-08-08 01:07:02 -07:00
Eric House
635b948c41 don't drop messages from devices without a devID -- lots of older
devices are in that boat.
2013-08-08 00:40:32 -07:00
Eric House
20056153aa up version strings 2013-08-07 23:54:47 -07:00
Eric House
6bb2a9bb9a fix crash upgrading from beta 30 (which is two years old!) 2013-08-07 23:52:37 -07:00
Eric House
d8e6979bcc cleanup: store db schema as arrays of arrays rather than arrays whose
odd- and even-indexed members have different roles.  Uses slightly
more memory but is better code.
2013-08-07 23:48:33 -07:00
Eric House
d00e9edf55 fix crash upgrading from beta 30 (which is two years old!) 2013-08-07 23:36:17 -07:00
Eric House
01c97c5716 null token is a possibility if message was stored by device connecting
via tcp and device is now connecting via udp
2013-08-07 21:59:21 -07:00
Eric House
cd9eea665b oops: still need to register device connecting via tcp so gcm sends
can work.
2013-08-07 21:36:06 -07:00
Eric House
84b77d4456 log threadid as unsigned int 2013-08-07 21:32:58 -07:00
Eric House
b49486fc3f cleanup: use constant and add/use isUDP() 2013-08-07 21:31:10 -07:00
Eric House
ae21b6f0d8 use new --use-udp flag and, by default, switch devices from tcp- to
udp-based connections over time at a configurable rate.
2013-08-07 21:12:08 -07:00
Eric House
71ea59e7fb separate whether app is using udp from whether it stores games in a
sqlite3 db so that it can switch mid-game -- that being something that
needs testing.
2013-08-07 21:09:48 -07:00
Eric House
bac947d780 don't remember tcp-based addresses. Fixes problem when a device
switches from tcp- to udp-based connection.
2013-08-07 21:04:05 -07:00
Eric House
91c82d9874 tweak logging to match format gdb prints 2013-08-07 21:03:11 -07:00
Eric House
6dbabaa319 cleanup 2013-08-07 21:02:47 -07:00
Eric House
da3f62729b Merge tag 'android_beta_64' into android_branch
beta 64
2013-08-07 06:18:15 -07:00
Eric House
b33991486c up strings for next beta (a quick fix) 2013-08-06 22:03:09 -07:00
Eric House
a38fd0e96c fix too-short tray on 10" tablet by making height a 16-bit value, not 8-. 2013-08-06 21:56:10 -07:00
Eric House
b9450589c8 add new commandline option --use-udp. Not yet used. 2013-08-06 21:10:42 -07:00
Eric House
470dbb5304 oops: still remove address from set tracked if it's not tcp 2013-08-05 07:50:11 -07:00
Eric House
4ad6696ecc add delete-on-ack logic to another message sending site, and fix
assertion failure caused by not providing a client token on messages
being sent.
2013-08-02 22:33:06 -07:00
Eric House
ed0c0fe3a5 add methods that don't require handler but use any set 2013-08-02 08:03:35 -07:00
Eric House
1e94e217b8 collapse catch statements since all do the same thing 2013-08-02 08:02:46 -07:00
Eric House
da54b1e5fb add keepalive timers 2013-08-02 08:01:16 -07:00
Eric House
1e35d676bf change constant name 2013-08-02 07:31:41 -07:00
Eric House
6e14a6d33a fix leak; remove unused variable 2013-08-02 06:11:08 -07:00
Eric House
8b936ea0ea iterator is invalid after erase() call, so advance first. Fixes problem valgrind found. 2013-08-02 06:08:41 -07:00
Eric House
a8cc920dcf new method 2013-08-01 07:49:12 -07:00
Eric House
4ecb0f534d For a subset of stored messages sent, don't remove from DB until
they're acked.  (This is the goal for all messages sent via UDP, but
will be harder elsewhere in the code.)
2013-08-01 07:48:44 -07:00
Eric House
684effd170 cleanup 2013-08-01 06:12:58 -07:00
Eric House
17b8eae1f1 clean up fetching of stored messages, and excluse those from dead games 2013-07-31 07:24:58 -07:00
Eric House
64b89536b0 Test whether game is on device before starting process of opening it.
Fixes problem caused by relay sending messages for games that have
been deleted.
2013-07-30 07:43:52 -07:00
Eric House
4ce2368e90 remove unused variable and functions that set it 2013-07-30 07:35:13 -07:00
Eric House
54c1e0c2ab drop bogus assert 2013-07-29 17:39:43 -07:00
Eric House
b40533230a fix OS warning by unregistering SMS receivers in onDestroy 2013-07-29 07:50:01 -07:00
Eric House
63ad3a196b debug build asserts that packet is meant for this device, but
non-debug should drop those that aren't.
2013-07-29 07:30:46 -07:00
Eric House
1f877c7567 remove logging 2013-07-29 07:29:01 -07:00
Eric House
d8a4b5ce29 include udp maxInterval, the number of seconds the relay's configured
to assume an address is still good when it hasn't heard from it, in
reg response reply, send that reply always, and read and log the new
field on clients.  It will eventually be used to implement a
keepalive.
2013-07-29 07:27:30 -07:00
Eric House
cdea106824 change param to simplify code a bit 2013-07-29 06:33:31 -07:00
Eric House
5f9b2e431f optimization: test address before fetching messages for it 2013-07-28 07:28:32 -07:00
Eric House
9951064439 fetch all stored messages at once to reduce number of DB calls made. 2013-07-25 06:37:53 -07:00
Eric House
6bb2efbbd5 remove mistaken assert 2013-07-24 06:03:50 -07:00
Eric House
41160579ca remove duplicate 2013-07-23 18:30:08 -07:00
Eric House
bfc617720e add isCurrent() method on UDP addresses based on how long it's been
since we've received data from the same source, and use to drop
packets in response to reads that are older than when the test says
the endpoint of the address changed.
2013-07-23 06:21:57 -07:00
Eric House
572d3596ae add heretofore undocumented config 2013-07-23 06:18:17 -07:00
Eric House
ceacbc2cbe fix formatting error 2013-07-23 06:17:35 -07:00
Eric House
acca4d14d4 new files to track how long it's been since data's been received from
a UDP address.  The idea's that when there's too long a gap the
address has likely been recycled and we shouldn't send replies to
packets received before the reset.
2013-07-22 07:26:14 -07:00
Eric House
6418513a6d don't try to read from socket if == -1 2013-07-22 06:15:35 -07:00
Eric House
385243763a Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-07-22 06:13:01 -07:00
Eric House
a191c6fc2a don't add chats to queue at len 64 rather than 128 2013-07-22 06:12:06 -07:00
Eric House
7b18da70db logging tweak 2013-07-22 06:11:10 -07:00
Eric House
48a2567edf log contents of incoming udp packets 2013-07-22 06:06:39 -07:00
Eric House
13550865ad drop packets in queue if they've been there longer than 30 seconds --
which should be a configurable value.
2013-07-22 06:05:24 -07:00
Eric House
3a14b12cc5 exit when number of core files changes, not if it's non-zero 2013-07-20 12:52:32 -07:00
Eric House
13c234dfab log when address replaced 2013-07-20 11:59:00 -07:00
Eric House
49a2d099f0 include packet num in every udp packet. They start over on app
reboot, but add a bit of help with debugging.
2013-07-20 11:57:10 -07:00
Eric House
5d8cd5a17f recognize already-seen devices. This seems to occasionally fix
reconnect problems but needs to be studied/tested more -- check logs.
2013-07-20 11:44:00 -07:00
Eric House
464ef49018 add new send_via_udp that may be able to check for address validity 2013-07-20 10:37:38 -07:00
Eric House
792a51a404 change ivar name 2013-07-20 08:33:22 -07:00
Eric House
61992943dd Add mapping from address to devid in order to catch when an address is
reused.  That required making AddrUnion a class rather than a simple union.
2013-07-20 08:06:14 -07:00
Eric House
573a87993e Don't propogate chat when queue too full. This *should* only impact
tests since users won't keep chatting at a non-responsive friend.
2013-07-20 08:01:56 -07:00
Eric House
32150049e2 assert that we aren't tracking two connected games with the same hid 2013-07-20 06:28:35 -07:00
Eric House
27d9f3de45 Don't enable chat when more than 128 messages are in queue to prevent
an extremely unlikely cause of stalls -- and make tests trip over full
queues less often.
2013-07-18 07:37:45 -07:00
Eric House
3f59b31d51 Log received udp messages as b64-encoded strings. These match what the
relay's now logging
2013-07-18 07:07:25 -07:00
Eric House
1e6ff9b33c include seed in chat messages to make sure they're unique 2013-07-18 07:06:20 -07:00
Eric House
2ce097629f log contents of udp packets as b64-encoded strings for debugging; off
by default.
2013-07-18 06:52:07 -07:00
Eric House
06dd9a99a1 better logging 2013-07-17 21:34:52 -07:00
Eric House
3737f19548 better logging 2013-07-17 21:34:27 -07:00
Eric House
972dcfec81 cleanup 2013-07-17 21:33:59 -07:00
Eric House
1d5cf0bea7 don't remember devid unless it's valid 2013-07-17 21:33:36 -07:00
Eric House
93a7c7f817 fix to compile when DEBUG not defined 2013-07-17 06:52:35 -07:00
Eric House
bf39f9194c kill service after 3 minutes of no socket activity 2013-07-17 06:42:54 -07:00
Eric House
d436232800 correctly log b64 dump of return address at record and use sites 2013-07-17 06:38:25 -07:00
Eric House
62dacb83d8 fix to compile when DEBUG not defined 2013-07-16 08:17:46 -07:00
Eric House
4d9d65b67e Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-07-16 08:07:41 -07:00
Eric House
3d9539b42b don't stop comms before every save, but only when stopping 2013-07-16 08:06:23 -07:00
Eric House
5571816339 enable udp by default 2013-07-16 08:05:46 -07:00
Eric House
403401745e network connection stuff must not be run on main/UI thread, so to
preserve socket connection completing before startup of read and write
threads, move it and start of write thread to beginning of read
thread.
2013-07-16 08:01:59 -07:00
Eric House
b7e00bfc0c log when unable open game based on rowid -- which may happen if
e.g. relay is sending packets to wrong device.
2013-07-16 07:56:56 -07:00
Eric House
d6fd79be44 log, and be more aggressive about closing, sockets on which errors occur 2013-07-16 06:43:30 -07:00
Eric House
e6e7154c82 close socket rather than proceed with what looks like a bad packet/connection 2013-07-16 06:42:21 -07:00
Eric House
021d6370f3 drop, rather than asserting about, corrupt packets -- meaning where
the player counts don't make sense.
2013-07-16 06:40:00 -07:00
Eric House
1638d964fb log socket address to try to track down apparent misaddressing 2013-07-16 06:38:26 -07:00
Eric House
cd728853b9 check for case where rowid doesn't exist (rather than NPE) 2013-07-15 07:51:15 -07:00
Eric House
e80fe76652 assert we don't go out of bounds on array 2013-07-15 07:33:27 -07:00
Eric House
27e90c2d2c exit as soon as there's a core file 2013-07-15 07:16:35 -07:00
Eric House
b5714e9d14 improve API: hide special numbers inside implementation 2013-07-12 08:24:44 -07:00
Eric House
ab1ae7c9ad remove logging 2013-07-12 08:19:53 -07:00
Eric House
9e358ad413 don't insert a new message in queue if it's identical to the one
currently at the end.  This mostly happens when devices are making
several initial client connection attempts before succeeding.
2013-07-12 07:34:12 -07:00
Eric House
8a4e766b32 make 50% of games communicate via UDP by default 2013-07-11 20:39:40 -07:00
Eric House
491b288631 assert that the seed's preserved for curses version too (where
clientToken is otherwise ignored since there's only one game per app
instance)
2013-07-11 20:39:10 -07:00
Eric House
9db54a5461 make linux version's gameToken combine game's seed with rowid so we
can test that the relay is keeping them straight
2013-07-11 20:01:17 -07:00
Eric House
f27d8d5d8f list java files first so their methods, which tend to be more
numerous, will be found last.
2013-07-11 19:56:37 -07:00
Eric House
d6658c5c08 don't show other_disconnected error message 2013-07-10 23:14:48 -07:00
Eric House
7dfd19a7a2 name change 2013-07-10 23:14:24 -07:00
Eric House
5814febad5 better client token logging 2013-07-10 23:13:50 -07:00
Eric House
2060aa4577 don't match on empty devID 2013-07-10 23:12:57 -07:00
Eric House
a522266ce4 add message checksumming for android too by making it part of util
(compiled out by default)
2013-07-10 08:05:47 -07:00
Eric House
dbf156fca7 remove excess logging 2013-07-10 08:02:28 -07:00
Eric House
5462a05692 Merge branch 'gtk_multigame' into android_branch 2013-07-09 19:35:26 -07:00