Commit graph

4550 commits

Author SHA1 Message Date
Andy2
ad829b74f7 cache DictInfo rather than just lang code; add method that formats
name with lang and count.  Ideally the dict display would be a table,
but it's not trivial to switch from a list to scrolling table.
2010-12-06 18:27:00 -08:00
Andy2
f50e6b3f1b turn dict_getLangCode into dict_getInfo, adding a struct that contains
lang code and new word count.
2010-12-06 18:25:23 -08:00
Andy2
e4999acc98 add dict_getWordCount() 2010-12-06 18:24:31 -08:00
Andy2
ff9e03ef4b read rather than just skipping word count 2010-12-06 07:30:28 -08:00
Andy2
91c04d3267 switch to new format (with header giving word count) 2010-12-06 07:26:47 -08:00
Andy2
12508b7cd5 cleanup stderr output 2010-12-06 07:23:22 -08:00
Andy2
0072112b5a fix syntax for including newheader so only one gets included. Fixes
bug building multiple dicts where headers would accumulate.
2010-12-06 07:23:05 -08:00
Andy2
e2bb50ef62 skip new header if present 2010-12-06 07:22:07 -08:00
Eric House
c4cdc24b78 initial changes to add a header to xwd format so that stuff like
number of words can be included.  Changed to build dicts and linux to
open them.  Android still needs to learn.  Also, some of the tools in
dawg/ need to be fixed to read old-format (pre-utf8) .xwd files.
2010-12-05 19:33:10 -08:00
Eric House
eff2324950 fix compile command 2010-12-05 19:30:00 -08:00
Eric House
bef1e125bf ignore .pdb files 2010-12-05 19:29:15 -08:00
Andy2
b23de9a958 switch from nio to regular old io, with separate reader and writer
threads.  Greatly simplifies things, but only tested for the simplest
case, and I know it won't correctly reconnect when relay goes down.
But folks recommend against nio, and I'd like to see if I'll get
notifications in the form of blocking socket calls returning or
raising exceptions when the network goes down, something that isn't
happenening with nio.
2010-12-03 18:48:14 -08:00
Andy2
fda21e8d15 save room and player names if leaving simple config dialog via the
advanced config button (but still drop if back button hit.)
2010-12-03 06:44:34 -08:00
Andy2
426f990156 fix infinite loop creating networked game: util_rand() can't call into
java in some cases so needs to fall back to returning rand().
2010-12-03 06:43:40 -08:00
eehouse@eehouse.org
ddaa368af3 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 22:38:16 -08:00
Andy2
984a5d6154 Fix yet again what shouldn't have been checked in. 2010-12-02 22:37:21 -08:00
Eric House
9fd4229384 pass host to rq too 2010-12-02 22:34:59 -08:00
Eric House
328fe7d6dc Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 22:31:34 -08:00
Eric House
d1244da284 script encapsulating sql query that's useful to run (with 'watch') along with discon_ok2.sh 2010-12-02 22:29:36 -08:00
Andy2
99c92e779d in attempt to work around non-random rand() in jni world, call back
into the java world by making it a util_ctxt function.  Do same on
linux to test.  We'll see how it is -- and can back this commit out if
there's no improvement.
2010-12-02 19:02:36 -08:00
eehouse@eehouse.org
c4a4a39438 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-12-02 05:56:26 -08:00
Eric House
ae9dbd1e5c create mtimes array rather than mtimes timestamp 2010-12-01 21:09:25 -08:00
Eric House
4bd5553596 track mtime per host rather than per game -- make it an array in the db. 2010-12-01 21:08:22 -08:00
Andy2
2e956e2f6e debug is not supposed to be checked in turned on 2010-12-01 18:13:55 -08:00
Andy2
e89feb62d8 second part of manual merge of unicode_branch's dawg/ directory into
this one.  This adds the directories and their files created inside
dawg.
2010-11-30 18:38:05 -08:00
Andy2
79990bc7b1 first set of changes formed by applyinig diff of android_branch's
dawg/ directory against unicode_branch's.  The two branches seem to
have to common ancestor -- probably didn't survive translation from
svn -- so this is the best I can do.

This checkin is all the files that were modified by the patch plus a
couple of simple additions.  Next I'll be adding directories that the
patch created.  It also reintroduced a bunch of .cvsignore files; I
won't check those in.
2010-11-30 18:35:11 -08:00
Andy2
78be732c64 use min of score ht and cell width for network status icon. Fixes
problem on 600x800 devices where the icon overlaps the board.
2010-11-30 18:21:28 -08:00
Andy2
a5c36f37a4 new strings for dict substitution 2010-11-30 06:37:23 -08:00
Andy2
d086dad34e Since you can't add/remove buttons in onCreateDialog(), add a new one
to use when there are other dicts available in the same langauge as
the missing one that offers to substitute, and another dialog
presenting a list of same-language dicts.  Then substitute the one
tapped.
2010-11-30 06:37:01 -08:00
Andy2
3a9eb72db3 add static methods to count and list dicts in a given langauge. 2010-11-30 06:34:57 -08:00
Andy2
1653b9f6e9 replace call to rand() with android_only function that reads two bytes
from /dev/urandom.  rand() has been returning pretty crappy numbers
resulting in lots of clustering of tiles in trays.  Let's see if this
is any better.
2010-11-29 17:12:12 -08:00
Andy2
b4fb57de9c move thread inside so it can be started and stopped. And exit the
thread on failure to connect, allowing comms' timer to control when we
retry.  This fixes problem where would try multiple times/second to
connect when relay was down.  Now we try every 15 seconds (per comms,
which can as well back-off), and shortly after the relay comes back up
connect successfully.
2010-11-24 18:14:34 -08:00
Andy2
8623c569e7 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:46 -08:00
Andy2
be35d875b2 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:04 -08:00
Andy2
7c96048ba2 add, but comment out because it requires user permission, code to
notice when cellular data becomes available and notify relay of dead
games then.  Must be a way to notice a network interface cellular or
not without permission since I already have permission to use it.
2010-11-23 19:01:32 -08:00
Andy2
c3f43dd26c when deleting all games don't inform relay until after the last one so
a single connection does it.
2010-11-23 18:28:05 -08:00
Andy2
5bf87b3bea add function to invoke rq once for all the relayIDs in the set of
devices making up a game.  Actually using it make the script fail for
some reason and so it's commented out, but it helped to debug the
relay.
2010-11-23 18:12:11 -08:00
Andy2
0bbf7272aa don't create thread if there are no obits in the db -- makes it
cheaper to call when there may be nothing to do.
2010-11-23 18:10:51 -08:00
Andy2
7c8622392d send the list of saved deleted relayID/seed pairs off to the relay and
remove them from db when relay reports success.  TODO: relay always
reports success even if some are malformed and it's aborted parsing.
2010-11-23 17:56:17 -08:00
Andy2
1720fbbd50 fix parsing of relay ids by replacing separating \n with \0. 2010-11-23 17:46:16 -08:00
Andy2
111c59dd30 toward having game deletion get reported even if network isn't live at
the moment: create new "obits" table and put dead game info in it.
Change constant for current table name to be less generic.
2010-11-23 06:44:59 -08:00
Andy2
2127394260 don't allow resignations below a certain point -- which happens to fix
divide-by-zero error.
2010-11-22 20:44:28 -08:00
Andy2
daecc807c1 don't init nPerDevice, and deal with it not being inited. 2010-11-22 20:43:37 -08:00
Andy2
eebf5f1252 remove the big dictionary. Ideally I'll figure out how to gracefully
allow to switch without downloading before the next beta.
2010-11-22 18:24:37 -08:00
Andy2
983906810c set dropdown view resource on public rooms spinner -- fixes problem
where it was drawing super-small.
2010-11-22 07:39:18 -08:00
Andy2
3ee3af8881 init crosshairs correctly so 0th column and row aren't drawn short. 2010-11-22 07:04:51 -08:00
Andy2
edab239060 add one more change 2010-11-21 20:12:45 -08:00
Andy2
ead21206e0 up version to 5 not 6 since prev beta was at 4. 2010-11-21 20:12:34 -08:00
Andy2
7d164f2389 complete list of changes 2010-11-20 21:19:56 -08:00
Andy2
d23dc4aee5 No need to use CurGameInfo for any game summary fields since it's all
in the summary db now.  Saves opening the game itself just to show it
in a list.
2010-11-20 20:37:01 -08:00
Andy2
985c3d586c move gameslist summarizing methods from CurGameInfo to GameSummary. 2010-11-20 20:34:41 -08:00
Andy2
b3b9742cdf add serverrole and players summary to summary db 2010-11-20 20:34:00 -08:00
Andy2
a9a1076d02 actually delete dict when no games use it. 2010-11-19 21:47:38 -08:00
Andy2
b2e418436d tweak string 2010-11-19 21:09:36 -08:00
Andy2
e38ac33e00 move dict-missing dialog from DlgDelegate into GamesList because
that's the only place that is or should be calling it.  And since we
can usually figure out the exact url for the dictionary go ahead and
try to download that.
2010-11-19 21:08:09 -08:00
Andy2
0578a0e4f6 When deleting dictionaries, just do it unless the dictionary's in use
in which case tell user how many games are using it when asking for
confirmation.  To do that, add dict into summary DB, and to do that
add CurGameInfo into GameSummary's constructor.  Also, when there's no
summary for a game, make one on the spot and add it to the db.  This
will crash if the game's dict has been deleted.  Need to deal with
that, probably by deleting unsummarazible games, becuase now if
somebody installs this on top of a device where a game's dict is
missing and it has no summary I'll never boot.
2010-11-19 18:37:00 -08:00
Andy2
586b211b04 add dict name and language to summary database. Probably eventually
want to move everything for the display here -- and maybe the file
contents too as a BLOB.
2010-11-19 18:24:56 -08:00
Andy2
71059e6dff remove nPlayers from game_summarize 2010-11-19 18:23:34 -08:00
Andy2
92940e6638 add model_getNPlayers() 2010-11-19 18:22:39 -08:00
eehouse@eehouse.org
d261aa8184 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-18 22:42:43 -08:00
Eric House
a1caaeb183 simulate games being deleted before they're finished 2010-11-18 22:27:46 -08:00
Eric House
7a2d279308 add logging so script can better track what state relay game is in 2010-11-18 22:27:06 -08:00
Andy2
43be0183a5 just assert that dict can be opened as part of opening game. GamesList
is now responsible for not launching a game if its dict is gone.
2010-11-18 19:05:22 -08:00
Andy2
3eb8b723de don't assume no-dict dialog should call finish on its calling
Activity() on exit -- we're not letting the Activity launch any more.
2010-11-18 19:04:43 -08:00
Andy2
198534dce3 check if dict missing and warn rather than do anything that will crash
if it's not there.  Ideally I could open the config dialog so user
could change the dict but that isn't working.  Maybe just offer to
open it after swapping in the default dict?
2010-11-18 19:00:49 -08:00
Andy2
7921ddca10 don't crash when asked to reset a game whose dict has been deleted. 2010-11-18 18:52:04 -08:00
Andy2
163c124072 update for b19 2010-11-17 06:13:31 -08:00
Andy2
fc88742978 up constants for b19 2010-11-16 21:06:43 -08:00
Eric House
b91187d6a5 test result when parsing; drop if didn't parse 2010-11-16 20:30:43 -08:00
Eric House
f33466b6db exit with non-0 on failure so calling script/loop can exit too 2010-11-16 20:29:55 -08:00
Eric House
4c6c3c1ded when marking a device in a dead game, negate its nperdevice entry rather than always using -1. 2010-11-16 20:28:53 -08:00
Andy2
635ae053b6 cut down on printing; don't assert-fail when relay's crashed. 2010-11-15 20:40:59 -08:00
Andy2
2c5c7a0dd1 init m_nRoomsFilled -- not sure when this http view feature broke 2010-11-15 20:08:59 -08:00
Andy2
a1be555910 improve string for deleted remote game -- but really needs a "delete
now" button.
2010-11-15 19:02:12 -08:00
Andy2
3b30aff613 use external relayID.sh script 2010-11-15 19:01:38 -08:00
Andy2
ea292c7e2f exclude dead games when looking for open public rooms 2010-11-15 19:01:11 -08:00
Andy2
58cd93ef6f given a log file, generates an ID that can be passed with the -d
option to relay/rq.
2010-11-15 18:34:56 -08:00
Andy2
c6bd2125a4 java uses '/' to delimit device id, so we'll make that standard. 2010-11-15 18:27:36 -08:00
Andy2
c36679fe13 init isDead to false. Fixes prolem where if DB entry's missing the
value is uninitialized and so device gets warned that other device
resigned even if none did.
2010-11-15 18:21:40 -08:00
Andy2
a69e2ad8be add test for device-gone notification by calling rq after gleaning
required params from logs.  So far testing only after game is over;
need to test mid-game deletion too.
2010-11-15 06:52:35 -08:00
Andy2
d4e810c9cb delimiter changed 2010-11-15 06:51:05 -08:00
Andy2
ce5738a4e1 write the count 2010-11-15 06:50:09 -08:00
Andy2
edf0c40904 track isDead when creating SafeCref for devgone 2010-11-15 06:49:41 -08:00
Andy2
2c9f2572a8 use GameFull() 2010-11-15 06:48:57 -08:00
Andy2
feca7345dc add GameFull -- database, not in-memory state, knows if game is full. 2010-11-15 06:48:36 -08:00
eehouse@eehouse.org
14579c6e30 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-14 19:40:35 -08:00
Eric House
528ae0c986 allow more than one device death per message 2010-11-14 15:19:38 -08:00
Eric House
a8ac30b180 add -d option to test dev-gone on relay 2010-11-14 15:18:49 -08:00
Andy2
9026d5c149 remove obsolete script I keep accidentally invoking 2010-11-12 18:26:01 -08:00
Andy2
43896ff187 remove unused method and variable 2010-11-12 18:25:15 -08:00
Andy2
fc8cac3b6a handle new device-gone message by posting timed-out dialog. 2010-11-11 06:43:36 -08:00
Andy2
b0a4790ce0 respond to new game-gone message by passing to utils. 2010-11-11 06:41:24 -08:00
Andy2
0787a06eb5 accept new message from device announcing the death of a game
(including seed so it's harder to spoof); respond to that by setting a
DEAD column in the db and flagging the device as gone.  Notify any
connected device of the fact.  Refuse to accept new connections to
that game.  As already-connected devices reconnect, allow them to do
so but send a new status message that their game is dead.  Not heavily
tested yet.
2010-11-11 06:40:50 -08:00
Andy2
3d59bc7e39 add new DEAD column to track when a game's been deleted 2010-11-11 06:29:21 -08:00
Andy2
04e1b0c22b new constants, include new status event type, for relay to accept
notification of deleted game and communicate that to others in the
game as they connect.
2010-11-11 06:26:59 -08:00
Andy2
d809db7b21 plug into delete and reset code to notify relay that game's forever gone. 2010-11-11 06:25:08 -08:00
Andy2
cf84cce41a define and handle new other-was-deleted error relay is about to start
returning.
2010-11-11 06:23:48 -08:00
Andy2
e3f373039a add informOfDeath to communicate to relay when game is deleted 2010-11-11 06:22:38 -08:00
eehouse@eehouse.org
048eff92b8 Merge branch 'relay_proxy' of /home/andy2/dev/git/LOCAL_ORIGIN into relay_proxy 2010-11-10 07:17:39 -08:00
eehouse@eehouse.org
7929167129 Merge branch 'android_branch' into relay_proxy 2010-11-10 07:06:10 -08:00
Andy2
f373b52d45 fix bug drawing tile letters when drawScaled() got triggered (e.g. for
W on non-std-sized screen): pass null as scr rect to drawBitmap so the
whole bitmap gets used.
2010-11-10 07:05:40 -08:00
Andy2
d3e644db83 stop requiring 1.6 sdk when runs fine on 1.5 2010-11-10 06:57:45 -08:00
Andy2
c8d7ca40a5 use \1 instead of \n as delimiter -- in case somebody passes as string
containing a \n.
2010-11-09 18:02:22 -08:00
Andy2
0f111ab363 use PQexecParams instead of PQexec for queries involving strings from
users (i.e. room names) to avoid crashes when the contain apostrophes
-- and in general to be safer.
2010-11-09 17:27:33 -08:00
Eric House
966616cbc4 throw in the public flags; disallow unset variables 2010-11-09 05:54:23 -08:00
Eric House
2a2f4d4395 been a while since cvs... 2010-11-09 05:53:49 -08:00
Andy2
42481a31cc add seed to db; get and set it. 2010-11-08 17:23:54 -08:00
Andy2
82876bda06 add seed and fetch it in jni 2010-11-08 17:23:16 -08:00
Andy2
22f7a42c1d make comms_getChannelSeed non-static so jni can call it 2010-11-08 17:22:38 -08:00
Andy2
b49015c9a1 map out-of-range lang codes to 0. Otherwise we get outOfBounds
exceptions once Hex dict is installed.
2010-11-07 15:42:09 -08:00
Andy2
d893632e1b map out-of-range lang codes to 0. Otherwise we get outOfBounds
exceptions once Hex dict is installed.
2010-11-07 15:34:40 -08:00
Andy2
83ae8d316c switch to RelativeLayout, putting lock checkbox at top and play game
button in the middle with everything else scrolling in between.  This
particular application of RelativeLayout works on 1.5 (in emulator).
2010-11-07 15:13:39 -08:00
Andy2
aff3c9a931 stop requiring 1.6 sdk when runs fine on 1.5 2010-11-07 15:12:37 -08:00
Andy2
1e5ac393c1 update for b18 (but leave b17 description below since that represents
two months of work and b18 two hours.)
2010-11-07 14:13:04 -08:00
Andy2
6da013af9d up constants for beta-18 2010-11-07 14:04:37 -08:00
Andy2
c2472c0cb5 don't call java code if rect width is 0. Fixes crash (but not design
problem) where first to connect in room specifies a timer and second
does not.  Second eventually gets message saying there's a timer but
has not layed out space in the board and java freaks out when later
asked to make a 0-width image.  This fix leaves the device not drawing
the timer until the game is reopened.  The better fix would trigger a
re-layout as soon as the change is made.
2010-11-07 14:03:24 -08:00
Andy2
cfd4345287 remove too-frequent logging 2010-11-07 13:31:43 -08:00
Andy2
99a557a604 fix blanks-first option to assign one blank per tray rather than all
to first.  Makes for more realistic test.
2010-11-07 12:20:39 -08:00
Andy2
83f6ebca79 work around bug -- or design flaw -- where when timer is set hint or
robot with blank in tray keeps flashing the in-progress indicator by
flagging CMD_TIMER_FIRED as a non-ui event so busy() won't return when
it's what's on the queue.  Problem with that is that the timer stops
advancing during a hint which is clearly not what's happened.
2010-11-07 12:13:07 -08:00
Andy2
2c95179050 don't complain about empty room name for standalone game 2010-11-07 11:50:01 -08:00
Andy2
57838c0436 improve script. Allow pass either branch or tag on commandline,
defaulting to branch of tree from which called.  Add usage().  set -u
-e and deal with [ -n "$1" ] being an error in that case.
2010-11-07 08:16:36 -08:00
Andy2
46a01ace56 work around occasional crash in on-device testing by checking for 0
before passing to getString.  Not sure of the circumstances but the
crash is coming from restoreManagedDialogs() -- might be related to
screen orientation changes.
2010-11-06 21:34:16 -07:00
Andy2
dd3bd1f661 don't show hint buttons until there are tiles assigned 2010-11-06 21:31:53 -07:00
Andy2
a6a7f1899d remove logging 2010-11-06 21:01:50 -07:00
Andy2
2fc48cbd97 nuke unused constant 2010-11-06 21:01:29 -07:00
Andy2
92ec742f90 script to build from a clean tree. I'm getting emacs and git tmpfile
picked up by the android build system and incorporated into .apks;
this will avoid that.
2010-11-06 20:19:07 -07:00
Andy2
d2782af487 do case-insensitive comparison of room names 2010-11-06 18:52:10 -07:00
Andy2
73d7c7a27b use new field to determine if simple relay config dialog can handle
the game or if user's already changed it enough that the full-on
dialog is required.
2010-11-06 18:26:09 -07:00
Andy2
f36b253ae7 add number of players to GameSummary. Changes DB but it's already
changed since last beta so I'm not upping the version.
2010-11-06 18:24:44 -07:00
Andy2
9fccbcc6b4 Problem with new minimal-config relay dialog: user can accidentally
tap "play game" and wind up connecting and creating an empty-room-name
game; or can dismiss the dialog and be confused because there's no way
back to it.  Solution: define empty-room-name as an illegal case.
Check for it when "play game" is tapped in either config dialog and
raise an alert.  And when user wants to open a game from the GamesList
activity go to the minimal config dialog if it's a relay game without
a room name.
2010-11-06 16:41:12 -07:00
Andy2
8213c9a5c1 add showOKOnlyDialog 2010-11-06 16:38:33 -07:00
Andy2
248c758b1c add a bit of space around bullet items 2010-11-06 16:37:59 -07:00
Andy2
b7fc678e3d tweak changes, removing steps to create networked game since that's
part of the UI now.
2010-11-06 15:29:05 -07:00
eehouse@eehouse.org
58317afb28 Merge branch 'android_branch' into relay_proxy 2010-11-06 15:06:08 -07:00
Andy2
ceec9eda28 set m_invalPath so new network game will be drawn correctly first time
back in GamesList
2010-11-06 15:01:06 -07:00
Andy2
a72e029f40 add name field to and use a style for bulleted items in simplified
relay-connect dialog; remove not-again text and dialog attached to
new-relay-game button; tweak text.
2010-11-06 14:55:57 -07:00
eehouse@eehouse.org
8dad8750ba Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-06 14:43:57 -07:00
Andy2
d6adc84ee3 tweak two prefs strings 2010-11-06 14:40:28 -07:00
Eric House
98716b755a get rid of menuitem that was there only for development testing 2010-11-06 08:30:45 -07:00
Andy2
c125edd2cb make text bulleted -- easier to read/follow 2010-11-05 05:53:28 -07:00
eehouse@eehouse.org
fc739e2c67 Merge branch 'android_branch' into relay_proxy 2010-11-05 05:19:16 -07:00
eehouse@eehouse.org
6d205011f5 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-05 05:12:59 -07:00
Andy2
145ab6f356 remove wordy explanation 2010-11-05 05:11:40 -07:00
eehouse@eehouse.org
64cc199e1a Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-05 05:10:24 -07:00
Eric House
0d863d2d3f fix casting error caught by compiler 2010-11-05 05:06:24 -07:00
Eric House
7b3691662a version of build.xml modified to pass -xline to javac. For future use... 2010-11-05 05:06:04 -07:00
Andy2
2f38ce3d92 add button leading to the main config dialog plus an explanation of
what it's for.
2010-11-04 20:37:59 -07:00
Andy2
23924ff74e add new activity that's popped up on creation of a networked game to
ask only for the room name to make it as easy as possible to
get started.
2010-11-04 19:48:46 -07:00
Andy2
c9239fc921 make method public 2010-11-04 19:46:05 -07:00
Andy2
9c48c91156 init room name to current text -- duh! -- preventing close process
from thinking a change has been made (room name nulled) when none had
been.
2010-11-04 06:36:28 -07:00
eehouse@eehouse.org
d04a5870af Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-03 21:00:43 -07:00
Andy2
c630697c59 Fix crash on 2.2 emulator by turning of ipv6 on emulator. per
workarounds found online.  Suggested fix is to use io instead of nio.
2010-11-03 20:54:35 -07:00
Andy2
d1fcdb69da double max room name len since the old value was too small -- only
filled half a text field on android
2010-11-03 18:38:43 -07:00
Andy2
e2ee0755cb set max len for roomname field (with comment that it should be kept in
sync with the C constant)
2010-11-03 18:38:13 -07:00
Andy2
c7febf0d10 nuke unused constant 2010-11-03 18:30:05 -07:00
Andy2
9e05e6c2b3 add lastMsgRcd to status printout 2010-11-03 18:28:54 -07:00
Andy2
c039b92339 don't send 0-length message 2010-11-03 18:26:20 -07:00
Andy2
0148a93f3e add a constraint to the stored messages table to avoid dupes. Then
remove the artificial limit on number of stored messages.  This seems
to fix problems where lots of chats in a row clog up the relay so that
messages never get flowing again.  Works more cleanly than
artificially ACKing.
2010-11-03 18:14:19 -07:00
Andy2
633d4c95a7 fix buffer overflow sql error with large messages; combine logged messages. 2010-11-03 18:12:26 -07:00
Eric House
31df12747b fix prev hint to work not just compile 2010-11-01 22:20:35 -07:00
Eric House
892f30692b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-01 21:54:28 -07:00
Eric House
e54bf588ab fix to compile on wince/win32 2010-11-01 21:54:04 -07:00
Andy2
8bf8383d60 reread preferences in case of an upgrade. Fixes bug where default
port was 0 because the new key, meant to change the value, was not
being initialized.  It's a hack to use a side-effect to determine
whether this is an upgrade, but since I'm already calculating it
didn't see any point to doing it again.
2010-11-01 18:56:23 -07:00
Andy2
1e5a856287 log host/port connecting to. Too useful to omit. 2010-11-01 18:53:36 -07:00
Andy2
8f55469930 remove strings no longer in English 2010-11-01 18:12:14 -07:00
Andy2
3d70da5a8d cleanup 2010-11-01 06:57:54 -07:00
Andy2
804070efc7 base comms_canChat() on whether connID's been assigned. It's possible
to send a message from a client immediately after its initial message
but init-message dupe-detection in comms will drop that because only
one channel-0 message is expected -- the initial connection message.
So don't encourage platform code to enable the feature before common
code can deliver the message.
2010-11-01 06:57:41 -07:00
Andy2
2d9851902c replace chat menuitem with chat button enabled using comms_canChat() 2010-11-01 06:55:37 -07:00
Andy2
40e42b79c5 up version numbers and strings -- getting ready for release 2010-10-30 09:11:47 -07:00
Andy2
b2fd178d60 tray->rack; clarify not-again text for 'turn done' button so it isn't
stupid when displayed for ending a trade.
2010-10-29 20:24:50 -07:00
Andy2
64a8b1e61a change confusing const name 2010-10-29 20:20:25 -07:00
Andy2
8c7043d42c fix crash using undo/redo after a turn has overwritten pending tiles:
when redoing need to check that cell is still empty.
2010-10-29 20:07:09 -07:00
Andy2
5b33df4e25 modify model_getTile to take NULL for out parms where the result is
often ignored, then pass NULL instead of the address of variables
called 'ignore'.  Should be no behavior change.
2010-10-29 19:52:15 -07:00
Andy2
3d52698939 don't show all-here not-again dialog to host host -- already got the
first-in version.
2010-10-29 19:14:56 -07:00
Andy2
148fe848c2 get rid of implication that some deletions are undoable. 2010-10-29 19:02:57 -07:00
Andy2
fd1ca2c9c5 confirm single game delete. 2010-10-29 19:02:21 -07:00
Andy2
5b6a5aafe8 add three not-again messages displayed after connection is first made
with the relay, for first-in-room, last-in-room, and the less common
middle case.  Add confirmation dialog for game reset.
2010-10-29 18:44:07 -07:00
Andy2
6de7fb28e3 add lock-setting checkbox to game config dialog and toggle
setEnabled() on most widgets as it's checked.  Add not-again dialog
explaining possibility of reset of started game.  Don't even show the
checkbox for non-started game.
2010-10-29 07:42:16 -07:00
Andy2
814dd89458 remove unused ivar; override setEnabled to dis/enable delete button 2010-10-29 07:40:41 -07:00
Andy2
30b6a6b54e remove unused and confusing id 2010-10-29 06:48:45 -07:00
Andy2
a7c1319527 call super only in the default case 2010-10-29 06:48:18 -07:00
Andy2
d98525de95 make chat display dialog blocking. This fixes problem where multiple
chats received at once see all but the first dropped, and probably
fixes reported problem where only one message every got displayed.
2010-10-29 06:46:27 -07:00
Andy2
b115ce14ed add devOrder (= hostID) to params passed on connect. Fix to pass new
param from jni; use object to pass params into UI thread since there
are now too many for handler.
2010-10-29 06:34:39 -07:00
Andy2
ab708e4db1 add devOrder (= hostID) to params passed on connect. Make linux apps compile after API change. 2010-10-29 06:32:18 -07:00
Andy2
0d7f2c4f23 add devOrder (= hostID) to params passed on connect. Should make for
better explanatory message.
2010-10-29 06:31:33 -07:00
Andy2
4cd15a9c6a Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
Conflicts:
	xwords4/common/comms.c
2010-10-29 05:27:07 -07:00
Eric House
e069a268cd implement dialog to edit chat text 2010-10-28 21:31:40 -07:00
Andy2
c087b4b031 add room name to callback used when device connects: pass the new
parameter through and format into messages posted via Toast.
2010-10-28 18:48:07 -07:00
Andy2
645a042481 add room name to callback used when device connects: fix jni to compile 2010-10-28 18:46:28 -07:00
Andy2
7e0bcee6d2 add room name to callback used when device connects: fix linux to compile 2010-10-28 18:46:07 -07:00
Andy2
41fc05106b add room name to callback used when device connects 2010-10-28 18:45:55 -07:00
Andy2
5400fad50d log timeout-dlg messages so there's a record 2010-10-28 18:44:37 -07:00
Andy2
ddeb744ff7 init room name to empty string 2010-10-28 18:43:06 -07:00
Eric House
4ae58342da test, don't assert: comms can be null 2010-10-28 05:45:56 -07:00
Eric House
670f7982ea add comms_isConnected 2010-10-27 21:58:36 -07:00
Eric House
1b83b13101 make player name and password single-line 2010-10-27 21:58:02 -07:00
Eric House
eba5b77494 add comms_isConnected; public room variables default to false 2010-10-27 20:50:11 -07:00
Andy2
7ad4a43468 use new confirm-delete-all dialog to confirm deletion of dictionary 2010-10-27 06:33:13 -07:00
Andy2
4c17ea8802 generalize confirm-delete-all dialog into confirm-then-do 2010-10-27 06:25:29 -07:00
eehouse@eehouse.org
3ffc93a637 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-27 05:51:54 -07:00
Eric House
b878599f7b remove comment 2010-10-26 20:57:27 -07:00
Eric House
fd85bd35da set dictLang to 0 (unknown) when reading old-version stream 2010-10-26 20:56:41 -07:00
Andy2
559f933ef5 tweak not-again hint wording 2010-10-26 19:33:38 -07:00
Andy2
11c68797bf unique title for not-again dialogs 2010-10-26 19:28:22 -07:00
Andy2
eb41e24c4e show language of dict that can't be found 2010-10-26 18:48:28 -07:00
Andy2
84e6d94919 add languages to dict names in set-default spinner 2010-10-26 18:35:54 -07:00
Andy2
c8a6f453c9 dismiss underlying activity when no-dict dialog is cancelled too. 2010-10-26 18:28:54 -07:00
Andy2
1ceea2cde2 check that default dict exists and if it doesn't use same as if hadn't
been specified.  Catches case where dict is downloaded, made new-game
default, and then deleted.
2010-10-26 18:20:49 -07:00
Andy2
26210e1cf2 new function for reporting missing dict called from two places 2010-10-26 18:08:53 -07:00
Andy2
89c7e02928 add CollegeEng dict and make it default for new games 2010-10-26 06:54:54 -07:00
Andy2
f9b2eb4a3e attach not-again dialog to turn done menuitem 2010-10-25 21:32:07 -07:00
Andy2
d7b6cb0691 use resetGame() to populate a newly created game. With this change a
new network game will connect without first having been opened in the
GameConfig dialog.
2010-10-25 18:56:51 -07:00
Andy2
e1b7a0f44d when resetting game, if it's multi-device but doesn't have a default
address (as will be the case if it was just created), get and give it
one.
2010-10-25 18:55:53 -07:00
Andy2
3cbda7471c init public room vars to false 2010-10-25 18:55:15 -07:00
Andy2
54d312e523 saveSummary(0 needs to be passed context in case must init dbhelper. 2010-10-25 18:51:07 -07:00
Andy2
2e122fe9f3 default for new networked game is no robots, second player remote. 2010-10-25 18:08:09 -07:00
Andy2
b237277544 put back enum just removed; it's screwing up existing code having all
the followers change.
2010-10-25 18:06:48 -07:00
Andy2
39e502fe71 add not-again hints to all the buttons 2010-10-24 17:47:11 -07:00
Andy2
e909e4b343 remove redundant message; advance state to ALLCONNECTED on receipt of
RECONN or CONN that lists the game as full.  This means we get the
all-green icon (or the A in the gtk case) when in a consummated game
rather than only when all devices are actually connected.
2010-10-23 20:29:24 -07:00
eehouse@eehouse.org
24fae0f53b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-23 19:50:11 -07:00
Eric House
8a038dc748 Merge branch 'relay_proxy' of ssh://xwords.git.sf.net/gitroot/xwords/xwords into relay_proxy 2010-10-23 19:45:03 -07:00
Andy2
2fa76a9e24 add second button to games list to add networked game, and remove
ability from config dialog to make a game networked or not.  This
should confuse people less.  Better would be if the two buttons had
icons and those icons were associated with games in the list according
to which type of game they represent.
2010-10-23 18:41:37 -07:00
Andy2
cff95ce3de go back to play being the onclick action (removing preference to make
it that way); add more newbie hints; fix DIALOG id definitions to not
overlap superclass's.
2010-10-23 14:08:57 -07:00
Andy2
038f6bd94c rename some private methods; add onPrepareDialog to fix problem where
msg stuck from previous invocation
2010-10-23 14:06:03 -07:00
Andy2
dd82fa02ad remove chat menuitem -- it's only a button now. 2010-10-23 14:00:24 -07:00
Andy2
314872d533 shrink needs-sync flag icon 2010-10-23 13:52:56 -07:00
Andy2
9383ef064d use sync icon instead of "M" to mark games with data. 2010-10-23 13:45:31 -07:00
Andy2
43ad43b604 change meetup server back to relay 2010-10-23 11:24:19 -07:00
Andy2
b6dfa0be8b disable background-checking code for now: make default be disabled and
remove Preference that allows to change it.
2010-10-23 11:19:55 -07:00
Andy2
5a5c73916e Don't allow copy of relay-connected game. 2010-10-23 11:08:33 -07:00
Andy2
7cf4535b4c new dbmgr API returns number of players in game; use that rather than
currently connected devices to populate [RE]CONNECT message
2010-10-22 22:34:43 -07:00
Andy2
593dac9d99 rotate 90 degrees 2010-10-22 22:04:09 -07:00
Eric House
85d29cf560 if can't send allcond to a device because it's not connected queue the
message to be sent next time it does.  And since the cookieID will
change and should be there already anyway, remove it.  (Should remove
the hostID too for the same reason.)
2010-10-22 19:02:52 -07:00
Eric House
6e843dec6c make 10997 default relay port 2010-10-22 18:30:19 -07:00
Andy2
7765bd0a1a move decision how to display connection info from CommsTransport to
BoardActivity (where it'll be easier to include optional not-again dialog)
2010-10-21 20:13:41 -07:00
Andy2
8fac0945b9 chat not-again message without obscenities 2010-10-21 19:22:17 -07:00
Andy2
99dbbb443c add comms_canChat, which knows better than java code what state a
connected game is in, and call it to determine whether to show the
chat icon.
2010-10-21 19:14:10 -07:00
Andy2
198f39b606 don't use yes button for simple ok dialog 2010-10-21 19:12:04 -07:00
Andy2
ae97d7d0f4 shouldn't have commented that out... 2010-10-21 06:51:26 -07:00
Andy2
aa0be5e2f2 remove unused imports 2010-10-21 06:50:29 -07:00
Andy2
ea617f39fa to deal with not being implement a common superclass for Activity and
ListActivity create a delegate they use for dialog-related stuff.
Move code from them into it -- and delegate.
2010-10-21 06:33:04 -07:00
Andy2
5599f91232 new prefs key and string for not-again help dlg for chat 2010-10-21 06:31:28 -07:00
Andy2
848c1493fd chat button enabled only for multi-device games. Needs to be disabled
for unconnected games as well....
2010-10-21 06:30:48 -07:00
Andy2
8a891816b4 add chat button 2010-10-21 06:28:01 -07:00
Andy2
5c9cf0ebc8 add first helptext dialog, with do-not-show-again button, attached to
the sync menuitem.  The plan's that a bunch of these will make the
game easier for newbies to use.
2010-10-20 20:48:18 -07:00
Andy2
0d4f77fb0a add sync icon to games list menu 2010-10-20 20:00:40 -07:00
Andy2
8788f9d4d5 move OK dialog to new scheme. Using a static global Bundle instead of
the newer form of showDialog because that requires version 8 of the
SDK.
2010-10-20 19:52:13 -07:00
Andy2
c1dc34e25d move common dialog code from Utils to XWActivity and XWListActivity
(which delegates to XWActivity.)
2010-10-20 18:34:41 -07:00
Andy2
8db6c7ad7f add setPrefsBoolean 2010-10-20 18:09:24 -07:00
Andy2
95f5c2e023 cleanup: add missing string; remove unused strings and array. 2010-10-19 18:43:26 -07:00
Andy2
01e926e8b3 up sdk version to silence warning 2010-10-19 18:42:32 -07:00
Andy2
17f1790d52 remove unused layout files (since they take up space in the .apk even
if never referenced)
2010-10-19 18:42:07 -07:00
Andy2
85e32907f0 remove '\r's 2010-10-19 18:39:27 -07:00
Andy2
1fecf9dbb4 implement new check-relay menu, and use new task to check for messages
if there are any connected games.
2010-10-19 07:54:52 -07:00
Andy2
4a5c0832d4 use new generalized code to check for messages. 2010-10-19 07:54:10 -07:00
Andy2
94b8aedda7 generalize relay-msg-check code so can be used from two places. 2010-10-19 07:53:26 -07:00
Andy2
d1b1e6db14 refactor into common subroutine -- no behavior change 2010-10-19 07:50:23 -07:00
Andy2
994a73e28b return null, not empty list, when nothing found 2010-10-19 07:49:54 -07:00
Andy2
f31e28dbd7 menu and strings for check-server menu added to GamesList 2010-10-19 07:49:23 -07:00
Andy2
ab8c3f985e add generic info dialog that, with luck, can be reused. 2010-10-19 07:48:34 -07:00
Andy2
b718804a4b new AsyncTask for pinging server on demand 2010-10-19 07:47:05 -07:00
Andy2
b9e3ca212b turn off glib-dependant checksuming for non-linux builds 2010-10-18 22:08:04 -07:00
eehouse@eehouse.org
6e56fb3544 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-18 20:56:31 -07:00
Eric House
7b5d88cbba Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-18 20:20:14 -07:00
Eric House
9ba2d2f177 default msgs entry timestamps to 'now' 2010-10-18 20:19:09 -07:00
Eric House
211e9ded7f TIMEOUT needs to be bigger for small NGAMES values 2010-10-18 20:18:24 -07:00
Eric House
3648c22bd4 fix long-standing bug where initial messages were not getting deleted
and multiplying; log md5 sums of messages in debug build.
2010-10-18 20:17:44 -07:00
Andy2
9cfb302a2f don't populate room name; better that people see the hint 2010-10-18 06:48:26 -07:00
Andy2
db3c4da01f set a default value that actually exists 2010-10-18 06:47:31 -07:00
Andy2
b4c1710c66 remove strings dropped with prev change 2010-10-18 06:31:19 -07:00
Andy2
62d054cd46 default show-robot-scores to true; move background-check-frequency
within existing PreferenceScreen
2010-10-18 06:30:56 -07:00
Andy2
a2f0ec232a put back RestartTimer call inadvertently removed 2010-10-18 06:23:24 -07:00
Andy2
dda6e056a0 set summary from the array of use-visible values 2010-10-18 06:18:37 -07:00
Andy2
2d66913323 populate public rooms list as soon as checkbox set -- and mention
language and number of players in failure message
2010-10-17 21:13:14 -07:00
Andy2
56e83bfc1c trim leading and trailing whitespace from roomnames. If somebody has
two spaces between words those will still matter.
2010-10-17 20:45:48 -07:00
Andy2
6b7a92534a make default relay port 10997 (and change key so it'll apply for everybody) 2010-10-17 20:37:51 -07:00
Andy2
332ff27d8a use same string for both 2010-10-17 20:30:43 -07:00
Andy2
a58e74b70a add play game button at bottom of game config dialog. 2010-10-17 20:27:21 -07:00
Andy2
5c958eaadb deal with null socket (e.g. if in airplane mode); deal with new public
rooms format.
2010-10-17 20:18:24 -07:00
Andy2
1621e5932a give label different text from dialog title 2010-10-17 20:00:41 -07:00
Andy2
8972df7b88 add explanatory title to phonies spinner 2010-10-17 18:55:09 -07:00
Andy2
885bfe4779 remove values button. Seven buttons is too much. Add back when have
means of assigning priority so it only shows up when there's space.
2010-10-17 18:42:44 -07:00
Andy2
2cd0bf8c24 add singleline and selectonfocus for roomname edit 2010-10-17 12:45:34 -07:00
Andy2
2bfb26cded sleep (in thread) before closing proxy socket. This works around
problem where, on PRX_HAS_MSGS path only, device reading socket gets
EOF early though logging here confirms additional bytes have been
written.  Gross but effective.
2010-10-17 06:38:28 -07:00
Andy2
b63d730b53 compare languages rather than actual dict names so can switch dicts
mid-game.
2010-10-16 15:05:46 -07:00
Andy2
60e4c624e4 implement reply button; clear message edit field each time 2010-10-16 15:05:16 -07:00
Andy2
21afd79751 make send message first rather than last menuitem 2010-10-16 15:04:12 -07:00
Andy2
26b777acf8 don't post notification when results list returns empty 2010-10-16 11:01:12 -07:00
eehouse@eehouse.org
5d9989eb1b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-16 10:50:23 -07:00
Andy2
a82051739b move interface; add some logging. 2010-10-16 10:49:25 -07:00
Andy2
91e95eb48b fix string (which should not be hard-coded!) and use new class. 2010-10-16 10:48:59 -07:00
Andy2
02ea8b13e0 move this functionality into RelayReceiver 2010-10-16 08:08:12 -07:00
Andy2
737b146093 Receiver replaces Activity as target of alarms. This seems to prevent
flasing to the front when alarms fire which was causing all kinds of
grief.  But: not yet tested on device.
2010-10-16 08:07:48 -07:00
Andy2
cd1ce339ed fix off-by-one error in reading from cursor 2010-10-16 07:57:47 -07:00
Eric House
38ae2faacc don't nuke bad files along with good 2010-10-14 22:17:34 -07:00
Eric House
34df149046 include age of room with info returned for open public rooms 2010-10-14 22:16:21 -07:00
Eric House
e5c7f476ba get rid of microseconds in timestamps 2010-10-14 22:15:41 -07:00
Eric House
c92d59fa53 games can be started with multiple dicts; saving of successful games/logs optional 2010-10-14 05:59:45 -07:00
Eric House
f246178b8f Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-12 19:18:21 -07:00
Eric House
40a7a1b5a3 cleanup; track checked rooms rather than checking each time seen 2010-10-12 19:17:42 -07:00
Eric House
0cf94dda8b fix frequent assertion failure that dates from when no messages passed
outside of ALLCOND state.  With this fix the test script is running
all games to completion if given enough time.
2010-10-12 19:16:46 -07:00
Andy2
a52c18522c use HashSet rather than relying on nesting (which I can't) to track
whether I'm running
2010-10-12 18:53:19 -07:00
Andy2
34428b3460 new Activity class 2010-10-12 18:28:05 -07:00
Andy2
82d5f21d54 extend subclass of Activity or ListActivity 2010-10-12 18:27:50 -07:00
Andy2
c37ad2d650 register self with RelayService to be called directly if running when
there's something to update.  Use handler to do this from non-UI thread.
2010-10-12 18:27:13 -07:00
Andy2
8e8c4f4d31 if GamesList is frontmost when we have relayIDs to update then just
call the interface it's registered.  Otherwise post notification.
2010-10-12 18:25:29 -07:00
Andy2
ad9a249042 new files. Subclass Activity and ListActivity to track whether we're
running (yeah, WTF, but that's what Android dev support says you have
to do!).  Special-purpose Activity to be the target of notifications
so I have more control on how to handle them.
2010-10-12 18:21:18 -07:00
Andy2
673c9858cb fire every 30 for testing 2010-10-12 05:24:23 -07:00
eehouse@eehouse.org
ddb8f508f9 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-12 05:23:04 -07:00
Eric House
0d1542ca9d tweaks to logging 2010-10-12 05:18:44 -07:00
Eric House
8011eeec2c cleanup; fix off-by-one bug with NAMES that was breaking runs with
four-device games; check before run that there aren't already waiting
games in db.
2010-10-12 05:17:32 -07:00
Andy2
b124a3f438 add every-five-minutes option; change 10-seconds debug option to 60 2010-10-11 06:54:02 -07:00
Andy2
392aeff7ad replace FLAG_ONE_SHOT with FLAG_UPDATE_CURRENT; seems to fix failure
of notification to fire.
2010-10-11 06:52:26 -07:00
Andy2
86b57526df show game name in title if not hidden 2010-10-11 06:47:33 -07:00
Andy2
e637a64d96 Change param signage to fix compiler warning 2010-10-11 06:20:30 -07:00
Andy2
56cd161d8b Pass list of relayIDs through activity to onNewActivity() added to
GamesList, and inval those list elements that now have messages
pending so they redraw.  And add static method to be called from there
to cancel the status-bar notification now that it's been acted on.
2010-10-09 21:44:42 -07:00
Andy2
6ad074182f make GamesList singleTop so notifications go to existing activity 2010-10-08 17:33:44 -07:00
Andy2
7d9c143d15 string doesn't need localizing 2010-10-08 17:32:51 -07:00
Andy2
76258f609a make sure game is still over before calculating final scores. Fixes
assertion failure in server.c.
2010-10-08 17:30:26 -07:00
Andy2
97d96add5e add stubbed-out strings 2010-10-08 06:53:41 -07:00
Andy2
e855b51491 use new DB api to build list of relayIDs to send; set summary DB field
and post notification on response.
2010-10-08 06:52:43 -07:00
Andy2
3bbbd65077 use same 1.5-safe layout on all devices; add elem (a text field for
now) to be shown when messages are pending; show it.
2010-10-08 06:47:46 -07:00
Andy2
6ce5f36133 add msgsPending field set from new DB column; add methods to set
column and to fetch relayIDs for games where it's not set, and to get
path for game based on relayID.
2010-10-08 06:46:10 -07:00
Andy2
d5eff5af21 new column to track whether game has pending msgs 2010-10-08 06:42:51 -07:00
relay
680b2f31b3 use pid to avoid permission problems for logfile in /tmp 2010-10-07 19:48:38 -07:00
Eric House
f2ad6d92b4 use full paths so pidof doesn't pick up instances of xwrelay launched elsewhere 2010-10-07 19:41:02 -07:00
Eric House
86d73392d5 track bytes sent in db; use defaults to init ctime 2010-10-06 21:45:05 -07:00
eehouse@eehouse.org
46ff3c3b68 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-06 05:22:10 -07:00
Andy2
cb4092bb39 make relayID a String rather than a byte[]; log result of pending
messages query to confirm working.
2010-10-06 05:21:19 -07:00
Eric House
6c5b279946 respect TIMEOUT, and kill all remaining processes before exiting 2010-10-05 20:58:29 -07:00
Eric House
a444786a28 reduce logging 2010-10-05 20:57:19 -07:00
Eric House
f0b05da131 reduce logging 2010-10-05 20:57:07 -07:00
Andy2
a78c4b304e custom class for pref 2010-10-05 18:39:00 -07:00
Andy2
df939249e4 fix caps and add too-long string 2010-10-05 18:38:46 -07:00
Andy2
861de8d592 call new method to start polling timer 2010-10-05 18:38:06 -07:00
Andy2
81fb934e4a new custom class for resetting polling timer on prefs change 2010-10-05 18:36:56 -07:00
Andy2
cd0d14b1bb new class will own setting summary for relay-polling frequency so don't do it here 2010-10-05 18:36:15 -07:00
Andy2
ae6edf4ace add static methods for starting timer. 2010-10-05 18:35:35 -07:00
Andy2
ed95d2e794 add proxy port to list whose values are displayed 2010-10-05 06:17:35 -07:00
Andy2
31f3cbc6c8 complete rewrite: use bash's new associative arrays to track games and
pids etc. so that a single process can manage starting and stopping
all games.  Fixes race conditions where a game would be killed after
finishing but before it'd sent out the message that would allow other
games to finish.
2010-10-04 22:16:58 -07:00
Andy2
a13bb34419 plug memory leak 2010-10-04 22:14:44 -07:00
Eric House
2e844d798f replace single db connection protected by a mutex with one connection per thread kept in thread-local storage. 2010-10-04 20:04:14 -07:00
Eric House
d9ca6f5e11 block TERM and INT from all but the main thread. (Pretty much untested; doesn't fix hang-on-SIGINT.) 2010-10-04 20:03:19 -07:00
Eric House
1ff4d67bc0 block TERM and INT from all but the main thread. (Pretty much untested; doesn't fix hang-on-SIGINT.) 2010-10-04 20:03:00 -07:00
Eric House
43bf3cd50f improve log statement 2010-10-04 20:01:00 -07:00
Andy2
fae8faa0be add stubbed-out Reply button to msg received dialog. 2010-10-04 18:59:44 -07:00
Andy2
1ed8e7a66c fix crash: can't call dialog from non-UI thread 2010-10-04 18:53:33 -07:00
Andy2
89f967a016 pass remaining reconnect params in case connName's missing from db.
Should only matter if the relay's db's been deleted.
2010-10-04 18:39:26 -07:00
Eric House
b3c7cb3711 start on sending chat messages. Doesn't even compile -- committing to get onto another machine. 2010-10-04 05:38:05 -07:00
Eric House
1e13e92deb support for receiving and displaying chat messages. Compiles but not tested. 2010-10-03 18:32:39 -07:00
Eric House
d35bc7d748 refuse to store more than four messages at a time for a single
connName/hid pair.  This works around a problem where a device,
continuing to connect and send all pending messages for another device
that is not connecting, winds up with hundreds of identical messages
stored.
2010-10-03 18:18:15 -07:00
Eric House
14fd1f9023 add test code for chat feature: display incoming chat and send via
menu.  Sent message is hard-coded for now; should fix that.
2010-10-03 18:13:48 -07:00
Eric House
61b228f189 implement simple chat on top of current server-level protocol --
meaning it'll work on any tranport but relay doesn't know about it.
(If relay knew about it I could send a "shutting down for a minute"
message to every connected device, which would be cool.  But this is
easier.)  Written, BTW, enroute from Seattle with help from beer from
Chris in first class. :-)
2010-10-03 18:11:51 -07:00
Eric House
4a5de0a24c cleanup 2010-10-03 18:09:15 -07:00
Eric House
1f87379cd0 change default port 2010-09-29 07:37:26 -07:00
Eric House
1b93654f7e use stored procedure sum_array instead of C macro 2010-09-29 06:21:08 -07:00
eehouse@eehouse.org
d0797af6e5 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-28 21:11:17 -07:00
Andy2
f78b1747dd put up an alert when unable to find any public rooms 2010-09-28 18:58:05 -07:00
Andy2
0bfad7cd05 up timeout to 15 seconds. 2010-09-28 18:42:23 -07:00
Andy2
2610ef34ac move dict above connection settings since it provides a parameter 2010-09-28 18:38:47 -07:00
Andy2
978fa010f1 commented-out sleep positioned to give download progress time to come up. 2010-09-28 18:35:33 -07:00
Andy2
814f6887da put up a progress dialog while fetching public names that mentions
params passed.
2010-09-28 18:34:29 -07:00
Andy2
0b143efced add getLangName 2010-09-28 18:33:29 -07:00
Andy2
6b1dabd8e2 don't crash when public rooms list is empty 2010-09-28 18:32:43 -07:00
Eric House
bc65377cfd track device seeds in db. 2010-09-28 18:06:50 -07:00
Eric House
a6f5ea5f4a sync after saving. Seems to improve recovery from TERMs sent by test scripts. 2010-09-28 18:06:05 -07:00
Eric House
a89520a377 use __func__ 2010-09-28 18:04:31 -07:00
Andy2
953e4601b9 fetch public rooms using new class rather than hardcoding. With this
checkin game is possible based on public-room lookup.
2010-09-28 06:48:51 -07:00
Andy2
132321c9fd new AsyncTask subclass to fetch public rooms list from relay 2010-09-28 06:47:58 -07:00
Andy2
89d20578b8 new class to create socket for talking to proxy 2010-09-28 06:47:21 -07:00
Andy2
39827ec894 add new pref for relay's proxy/device port 2010-09-28 06:43:04 -07:00
Andy2
1de029f3f0 skip public rooms if full. (Should do this in the query....) 2010-09-28 06:42:01 -07:00
eehouse@eehouse.org
ac74cc36a5 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-26 20:25:30 -07:00
Andy2
986ac4413f parse reply to query for number of pending messages for games on
device.  Not doing anything with the info yet.
2010-09-26 20:25:00 -07:00
Eric House
ae53ce5ea9 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-24 20:19:50 -07:00
Eric House
1bfdd1978e move log directory away each time 2010-09-24 20:19:12 -07:00
Eric House
8f77886f72 make column name shorter 2010-09-24 20:18:20 -07:00
Andy2
14edbd7f18 implement setIsServer(). With this change I've been successful --
once -- having two games on the same device play against each other.
2010-09-24 18:49:34 -07:00
Andy2
31c594a06e everybody starts out as client by default, same as on linux 2010-09-24 18:48:52 -07:00
Andy2
63ac6542c6 add new action to be called when relay make me a client. Seems
necessary to get server_initClientConnection connection called when
all's in the right state.  It's not working consistently yet, though,
so may need changes.
2010-09-24 18:48:30 -07:00
Andy2
16001e61d0 image forgotten earlier -- for refresh public games list button 2010-09-24 18:46:14 -07:00
Andy2
4ea9ff8226 add server_reset and util_setIsServer to jni 2010-09-24 18:45:42 -07:00
Andy2
f7bad05390 send msg count query and print results 2010-09-24 05:51:42 -07:00
Andy2
b0c6e6da9c add db method to count messages for connName/hid pairs and handle
query using it.
2010-09-24 05:50:02 -07:00
Andy2
c3e1b243b6 add timestamp to msgs db and set it on adding new records. I will
likely need to add periodic culling on the server for games that will
never fetch their messages.
2010-09-24 05:46:30 -07:00
Andy2
35ff5a7835 exit on logdir being gone before grepping it 2010-09-23 06:41:37 -07:00
Andy2
c44324a32a log, for now as I've seen assertions failures suggesting a race, the
set of checked-out sockets at insert and remove time.
2010-09-23 06:34:18 -07:00
Andy2
40e1d29243 use new methods to store undeliverable messages in a db rather than in
memory.  Confirmed that devices can hookup without ever being
connected at the same time and that the messages survive a relay
reboot.  No further testing yet.
2010-09-23 06:32:57 -07:00
Andy2
74764a493b create the new db 2010-09-23 06:31:42 -07:00
Andy2
eee41377f4 new methods for storing/retrieving messages in new db. 2010-09-23 06:31:29 -07:00
Andy2
451ced44ba cleanup: shorter timeout; set aside games that finish correctly 2010-09-23 06:29:55 -07:00
Andy2
9a035c66ff add assertion 2010-09-23 06:28:13 -07:00
eehouse@eehouse.org
acb52d11dc Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-23 05:34:43 -07:00
Andy2
85b4f3f075 move hostid assignment and tracking into db so it survives reboots and
recycling of crefs between when devices in a game connect.  This plus
movement of messages into the DB will re-enable games played without
the two devices ever being connected at the same time.
2010-09-23 05:33:27 -07:00
Eric House
82825365d4 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-22 05:46:10 -07:00
Eric House
659278448b changes to work against remote relay 2010-09-22 05:45:40 -07:00
Eric House
076b211cab tweak to allow to specify host/port for use against remote relay 2010-09-21 20:38:54 -07:00
Andy2
1d0c207521 add test command for proxy feature to fetch for connNames whether
there are messages pending for them.  Not handled yet on relay.
2010-09-21 18:28:31 -07:00
Andy2
e06baf566f get public rooms from the db rather than stubbing it out. 2010-09-21 06:54:47 -07:00
Andy2
be23e06b60 use read_packet to replace duplicate code 2010-09-21 06:38:43 -07:00
Andy2
e7b5923883 finish first pass at sending open public room names -- but with actual
list harvesting stubbed out.
2010-09-21 06:27:31 -07:00
Andy2
2ec67c8ed1 finish rq to work with current format; add to makefile 2010-09-21 06:26:49 -07:00
Eric House
4ad735124c add logging and assertions. There's a race condition in cref
recycling and may be one in tpool socket checking-out.
2010-09-20 22:11:13 -07:00
Eric House
b6ce74be1c add timeout after which all games are killed 2010-09-20 22:08:51 -07:00
Eric House
c671f2ab05 plug memory leak 2010-09-20 22:07:10 -07:00
Eric House
047f41b516 send cookieid as part of [RE]CONNECT_RESPONSE in addition to ALL_COND (where it's now redundant). 2010-09-20 22:06:35 -07:00
Andy2
0df651027f Merge branch 'android_branch' into relay_proxy
Conflicts:
	xwords4/relay/crefmgr.cpp
2010-09-20 19:55:53 -07:00
Andy2
bca8300495 changes for b16: version strings and changes summary text. 2010-09-20 19:48:52 -07:00
Andy2
ddedcee3eb remove commented out foo -- needed to save before prev submission. 2010-09-20 19:39:35 -07:00
Andy2
9b98d89722 add mimeType entry to data. This coupled with the right apache
AddType config means the browser doesn't get a chance to download
dicts, giving users one less way to get confused.
2010-09-20 19:38:26 -07:00
Andy2
0ac23458ba use constant 2010-09-20 18:42:43 -07:00
Andy2
a549ade1fa a bit more work on rc 2010-09-20 18:31:17 -07:00
Andy2
4e9d6e712e escape apostrophe -- new SDK requires it. 2010-09-20 06:18:53 -07:00
Andy2
15cd3af62a just a comment 2010-09-20 05:35:29 -07:00
Andy2
e1c99f53cd work on detecting duplicate packets and devices that have reconnected
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:19 -07:00
Andy2
ac8891016f work on detecting duplicate packets and devices that have reconnected
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:09 -07:00
Andy2
d199ec5168 account for possibility client apps won't exit on TERM 2010-09-20 05:33:58 -07:00
Andy2
84a26c2c1a more to ignore 2010-09-20 05:32:17 -07:00
Andy2
430b033ae0 a bit of progress on cmdline tool 2010-09-20 04:59:09 -07:00
Andy2
6d6ad96cde don't clear seed when changing roles from guest to host. 2010-09-20 04:56:19 -07:00
Andy2
00cdbc97d3 Install a no-op TERM handler at first then replace later with one that
just exits main loop.  Do cleanup/file saving on exit from mainloop.
Fixes occasional crash where TERM came in before we were setup to
cleanup.
2010-09-20 04:55:35 -07:00
Andy2
df1ec1628a replace killSocket(), which jumped right into crefmgr and could get
ahead of processing data arrived on the same socket, with EnqueueKill
that adds to same queue from which data's taken.  So if device dies
immediately after sending data there won't be a race between closing
the cref (if this is the last open socket) and handling the data.  I'm
still dying with assert fails when running 100 games at once, but much
less frequently
2010-09-18 08:47:56 -07:00
Andy2
a4913596db remove logging 2010-09-18 08:42:15 -07:00
Andy2
c5d113a8da remove _locked from name of method since it's not called when holding a lock. 2010-09-18 07:46:10 -07:00
Andy2
53b3d7c32f enque sockets in new object that contains type so later other events
(e.g. socket closes) can also be queued; track what sockets are
currently being handled so no two threads are ever processing events
on same socket.  This makes running 'NGAMES=50
./scripts/discon_ok2.sh' crash very infrequently rather than every
time, but the race condition in crefmgr remains.  Queuing socket
closes should help.
2010-09-18 07:44:14 -07:00
Andy2
54512b9e11 put logs in own dir 2010-09-18 07:35:16 -07:00
Andy2
eec07649a6 put logs in own dir; echo every time game ends successfully. 2010-09-18 07:35:02 -07:00
Andy2
9c8889b429 get rid of mutex guarding reconnect. There shouldn't be any need
since game slots are already assigned, and it's slowing down
reconnects in their race with kills.
2010-09-18 05:07:23 -07:00
Andy2
7e1066dbcc vary room names 2010-09-16 22:20:43 -07:00
Eric House
bb1e46fa81 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-16 20:13:54 -07:00
Eric House
d0e707a48e get started with test/cmdline app to query relay's new proxy interface. 2010-09-16 20:13:24 -07:00
Andy2
c5eef29bcc some suspicious crashes and subsequent reading say that multiple
threads can't share the same db connection.  So synchronize all
queries.  Multiple threads *can* access the db concurrently as long as
each has its own connection, so I could add connections to the tpool
threads.  But this will probably be performant enough for the first
10K simultaneous users. :-)
2010-09-16 20:08:32 -07:00
Andy2
1490b2def9 simplify state table, getting rid of a bunch of states: we never leave
ALLCOND until it's time to kill the cref.  When one device connects
and leaves the cref is recycled, so when a new device joins and is
assigned the same game and a new cref is initialized the number of
players already registered must be set from the db entry; do that.
2010-09-16 18:59:56 -07:00
Andy2
76e7459a6d various improvements, e.g. random sleeps before and after starting 2010-09-16 18:56:34 -07:00
Andy2
50c387d75e remove players from db as well as runtime when ack times out 2010-09-16 06:49:35 -07:00
Andy2
ca6039e890 new test script attempting to mimic real-world usage 2010-09-16 05:39:50 -07:00
Andy2
25c1824c45 fix broken assertion and add missing state transitions to fix crashes. 2010-09-16 05:39:25 -07:00
Andy2
2b702b48d6 need to clear CID of record in DB when killing corresponding in-memory
cref or reconnect will fail.
2010-09-16 04:47:17 -07:00
Andy2
452e3fc86b timeout in milliseconds instead of seconds 2010-09-16 04:46:04 -07:00
Andy2
fa50bd00f1 timeout final scores alert 2010-09-16 03:42:57 -07:00
Andy2
d1a9c3962a rename cookie->room in db; reposition columns. 2010-09-16 03:30:24 -07:00
Andy2
b25579b893 greatly simplify state machine for connections. Now (with DEVACK=20
on conf file) newrelay.sh will complete running 50 4-device gtk games.
Haven't tested reconnect case which I almost certianly broke.
2010-09-16 01:53:43 -07:00
Andy2
0d7165f881 add ability to run gtk from newrelay.sh. Trying to run 50 instances
crashes the relay as ACKs take too long to come back.
2010-09-16 01:44:54 -07:00
Andy2
06c8fdc67f stop tracking seeds separately until have a use for 'em separate from
HostRec.  This fixes failure to reconnect so that now a complete game
is possible (gtk version) without the two devices every being
connected at the same time.
2010-09-16 01:13:26 -07:00
Andy2
a870cac86d break connect and reconnect into separate paths to simplify. Be
consistent: nJoined in DB tracks players "ever seen and issued
connName" rather than "currently connected".  Next step: debug game
between two devices never connected at same time.
2010-09-15 14:05:51 -07:00
Andy2
8961910263 field name change 2010-09-15 14:03:59 -07:00
Eric House
b8a431cf01 fix bug in sql statement 2010-09-14 21:28:18 -07:00
Eric House
54d268b718 pass through to database whether room is public 2010-09-14 21:20:11 -07:00
Eric House
e3053370d0 add cmd to build the database and main table 2010-09-14 21:18:04 -07:00
Eric House
ddcc338ed7 don't break out of loop without unlocking mutex 2010-09-14 21:16:16 -07:00
Eric House
56a920740a remove unused funtion declaraion 2010-09-14 21:15:24 -07:00
Eric House
9fc39a55ed add params to set public-room-related booleans; add timeout option on
modal dialogs so gtk version can run unattended.
2010-09-14 21:13:45 -07:00
Andy2
3b5b5f0241 factor dbmgr code; add and call method to zero CIDs on boot. 2010-09-15 01:14:28 -07:00
Andy2
821e4d9c39 add ACK to protocol, returned by device after gets connName on initial
connection.  Space is held for device on assumption ack will come
back, then given up if it fails.
2010-09-14 13:54:52 -07:00
Andy2
f8c1c016cc remove special-case states and handling of first connect; track number
of players sought in the cref itself, adding in constructor, and not
in HostRec instances.  This is cleanup with no behavior change.
2010-09-13 13:49:13 -07:00
Andy2
100ed8532f timestamp records on creation 2010-09-12 05:04:52 -07:00
Andy2
ded6e22180 do finding of open games using database rather than cref list, which
requires updating the number of players when new devices join.  Drop
requirement that cid be unique.
2010-09-12 04:49:03 -07:00
Andy2
663551fcb5 improve db, adding uniqueness contraints. Pass in connName so can
meet that constraint.  Figure out next cid using a query at startup.
2010-09-12 03:57:23 -07:00
Andy2
86a1e943ca make dict settable too 2010-09-12 03:53:39 -07:00
Eric House
c1da64b96a instantiate and use the new dbmgr class 2010-09-11 19:45:04 -07:00
Eric House
87de53cf96 add new class to interface with postgres database in an experiment to
simplify things by using a db to survive a crash/reboot.  So far (with
next checkin) manages to update a db.  Next need to do queries instead
of searches through in-memory data.
2010-09-11 19:44:37 -07:00
eehouse@eehouse.org
0b46455044 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-12 02:34:20 -07:00
Andy2
54d49d450a add back state and table entries to get rid of an unused cref. 2010-09-11 01:40:40 -07:00
Andy2
8908ca5b1d ignore new test script's log files 2010-09-11 01:40:05 -07:00
Andy2
1cd2d542f7 new test script 2010-09-11 01:39:20 -07:00
Andy2
d5f2a72227 note that file's out-of-date 2010-09-11 01:28:04 -07:00
Andy2
463e9c3ccf pass langCode in reconnect case too 2010-09-11 01:23:39 -07:00
Andy2
bd71a15ddc turn off heartbeats on client side 2010-09-11 01:23:13 -07:00
Andy2
dc957e1a92 add match test on language code and number of players 2010-09-10 13:45:40 -07:00
Eric House
54611df679 nuke unused variable 2010-09-10 05:55:59 -07:00
Andy2
e60495ff93 read, pass, store and display langCode. Not yet used to route
connections to crefs.
2010-09-10 01:59:37 -07:00
Andy2
b3d3673dc9 read the langcode out of dict and into common struct 2010-09-10 01:57:22 -07:00
Andy2
2ee9031fdc langcode belongs in connect, not reconnect, message 2010-09-10 01:56:58 -07:00
Andy2
20312144dd tons of changes, still rough, snapshoted here: a gtk device vs device
game works to completion with both signing up as guests (no -s) with
one local and one remote player (identical commandlines.)  Not yet
tested: if any signs up as a host, reconnecting rather than
connecting, etc.  This is just a snapshot.
2010-09-10 01:30:40 -07:00
Andy2
34a94f23a0 fix error message to not specify host or guest 2010-09-10 01:24:42 -07:00
Andy2
f7c5ff619d turn off heartbeats 2010-09-10 01:24:03 -07:00
eehouse@eehouse.org
a79f50053b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-09 04:21:02 -07:00
Eric House
89e7a506a4 reduce amount of logging 2010-09-08 20:28:14 -07:00
Eric House
90d505abea call accept() in main thread rather than in thread proc to fix
long-standing bug where main thread kept finding socket to be readable
and forking new threads to call accept() on it and then block forever.
2010-09-08 20:24:36 -07:00
Eric House
a64b67a54f reduce amount of logging 2010-09-08 20:17:32 -07:00
Eric House
f8ca35f9b6 call accept() in main thread rather than in thread proc to fix
long-standing bug where main thread kept finding socket to be readable
and forking new threads to call accept() on it and then block forever.
2010-09-08 20:16:57 -07:00
Andy2
01fe388f85 remove logging accidentally checked in 2010-09-03 06:40:17 -07:00
Andy2
e6545d8d57 set and save new booleans, etc. Relay params UI seems to work now
except for listing public rooms (still hard-coded)
2010-09-03 06:39:46 -07:00
Andy2
b742c7dbb7 add new booleans to relay address record around public rooms 2010-09-03 06:38:46 -07:00
Andy2
e20c63f38c move toward the UI I want: show public room browser or edittext for
new room name depending on checkbox, etc.  Still not fully wired.
2010-09-02 05:46:35 -07:00
Andy2
0b91e9634e save/restore new dictLang field; up stream version 2010-09-01 06:51:44 -07:00
Andy2
c6c1a93de5 copy new dictLang field java<->c 2010-09-01 06:51:09 -07:00
Andy2
6d7ff11dcc add and set new field, dictLang 2010-09-01 06:50:33 -07:00
Andy2
73746e3664 first cut at relay config section, inline this time, with refresh
button and make-public checkbox.  Neither wired up nor hidden in
non-networked case.
2010-09-01 06:49:01 -07:00
Andy2
cad2854d08 fix bug by always enabling set of widgets for local player in case
prev invocation of dialog hid it.
2010-08-31 06:21:46 -07:00
Andy2
784b5c8cdf tweak strings 2010-08-31 06:20:48 -07:00
Andy2
4d1d7ae7ce put space between "Player 1" and "(robot)" 2010-08-31 06:20:29 -07:00
Andy2
9367251b33 lots of changes, still needing cleanup and a bit of debugging, to
simplify game settings dialog and remove role: a game is now
standalone or not.  Games will be matched on the relay (or over BT, I
assume) based on how many players they provide vs. need -- and other
settings like dictionary
2010-08-31 05:43:41 -07:00
Andy2
adf9c28e0d make games list item as tall without delete button as is with. 2010-08-30 20:44:01 -07:00
Andy2
785ae531db add language name to dict names in GameConfig's menu too 2010-08-27 06:26:25 -07:00
Andy2
092236b0dd cleanup; do formatting inside DictLangCache 2010-08-27 06:25:56 -07:00
Andy2
40e266dda0 move lang strings into cache and add method to get 'em 2010-08-26 18:43:59 -07:00
eehouse@eehouse.org
ecd0280353 Merge branch 'android_branch' into relay_proxy 2010-08-26 18:36:55 -07:00
Andy2
5ddbef7829 update for b15 2010-08-26 18:33:22 -07:00
Andy2
0f3867b995 up constants/version for beta 15 2010-08-26 18:22:18 -07:00
Andy2
d1f6057987 fix stupid typo that meant crosshairs started on top row was only
three cols wide at first.
2010-08-26 18:20:24 -07:00
Andy2
0313421634 Add new class to cache lang codes for dicts to prevent expensive
operation of loading them each time.  Will have other uses later.
2010-08-26 18:14:14 -07:00
Andy2
40d8aede88 use new jni method and array of names to append language to name of dict 2010-08-25 06:34:54 -07:00
Andy2
51e2c61962 add array mapping lang code (the proprietary code stored in dicts) to
language name.  (Names should be translated.)
2010-08-25 06:34:29 -07:00
Andy2
cf6d8efb29 new jni method to get lang code. Takes a dict's raw bytes and builds
a dict object just to fetch the code, which is pretty inefficient, so
caching should be added later on the java side.
2010-08-25 06:33:16 -07:00
Andy2
4208c33ecf make lang code support non-conditional 2010-08-25 06:31:38 -07:00
Andy2
3dba8ba13b Fix bug reported by user: if robot finishes a search but fails to find
a move it's still done with its turn and must trade or pass.
2010-08-24 18:38:12 -07:00
Andy2
3b52f7bbd0 don't connect proxy unless there's at least one relay game 2010-08-23 18:53:11 -07:00
Andy2
33d60452a3 fork a thread to handle proxy connects. Later may want to use thread
pool as for game threads.
2010-08-23 18:52:52 -07:00
Andy2
b586fa1a34 add preference controlling how often proxy connects to relay. Still
need to add way to change timer when interval pref is changed and
other cleanup.
2010-08-23 18:39:47 -07:00
Andy2
a34ccb424f device now passes list of "relayID"s, consisting of connName plus
device id, to relay, one for each stored game that's communicating via
the relay.  Relay parses out each relayID.  Next relay can use these
to look up whether messages are available and reply with that, and
device can put up a notification.
2010-08-22 12:16:57 -07:00
Andy2
56b6a425e2 proxy now writes one byte to relay and reads one byte reply. 2010-08-19 18:34:28 -07:00
Andy2
48ac79be51 GamesList starts a repeating alarm that invokes a new activity that
launches the service.  Service can now do a single check with the
relay, notify if needed, and exit (but doesn't yet.)
2010-08-19 08:45:18 -07:00
Andy2
25e7889c28 checkpoint: add service that's launched at app start and spawns a
thread that stops itself immediately.  Eventually that thread will
check the relay for pending moves, put up a notification offering to
open the game that has moves pending, and schedule itself to run again
later before stopping itself.
2010-08-19 07:47:11 -07:00
Andy2
019da83d60 meant to check this in 2010-08-12 06:42:59 -07:00
Andy2
416b379781 add second class of socket to be listened on, meant for per-device
rather than per-game connection, and when adding connected sockets to
active set track the type.
2010-08-12 06:42:33 -07:00
Andy2
38ed6e4054 add missing close tag 2010-08-11 21:10:10 -07:00
eehouse@eehouse.org
a791b0e53e Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-08-11 20:00:38 -07:00
Andy2
ac022ea5a5 add java version of new crosshairs flags; draw crosshairs 1/3
width/height of cells instead of reusing focus code to color
background.
2010-08-11 18:53:12 -07:00
Andy2
d44b08b609 remove unused and confusing duplicate flags. 2010-08-11 18:51:33 -07:00
Andy2
2d69d8f2b0 use new crosshairs flags to draw a cross in the middle third of cells 2010-08-11 18:51:09 -07:00
Andy2
09bc83429e add and set new flags for crosshairs so platforms can do better than
fill cells as is done for focus.
2010-08-11 18:50:16 -07:00
Andy2
81ad7719b1 list changes since b13 2010-08-10 21:34:44 -07:00
Andy2
fc603645d1 make changes dialog launchable from About dialog (so reachable other
than immediately after upgrade)
2010-08-10 20:33:33 -07:00
Andy2
e720fe79ab wrap in ScrollView so can scroll 2010-08-10 20:32:04 -07:00
Andy2
287ab2485f add changes summary dialog shown on first launch after an upgrade. 2010-08-10 18:48:19 -07:00
Andy2
269bd15a45 change constants for beta 14 2010-08-10 06:12:09 -07:00
Andy2
205723e03b add missing event to logging 2010-07-30 17:44:20 -07:00
Andy2
13596f8538 synchronize read and write of files, fixing a race condition between
BoardActivity shutdown (save) and GamesList refresh (open) that
resulted in zero-length byte array being passed into the jni.  It's
now possible for the list to win the race and display old data, so a
better solution would be to check-out the file in such a way that the
list couldn't read it until it was update, but at least now we won't
crash.
2010-07-30 17:40:46 -07:00
Andy2
d07d90761f remove logging 2010-07-30 17:38:07 -07:00
Andy2
b4f7a6917f wrap time in brackets for readability 2010-07-30 07:16:24 -07:00
Andy2
f9afcc0e6f add ability to tag events as UI or not. CMD_DO is not. Only UI
events in queue prevent engine from continuing.  This fixes bug where
server running engine on behalf of robot would starve the UI thread by
looping forever seeing the engine bail because a CMD_DO was in the
queue and then adding a CMD_DO to try running the engine yet again.
2010-07-30 06:43:56 -07:00
eehouse@eehouse.org
3b7abc2a31 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-07-29 21:13:00 -07:00
Eric House
e857b01783 ignore logs and core files 2010-07-29 21:07:20 -07:00
Eric House
d7a3795355 add static decl 2010-07-29 21:04:33 -07:00
Eric House
d7d2a7523b kill cref when in bad state. 2010-07-29 19:46:52 -07:00
Andy2
396a277cb4 dispose of progress dialog if it's been shown, even if Activity is
going away.  This stops runtime complaints about leaking windows.
2010-07-29 18:11:54 -07:00
Andy2
51d759569a call srand with current time (attempting to fix what may be duplicate
seeds on relay, possible if rand() always starts with same sequence on
different devices in new process); add commented-out logging util_rand
implementation.
2010-07-29 06:53:06 -07:00
Andy2
6be5105eff don't put up progress dialog (from runnable) after activity pauses. 2010-07-29 06:49:30 -07:00
eehouse@eehouse.org
13ecb2f929 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-07-29 05:41:48 -07:00
Eric House
b170a04dec drop duplicate [re]connect packets before they enter the state
machine.  Fixes problems where crefs get stuck in the
XWS_CHK_ALLHERE_2 state.  Still should probably kill a cref where
there's no state table entry.
2010-07-28 22:21:01 -07:00
Eric House
f70b9e1d10 use constructor to save some code; no behavior change 2010-07-28 20:17:54 -07:00
Andy2
d67e421541 get rid of excess logging 2010-07-27 21:36:14 -07:00
eehouse@eehouse.org
958ec15a19 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-07-27 21:32:17 -07:00
Eric House
ad1be65236 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-07-27 20:47:42 -07:00
Eric House
b335151172 log when no event pushed while adding players -- this may be how state machine is getting screwed up 2010-07-27 20:47:04 -07:00
Andy2
51ffdce185 comment out pthread_create failure log; seeing it too often and it's
just for the web view.
2010-07-26 18:37:44 -07:00
Andy2
9eb424201d Add credits to About; use style to remove duplicates; credit Sarah. 2010-07-18 19:16:46 -07:00
Andy2
d0a632d3ff up version to b13 so can be tagged to match. 2010-07-18 14:40:53 -07:00
Andy2
ad1eb053ca a few final tweaks from Sarah 2010-07-18 14:39:46 -07:00
Andy2
b1f027ce00 latest from Sarah 2010-07-17 21:50:44 -07:00
Andy2
5b3e41f4e9 fix bug: allow switch *to* player whose turn it is even if allowPeek
is off (typically because it was turned off after game was loaded and
while non-turn player's tiles are visible)
2010-07-17 07:11:46 -07:00
Andy2
fb8692fb9f add preference for allowPeek 2010-07-17 07:06:33 -07:00
Andy2
639feb8965 nuke extra line -- change I forgot to save 2010-07-17 06:23:14 -07:00
Andy2
6dc21ae7a8 pass (hard-coded) param controlling non-turn board switching 2010-07-17 06:22:42 -07:00
Andy2
5b8cf716b3 add pref controlling whether can switch to look at tray of user whose
turn it isn't
2010-07-17 06:21:24 -07:00
Andy2
8da9a1e8fa dis/enable shuffle and add-player buttons based on number of players present 2010-07-17 06:03:30 -07:00
Andy2
6ffed8750a Make delete button smaller and at other end of screen from text. 2010-07-17 05:58:29 -07:00
Andy2
cd20883df3 draw bonus hint summaries using minimum font height even when cells
are larger -- keeps from distracting so much from words
2010-07-17 05:42:50 -07:00
eehouse@eehouse.org
f93f6222b2 Merge branch 'android_branch' into toolbar 2010-07-16 21:19:44 -07:00
Andy2
a91c665c45 latest from translator 2010-07-16 21:18:39 -07:00
Andy2
2e15650c4d button-based zoom by 4, not 8 2010-07-16 21:01:52 -07:00
Andy2
2bf3cbd7e2 turn on CROSSHAIRS -- somehow lost during merge. 2010-07-16 19:18:55 -07:00
Andy2
dbed23e240 change definition of movement during drag to include not just drag of
a tile but motion on the board which will include crosshairs.  This
prevents miniwindow from coming up and stopping crosshairs movement
when it happened to start on a bonus square.
2010-07-16 18:57:08 -07:00
Andy2
e4feef9bbc reverse sense of -I since hint region unsupported on Android 2010-07-16 18:24:17 -07:00
Andy2
81694f8392 Sarah's latest icons, converted from .psd using imagemagick 2010-07-16 18:18:37 -07:00
Andy2
a99e8142b0 Merge branch 'android_branch' into toolbar
Conflicts:
	xwords4/android/XWords4/jni/Android.mk
	xwords4/android/XWords4/jni/xwjni.c
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardView.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/XwJNI.java
2010-07-16 06:32:32 -07:00
Andy2
f05bfcb3d8 log when dropping message that would mess up cref player counts 2010-07-16 06:23:20 -07:00
Andy2
73980a3c50 use delete button in XWListItem instead of context menu item for DictsActivity too. 2010-07-16 06:19:19 -07:00
Andy2
f9a561bd2a first cut at putting a delete button next to players in config list 2010-07-16 05:50:20 -07:00
eehouse@eehouse.org
ea2b6b6df9 Revert "add util_turnChanged"
This reverts commit 55d86b15d2.

zoom isn't set up on this branch to go immediately all the way out, so wait for toolbar branch
2010-07-16 05:19:52 -07:00
Eric House
55d86b15d2 add util_turnChanged 2010-07-15 18:27:00 -07:00
Eric House
a52fc5a4fd don't call removeSocket when none was added 2010-07-15 18:21:32 -07:00
Eric House
8e5abb189b add mutex for reconns too; log socket and ip addr connecting on it 2010-07-15 18:14:44 -07:00
Eric House
5ea1f3b470 list newest crefs first 2010-07-15 18:13:01 -07:00
Eric House
e2c663622f ignore dicts 2010-07-15 18:09:40 -07:00
Eric House
78f965b979 replace asserts that have been firing on integrating reconn events
with dropping the reconn messages; move log of state table lookup failure
into cref so cref id can be included
2010-07-14 21:32:19 -07:00
eehouse@eehouse.org
f9d8df8cea don't track xwrelay.conf so local changes don't show as local mods 2010-07-14 06:29:50 -07:00
Andy2
f3ffbd94af remove focus-color pref; add crosshairs-color pref in same place 2010-07-14 06:21:55 -07:00
Andy2
55be90dd12 add preference controlling whether bonus "summaries" are shown on top
of bonus squares.
2010-07-13 22:39:45 -07:00
Andy2
7176c7036e add localizable "pts" to the in-tray pending score display 2010-07-13 18:57:48 -07:00
Andy2
15f2a46279 fix miniwindow getting erased as soon as drawn. Problem was that
board code invalidated crosshairs cells in timer callback after
drawing miniwindow but board_draw isn't supposed to get called until
after penup.  But java miniwindow drawing code was pushing DRAW event
to get the canvas updated.  Instead I'm just invalidating the view
which copies the canvas without calling board_draw().
2010-07-13 18:47:29 -07:00
Andy2
6cb2638a50 if tap-to-play is set, remove play-game item from context menu 2010-07-13 18:09:43 -07:00
Andy2
44907a29a6 cleanup: factor to init in loop from an array 2010-07-13 06:36:33 -07:00
Andy2
f4e0c5f1ad turn on crosshairs feature 2010-07-13 06:27:07 -07:00
Andy2
a76cdac0c5 don't put up mini window when have penned-down on a draggable tile. 2010-07-13 06:26:55 -07:00
Andy2
d4a23bbaca fix spacing (whitespace only) 2010-07-12 21:42:04 -07:00
Eric House
7352cd5449 fix so bonus strings are in right order 2010-07-12 21:40:40 -07:00
Andy2
e55bb462d9 include bonus square summaries in grey
Conflicts:

	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardView.java
2010-07-12 21:40:23 -07:00
Andy2
c0819c5a9f up constants for beta 12 2010-07-12 19:16:11 -07:00
Andy2
f2674ed27c XWFEATURE_RAISETILE is off by default 2010-07-12 19:11:42 -07:00
Andy2
21d705c6e7 make wrap code for popping tile up above cursor hotspot (or finger)
conditionally compiled.  I probably want it off on Android now that I
have crosshairs.
2010-07-12 19:11:24 -07:00
Andy2
2f34fc0d35 fix list item not getting updated after its game configuration is changed. 2010-07-12 18:52:11 -07:00
Andy2
0957c95c8e write and read dummy values to/from stream when KEYBOARD_NAV isn't
defined so that the versions are compatible.  This will let existing
saved games be read if I turn this off on Android.
2010-07-12 18:49:36 -07:00
Andy2
de32e514ab cherry-pick three revisions from toolbar branch (d1c7d4097c, f848473c1a and 6484a2fb9b) and manually fix conflicts. 2010-07-12 18:48:03 -07:00
Andy2
19ea138f8e turn on crosshairs feature, which seems to work 2010-07-12 18:24:41 -07:00
Andy2
fd9464b909 first cut at crosshairs: drawing in focus color the entire column and
row that's currently being touched/dragged through.  Meant to aid
users of capacitive touch screens in figuring out what cell they're
on.
2010-07-12 06:39:46 -07:00
Eric House
8d3ea709e0 add CMD_TOGGLEZOOM so zoom state doesn't have to be maintained 2010-07-11 08:05:23 -07:00
Eric House
546ddf33ae add util_turnChanged 2010-07-10 17:05:17 -07:00
Eric House
177af25617 fix so bonus strings are in right order 2010-07-10 16:54:41 -07:00