Commit graph

101 commits

Author SHA1 Message Date
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