eehouse
c293425d2e
When cell background changes to show focus draw cell chars in normal
...
color rather than white.
2010-03-14 16:25:06 +00:00
eehouse
f28f5b80d3
include name of dict being downloaded in download progress dialog
2010-03-14 16:24:54 +00:00
eehouse
f5f54f53f4
increase size of miniwindow text and move linebreak in trading text so
...
still fits at larger size.
2010-03-14 16:24:37 +00:00
eehouse
6a3661d30e
use XWListAdapter to get rid of duplicate methods
2010-03-14 05:02:08 +00:00
eehouse
7fadce15ef
add menuitem to main games list view that brings up view of all
...
installed dicts. Currently allows to delete them. Later should allow
invoking a browser like DawgShow.
2010-03-14 05:01:55 +00:00
eehouse
626a7e4a32
rename list item class/layout to indicate more generic use
2010-03-14 05:01:33 +00:00
eehouse
78fb9e0092
new class that implements those functions in ListAdapter that are
...
always the same or depend on a single count variable.
2010-03-14 05:01:13 +00:00
eehouse
cd2fc9b49a
don't try to work on games whose dicts are missing (though users can't
...
actually delete them yet): check in GamesList, and put up alert via which
they can launch the download activity.
2010-03-13 23:11:57 +00:00
eehouse
0f620305f0
refactor to rebuild dict list onResume() to pick up any downloaded dicts.
2010-03-13 23:11:35 +00:00
eehouse
6eb045d3a8
don't crash if exiting without having successfully opened a game.
2010-03-13 23:11:23 +00:00
eehouse
0fc42fe85c
get rid of unused DictActivity
2010-03-13 23:11:11 +00:00
eehouse
5ef7697c05
download dicts under app control (with new activity) and save them
...
locally rather than leave them in the browser's downloads directory.
Fix code that expects all files in local storage to be games (since
dicts are now there too.)
2010-03-13 23:10:58 +00:00
eehouse
2761772e05
When user dismisses GameConfig form, check if the game being viewed
...
has any state (moves) and if the changes being made would invalidate
that state and force a reset. If so, give the user a choice between
save and discard. Means CurGameInfo behaves slightly differently if a
game is in progress. Also fix game reset to preserve comms address.
2010-03-13 23:10:30 +00:00
eehouse
11d6f7417e
when copying strings between structs, realloc, don't just copy ptrs.
2010-03-13 23:10:11 +00:00
eehouse
ef15f50edf
add model_getNMoves
2010-03-13 23:09:53 +00:00
eehouse
846f07e929
get rid of save button in comms config dialog
2010-03-09 06:29:49 +00:00
eehouse
a727c3bb2b
get rid of tmp font-flags config preference
2010-03-09 06:29:31 +00:00
eehouse
dfb33c33b4
change about toast into about alert, in Utils so callable from two
...
locations. Url and mailto ref may not work yet. Needs contrast of
text with background fixed.
2010-03-09 06:29:04 +00:00
eehouse
fd423f7704
treat enter key same as center; improves testing with emulator if
...
nothing else.
2010-03-09 06:28:42 +00:00
eehouse
04e454f922
add relay status icon
2010-03-08 06:16:08 +00:00
eehouse
e73c6d1234
pass relayStatus an enum rather than an int
2010-03-08 06:15:37 +00:00
eehouse
285e1b47d5
get rid of save button: dismiss to save.
2010-03-08 06:15:14 +00:00
eehouse
5140b95766
new dialog to force user to pick remote players after making game be
...
host; call new CurGameInfo methods to ensure gi is kosher before it's
passed to jni code (which asserts if it's not).
2010-03-08 06:14:44 +00:00
eehouse
f50a25ef3f
move creation of summary string into CurGameInfo
2010-03-08 06:14:28 +00:00
eehouse
9beada3c4c
add logic to show different names, even change values if needed, to be
...
consistent with rules based on the device role, e.g. that a guest has
no remove players and a host has at least one.
2010-03-08 06:14:00 +00:00
eehouse
5d42cebca1
change compile command
2010-03-08 06:13:06 +00:00
eehouse
0be2096f9c
report UnresolvedAddressException, which I've seen
2010-03-08 06:12:44 +00:00
eehouse
6e08bbc9ce
don't draw tile that's the source of a drag.
2010-03-08 06:11:18 +00:00
eehouse
6bb1170ca8
minor bugs with tray focus: player color not used for pending score;
...
pending score doesn't show focus; focussed empty tile slots drawn with
bogus value.
2010-03-08 06:09:40 +00:00
eehouse
5fc86dbe3a
0 means transparent
2010-02-28 16:56:27 +00:00
eehouse
0fa5f5fcd5
improve bitmap generation: only foreground needs to change; background
...
can always be transparent.
2010-02-28 16:55:56 +00:00
eehouse
cd85406c01
create and cache new bitmaps from black-on-transparent originals
...
provided from dict based on player color and whether inverted. This
works around apparent lack of API to change colors of monochrome
bitmaps at draw time (paralleling those for drawing text.)
2010-02-28 16:54:59 +00:00
eehouse
4e2ebebcfd
notify BoardView when prefs change
2010-02-28 16:54:22 +00:00
eehouse
da46fe3163
just draw the bitmap in the largest rect possible.
2010-02-28 16:54:06 +00:00
eehouse
36fd71bde8
use fillRect instead of two lines
2010-02-28 16:53:48 +00:00
eehouse
b4f40627ae
fix warnings flagged by Eclipse
2010-02-27 20:22:04 +00:00
eehouse
99847cd0c5
remove noop function
2010-02-27 20:06:45 +00:00
eehouse
a067da05db
when IS_CURSOR flag is set, use draw using background from prefs.
2010-02-27 18:06:06 +00:00
eehouse
f0840f1e8d
implement focus keys capture and jni interaction. Some hackishness
...
required due to inconsistency in ordering of key events,
e.g. sometimes up not preceeded by down.
2010-02-27 18:05:54 +00:00
eehouse
671876fc06
fix varargs version of logf
2010-02-27 18:05:12 +00:00
eehouse
26d4056a76
add timestamp to java logs
2010-02-27 18:04:52 +00:00
eehouse
7d0bd9d50c
implement mini window, jni and java rendering. Works on emulator, but
...
may not work as well under fat fingers....
2010-02-27 18:04:33 +00:00
eehouse
a18470e4a2
add and implement reset menuitem
2010-02-27 18:04:11 +00:00
eehouse
4b48c1a0e6
set draw after ending game so scoreboard will update
2010-02-27 18:03:51 +00:00
eehouse
28edaa09e2
fix missing import (oops) and cleanup final scores stuff.
2010-02-27 18:03:36 +00:00
eehouse
cf9c952fc2
handle final scores menuitem: add server_endGame to jni and new
...
dialog/mechanism to call back and forth between threads to query and
end game on positive response.
2010-02-27 18:03:07 +00:00
eehouse
142492ad85
get rid of game info menuitem and strings
2010-02-25 04:52:11 +00:00
eehouse
6fa6162a39
improve choice of font size for cells and tiles: calculate once based
...
on a reasonable size, then figure multipliers (floats) to be used to
calculate the size and descent for font selection and positioning
relative to baseline. Seems to work for dicts with and without
descending chars and with and without diacriticals. Untested for
dicts with bitmaps (e.g. Catalan.)
2010-02-25 04:51:35 +00:00
eehouse
210332ec93
implement and call comms_resendAll
2010-02-24 04:30:13 +00:00
eehouse
8de2665642
implement phonies: add jni->java for util_warnIllegalWord, jni changes
...
to preserve the field in CurGameInfo, and java changes to keep
correct text in reused dialogs.
2010-02-24 04:29:46 +00:00
eehouse
3ca7f84659
temporarily add options to prefs to choose flags passed to Paint for
...
drawing text; improve calc of textHeight to better fill cell. Still
need to detect dicts where descent isn't used, e.g. hex
2010-02-24 04:29:17 +00:00
eehouse
c7a0ebb830
cleanup: cache Paint used to draw bitmap, etc.
2010-02-21 21:42:23 +00:00
eehouse
2498e86a38
lock orientation at current setting before bringing up blocking
...
dialog; unlock on dismissing it. The solves problem of how to draw
background board when orientation changes and jni thread is blocked.
2010-02-21 21:41:21 +00:00
eehouse
fe8e49bce2
Forgot to add this yesterday: interface for jni thread to use to shift
...
drawing into BoardView where it can be synchronized.
2010-02-21 04:58:04 +00:00
eehouse
93ad1f3b30
get rid of BlockingActivity, using instead dialogs inside
...
BoardActivity. Block jni thread after it posts to the UI thread to
put up the dialog, and in a dismiss listener on the dialog release the
blocked thread. Seems to work.
2010-02-21 04:56:37 +00:00
eehouse
cbbf30d0b7
synchronize access to the bitmap and owning canvas used first by
...
jni-sourced drawing and then by doDraw to put the bits on the screen.
This should fix crashes when screen orientation changes while
board_draw is running in the JNI thread, but for some reason the
emulators aren't signaling config changes so I can't test.
2010-02-20 19:19:45 +00:00
eehouse
de58f33b4c
add game time to board and jni; clean up hide/show on check events.
2010-02-18 04:44:30 +00:00
eehouse
5cf9472642
translate error codes into alerts or toasts where appropriate.
2010-02-17 15:10:10 +00:00
eehouse
cd0afbfae8
Create and pass enum into relayErrorProc
2010-02-17 14:37:53 +00:00
eehouse
84fa9bce88
Fix problems detecting orientation change: instead of passing a
...
message, have draw check if dimensions are same as when did layout and
redo them if they're changed. Works because the OS wants us to redraw
as soon as orientation changes. But this makes it easier to hit a
synchronization problem: if re-layout happens mid-draw then canvas or
other draw-related objects may be null. Need to get rid of the jni
thread OR synchronization drawing and layout.
2010-02-15 02:48:27 +00:00
eehouse
996351cc9c
minor changes: rearrange menus, new strings, etc.
2010-02-14 22:05:08 +00:00
eehouse
65fb05b29c
Export remaining prefs colors; add default relay host to prefs.
2010-02-14 17:28:46 +00:00
eehouse
5e066514cb
Pare from connection options transports not supported on device. 1.5
...
will be relay only. 1.6 adds SMS, and 2.0 Bluetooth.
2010-02-14 17:27:27 +00:00
eehouse
885c9093fb
Put up Toast messages on connecting to relay.
2010-02-14 17:23:07 +00:00
eehouse
7d385e180a
Don't erase bottom of board drawing tiles; figure font size based on
...
chars in dict (untested); get background color from prefs; etc.
2010-02-14 17:21:59 +00:00
eehouse
d7fe6c80f8
load default preferences on boot.
2010-02-12 09:15:19 +00:00
eehouse
786a3fdc57
When drawing letters raise baseline by font's descent to avoid 'J'
...
etc. hanging below cell border.
2010-02-11 13:44:04 +00:00
eehouse
bd611bb6f4
implement dictChanged. And so that utf8 dicts could be opened without
...
their games being drawn (no BoardActivity around) break the two
android-only callbacks out of UtilCtxt and into a new JNIUtils
interface that then requires new handing in C.
2010-02-11 13:27:09 +00:00
eehouse
099cf66a79
add choice of SMS and BT as transports. SMS can't be tested on
...
emulator and so isn't; BT isn't implemented at all. But SMS works as
far as the send proc.
2010-02-09 14:43:37 +00:00
eehouse
2d17649af5
add overloaded methods for opening games that will never be rendered,
...
where several interfaces passed in are null.
2010-02-09 14:40:31 +00:00
eehouse
117ff31e64
remove assert. doCreate can get called several times.
2010-02-09 14:36:55 +00:00
eehouse
1afbaf9c42
rename menu item
2010-02-09 14:36:09 +00:00
eehouse
5510ebc388
remove logging
2010-02-09 14:35:16 +00:00
eehouse
e013cbd79d
The not-yet-working activities around SMS....
2010-02-09 14:33:24 +00:00
eehouse
35352f8b6c
pull bonus colors from prefs too
2010-02-09 13:14:40 +00:00
eehouse
6522f54989
fix player juggle
2010-02-09 13:14:11 +00:00
eehouse
4a12409d97
Add colors etc. to prefs dialog; wire player colors to be set from
...
prefs rather than hard-coded. Remaining new prefs entries still
unused.
2010-02-07 05:54:26 +00:00
eehouse
4db8750ec0
do app prefs the way they're supposed to be done
2010-02-06 21:04:19 +00:00
eehouse
fb65fecebb
When CommonPrefs field is changed mid-game, reflect it immediately.
...
Means adding board_prefsChanged() to jni and having Utils class call
it via JNIThread when prefs change.
2010-02-01 15:06:12 +00:00
eehouse
0df6bf873c
close socket on thread exit -- allows to reconnect to relay after
...
closing and reopening a game.
2010-02-01 15:03:13 +00:00
eehouse
7e20bd1a30
add about menu to opening dialog
2010-02-01 05:45:39 +00:00
eehouse
38ed6c925b
remove unneeded intents
2010-02-01 05:45:24 +00:00
eehouse
0485b6d4e6
invoke prefs from games list activity too
2010-02-01 05:45:10 +00:00
eehouse
24285b5d7a
include device role in game list summary
2010-01-31 21:46:04 +00:00
eehouse
9f250c99ef
get rid of gameID param. This change breaks all other platforms...
2010-01-31 21:35:07 +00:00
eehouse
caa5d6a55f
implement enough networking to play a game via relay (provided I don't
...
quit on either device.) Uses java.nio, a single thread blocking on
select() and a single SocketChannel. Outbound packets are queued, and
incoming packets reassembled then passed to the JNIThread to be sent
to the jni for parsing.
2010-01-31 21:26:21 +00:00
eehouse
15ce0a12da
add game_receiveMessage() (see prev note)
2010-01-31 21:22:55 +00:00
eehouse
69cbff63f6
Hardcode ip address of emulator's host rather than eehouse.org for
...
easier debugging. Needs to be in a preference....
2010-01-31 21:14:49 +00:00
eehouse
49402ed218
Get comms info (host name, etc.) from user and pass it through to the
...
send proc. Along the way, write jni code to instantiate a new object
including setting enums. *Now* I'm ready for networking....
2010-01-30 20:06:06 +00:00
eehouse
bb90dce2c4
coalesce CMD_DO messages; fixes robot-vs-robot game.
2010-01-30 15:33:57 +00:00
eehouse
3798084dab
idle via a local Runnable rather than having whole class implement it.
2010-01-30 15:33:16 +00:00
eehouse
20aad594e4
don't explain robot scores by default
2010-01-30 15:31:08 +00:00
eehouse
7b0f100f27
wire in enough comms that java's send proc gets called when device is
...
a guest. Networking's next....
2010-01-30 14:38:44 +00:00
eehouse
b915319178
create and pass to jni CommsTransport instance when game isn't standalone
2010-01-30 14:36:55 +00:00
eehouse
5b1a0f167e
class that will implement network for comms
2010-01-30 14:35:33 +00:00
eehouse
ee2fe9d193
get/set enums from C; preserve device role setting from ui to saved
...
game.
2010-01-30 13:44:12 +00:00
eehouse
e86d656b4a
substitute smaller built-in dict to save time moving bits during
...
development; don't hard-code name of built-in.
2010-01-30 03:31:20 +00:00
ehouse
ec085d8944
lots of little changes toward making prefs (per-game and global) work,
...
which they more-or-less do. Some still not captured.
2010-01-26 14:48:37 +00:00
ehouse
c682a7caac
snapshot work toward getting networking done.
2010-01-26 14:46:48 +00:00
ehouse
90f93aefa8
Add lots of widgets. List of players can no longer be a list since it
...
wants to scroll, so it's textview subclasses that don't show focus
correctly yet.
2010-01-26 14:43:39 +00:00
ehouse
0649597d90
Add prefs activity.
2010-01-26 14:38:31 +00:00
ehouse
4425eaa99e
move showColors into CommonPrefs, removing separate storage in linux
...
and wince and removing setter from board and jni APIs. Palm change
pending.
2010-01-26 04:14:18 +00:00
ehouse
8a4c31b203
rename file
2010-01-25 03:05:15 +00:00
ehouse
68079d3590
Add ability to open utf8-formatted dicts and to display bitmap tiles
...
(though poorly.) Both required processing in the jni that isn't
possible (e.g. because no libiconv included) so I created callbacks
into java from the dict building code. Add ability to download dicts,
to select them, to add and remove players and make them robots or
human. Robot-vs-robot game doesn't work well (robots trade a lot and
server_do seems not to be getting called enough) but will soon.
Coalesce penMove events. Implement game list menuitems like delete,
copy, etc.
2010-01-25 02:49:14 +00:00
ehouse
676fd73fc0
Activity for downloading dicts with nothing but a WebView in it.
...
Works, but not cleanly. Still need to get the path to
/sdcard/downloads programatically, and to exit cleanly back to parent
Activity.
2010-01-25 02:23:04 +00:00
ehouse
960fbd0b33
Fire GameConfig activity to edit a game; use file save/open methods in
...
Utils.
2010-01-20 06:54:09 +00:00
ehouse
f4535f3408
2010-01-20 06:52:37 +00:00
ehouse
dd05c5b58e
add constructor that names player by position in game. (Template
...
needs to come from strings.xml)
2010-01-20 06:50:59 +00:00
ehouse
171318156d
Remove board layout to JNIThread; format scores to show remaining
...
tiles and whose turn it is.
2010-01-20 06:49:38 +00:00
ehouse
7f0768a4f9
do board layout here rather than in BoardView so main thread isn't
...
talking to jni (fixes assert in jni catching overlapping calls from
both threads); call server_writeFinalScores for BoardActivity.
2010-01-20 06:48:43 +00:00
ehouse
ad013b8cc7
add server_writeFinalScores.
2010-01-20 06:44:02 +00:00
ehouse
706fe3f927
implement remSelected and notifyGameOver
2010-01-20 06:41:14 +00:00
ehouse
7eccde84e3
Add utils like juggle() to be called from GameConfig; always keep max
...
number of LocalPlayer instances around so they can be filled from jni
code (which is easier than making the jni construct new instances.)
2010-01-20 06:38:29 +00:00
ehouse
531ae8ea1a
add file open/save functions.
2010-01-20 06:35:56 +00:00
ehouse
f7907c866d
Move jni calls for Game menu items into jni thread
2010-01-19 13:28:32 +00:00
ehouse
b3cf0b41e1
Get rid of separate tile picker in favor of having existing
...
BlockingActivity do it. This may not work when picking from the pool
is enabled but is cleaner for now.
2010-01-17 17:51:27 +00:00
ehouse
69c8577dcb
Back out change adding Looper. Using own queue is better because its
...
length can be tested and there's no race condition (between the looper
being available and the parent thread wanting to post messages) when
the constructor inits the queue.
2010-01-16 18:56:32 +00:00
ehouse
5c183acb5e
Run JNIThread inside a Looper; use BlockingActivity to implement
...
dialogs requiring an immediate response. The Looper change was made
in the hopes that a new Activity wouldn't be required and may not be
necessary.
2010-01-16 18:39:27 +00:00
ehouse
35943e8731
add util_userError()
2010-01-16 18:34:27 +00:00
ehouse
2d46bd60c9
Add transparent activity that can be called from a thread that will
...
block until the dialog it puts up gets an answer. Calling
showDialog() from the thread I want to block didn't work.
2010-01-16 18:27:22 +00:00
ehouse
7c4198c05e
implement util_getUserString and features like formatRemainingTiles
...
that display a bunch of text. Started working on util_userQuery.
2010-01-16 14:16:27 +00:00
ehouse
f9c9b41b3a
save and open games by file rather than one globally, and display some
...
info about each in games list (though all still have the same players
and dict.)
2010-01-15 13:48:26 +00:00
ehouse
3beba51b6f
add jni methods, and modify common code, so a CurGameInfo struct alone
...
can be read from and stored to a game file.
2010-01-15 13:44:29 +00:00
ehouse
a3a313fdb4
cleanup; refresh view on regaining focus rather than using
...
startActivityForResult
2010-01-13 13:31:23 +00:00
ehouse
b2f0b91a23
save phony "new game" even if names not set
2010-01-13 12:57:02 +00:00
ehouse
cf60be5082
implement board_beginTrade()
2010-01-13 12:29:11 +00:00
ehouse
de3f45044f
Don't show extra file in game list.
2010-01-13 12:16:43 +00:00
ehouse
20e8ba9eb0
add draw_objFinished()
2010-01-13 12:14:12 +00:00
ehouse
fa44159823
Use clipping in scoreboard and tray; show selected tiles with thicker
...
border.
2010-01-13 12:13:05 +00:00
ehouse
21b3b29eab
fix typos
2010-01-12 13:47:17 +00:00
ehouse
14372216d0
implement showValues; pause engine to handle events; call srandom
...
during init; add menus and call notImpl() for them.
2010-01-12 13:39:19 +00:00
ehouse
839e707069
refresh list view on (some) changes; get rid of unused button.
2010-01-12 13:32:19 +00:00
ehouse
47d29d8d4d
don't draw tile values < 0
2010-01-12 13:30:20 +00:00
ehouse
1a4f0e04bf
add copy constructors; change starting game to two players, second a
...
robot.
2010-01-12 13:20:18 +00:00
ehouse
4db53ed176
add Toast-based temporary about box with svnversion and notImpl() function
2010-01-12 13:15:47 +00:00
ehouse
e76306a543
fix drawing blank tiles
2010-01-10 18:12:48 +00:00
ehouse
2c3e45318d
All I wanted was to implement a tile picker, but it turns out dialogs
...
can't be synchronous on Android: you can't block the main UI thread.
So now there's a new background thread to which all jni activity
except game opening and saving is delegated (and these happen before
and after the thread exists.) Tile picking works because the request
comes in on the background thread which then blocks until the
BoardActivity reports that the tile picker's gone away.
2010-01-10 17:35:23 +00:00
ehouse
6a4a0a8775
include thread id in logs
2010-01-10 17:19:30 +00:00
ehouse
5c762466aa
new activity/layout for picking tiles
2010-01-10 17:18:37 +00:00
ehouse
a91f662327
save and restore games (though there's a global game for now).
2010-01-09 17:19:25 +00:00
ehouse
5d9dc49bf0
formatting changes only
2010-01-09 17:18:15 +00:00
ehouse
9761596e6e
add system menu to games list with "delete all" item; implement roughly
2010-01-09 14:39:34 +00:00
ehouse
35dd738c26
add onDispose call to game_dispose, and implement it such that jni
...
doesn't leak.
2010-01-09 13:30:23 +00:00
ehouse
b14cf81df4
to fix board getting erased on every draw, draw to our own bitmap and
...
canvas and blit that to draw's canvas each time. Requires keeping x
and y offset since board doesn't fill the view; requires erasing tiles
and score entries before drawing.
2010-01-07 14:34:07 +00:00
ehouse
f6a951f845
add yOffsetChange commented out
2010-01-07 14:30:56 +00:00
ehouse
fdce005fb0
add vertScrollBoard
2010-01-07 14:29:49 +00:00
ehouse
9bd51e4305
add yOffsetChange commented out (not needed for scrolling, just for UI
...
to show thumb.)
2010-01-07 14:27:20 +00:00
ehouse
da91820525
Draw 'X' icon in empty middle square; start first player as non-robot
...
to show it.
2010-01-04 06:03:28 +00:00
eehouse
ef188164e2
implement drawBoardArrow, but without setting tranparency correctly.
2010-01-03 01:02:14 +00:00
eehouse
d206aef266
initial checkin of java source for android port
2010-01-02 19:30:20 +00:00