Commit graph

990 commits

Author SHA1 Message Date
Andy2
5769ae6a31 cleanup: there are two listeners created over and over; better to
store in a class static and reuse.
2011-08-24 18:51:47 -07:00
Andy2
4ac84dde23 change sig of DlgDelegate's dlgButtonClicked() method to include id of
button rather than just boolean.  Add onDismissListener so can tell if
whole thing was backed-out of (since that's a different choice from
the two buttons "text" and "html" used in one case.)  Fix compile
error that slipped by earlier: frequent clean builds required with
java.
2011-08-24 18:22:21 -07:00
Andy2
50c692024b fix crashes when reloading (rare unless android:configChanges removed
from AndroidManifest.xml). Problem was that managed dialogs are
recreated between onStart() and onResume() yet onResume() was where
ivars (specifically m_gi) were set.  Can't just set them in onStart()
because then I'd want to save state them in onStop() which isn't
guaranteed to be called.  So create a function loadGame() and call it
from both, using a flag to prevent its running twice (which flag is
cleared in onPause())
2011-08-24 18:18:17 -07:00
Andy2
3a2af96c24 use new callback-replaced-by-id mechanism to query for html/text
choice.
2011-08-24 06:51:00 -07:00
Andy2
f88697fd3f complete conversion of showConfirmThen, removing old methods and
adding second param to buttonClicked() callback indicating which
button was cancelled.
2011-08-24 06:14:42 -07:00
Andy2
7d0cbcf07f use new showConfirmThen scheme 2011-08-24 06:12:57 -07:00
Andy2
85c38e831f cleanup: null's same as empty onClick handler 2011-08-24 05:40:13 -07:00
Andy2
fbb467af80 convert some more callbacks to ints passed back: GamesList done. 2011-08-23 20:25:59 -07:00
Andy2
05607a15b9 toward a bundleable DlgDelegate: add new interface to replace
OnClickListerners passed on, have clients of DlgDelegate implement it,
and convert one dialog to use it.  Will eventually remove old code.
2011-08-23 19:50:01 -07:00
Andy2
0d85a67700 verify that bundle saving works in DlgDelegate and fix one
disappearing message.  Still need solution for callbacks passed in.
2011-08-23 19:18:45 -07:00
Andy2
7a235ed6b6 put onPrepareDialog() back -- it's required to use DlgDelegate dialogs. 2011-08-23 18:51:48 -07:00
Andy2
7da5b24e0f rewrite DictsActivity to not crash when un- and re-loaded: make
dialogs depend only on bundleable ivars -- ints and strings, not Views
-- and bundle them.  Don't use onPrepareDialog, only onCreateDialog,
and so call removeDialog() every time one's dismissed.  Do some
refactoring to support this.
2011-08-23 18:41:19 -07:00
Andy2
953909d0f0 remove logging 2011-08-22 18:40:44 -07:00
Andy2
3296cad731 pass bundle into DlgDelegate so state can be saved and restored. Not
doing anything with it yet because any scheme to survive
OS-restoration has to deal with the Runnables I'm saving that can't be
bundled.  Work in progress....
2011-08-22 18:10:22 -07:00
Andy2
d7a515ca97 display three states of relay connectedness in games list items:
configured, connected but waiting for players, and game-in-play.
2011-08-22 07:03:46 -07:00
Andy2
1ee0dfdd6d set wordlist spinner prompt and include language 2011-08-21 22:13:18 -07:00
Andy2
bbb73bb2e9 somehow dict deletion got broken (because wasn't adding file
extention); fix.
2011-08-21 15:02:42 -07:00
Andy2
c0dae019d5 use same context menu header, including wordlist name, as for game
list items.
2011-08-21 12:19:58 -07:00
Andy2
56fd01a05b oops -- missing semicolon. 2011-08-21 12:07:21 -07:00
Andy2
c38e3593fb replace hard-coded placeholder names for optional top-line of games
list item display with real "aa vs. bb vs..." consed up in
GameSummary, and set field to singleline so doesn't wrap when names
get too long.
2011-08-21 11:39:38 -07:00
Andy2
47bdec4eda pass context into GameSummary constructor rather than into methods
that need it.  No behavior change.
2011-08-20 21:51:57 -07:00
Andy2
659c054696 add new class that listens for SDCard mounted event (could be
generalized for multiple events and map them to multiple notification
callbacks), and use it from DictsActivity to redraw the list when the
SD card comes back online.  While the default android behavior works
for the unmount case (relaunches DictsActivity which correctly draws
only those dicts still available) it needs this change to redraw after
the available set grows.
2011-08-20 11:59:32 -07:00
Andy2
6ca60438a1 no need for onClick listener when onDismiss listener does the same thing 2011-08-19 18:54:21 -07:00
Andy2
8f60ca5af3 Need to show dict-gone-missing dialog when umount from GameConfig too,
so: change loadMakeGame() to return gamePtr rather than take one in,
and to return 0 when any dict no available.  Move dict-gone-missing
dialog into DlgDelegate.  Remove DlgDelegate always adding onDismiss
listener that removes the dialog, and instead add one to the
dict-gone-missing dialog that, like the onClick handler, calls
finish() on the activity.
2011-08-19 18:52:55 -07:00
Andy2
fd4e627628 when sd card is umounted, android sends a message to apps. I can't
figure out how to get that so I ignore it and am killed then
relaunched if I have a dict file open on the SD.  On relauch, don't
crash.  Instead, check if any dicts used by the game is unreachable
and put up an alert with only one choice: Close game.  Thought about
using the missing-dicts stuff from GamesList, but this is a special
case that should be seen only when user umounts while a BoardActivity
instance is frontmost.
2011-08-18 07:54:00 -07:00
Andy2
455cb9a4c4 Include possibility of umounted sd card in missing dict
explanation. Name of game too.  Use single-selectable list and
Substitute button instead of expecting user to tap once to select
(which confused me.)
2011-08-18 06:26:43 -07:00
Andy2
0c29a4c1ca fix NPE when sd card unmounted 2011-08-17 20:11:30 -07:00
Andy2
e2ef25ae90 add pref for choosing what goes in parens along with the game name
(where <language> was before.)  opponent name still needs to not be
hard-coded; the rest works.
2011-08-09 19:26:59 -07:00
Andy2
c67e92ea2c log sends for a while. I want to fix the occasional stall. 2011-08-09 06:44:09 -07:00
Andy2
8adb925cca only load and pass in dict as byte[] when path isn't available
(i.e. when it's a builtin), and use mmap in that case.  Works!  Still
need to try a speed test.
2011-08-08 20:27:42 -07:00
Andy2
755d3e5bb2 as first step in using mmap for dictionaries instead of passing byte
arrays into the jni, pass the full file paths in in addition to the
byte arrays.  This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger).  This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in.  Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Andy2
ab64d57f5c adapt a couple of icons as placeholders for standalone and networked
games.  Every games-list item now has an icon.  The networked game
icon is replaced by the sync icon when there's new information.
2011-08-08 18:56:19 -07:00
Andy2
556b78baad remove logging 2011-08-07 20:22:33 -07:00
Andy2
4345fc1543 fix failure of renamegame feature when orientation changes while
dialog is up.  I'm making two fixes, either of which is enough: saving
the rowid across teardown of the activity; and changing the manifest
to not tear down the activity.  The reason for the latter is that the
teardown is unnecessary and wasteful.  The former's just safer coding.
2011-08-07 20:22:11 -07:00
Andy2
fd61c0af02 'final' not needed 2011-08-06 22:30:48 -07:00
Andy2
c47189e81f fix crasher introduced with eeac03d40f:
update delegate's dialog id constants.
2011-08-06 21:30:38 -07:00
Andy2
b20584b74e fix bug moving dicts: location wasn't getting updated when the move
was successful and so subsequent moves reported wrong location.
2011-08-06 20:06:21 -07:00
Andy2
fc650ef317 fix assertion failure reported by google when unable to create
directory on SD card.  Just return null and carry on as if SD card not
writable.
2011-08-06 20:05:30 -07:00
Andy2
ed832f9545 update database from any version, not just two adjoining. 2011-08-06 19:26:36 -07:00
Andy2
eeac03d40f query user for html vs text before creating new networked game so it
isn't left sitting if [s]he cancels.
2011-08-06 15:49:55 -07:00
Andy2
66a673c478 make the game name green when it's somebody's turn and player names
are hidden.
2011-08-06 15:46:49 -07:00
Andy2
1c28433bd0 store expandedness in DB rather than a class static, which will
eventually die.  Generalize DBUtils methods int get/setInt().  Adds
new column to DB, the second for this version number.
2011-08-06 14:19:07 -07:00
Andy2
13cbca3368 cleanup 2011-08-06 14:03:50 -07:00
Andy2
d7dfb89f65 query user before sending invite whether to use html or text and
format differently depending on the answer.  With html only I couldn't
invite using SMS, which bites.
2011-08-06 13:01:40 -07:00
Andy2
560208f516 roll my own expandable list items. (The stupid built-in ones don't
allow any control over whether the initial state is expanded.)
Getting click to work is a bit of a hack, requiring a callback from
the adapter back to the activity, but it works well on emulator.  Need
to test on device then try to shrink the ImageButton.
2011-08-06 11:29:41 -07:00
Andy2
017f4da29d fix formatting 2011-08-06 03:22:26 -07:00
Andy2
9c298a16e7 The email apps won't display non-http schemes as clickable links, so
go with html and encode both the invite and install links as php refs
that get redirected.  Works, but eliminates SMS as sending mechanism.
2011-08-06 02:57:14 -07:00
Andy2
cd6aa8fe98 fix crasher using Copy menuitem: when summary is copied out of a db it
doesn't have a gi, but it does have the summaries values copied in so
use those.
2011-08-05 22:38:01 -07:00
Andy2
e8b66e230c add title to context menu that includes game name 2011-08-04 18:16:32 -07:00
Andy2
97d5e3cc6d remove old FILE_NAME DB column for new DBs; ignore it elsewhere. Move
default name creation from DBUtils to GameUtils.
2011-08-04 06:15:00 -07:00