Commit graph

1289 commits

Author SHA1 Message Date
Eric House
f1956ddcb4 prevent continuing attempts to send messages from client after it's
deleted the game those messages are part of.  I'm keeping a list of
dead games and checking against that, and currently that list will
grow for as long as the sender thread lives.  Shouldn't be a problem
but needs fixing.  Better would be to remove all messages from queues,
but that has synchronization issues.
2012-02-27 07:57:54 -08:00
Eric House
456dcca7b8 don't crash when device list empty 2012-02-27 07:50:11 -08:00
Eric House
34f3c38b48 Add "clear selected" button to btinviter UI that's enabled when one or
more is checked.  On launch, get the set of known device, and on scan
do NOT start by emptying.  This allows to maintain a set of devices
and still scan without losing those not present.
2012-02-25 10:43:08 -08:00
Eric House
99e0fea3c3 use resource rather than hard-coding name of game. 2012-02-22 14:09:03 -08:00
Eric House
1b542a1d22 using the version of BluetoothServerSocket.accept that doesn't take a
timeout makes it slightly more likely that HTC Sensation will notice
an incoming connection, but it's still unusable most of the time.
2012-02-22 14:08:38 -08:00
Eric House
cf77872dd4 test for null object before calling method 2012-02-22 14:06:47 -08:00
Eric House
7cef230e2c BTEventListener is implemented by superclass, so override rather then
implement the interface.
2012-02-22 14:06:15 -08:00
Eric House
7a21d4c151 show the giving up message as a dialog rather than a toast 2012-02-22 14:04:36 -08:00
Eric House
8c7487dc91 use GameUtils.getName() to avoid NPE -- it doesn't return null 2012-02-22 13:00:16 -08:00
Eric House
12de8bf38b change button text from Ok to Invite 2012-02-22 10:37:10 -08:00
Eric House
6f2b5a9c8d don't ask to invite when opening unconnected BT game immediately after
sending an invitation.
2012-02-22 10:36:37 -08:00
Eric House
b2f67cfcce don't try to send without an address. Fixes an occasional assertion
failure.
2012-02-22 10:35:22 -08:00
Eric House
10f41e5c5b Merge branch 'android_branch' into android_bt 2012-02-22 09:52:31 -08:00
Eric House
72e114838f commented-out function to send a .xwd as an email attachment. I can't
get it to work but it's worth keeping for a try later.
2012-02-22 09:51:35 -08:00
Eric House
03fcbb3ddc comment out unused button; cache list of known local devices and use
that as starting point so initial scan can be skipped.  When unable to
deliver a message to remote device, give up after three tries and send
message to that effect.
2012-02-22 08:02:11 -08:00
Eric House
a6f35af187 add methods to get/set cache of known BT devices 2012-02-22 07:50:33 -08:00
Eric House
a6a13bcffd add new BTEvent to tell UI that a message will be resent, and in UI
put up a toast naming the unavailable device.  Might want a backoff on
this....
2012-02-15 18:55:58 -08:00
Eric House
7d573970e0 move handler and post() into Activity superclasses 2012-02-15 18:38:49 -08:00
Eric House
1f4f6a06a8 Merge branch 'android_branch' into android_bt
Conflicts:
	xwords4/android/XWords4/jni/xwjni.c
2012-02-15 18:18:26 -08:00
Eric House
14a3a5a7aa Save which languages are displayed opened as an invisible preference
rather than in a static so it is more persistent.
2012-02-15 18:16:46 -08:00
Eric House
663734d0da When a message isn't sent, keep it in a per-target-device queue and
try again in five seconds This seems to fix nearly all stalls.
Eventually will try notifying users and backing off on the resends.
2012-02-15 06:14:40 -08:00
Eric House
3acc38076b move methods inside the threads that are their only callers. No
behavior change.
2012-02-15 04:53:34 -08:00
Eric House
f40f2bffcf add game name as something passed with invitation. Later will get it
from user.  Idea is to make it easy to identify the games in GamesList
on two devices side-by-side.
2012-02-10 18:48:46 -08:00
Eric House
43dca99a2c add preliminary text including number missing. 2012-02-10 18:44:27 -08:00
Eric House
114db0c96a cleanup: consistent param name 2012-02-10 18:08:59 -08:00
Eric House
32e2053d95 cache relay address but not BT address, which will vary on host if
more than one guest.  This fixes three-way play over BT!!
2012-02-10 07:00:09 -08:00
Eric House
1bb18cbde5 don't put up missing players dialog unless there's at least one. 2012-02-10 06:53:15 -08:00
Eric House
d469467fcc cleanup 2012-02-09 19:02:46 -08:00
Eric House
73d1d1dcbd fix problem with crash after receiving names of devices chosen to
provide missing players by postponing it until the game's fully
opened.  Now games are created on the chosen devices that are able to
connect.
2012-02-09 18:50:01 -08:00
Eric House
75cb8cae9c factor code and log bt name of local device on startup -- no
significant change.
2012-02-09 18:48:26 -08:00
Eric House
74aeeca8e0 move BT device listing into its own Activity. Call it from
NewGameActivity and from BoardActivity when the new notifyMissing
method gets called.  Works as before called from NewGameActivity but
BoardActivity crashes on iterating over list of devices returned.
2012-02-09 05:21:23 -08:00
Eric House
764180fc48 remove unused member 2012-02-09 05:15:09 -08:00
Eric House
be8d3e8b5a when receiving a message for a game that no longer exists, reply to
that effect, and on receipt of that reply offer to delete the local
copy.
2012-02-08 06:41:39 -08:00
Eric House
15f8cd5b33 post notifications when moves arrive and game isn't open. And handle
BAD_PROTO event (untested).
2012-02-07 18:41:56 -08:00
Eric House
ba40028a91 raise an error when unexpected protocol received. Later I can add a
user-visible message.
2012-02-07 18:11:56 -08:00
Eric House
898d9c339a add protocol-identifier byte. For now just assert it matches. 2012-02-07 18:05:06 -08:00
Eric House
ac2ac47aed code cleanup: make treads own their queue datastructures, use methods
to stop them, etc.  Heading toward making it easier to detect when the
BT stack is hosed and user needs to be warned or told to get a better
phone.
2012-02-07 17:42:01 -08:00
Eric House
aca4e1fed8 init db before using it 2012-02-07 07:06:25 -08:00
Eric House
bde5910c2a Merge branch 'android_branch' into android_bt 2012-02-07 06:21:13 -08:00
Eric House
e0ee197888 make relay check happen on demand, not many minutes later. 2012-02-06 21:35:11 -08:00
Eric House
47c3bd3090 track a BT game's set (singleton for two-device game) of remote
devices in summary DB so, e.g., we can quickly determine what games
care when a devices becomes available via BT.  First use of this is
notifying when a remote game's deleted -- least that's the plan.  This
commit just adds to the DB and scans the DB to build a map of
device->gameIDs array.
2012-02-06 19:02:19 -08:00
Eric House
52ffefb173 add new column to store mac addresses of remote devices in this game via BT. 2012-02-06 18:57:30 -08:00
Eric House
796baffa6d Merge branch 'android_branch' into android_bt 2012-02-06 18:13:57 -08:00
Eric House
d3bb7d490a simplify cursor code 2012-02-06 18:12:28 -08:00
Eric House
39e30184b1 move responsibility for letting other device know a participant game
has loaded into CommsTransport.
2012-02-06 06:53:28 -08:00
Eric House
d8ee493f1b On "configure first" BT newgame button, create the game then launch
the GameConfig activity.  If the user exits other than with "play
game", delete it so user never sees it.  Otherwise launch it.  Next
step is to detect a BT host that's missing clients and offer to invite
them.
2012-02-06 06:29:37 -08:00
Eric House
4deb1d3a77 add threadKiller to close sockets when remote isn't responding --
which can sometimes be for minutes with the Moment at least.  Make
name->hwaddr Map static since it might as well outlive a Service
instance (though right now I'm clearing it all the time.)
2012-02-05 21:47:26 -08:00
Eric House
99e001b8a2 launch game after creating it 2012-02-05 21:45:21 -08:00
Eric House
0cc7ad3e49 start from gameID in onCreate as well as onNewIntent. 2012-02-05 21:44:52 -08:00
Eric House
bc8299fe30 run accept() with timeout so it'll show up in logs when the thread
died.  I hope.
2012-02-03 17:30:47 -08:00