Commit graph

1036 commits

Author SHA1 Message Date
Andy2
c60e48b156 RelayReceiver should not be launched in new process since that
prevents its communicating with/updating a game that's already
running.  User presumably wants the current app state updated when
possible.
2011-02-09 06:32:07 -08:00
Andy2
f956df853d return "" rather than null when there's no java class backing util --
common code is less likely to crash.
2011-02-09 06:17:38 -08:00
Eric House
dada74aad7 delete dict if there's an IO error while writing it. A German
correspondent's having occasional crashes with a single dictionary.
It appears that if it were truncated during the download that it would
appear ok until a word search spread into a missing area.  This fix is
untested, and should probably be replaced by a checksum that computed
and checked after the download, but I think it's an improvement.
2011-02-08 21:18:51 -08:00
Eric House
a2ad3d7c0b cleanup 2011-02-08 21:07:31 -08:00
Eric House
ad7f8252b9 separate out UtilCtxt implementation from BoardActivity so there's no
dependency on an open game having a visual representation.  This
should allow e.g. receiving and caching chat messages that come in
while game is not in foreground.
2011-02-08 21:06:18 -08:00
Eric House
861aec127b Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-02-04 08:09:50 -08:00
Andy2
c587a11ee2 Add turn and isrobot/islocal flags to summaries DB, and use to
background in green the player whose turn it is provided that player's
local.
2011-02-04 06:20:40 -08:00
Andy2
79bd17e59b put each player in a game list item in its own line with score at
right end and name at the left.  This will allow e.g. marking in green
a local player whose turn it is.
2011-02-03 06:47:20 -08:00
Andy2
935fe0c7a0 remove option to not show bonus values. 2011-02-01 21:13:46 -08:00
Andy2
33bccaaf42 use slightly different, recommended code to test if network's available. 2011-02-01 20:57:05 -08:00
Andy2
223909f560 change what checking with the server means, from calling HAS_MSGS to
GET_MSGS.  When the messages come in, open up saved games and play
them into them, saving them after if there were any changes.  Tested
by playing a two-device game all the way through fetching messages
after every move.
2011-02-01 20:51:46 -08:00
Andy2
ee620a3e37 move bonus squares into jni since they're constant rather than e.g. in
an editable resource.
2011-02-01 18:55:00 -08:00
Andy2
c2be642302 add game_getGi to fetch into java world any changes to the gi in the
jni world.
2011-02-01 18:53:29 -08:00
Andy2
383206f5dc move bonus squares into jni since they're constant rather than e.g. in
an editable resource.
2011-02-01 18:52:29 -08:00
Eric House
c6e7b21f8a Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-02-01 09:39:55 -08:00
Andy2
977feada82 use a reference to a byte array in the java heap (locking down the
object) rather than allocating a new array in the C heap -- for the
DAWG data of a dictionary.  This can use up to 5% of the java heap for
huge dictionaries, but I'm hoping it fixes a problem reported by a
user of the large German dictionary that seems to involve allocation.
If I'm reading correctly, as long as I stay within 16M (24M or more on
newer devices) I'm sure to get my memory in the java world while it's
less a sure thing in the JNI world (where in addition linux's
aggressive overallocation is used, meaning I'll fail when I try to
swap in memory on write rather than get back NULL from malloc.)
2011-01-31 18:56:20 -08:00
Eric House
95443ec9d9 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-28 14:43:20 -08:00
Andy2
566a456489 use getChannel().size() rather than available() to decide how many
bytes to read from downloaded dictionary file -- because available()
will not always return the full size.  I suspect this is why a German
user is crashing when using the very large 2_15 German dict.
2011-01-27 21:03:37 -08:00
Eric House
70f52b162b Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-27 14:58:10 -08:00
Andy2
b863931db5 turn proxy service back on 2011-01-21 06:10:06 -08:00
Eric House
4202ea5fac Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-19 09:10:51 -08:00
Andy2
a8f4d772f8 set one timestamp when saving game, and another on game creation. 2011-01-19 06:54:23 -08:00
eehouse@eehouse.org
a9c65aa950 Revert "add ctime and mtime timestamps to DB when creating, and upgrade to new"
This reverts commit 465370bac6.

Better to work with the existing timestamps as ints than mess with largely unsupported TIMESTAMP type.
2011-01-19 06:19:33 -08:00
Andy2
7f866da8da draw dragged tiles translucent 2011-01-18 22:03:17 -08:00
Andy2
46f085f479 drop rather than asserting failure when unable to create a dialog. 2011-01-18 21:19:02 -08:00
Andy2
f6b95f93a1 use HashSet rather than String[] for faster lookup. 2011-01-18 18:47:24 -08:00
Andy2
bce4a11595 more work on color prefs. Add a list pref at the same level as colors
for setting "scheme".  Implement that as changing potentially several
colors but only empty cell color for now.  Remove prefs for whether
cell letters follow user colors (they always will) and the new one for
frame color -- it'll always be dark grey.
2011-01-18 18:42:25 -08:00
Andy2
8d52149c28 cache the background color on which arrow is based so don't have to
compute its blackness each time.
2011-01-17 20:39:35 -08:00
Andy2
e9e54ba379 toward supporting a light-on-dark theme: add pref for cell border
color; add pref for whether highlight is black-on-white or the
reverse; and remake the board arrow in white if the background is a
dark color.  It's now possible to configure various colors so that
black empty cells looks good.  Next need a single control to do it.
2011-01-17 18:55:36 -08:00
Andy2
33d5246b7a add a new-user hint, displayed the first time the arrow's drawn on the
board, explaining what the arrow's for and how to move and disable it.
Implementation required passing XWActivity into BoardView so the
newbie hint method could be called on it.
2011-01-15 21:46:28 -08:00
Andy2
465370bac6 add ctime and mtime timestamps to DB when creating, and upgrade to new
version by adding them.  Can't have them default to 'now' because
that's not supported for ADDs.  Can't remove columns either, so at
some point I'll need to migrate to get rid of accumulated cruft.
Timestamps are not set nor read yet.
2011-01-14 19:03:08 -08:00
Eric House
04d8260f01 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-14 12:02:15 -08:00
Andy2
13ef8dd098 add hints-allowed to set of defaults for new games 2011-01-13 18:45:38 -08:00
Eric House
e7172fb4af Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-01-13 14:57:24 -08:00
Andy2
9ebbbb0fec replace robot smart checkbox with a spinner having three settings.
Keep the kludge whereby the settings in all the players are kept the
same.
2011-01-13 06:48:50 -08:00
Andy2
d2ddc5cee7 turn off tile selection for android 2011-01-12 19:01:04 -08:00
Andy2
ceab787cdd update to work with robot-smartness changes. At this point the UI's
unchanged and I'm trying to mimic the old per-game setting using the
new per-robot setting internally.  Still need to change the UI to
allow move than just a boolean choice.
2011-01-10 20:46:05 -08:00
Andy2
6495bd321f fix to compile with robotiq changes 2011-01-10 06:57:10 -08:00
Andy2
d3717c579e add ACCESS_NETWORK_STATE permission 2011-01-06 08:08:36 -08:00
Andy2
99c26cc0e9 move network state listener into own class so it can live longer than
a single game (keeping network state across games launches) and be
used by other network clients later.
2011-01-06 08:08:16 -08:00
Eric House
46e9ae3c01 up copyright date 2011-01-03 16:33:03 -08:00
Andy2
ff6fb7070e Android market reports a few crashes going out-of-bounds on array of
bad words.  Add an assertion on the only path that seems likely to be
causing that.
2010-12-17 18:57:43 -08:00
Andy2
53de4eab9b correctly detect empty dict and set top ptr to null. Fixes crash
using empty dicts.
2010-12-17 18:54:27 -08:00
Andy2
1535f56cd6 adding Turkish and Arabic and language names 2010-12-17 17:34:54 -08:00
Andy2
7e0f025d9e remove logging 2010-12-17 06:51:56 -08:00
Andy2
3336b39d6d add (wordcount) to subst title to make meaning more clear 2010-12-16 20:29:48 -08:00
Andy2
ea85512c4f put word count into list of dicts for substitution. Done by adding
actual count then stripping it back off to form the dict name again.
2010-12-16 20:24:04 -08:00
Andy2
0059f92626 use medium sized text for empty view 2010-12-16 18:50:15 -08:00
Andy2
693909ec67 add an empty view along side list view; all setEmptyView to install it
to be shown when list is empty.
2010-12-16 18:47:25 -08:00
Andy2
740060f531 remove logging 2010-12-16 18:45:46 -08:00
Andy2
95a6982851 use new overridden method 2010-12-16 06:38:47 -08:00
Andy2
993e66da99 add newbie info on launch of dicts activity (and override method so
don't have to pass null)
2010-12-16 06:37:05 -08:00
Andy2
6cd22f6461 add newbie info on launch of dicts activity 2010-12-16 06:36:25 -08:00
Andy2
16933d14c1 fix list item layout to have variable height so it doesn't clip dict
listings that wrap to a second line -- e.g. the Spanish_FAA ones.
2010-12-16 06:24:47 -08:00
Andy2
647443c03e reintroduce BroadcastReceiver listening for connectivity going up and
down.  When network's down, return -1 from send proc so that comms
timing can retry.  This works on both cellphone on carrier network
(with airplane mode as the test for loss/gain of network) and on
emulator (with death/restart of relay as the test since I don't know
how to kill the iface itself).  A quick test on phone using wifi this
morning suggested it didn't work, that into/out of airplane mode did
not result in notifications getting set.  Need to test that, and back
this out if can't be fixed since I can't break wifi.
2010-12-15 18:39:25 -08:00
Andy2
cd3ff71efb notify comms layer when unable to establish connection. This allows
comms logic to retry and fixes failure on device to detect when
network comes up after being down when game was opened.
2010-12-13 18:30:22 -08:00
Andy2
23a4a7ef64 get rid of unused/stubbed out method 2010-12-13 06:37:26 -08:00
Andy2
183d920eb0 update changelog for beta 20 2010-12-09 07:41:43 -08:00
Andy2
1fbdd62372 up version num/strings 2010-12-09 07:21:56 -08:00
Andy2
c4fa9cb707 exit loop rather than trying to use key again after cancelling it.
Fixes CancelledKeyException raised when launching networked game in
airplane mode.
2010-12-09 06:58:55 -08:00
Andy2
d5d81fea5b don't return dialog when msgID is 0. This should fix occasional crash
where OS wants to restore a dialog but the message ID has gotten
cleared -- via a mechanism I'm not quite clear on.
2010-12-08 18:52:08 -08:00
Andy2
a1c96b5601 change default dict download url so new set can coexist with old and
get picked up only by new release that can handle it.
2010-12-08 18:47:21 -08:00
Andy2
65ea075102 when downloading new dict inval the info cache to it'll get reloaded
-- in case we're overwriting one with the same name.
2010-12-08 18:46:25 -08:00
Andy2
1b40d1d47b make method public to be used outside 2010-12-08 18:45:31 -08:00
Andy2
5534939407 add inval() to prevent stale data when new dict downloaded over top of
old.
2010-12-08 18:44:59 -08:00
Andy2
c83e4cc7a3 all places where dict lang is displayed can also display word count 2010-12-08 05:51:26 -08:00
eehouse@eehouse.org
64bcb8bb2b Revert "replace call to rand() with android_only function that reads two bytes"
This reverts commit 1653b9f6e9.
2010-12-08 05:38:41 -08:00
Andy2
3987749079 log calls to set-not-again. I'm getting crashes and that may help
track it down.  Remove this later.
2010-12-07 18:57:38 -08:00
Andy2
4a12f7a96f Revert "in attempt to work around non-random rand() in jni world, call back"
This reverts commit 99c92e779d.

Conflicts:

	xwords4/android/XWords4/jni/utilwrapper.c
2010-12-07 18:43:53 -08:00
eehouse@eehouse.org
57bfe4c943 Revert "switch from nio to regular old io, with separate reader and writer"
This reverts commit b23de9a958.
2010-12-07 18:12:35 -08:00
eehouse@eehouse.org
b389478350 Revert "register for notification of network going up and down; start using"
This reverts commit 77fe3952da.
2010-12-07 18:12:02 -08:00
Eric House
eb22322e8d change title until we have column headers 2010-12-06 21:08:38 -08:00
Eric House
2a0151baf7 add BasEnglish dictionary. 2010-12-06 21:08:15 -08:00
Eric House
4ac4b37619 Merge remote branch 'maidu/android_branch' into dawg_fixup 2010-12-06 21:05:41 -08:00
Andy2
77fe3952da register for notification of network going up and down; start using
that information to connect and not.  There seems to be no way to get
notified when a socket's underlying transport goes down (might not
even want to) so this will be the best way to have the arrows go red
when the device goes into airplane mode.
2010-12-06 20:19:17 -08:00
eehouse@eehouse.org
fcd179f6b7 Merge remote branch 'origin/android_branch' into dawg_fixup 2010-12-06 18:50:13 -08:00
Andy2
74fc103e9d opt for the long form of annotated name (includes word count) 2010-12-06 18:28:00 -08:00
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
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
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
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
Andy2
984a5d6154 Fix yet again what shouldn't have been checked in. 2010-12-02 22:37:21 -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
Andy2
2e956e2f6e debug is not supposed to be checked in turned on 2010-12-01 18:13:55 -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
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