Commit graph

4791 commits

Author SHA1 Message Date
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
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
Andy2
9aeb8858fe add menuitem and dialog it triggers to rename games. Add new DB field
to hold game name, and getter and setter.  Replace existing gameName()
method with call to new getter.
2011-08-03 18:59:32 -07:00
Andy2
173e2e8423 track games by row id (an sqlite built-in) rather than name (so that
names can be changed without constraints)
2011-08-03 06:53:42 -07:00
Andy2
294df7055e log rowid -- step one to using it instead of name as unique
identifier.
2011-08-01 18:13:10 -07:00
Eric House
cbfdf992bd add compile-time option to allow passing game seed from commandline.
This should allow testing relay changes to deal better with duplicate
seeds.
2011-07-31 22:23:46 -07:00
Eric House
1c227c8921 remove code for engine progress -- it's been disabled for a while
anyway as it gave away whether robot had blanks.
2011-07-31 20:52:27 -07:00
Andy2
f642a0972f replace all ancient logf calls that were doing concatenation (with +)
with calls using formatting -- for consistency and effeciency in the
case where logging is disabled.  There should be no discernable
change, though if I got and percent-format specifiers wrong I'll get
runtime exceptions.
2011-07-29 07:45:32 -07:00
Andy2
c8c1fe6f70 fix failure to save when exiting, e.g. by pressing Home when when a
blocking dialog is up, by always saving on exiting the jni loop
instead of exiting after pushing a SAVE event which was getting
dropped.
2011-07-29 07:31:46 -07:00
Andy2
8d9aa5ae0e failing to post a blocking dialog means the jni thread hangs forever.
Bad.  So test if we can post (if the handler's still available) and
drop the request, freeing the thread, if not.  (Access to m_handler
should probably be synchronized now that it's getting cleared, but
that's another bug.)
2011-07-29 07:19:33 -07:00
Andy2
704b08f733 use bundle to save/restore dialog-related ivars. This should fix very
rare crash where class is reloaded (e.g. after long period of non-use)
after being taken down with a dialog in mid-load.  The OS tries to put
the dialog back up but the dialog title string ID, passed to
setTitle() in onCreateDialog(), is 0.
2011-07-28 06:42:57 -07:00
Andy2
acafc0a2df remove assert that was there just to prove a fix; use %b in logging. 2011-07-22 10:55:03 -07:00
Andy2
3563ca5855 finish changes list 2011-07-22 10:54:06 -07:00
Andy2
698d549fd1 assert fired for unknown reason. Fix behavior in non-assert-enabled
build to do the right thing in that case.
2011-07-21 05:07:41 -07:00
Andy2
5fc7836eca when not using FLAG_ACTIVITY_NEW_TASK need to look for invite-launched
intents in onCreate too.
2011-07-21 04:52:12 -07:00
Andy2
9bf22c12f4 erase the static bitmap so we don't show the previous board prior to
drawing the new one.
2011-07-20 18:48:50 -07:00
Andy2
de16ee93d7 get rid of some logging 2011-07-20 18:46:55 -07:00
Andy2
00e4dfd09e FOR DEBUGGING ONLY: test theory about dropped dialogs. 2011-07-20 18:25:14 -07:00
Andy2
4f29048f49 fix format specifier to not crash (use %h); remove redundant logging. 2011-07-20 18:23:30 -07:00
Andy2
84502a89bf FOR DEBUGGING ONLY: %p segfaults! 2011-07-20 18:23:05 -07:00
Andy2
348af5a935 FOR DEBUGGING ONLY: add remaining Activity lifecycle methods so
they'll get logged, and log this ptr as well.
2011-07-20 18:22:14 -07:00
Andy2
04a80fca07 Remove FLAG_ACTIVITY_NEW_TASK to fix duplication of root
activity. Explanation in code.
2011-07-20 18:20:22 -07:00
Andy2
ba40d96fea remove unused variable 2011-07-20 05:39:52 -07:00
Andy2
1f89eb0238 start on changes list 2011-07-19 18:37:23 -07:00
Andy2
30b9df399c Address crash that happened when runnable ran too late by nulling out
m_handler in onPause() and adding new methods that check if it's null
before calling post(), postDelayed() or removeCallbacks() on it.
2011-07-19 18:31:20 -07:00
Andy2
ea853e2e51 replace hard-coded list of preferences whose summaries are their
values and code to enforce that with custom subclasses that do the
right thing automatically.
2011-07-19 18:21:52 -07:00
Andy2
e4ba5fb5fd log svn rev 2011-07-19 18:14:32 -07:00
Andy2
39e752cbc9 add comment explaining change 2011-07-19 06:24:15 -07:00
Andy2
1d2c63d50f Duh. Make it f*cking compile 2011-07-19 06:21:04 -07:00
Andy2
5dd181398d test theory about dropped moves 2011-07-19 06:20:51 -07:00
Andy2
ecaca66a96 move turn-in-range assert to where it won't fail 2011-07-19 06:17:50 -07:00
eehouse@eehouse.org
6477147854 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-07-18 18:11:08 -07:00
Eric House
0548f6be66 get rid of some logging 2011-07-18 18:08:56 -07:00
Eric House
47da43a581 use new param to turn on mmap 2011-07-18 18:08:31 -07:00
Eric House
4093e1c947 add option to switch between mmap and malloc for dict runtime access. 2011-07-18 18:07:15 -07:00
Andy2
5deb68486c add a ton of asserts (no code change otherwise) 2011-07-18 06:44:17 -07:00
Andy2
c482df300b better value for RESIGN_RATIO 2011-07-15 18:24:26 -07:00
Andy2
d81458c34c use nmap -- as test case for doing same in jni 2011-07-15 18:24:08 -07:00
Eric House
febb640049 add name of remote player to notification that remote player moved.
And remove a few dead strings.
2011-07-15 18:13:55 -07:00
Eric House
aec3400677 trivial cleanup 2011-07-15 18:09:40 -07:00
Eric House
8ba7861a7c fix to actually do something 2011-07-15 18:09:13 -07:00
Andy2
9bed15179d version update -- getting ready for next beta! 2011-07-14 18:53:45 -07:00
Andy2
b1f14972e0 remove commented-out foo 2011-07-14 18:53:22 -07:00
Andy2
f1a23a13a8 use a market URL to go directly to the download page 2011-07-14 18:52:59 -07:00
Andy2
4a03867369 add icon; center everything 2011-07-14 18:47:45 -07:00
Andy2
86d17dc615 for now, point at downloadable local rather than market. 2011-07-14 06:42:37 -07:00