Commit graph

1513 commits

Author SHA1 Message Date
Eric House
e6f02ee3c7 when drawing letter in tray tile, only shift origin left of edge when
letter width exceeds that of tile.
2012-07-09 07:03:39 -07:00
Eric House
5702c83f17 do string formatting properly, using resources and StringBuffer. 2012-07-09 06:56:08 -07:00
Eric House
e7b0727e0c leave remaining-tiles in place when pool count drops to 0. 2012-07-09 06:07:26 -07:00
Eric House
9885d3bf61 draw letters in tray tiles as far to left as possible 2012-07-07 19:55:19 -07:00
Eric House
7f087181e5 Don't store current network connType in ConnStatusHandler; instead
pass the one for which we want icon displayed or status text
generated.
2012-07-07 19:45:18 -07:00
Eric House
0c02103d42 fix assertion failures due to failure to get game locks. The problem
is that getSummary() can be called at unpredictable times by
background tasks for the games list, and the current open game holds a
lock as long as it's open.  So those getSummary() calls must be
allowed to fail.  Before, letting them fail immediately meant
empty/unusable list elements; now I've added a time they'll wait
before failing.  Now the ones that are called while a game is open can
fail without being noticed, but the ones that are called as a game is
closed to update its summary will succeed by being able to wait for
its lock to be given up.
2012-07-07 11:34:40 -07:00
Eric House
052725aabc fix problems with serialization: use types that are serializable, and
init transients correctly.
2012-07-07 11:05:07 -07:00
Eric House
43fead368c make Random class static rather than generate one over and over 2012-07-07 09:27:27 -07:00
Eric House
3c19a7ef44 tolerate failure to get lock for five seconds before asserting (up
from one.)
2012-07-06 07:14:01 -07:00
Eric House
75602c47d8 on Amazon-made devices only, sleep randomly during load of game
summary.  This seems to work around a bug where only the last item in
the list is clickable but once it's clicked events are received for
every failed click up to that point.
2012-07-06 07:13:11 -07:00
Eric House
9a23473b2f use a dummy TextArea instead of an empty custom view as a placeholder
for loading game summary view.
2012-07-06 06:49:09 -07:00
Eric House
d6fdd24637 move interface methods together -- no code change 2012-07-06 06:10:04 -07:00
Eric House
1ad0a899f0 don't return from getSummary without succeeding, even if must wait on
lock.  Fixes problem with blank entries in game list after returning
from config screen.
2012-07-03 20:30:31 -07:00
Eric House
8ebe180eab fix NPE 2012-07-02 06:59:35 -07:00
Eric House
2e6b64a4e4 complete implementation of java part of one-pass scoreboard draw. Now
looks pretty much identical to what the old code draws except that
rather than having width allocated in proportion to requested size all
get the same width except the one whose score it is which gets 2x.
2012-07-01 17:24:50 -07:00
Eric House
c41c877ae7 fix right edge of scaled text getting clipped by paying attention to
where getTextBounds() says its left edge is.
2012-07-01 17:05:39 -07:00
Eric House
5cd8ab2b33 remove uncalled method -- no change. 2012-07-01 15:57:20 -07:00
Eric House
2ae6bd8caf override onMeasure to make BoardView only as large as it needs to be
so that on tall narrow screens (e.g. Kindle Fire) there's no white
space between the tray and the buttons.
2012-07-01 12:54:38 -07:00
Eric House
89ffd972bf more work on single-pass scoreboard drawing. Now the jni stuff is
finished, but disabled via compile-time flag, and there's a
commented-out rudimentary implementation on the java side.
2012-07-01 10:04:10 -07:00
Eric House
69b0a0d4a3 load conn state for sms app too 2012-06-28 07:22:10 -07:00
Eric House
9b9aec45da format status timestamps in terms of how long ago (using
getRelativeDateTimeString); save and restore serialized timestamps.
2012-06-28 07:20:28 -07:00
Eric House
52e70bff3d rename method; make [g|s]etPrefsString public 2012-06-28 07:17:48 -07:00
Eric House
065446def4 paint status area background manually in red or green and use a single
transparent background icon for success and failure.
2012-06-27 06:44:24 -07:00
Eric House
13633186ff don't reset variable unless changed 2012-06-26 06:50:54 -07:00
Eric House
8ff27cc075 include "sms" or "text" in chooser title 2012-06-24 14:46:02 -07:00
Eric House
5eb937dede use deviceSupportsSMS() to skip asking user whether to invite vis SMS
or email when SMS isn't an option.  Assumption: email *is* available,
which it isn't if it hasn't been configured yet.
2012-06-24 14:43:57 -07:00
Eric House
392f4239d7 add deviceSupportsSMS() -- which checks phonetype, i.e. that there's no phone. 2012-06-24 14:42:46 -07:00
Eric House
7dfe5ba8e1 inval status icon when there's a change so it gets updated. 2012-06-21 18:28:45 -07:00
Eric House
10b47257e9 flesh out new connection status icon: track times and give meaningful
message.  Still to do: [de]serialize state, and separate global from
per-game somehow.  Might also want to include game state (e.g. whether
in a game or still looking.)
2012-06-20 07:50:08 -07:00
Eric House
2b9fb13dbd Merge branch 'android_smallscreen' into android_branch
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardView.java
2012-06-20 06:14:37 -07:00
Eric House
c2c1fe4f89 attempt to improve scoreboard drawing when names are long or numerous
enough to crowd by using same math to figure height when measuring as
when drawing, but it still needs work.
2012-06-19 07:44:26 -07:00
Eric House
964c4cecd8 add dict-browse menuitem to small-screen board menu and on same move
undo/redo up per user request
2012-06-19 06:19:03 -07:00
Eric House
bb5cd677ab make turn color public so can be used from board too (though I'm not
doing that yet.)
2012-06-19 06:19:03 -07:00
Eric House
9d8e1ec261 cleanup: one-letter variables are bad. 2012-06-19 06:19:03 -07:00
Eric House
c34f70f9eb fix bug where current player's scoreboard would disappear if other
players' names were too long by giving all a the same proportion of
what they request and passing in the percent given in case draw
implementation wants to use it as a cue to truncate.
2012-06-19 06:19:03 -07:00
Eric House
545cf9166f show green border in contracted view too when appropriate, and not
only for net games.
2012-06-19 06:18:16 -07:00
Eric House
d46c827b4c reduce min tray height to twice cell height, and tweak layout on
small-screen devices to make the value readable.
2012-06-19 06:16:36 -07:00
Eric House
2e2df3dc17 add hasSmallScreen() 2012-06-19 06:11:16 -07:00
Eric House
a65e1dfa79 add menus for small-screen devices to provide functionality others get
from toolbar.
2012-06-19 06:11:16 -07:00
Eric House
5d9381e1bc change text of menu from hide rack to show rack depending on hidden state 2012-06-19 06:11:16 -07:00
Eric House
78dfd6267c include trayVisState in GameStateInfo on the java side 2012-06-19 06:11:16 -07:00
Eric House
b78ea03ea6 add board layout for small case that doesn't include toolbar or
exchange-state buttons, and check for presence of Views that may now
be missing.  With this checkin small screen devices don't have access
to toolbar functionality -- new and expanded menu will be required for
them.
2012-06-19 06:11:16 -07:00
Eric House
1e9928e7f3 add commented-out toString() for debugging 2012-06-19 06:11:16 -07:00
Eric House
d7f576d6b7 fix board dimensioning for small (needs-scrolling) screens. Since this
effects larger screens needs some testing.
2012-06-19 06:11:16 -07:00
Eric House
9ac5113c93 add dict-browse menuitem to small-screen board menu and on same move
undo/redo up per user request
2012-06-15 07:00:18 -07:00
Eric House
628c058c4c make turn color public so can be used from board too (though I'm not
doing that yet.)
2012-06-15 06:44:39 -07:00
Eric House
6beb572180 cleanup: one-letter variables are bad. 2012-06-15 06:43:54 -07:00
Eric House
405cb23023 fix bug where current player's scoreboard would disappear if other
players' names were too long by giving all a the same proportion of
what they request and passing in the percent given in case draw
implementation wants to use it as a cue to truncate.
2012-06-15 06:26:40 -07:00
Eric House
46770ac0cb show green border in contracted view too when appropriate, and not
only for net games.
2012-06-12 07:19:18 -07:00
Eric House
e3401724e1 new icons for network status and code to draw them, so far hard-coded
to show success.
2012-06-11 19:23:01 -07:00
Eric House
266e9ba91a reduce min tray height to twice cell height, and tweak layout on
small-screen devices to make the value readable.
2012-06-11 07:01:36 -07:00
Eric House
ac74e2e832 add new class that will be responsible for drawing network status icon
at right end of scoreboard.  It now shows the same icon as the games
list per connection type and gives a stubbed-out status message dialog
when tapped.  Still need to add actual status: when was the last
successful send or receive; and need to add decorations to show
connection state.
2012-06-10 07:40:33 -07:00
Eric House
4fc33fe4e5 add hasSmallScreen() 2012-06-09 10:01:41 -07:00
Eric House
9827ea1b39 add menus for small-screen devices to provide functionality others get
from toolbar.
2012-06-06 06:48:55 -07:00
Eric House
b8bad58125 change text of menu from hide rack to show rack depending on hidden state 2012-06-05 22:19:44 -07:00
Eric House
6257c14436 include trayVisState in GameStateInfo on the java side 2012-06-05 22:13:58 -07:00
Eric House
e15c104eb4 add board layout for small case that doesn't include toolbar or
exchange-state buttons, and check for presence of Views that may now
be missing.  With this checkin small screen devices don't have access
to toolbar functionality -- new and expanded menu will be required for
them.
2012-06-05 07:42:39 -07:00
Eric House
c5358dc9c3 add commented-out toString() for debugging 2012-06-05 07:41:00 -07:00
Eric House
b3cf9c65aa fix board dimensioning for small (needs-scrolling) screens. Since this
effects larger screens needs some testing.
2012-06-05 07:38:58 -07:00
Eric House
27ddc355ed don't bother cloning message when it'll be passed to multiple games.
Clone was too late, and there's no chance of modification of the
contents.
2012-05-30 06:54:30 -07:00
Eric House
a03dc80205 tweak method for clarity -- no behavior change 2012-05-30 06:52:08 -07:00
Eric House
2db02f9aa5 fix delegated dialogs to clear state before issuing dismiss callback
so that callback can set up another dialog without tripping an assert,
then move SMS invite dialog chaining from on-click callback to
on-dismiss.
2012-05-23 07:16:27 -07:00
Eric House
622afa4d98 track what games we've sent died notices for and don't repeat. Fixes
infinite message flood occurring when a packet was received after
games had been deleted on both devices.
2012-05-21 21:47:09 -07:00
Eric House
e80417e806 don't draw separate icon in games list elements for needs-sync relay
game -- since that state no longer really exists.
2012-05-21 21:23:13 -07:00
Eric House
adac3abcc6 fix bug where all notifications wound up launching the same game
because all their PendingIntents were the same by passing a unique
resultCode on creation.
2012-05-21 06:46:37 -07:00
Eric House
f56b09980c include game name in notification text 2012-05-21 06:40:52 -07:00
Eric House
469f63f96f log when more than one game found with a given ID. 2012-05-20 10:33:26 -07:00
Eric House
1ca36044a0 allow for possibility that there's more than one game on device with
one gameID.  Currently this should only happen when a device is
playing via SMS against itself -- i.e. when I'm debugging or a user is
playing around.  It hasn't been tested and may not work to the extent
that a game like that can actually work and so may want to be backed
out later.
2012-05-20 10:24:37 -07:00
Eric House
211318f2ef remove logging 2012-05-18 21:23:09 -07:00
Eric House
47a5ab65df use broadcast receiver for status PendingIntents from SendTextMessage,
and pass up new MultiService messages on success or failure.  In
response to these, post SMS status icons on board.  Still need to come
up with an initial status, notice radio ups/downs, etc.  And design icons!
2012-05-18 07:55:10 -07:00
Eric House
9ba663ab98 implement util_phoneNumbersSame in java and call telephony's number
compare method.  Skip the java call when the numbers are
strcmp-identical.
2012-05-18 07:41:46 -07:00
Eric House
60c3a5bf64 use green_border to frame remote players whose turn it is. 2012-05-18 06:54:05 -07:00
Eric House
3a54aa0ebc add util_informUndo() that gets called, and puts up a dialog, after
remote device has performed an undo on a committed turn.
2012-05-14 07:01:02 -07:00
Eric House
10ad59247a don't remove undo menuitem for networked games -- should be safe to
use now.
2012-05-11 07:26:49 -07:00
Eric House
013d9c689b fix bug introduced with dictionary lookup of words played that meant
trades didn't get reported as remote moves -- it just became your turn
without notice.
2012-05-09 18:22:05 -07:00
Eric House
f6ba94735d move BT and SMS listener installation behind if_supported tests 2012-05-09 07:09:15 -07:00
Eric House
75247e59df fix confusing log message 2012-04-26 19:12:13 -07:00
Eric House
b68b8aa0d0 for extra safety, move message hash into header where it can be part
of test whether message should be deleteted from sms inbox.
2012-04-24 07:19:52 -07:00
Eric House
9035f901b1 fix NPE for non-SMS case 2012-04-23 21:46:27 -07:00
Eric House
6930da9686 add warning about unlimited SMS plans that's triggered whenever a new
number is added to the list of possible invitees.
2012-04-23 20:07:44 -07:00
Eric House
010fae495b fix compile error 2012-04-23 07:37:02 -07:00
Eric House
2082b40d4a look up names from phones rather than store them separately 2012-04-23 07:32:42 -07:00
Eric House
f7c9e0cc16 use name in summary where available 2012-04-23 07:31:33 -07:00
Eric House
b2a1fefd26 synchronize access to phone-to-name hash 2012-04-23 06:55:00 -07:00
Eric House
07c1d68321 syntax error! 2012-04-23 06:54:23 -07:00
Eric House
97cb3863a6 name constant -- no code change 2012-04-23 06:34:00 -07:00
Eric House
02443d26a9 catch oob exception when older version receives enum not in values() array 2012-04-23 06:30:20 -07:00
Eric House
b34e741e30 add param to phoneToContact controlling whether phone number is
returned when name can't be found.
2012-04-23 06:16:06 -07:00
Eric House
d5076e2167 make a couple of methods private 2012-04-23 06:14:02 -07:00
Eric House
a98f9ef12f refactor; don't rely on otherwise unused i-var. 2012-04-23 06:13:05 -07:00
Eric House
a72dbdd8dd add static to cache phone->name mapping 2012-04-21 22:16:47 -07:00
Eric House
3af20f1d5a look up name for phone number in contacts and use in game config.
Will want to use elsewhere.  May want to cache depending on speed.
2012-04-19 00:37:37 -07:00
Eric House
e5758766f7 test for null comment 2012-04-19 00:36:51 -07:00
Eric House
fd18d8c95a add boolean param to jni version of comms_resendAll() to ack
afterwards.  Saves some extra jni calls.  Then make comms_ackAny()
separately-useable, and use from BoardActivity after receiving
SMS messages.
2012-04-19 00:03:22 -07:00
Eric House
033a69be8d to make it easier to tell games apart, print the number[s] of the
remote device[s] as part of summary view and in game config screen
(read-only).  Use same field in summaries table for remote phone
numbers and bt addresses.
2012-04-18 23:23:36 -07:00
Eric House
d6ad17ad58 don't crash if relayID null 2012-04-18 23:07:14 -07:00
Eric House
8713b9e148 don't crash when relayID is null 2012-04-18 23:05:28 -07:00
Eric House
b4416f3abe add missing private keyword 2012-04-18 23:04:55 -07:00
Eric House
d67614cd69 send ack after creating game on receipt of SMS invitation. Thought
about starting up the game so it could connect, but that'd make it
impossible to change any settings, e.g. player name, on the accepting
end.
2012-04-17 21:46:57 -07:00
Eric House
019a053df0 give move-made notifications ids based on the games they belong to so
that there can be more than one, then use those ids to dismiss them if
the game's opened other than through the notifications.
2012-04-17 20:08:37 -07:00