Commit graph

4368 commits

Author SHA1 Message Date
Andy2
8bb2857e63 The relay is hanging inside recv(). Use setsockopt to set a 20-second
receive (and send) timeout on all sockets accept() returns.  Sockets
that timeout should then get closed and dropped.
2011-03-12 05:13:54 -08:00
Andy2
58ff3189a0 remove layout and code allowing toolbar to be positioned in landscape
mode.
2011-03-12 04:15:57 -08:00
Andy2
257d7cf094 set requested screen orientation. Seems to prevent going into
landscape mode when keyboard opened.
2011-03-11 21:52:37 -08:00
Andy2
84d0823341 prevent board from displaying in portrait mode. 2011-03-11 19:07:05 -08:00
Andy2
01fe8f6087 don't ping relay every time app is launched -- timer is enough. 2011-03-11 19:06:42 -08:00
Eric House
9b99183d2c update for b23 2011-03-11 18:06:43 -08:00
Andy2
e7ab1c34b7 add more carriage returns for history formatting 2011-03-11 06:52:43 -08:00
Andy2
a280fe7e3e remove localized format strings identical to that causing crash in English 2011-03-11 06:47:29 -08:00
Andy2
552a5ff6da up constants for beta 23 2011-03-11 06:45:49 -08:00
Andy2
28f3ad316b hide/show hint at top of games list via a preference rather than the
number of games in the list, and modify hint text to point to the
prefs setting.
2011-03-11 06:44:25 -08:00
Andy2
c909f91a61 fix over-long initial trays in history by adding <cr>. Not sure if
line brakes belong in common code or strings however...
2011-03-10 19:00:15 -08:00
Andy2
d6dd2b942f fix crash tapping player name after a trade -- since the format string
was wrong.
2011-03-10 18:56:13 -08:00
Andy2
492e086311 break the hint into two so goes-away part can be smaller. 2011-03-10 18:34:02 -08:00
Andy2
d56ce42585 hide games-list hint when more than 2 games present, and add text to
that effect so people aren't surprised.
2011-03-10 18:24:27 -08:00
Andy2
d9bb5197d4 Add two new menus to be available only when in trade mode. Hide and
show them and another group depending on whether trading at the time.
To make that work, replace the individual calls made to dis/enable
toolbar buttons with a single jin call that takes a struct full of
booleans and make that struct available in BoardActivity where menus
are hidden/shown.  Remove the individual calls from the jin interface.
2011-03-10 18:13:56 -08:00
Andy2
26a274ab0f make the empty-list message a header instead since its instructions
matter after there are games in the list.  But hide it whenever there
are four or more games.
2011-03-09 18:42:06 -08:00
Andy2
bfc5bb62dc don't call nobody dumb, even a robot. 2011-03-08 21:58:12 -08:00
Andy2
8ef3aa51b2 Reverse sense of is-local bit so that on upgrade people don't see all
their local players marked as remote.
2011-03-08 18:43:29 -08:00
Andy2
678cbe1dea fix plural and make name consistent 2011-03-08 18:42:45 -08:00
Andy2
fc4fddb055 check if can hint (to refresh buttons) after enter/leaving trade mode 2011-03-08 07:41:16 -08:00
Andy2
aa88503cfb have board_canHint() return false when trade in progress. 2011-03-08 07:40:38 -08:00
Andy2
15ef9c4fd2 add prompt to dict-pick spinner 2011-03-08 07:31:11 -08:00
Andy2
7de951f149 update with changes from b21 2011-03-08 07:13:14 -08:00
Andy2
9acea8ec5a fire a toast in response to "check relay" menu so people get sense of
something being done.  Firing from RelayService might be more honest
but is much harder.
2011-03-08 06:33:22 -08:00
Andy2
9dd69015cc say "relay", not "server" 2011-03-07 21:37:56 -08:00
Andy2
133079e200 tweak newbie message for new local game creation 2011-03-07 21:14:47 -08:00
Andy2
0225bf215b change text of add-game buttons to be (says Deb) clearer 2011-03-07 20:47:49 -08:00
Andy2
b2db1a0936 don't call remote player robot 2011-03-07 20:44:31 -08:00
Andy2
b441fdb56e make hint text bigger and proportional to cell size. 2011-03-07 20:29:44 -08:00
Andy2
a6edcaadd9 zoom by five instead of four 2011-03-07 20:26:08 -08:00
Andy2
2f3a1b03f5 cleanup 2011-03-07 20:23:47 -08:00
Andy2
5c2d0a064c Better exchange miniwindow text. But more needed after fixing
BoardView code to better format.
2011-03-07 06:41:17 -08:00
Andy2
8c40628916 Support new error message about exchange being disallowed when no selection. 2011-03-07 06:40:11 -08:00
Andy2
54f2ae3edf error string for: fire user error rather than committing turn when
trade attempted without any tiles selected.
2011-03-07 06:29:40 -08:00
Andy2
828bd9aa4c fire user error rather than committing turn when trade attempted
without any tiles selected.
2011-03-07 06:28:43 -08:00
Andy2
0e86467ea1 use high-contrast for mini-window (same as arrow) 2011-03-05 23:21:38 -08:00
Andy2
58d29fbb26 a bit of cleanup: inval rather than replace 2011-03-05 15:38:03 -08:00
Andy2
81e3578dd5 Fix another recycled dialog message by making superclass dismiss
listener adder available and using it.
2011-03-05 10:16:29 -08:00
Andy2
92a726aff3 call removeDialog() when dismissing blocking dialogs. Fixes reporting
the same robot move every time.
2011-03-05 10:05:31 -08:00
Andy2
166bee6c82 always show game name (for now) 2011-03-04 21:33:26 -08:00
Andy2
b0b747f642 remove logging around GameLock 2011-03-04 18:53:47 -08:00
Andy2
997365bc20 new printStack() required for prev commit 2011-03-04 18:36:53 -08:00
Andy2
4cdafbd510 reduce the length of the sleep when waiting for lock; add code to
capture stack trace at lock time that'll be printed out along with the
current thread's trace when I can't get a lock in one second.  I'll
comment that out shortly but want it for debugging -- though it's
untested: can't repro any failure to lock now.
2011-03-04 18:36:33 -08:00
Andy2
2b28a4d27c unlock GameLock before launching BoardActivity -- to fix a deadlock.
Also do lock/unlock in onPause/onResume rather than onStart/Stop to
hold the lock for a shorter time.
2011-03-04 18:22:17 -08:00
Andy2
1b6d8ebed2 don't show game name if it's hidden in BoardActivity -- that is, use
the same preference to govern both.  Still to do: need to inval all
game list items when that preference changes.
2011-03-04 07:40:56 -08:00
Andy2
2fdda2bae1 move game_name to its own row at top so it serves as title. 2011-03-04 07:39:54 -08:00
Andy2
754d7b06ef add boolean 'wait' to getSummary() allowing it to return null if it
can't get a read lock.  Fix GameListAdapter to handle that null.
2011-03-04 07:22:08 -08:00
Andy2
abdabd9c3c don't pass timeout value to join() when stopping jni thread. If the
timeout fires there's nothing I can do anyway.  So it it take as long
as required to exit run(), and if that's too long fix it.
2011-03-04 07:19:06 -08:00
Andy2
b085540ee3 make the jni thread a daemon per recommendation from google dev suppt. 2011-03-04 07:14:17 -08:00
Andy2
f21ddedc59 go back to singleTop for GamesList to see if it fixes the occasional
Activity duplication I'm seeing on-device.
2011-03-04 07:13:00 -08:00
Andy2
a5ba0ac5fe remove pending messages after sending them. 2011-03-04 06:38:25 -08:00
Andy2
a1d1251c0e remove logging 2011-03-04 05:46:20 -08:00
Andy2
6acf7fda68 fix crash: rather than pass chat message to jnithread that will be
null when the board activity has lost focus, save it to be sent once
the thread's been recreated.
2011-03-04 05:45:29 -08:00
Andy2
eb3b83ec48 fix rare crash by tracking whether showDialog has been called and
testing that before dismissing it.
2011-03-03 19:00:50 -08:00
Andy2
ecfe1d110e Make getSummary able to fail since it can be called when somebody has
a write lock that will be held for a long time.  One place it'll fail
is when game list item's been invalidated and wants to update.  Deal
with null summary coming back there.
2011-03-03 06:52:20 -08:00
Andy2
c6fc912d89 reimplement GameLock without ReadWriteLock which isn't quite what I
wanted (which is more like a checkout mechanism).  Lots of logging
remains to be removed.
2011-03-03 06:50:48 -08:00
Andy2
1ca8ce9192 make saveDict return false if aborts the download. (Not used yet.) 2011-03-03 05:38:45 -08:00
Andy2
ce61427bba generate md5 sum file optionally. Later I'll want to download these
to check that the file arrived safely.
2011-03-02 19:00:25 -08:00
Andy2
0348867326 add printStack() 2011-03-02 18:59:35 -08:00
Andy2
a0bf3405b8 get rid of columns I don't plan to use yet -- can always add later. 2011-03-02 18:58:20 -08:00
Andy2
693310bdc7 don't call super() twice!! 2011-03-02 18:57:56 -08:00
Andy2
b32f65574d now that game name's in the display, sort by that. 2011-03-02 07:10:43 -08:00
Andy2
9e56e4f40c call dbchange listeners after deleting game. And with the dbchange
listeners working a lot of inval/onContentChanged stuff can be
removed.
2011-03-02 07:02:24 -08:00
Andy2
61a9f708a2 add game name to list item. I really want to swap the columns now but
can't make player name/score line up correctly on right.
2011-03-02 06:49:04 -08:00
Andy2
467e999509 set and clear dbchange listener in onCreate and onDestroy rather than
onStart and onPause so it'll get called when not in front too.  Not
sure why this worked before the GameLock change....
2011-03-02 06:48:14 -08:00
Andy2
c144503630 move GameLock class from DBUtils to GameUtils 2011-03-01 21:59:15 -08:00
Andy2
ce6eca3fe5 add class that maintains read and write locks per-game record to
prevent writes to a game while it's open.  Seems to work, but needs
more testing.
2011-03-01 21:44:59 -08:00
Andy2
4eb77809fb remove redundant logging 2011-03-01 06:51:20 -08:00
Andy2
a344f26d1b add static boolean that controls whether logging is on (for java).
Add an Application subclass that fetches the value from a preference,
a checkbox setting in advanced prefs, and modify the static when
that's changed at runtime.
2011-02-28 20:07:07 -08:00
Andy2
54ef8f73c9 get rid of some logging 2011-02-28 18:43:47 -08:00
Andy2
69638d8aa9 fix string so we get called on boot 2011-02-28 18:36:47 -08:00
Andy2
bfc82242d7 add new column to be used to track whether a game is in use -- not
used yet but anticipated and I'm added a lot this release anyway....
2011-02-28 06:45:52 -08:00
Andy2
20ad465b96 from GamesList.onNewIntent, launch the first changed game rather than
just invalidating all changed list items.
2011-02-28 06:37:29 -08:00
Andy2
ed8707fb4b replace array[1] with HashSet to support more than one db change
listener (part 2)
2011-02-28 05:42:09 -08:00
Andy2
b57b6b1b31 replace array[1] with HashSet to support more than one db change listener 2011-02-28 05:41:02 -08:00
Andy2
c31e964ce4 remove class and interface no longer used 2011-02-27 22:45:51 -08:00
Andy2
fe9932b57d remove hint menu. Add sync-with-server item to board and factor code
implementing same in GamesList up into DlgDelegate where it can be
called from both.  Also, make syncing fire off the service just as the
timer does so that results generate Notifications.  Makes it better
for testing if nothing else.
2011-02-27 22:43:09 -08:00
Andy2
d2e663fa99 remove logging 2011-02-27 22:40:26 -08:00
Eric House
4d5aad61b4 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayService.java
2011-02-26 20:02:29 -08:00
Andy2
6df2abecb6 don't use special launchModes for GamesList *but* do invoke it from
DispatchNotify so that an existing instance will be reused rather than
a new on created on top of the stack.
2011-02-26 19:47:33 -08:00
Andy2
9cc7cd0dc8 add logging of activity lifecycle methods -- and override a couple just
to do the logging before calling super().  These should go once I've
got the lifecycle stuff working.
2011-02-26 19:46:29 -08:00
Andy2
ef074f2944 don't bother passing flags to DispatchNotify class. 2011-02-26 19:45:05 -08:00
Andy2
a0f5ef4e18 remove logging 2011-02-26 19:44:02 -08:00
Eric House
a68170de51 remove PendingIntent.FLAG_UPDATE_CURRENT; it's breaking things. 2011-02-26 12:10:24 -08:00
Andy2
5ba6579180 Add Discard button to dialog explaining that remote game's been
deleted.  To do that: added interface to TransportProcs that a caller
can implement and to which it delegates the UI (error code reports).
BoardActivity implements that interface.  To avoid a race condition
where the JNIThread would save the game after I'd deleted it I kill
the thread and wait for it to die before deleting the game and calling
finish().
2011-02-25 19:57:43 -08:00
Andy2
86274785dd add newbie-info on turn-changed 2011-02-25 07:13:54 -08:00
Andy2
5e0f12e49d add a confirmation dialog to "undo last", and remove it altogether
from networked games since as currently implemented it can quickly get
them permanently out-of-sync (and cause the jni code to assert.)  Need
to debug this....
2011-02-25 06:54:38 -08:00
Andy2
0be59d1ba7 add showConfirmThen (which XWListActivity already has) 2011-02-25 06:53:36 -08:00
Andy2
d41487150b add draw_boardBegin (fix broken compile) 2011-02-24 22:28:15 -08:00
Andy2
ce64f79cdd add draw_boardBegin 2011-02-24 22:24:24 -08:00
Andy2
5afb7aadff add dict_getTileValue 2011-02-24 22:23:57 -08:00
Andy2
40dcda2262 add flag that's supposed to help notification launch an open activity 2011-02-24 22:21:04 -08:00
Andy2
5291307c11 get rid of onRestart -- onStart is always called right after. 2011-02-24 22:20:10 -08:00
Andy2
8b5f4a84f2 tweak strings so relevant part visible. 2011-02-24 17:45:02 -08:00
Andy2
9809864afb move connect-never option to the top where won't be scrolled off
screen initially
2011-02-24 17:44:43 -08:00
Andy2
66bc435f28 always save after receiving messages that may have changed state.
Previously did so only when in background, but that leaves a problem:
if device A sends messages to B and B ACKs them so that they're
deleted but exits without saving (for any reason) the game is
permanently horked.  It's safer to save immediately.
2011-02-24 17:35:22 -08:00
Andy2
f382f17d20 make game_receiveMessage return even if server doesn't do anything
with it -- since caller will use the return value to decide whether to
save state.
2011-02-24 17:33:10 -08:00
Andy2
f0d90f0576 get rid of cute auto-array-creation. No behavior change; maybe no
change in generated code.
2011-02-24 07:39:35 -08:00
Andy2
9818a29f86 Use bitvector (an int) instead of an enum for flags noting what
arrived in the background. When notification that game's over arrives,
add it to the flags, then on game open show the game over dialog (in
addition to raising chat activity and possibly showing recent move.)
2011-02-24 07:09:41 -08:00
Andy2
7910aed896 XW[List]Activity now call removeDialog() every time a dialog is
dismissed so that they now all go through onCreateDialog() every time.
This allows to shrink or eliminate onPrepareDialog().  The hope is
that it will fix the occasional crash where restoreManagedDialogs
invokes onPrepareDialog() and some ivar I need isn't set because the
class was just reloaded.
2011-02-24 06:25:18 -08:00