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
eehouse@eehouse.org
147687890f
Merge branch 'android_branch' into send_in_background
2011-08-24 06:52:51 -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
84e61f3b3f
remove no-op line
2011-08-22 18:43:42 -07:00
Andy2
953909d0f0
remove logging
2011-08-22 18:40:44 -07:00
Andy2
3537161d3b
add change
2011-08-22 18:40:30 -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
7e6daa5797
move role out of players column to where it can be a full line long,
...
preventing it from increasing the size of the item by line-wrapping.
For now it's outside the View that gets hidden, but that may need to
change.
2011-08-22 07:05:33 -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
Eric House
cf6d868bd3
use separate strings for window title and spinner prompt
2011-08-21 18:17:21 -07:00
eehouse@eehouse.org
3cdd4c1c9b
Merge branch 'android_branch' into send_in_background
2011-08-21 15:04:25 -07:00
Andy2
aeafb9cefa
Tweak language for moving wordlists to more clearly refer to storage
...
locations.
2011-08-21 15:03:41 -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
d1b6bc16cf
add the standalone/network icons from GamesList display to the new
...
games dialog so users get some association going.
2011-08-21 14:30:00 -07:00
Andy2
04834c910b
more dictionary->wordlist terminology change: debug-only preference
...
and download URL.
2011-08-21 14:27:50 -07:00
Andy2
9612b28b1f
use goto to avoid having multiple returns. No behavior change.
2011-08-21 14:20:59 -07:00
Andy2
a17ff20db7
clean up background check pref wording to Chris's suggestions
2011-08-21 13:52:51 -07:00
eehouse@eehouse.org
d7d5d85ec2
Merge branch 'android_branch' into send_in_background
2011-08-21 12:20:25 -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
5c8afa06ce
version string and changelog for beta 33
2011-08-21 12:07:45 -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
c41af221b7
fix non-debug compile warning
2011-08-21 11:33:23 -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
28c78a0a6a
dictionary->wordlist
2011-08-20 14:16:38 -07:00
Andy2
eb00984563
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java
2011-08-20 12:44:17 -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
7a1346e530
add assert to catch bad dict earlier
2011-08-18 07:49:40 -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
58be931558
remove messages after sending them if they appear to have been sent
...
successfully.
2011-08-17 19:52:55 -07:00
Andy2
8e6812780d
call feedMessages even if there are no messages, and call
...
comms_resendAll() from feedMessages. The combination means that all
networked games get a chance to resend dropped packets periodically
which should help prevent stalls.
2011-08-17 19:51:20 -07:00
Andy2
08789c4097
call server_do() up to five times to allow some extra work to get
...
done. Required if a host is also a robot.
2011-08-17 19:48:55 -07:00
Andy2
b9be2b45f4
sendMsg needs to report success if no-conn send works.
2011-08-17 18:41:45 -07:00
Andy2
2c26fc03e3
Track messages sent via proxy and credit nsent (accumulator) if
...
successful. Previously messages sent via proxy were not counted.
2011-08-17 18:09:10 -07:00
Andy2
b511b4c455
add new RecordSent to take list of msg ids -- and use stringstream
...
instead of static buffer and snprintf in one case. May make sense
elsewhere too.
2011-08-17 18:07:21 -07:00
Andy2
8148c7699a
don't loop forever on server_do(). It's broken w.r.t. guaranteeing
...
that it can always change state.
2011-08-17 06:52:04 -07:00
Eric House
c2c673e932
improve testing of proxy delete by saving up a number of relayIDs and
...
sending with multiple -d flags to rq.
2011-08-16 19:44:37 -07:00
Andy2
30145deba7
add new proxy message handler for no-conn message, and feed into
...
existing store-and-forward system. With this checkin a robot-vs-robot
game plays for quite a few moves without either game every loaded into
the foreground (via a BoardActivity instance on Android), with all
moves transmitted as a result of relay checks. One of the games
refuses to open later, however, and there are certainly other bugs.
And I'm not sure what happens when a message sent no-conn (without a
cookie ID) is received in the foreground. But this is progress.
2011-08-16 19:41:33 -07:00
Andy2
7ab8c6eca4
re-factor sending code so essentially same message (without cookieID
...
that implies a connection) is sent and received by no-conn code. Use
flags to determine if comms can support no-conn sending without making
up the message only to have it fail to send.
2011-08-16 19:36:23 -07:00
Andy2
2dcfb2193c
complete the process of sending messages generated in response to
...
messages passed in in background: send them. Requires new method
implementing new protocol against proxy.
2011-08-16 19:33:24 -07:00
Andy2
066cef0306
using new send-noconn proc is too expensive if it's only going to fail
...
(return false) so add new iface comms can call once to get flags to
tell it whether to use that proc. One implementation of
TransportProcs returns one flag; the other, the other.
2011-08-16 19:31:08 -07:00
Andy2
dfab747504
make server_do() take a new param to allow caller to call it until
...
there's nothing more to do (without the assumption it's driven from an
event queue.)
2011-08-16 19:28:59 -07:00
Andy2
11f6d96be9
get 'svn' out of the version string variable
2011-08-16 19:26:53 -07:00
Andy2
dc693e4d6a
too much logging
2011-08-16 19:20:39 -07:00
Andy2
f61748369a
fix non-debug compile warning
2011-08-16 19:17:47 -07:00
eehouse@eehouse.org
be4ec00e55
Merge branch 'android_branch' into send_in_background
2011-08-15 18:28:35 -07:00
Andy2
dc273c7162
fix proxy msg handling to process more than one relayID per message.
...
Formerly all but the first were dropped.
2011-08-15 18:27:00 -07:00
Andy2
6f22cbd8c9
rename class and pass in from higher so send can be done in the right
...
place.
2011-08-11 06:49:44 -07:00
Andy2
985f254660
more refactoring -- limit NetUtils method to network stuff as much as
...
possible.
2011-08-11 06:40:13 -07:00
Andy2
008c70957a
refactor -- no behavior change
2011-08-11 06:29:21 -07:00
Andy2
c2ae80cf37
pass the stubbed-out procs into the jni. Now background-generated
...
packets are getting into the java world. Next: get 'em to the relay.
2011-08-10 21:28:12 -07:00
Andy2
ea05c34d8f
add the alternative send proc to the java transportprocs interface,
...
and call through to it from the jni. Add another implemenation of the
interface and pass that when opening games in the background.
2011-08-10 21:06:05 -07:00
Andy2
f6bf91de36
make overridden methods have params in same order (though some are
...
missing).
2011-08-10 20:49:41 -07:00
Andy2
e88af19e0a
toward the ability to send replies to messages received in background
...
without user having to open the game, which will e.g. allow a host to
assign tiles, or a robot to move, without the phone's owner noticing
there's a message. This is on a branch because it may never work.
2011-08-10 18:28:34 -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
ceb2d1ac63
fix indenting -- white space only.
2011-08-09 06:48:10 -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
35f059e14c
remove logging
2011-08-08 20:21:55 -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
d08eacc4c0
comment: reminder of possible icon for archiving
2011-08-08 18:53:58 -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
f8715feea6
update version and changelog for b32
2011-08-06 23:08:42 -07:00
Andy2
6f7279a6b0
fix crash that happens whenever orientation changes while there's a
...
dialog up in DictsActivity. (There are still problems updating the
UI, e.g. indicating the current loc of a moved dict.)
2011-08-06 23:03: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
011b283566
tweak copy dialog to suggest using new-from.
2011-08-06 16:18:32 -07:00
Andy2
719fd314a5
move net msg icon outside of hideable part of game list item layout so
...
it remains visible when not expanded. Otherwise people won't see that
something happened to a closed game.
2011-08-06 16:03:38 -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
6cde6be6a5
up version and changelog for beta 31
2011-08-06 14:29:58 -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
35a5aad477
make name text larger -- button is anyway.
2011-08-06 13:19:48 -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
58f1618586
put oft-used menuitems up higher
2011-08-06 03:19:59 -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