Commit graph

6756 commits

Author SHA1 Message Date
Eric House
55514719be include thread ptr in hung threads logging; assert (restart) when hung for too long 2013-01-11 20:42:04 -08:00
Eric House
39d12d088a use usleep when waiting for cref to be available 2013-01-11 20:37:08 -08:00
Eric House
aed2b6135c Merge branch 'android_branch' into gtk_multigame 2013-01-10 21:10:48 -08:00
Eric House
2ccc297463 make number of sockets at which we assert/reboot configurable so tests
can be done with large numbers of clients.
2013-01-10 21:10:18 -08:00
Eric House
dddb135b9d add more columns, and update each time game is saved 2013-01-09 06:30:52 -08:00
Eric House
7437a71aa6 use string_printf 2013-01-09 06:29:12 -08:00
Eric House
fac3e6b678 fix gtk version to correctly implement util_setIsServer (which only
Android did so far) by calling server_initClientConnection().  Now
relay games work with both started as hosts.  (GTK UI prevents
starting one as a guest; cmdline is required for that, if it still
works.)
2013-01-08 07:28:30 -08:00
Eric House
5e2bfd20da add a checkbox -- which apparently won't interact until I "implement
the 'activate' virtual method".
2013-01-08 06:32:43 -08:00
Eric House
1cb959c86d type tree model column correctly 2013-01-07 20:51:59 -08:00
Eric House
76f3bb3413 fix curses version so discon_ok2 tests work again. 2013-01-07 20:40:46 -08:00
Eric House
565b742971 snapshot -- connects to relay but doesn't play yet. 2013-01-07 08:00:47 -08:00
Eric House
469e656464 track open games so don't double-open and can close all on quit 2013-01-07 06:36:34 -08:00
Eric House
f88387da80 lots of changes to separate game data from app data so several games
can be open at once.  (curses version is almost certainly broken)
2013-01-07 06:10:44 -08:00
Eric House
b61ed7b631 opening saved games and saving of changes now work. 2013-01-05 21:01:26 -08:00
Eric House
a8014a855b now games are displayed in lists. Next: open them. 2013-01-05 19:40:29 -08:00
Eric House
8238d45350 ignore the db 2013-01-05 19:37:05 -08:00
Eric House
e0dc83ed70 rest of what I just meant to commit. 2013-01-05 16:08:47 -08:00
Eric House
4af30c534c snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
Eric House
63487dc5d0 assert gdk setup going ok 2013-01-03 08:18:35 -08:00
Eric House
f827bebf80 ignore .pyc file 2013-01-02 21:13:36 -08:00
Eric House
ad78129e74 changes made over the past couple of months toward tracking an
apparent thread leak.
2013-01-02 21:12:42 -08:00
Eric House
d34ac1f86d rewrite to work without gcm library (whose lack of support for some
documented params makes it impossible to try using them)
2013-01-02 21:08:10 -08:00
Eric House
f5b8bb7aae fix text to match there being multiple buttons 2013-01-01 23:26:31 -08:00
Eric House
2202c6c6bf up version strings and number 2013-01-01 22:33:31 -08:00
Eric House
c97ec6b1e9 up copyright year -- it's 2013 now 2013-01-01 22:33:19 -08:00
Eric House
05cee5ce09 further work supporting simultaneous dialogs: use
bundle.get/putSerializable() to save/restore dialog state
2013-01-01 22:27:14 -08:00
Eric House
af406d92dc Handle multiple dialogs at once: save dialog state by dialog ID (ok
since the OS won't track more than one at a time with the same ID) and
look it up that way when needed.  Get rid of onPrepareDialog() (and in
all my Activity subclasses) since it's now a requirement that all
DlgDelegate-managed dialogs remove themselves from the Activity on
dismissal so that onCreateDialog will always get called and
onPrepareDialog not be needed.
2013-01-01 21:45:37 -08:00
Eric House
8b2712bd9e always remove dialog on dismissal since each must have its on-dismiss
handler called with its own state.  Fixes assertion failure that was
happening the second time a dialog was used.  Next: find a
reproducible case where two dialogs want to be created at the same
time.
2012-12-31 07:08:41 -08:00
Eric House
d1941090c5 Merge branch 'android_branch' into fix_dlgdelegate 2012-12-31 06:25:49 -08:00
Eric House
049b3389a6 turn DEBUG back on 2012-12-29 18:49:13 -08:00
Eric House
bbf9e8e0df tweaks suggested by code review 2012-12-29 13:22:00 -08:00
Eric House
1faf60f667 move updateRow back where it was (prior to some merge); no code change 2012-12-29 12:50:02 -08:00
Eric House
90adcde164 move side padding around 2012-12-29 12:42:48 -08:00
Eric House
04a7f9c999 tweak text; fix misspelling 2012-12-29 12:30:01 -08:00
Eric House
05566b1833 add space before ) to protect against buggy email url parsers. 2012-12-29 12:24:13 -08:00
Eric House
e58e520f70 fix name/rename group dialog title 2012-12-29 11:53:18 -08:00
Eric House
498ca99020 deal with added groups too, and better with removed groups. 2012-12-29 11:36:51 -08:00
Eric House
8c4b878e21 preserve order of groups when removing one by removing it from list
rather than allowing list to be regenerated.
2012-12-29 09:35:44 -08:00
Eric House
674b6d3e8e don't let new group dialog present the last name chosen as default name 2012-12-29 09:18:17 -08:00
Eric House
78670e9650 fix bug: include wordlist name in bad word info passed into util function 2012-12-29 07:48:31 -08:00
Eric House
ad2b925a60 print wordlist name as part of error message 2012-12-29 07:47:44 -08:00
Eric House
ff3af7f095 add xml-non-strippable space between sentences 2012-12-29 07:47:12 -08:00
Eric House
c994b27c04 try grey background and italic text for list group views 2012-12-28 20:01:13 -08:00
Eric House
4d07046a99 make static GamesListItem method responsible for providing new instances. 2012-12-28 20:00:46 -08:00
Eric House
21e572acfc Revert "use WeakReference to cache GameListItems and to inval them"
(Reusing Views this way seems to cause the occasional failure to recognize a tap-on-item bug.)

This reverts commit edd712ac16.
2012-12-28 10:06:16 -08:00
Eric House
edd712ac16 use WeakReference to cache GameListItems and to inval them 2012-12-28 09:50:33 -08:00
Eric House
fb575949ac order games within group the same way all games used to be ordered,
and get rid of the old all-games-listing code since it's no longer
used.
2012-12-27 20:50:37 -08:00
Eric House
a6586b6131 docs say not to call cursor.close -- so don't. 2012-12-27 20:38:31 -08:00
Eric House
8bba5d6106 Revert "add POSITION column to groups table, unused as yet"
This reverts commit 7be6a182f0.
2012-12-26 19:35:21 -08:00
Eric House
68026fef3e disable (but don't hide) group context menus that can't do anything. 2012-12-26 19:31:24 -08:00
Eric House
0d9f1a3ba7 add move-up and move-down menuitems so group order can be controlled
by user.  Store position as array of rowids in preferences, and make
game info hashed by rowid rather than name.
2012-12-26 18:55:15 -08:00
Eric House
0a7fcb2de4 remove deleteAll menuitem 2012-12-22 23:21:01 -08:00
Eric House
7be6a182f0 add POSITION column to groups table, unused as yet 2012-12-22 22:59:08 -08:00
Eric House
3ce379588b indent game list items to make them easier to tell from group items 2012-12-22 22:54:10 -08:00
Eric House
110df3c1ba Merge branch 'android_branch' into fix_dlgdelegate 2012-12-21 23:03:22 -08:00
Eric House
a594a77673 Merge branch 'android_branch' into android_groups 2012-12-21 18:06:48 -08:00
Eric House
2461b526a5 move check for updates into async task 2012-12-21 18:06:27 -08:00
Eric House
e8c3c304ab Fix so when child is invalidated its group/parent also is. Now when
an invisible child gets a network game message that changes its expiry
rendering and it's the one the group is showing, the group will follow.
2012-12-21 17:31:37 -08:00
Eric House
3436a71d65 new string for dialog title (forgot this last checkin) 2012-12-21 17:29:44 -08:00
Eric House
d33f44ea24 Merge branch 'android_branch' into android_groups 2012-12-21 17:15:30 -08:00
Eric House
1998da45de don't save game when it hasn't changed -- when saved bytes are
identical with those we started with.
2012-12-21 17:14:55 -08:00
Eric House
2375f86f61 improve move-to-group dialog: add title and disabled Move button when
radio is current group.
2012-12-21 17:06:04 -08:00
Eric House
a3b24be661 clear background drawable when no longer a local turn 2012-12-21 06:20:58 -08:00
Eric House
1743382e1f cleanup: combine files that belong together 2012-12-20 21:55:57 -08:00
Eric House
db829337f5 up version strings etc. 2012-12-20 21:51:38 -08:00
Eric House
7f9898f317 don't include expiry in group header when expanded 2012-12-19 20:49:02 -08:00
Eric House
ed0bb5b31e minimum to get game list group headers reflecting the most urgent move
expiry info of a contained game: local if there is one, otherwise
remote.  Still need to hide it when expanded, update, etc.
2012-12-19 20:45:58 -08:00
Eric House
7e302aae69 always show game count 2012-12-18 07:57:14 -08:00
Eric House
6690fdf122 derive from XWExpandableListActivity since it exists now 2012-12-18 07:56:48 -08:00
Eric House
9cbd76aae7 more cleanup; log info toward reuse of list items (looks unlikely) 2012-12-18 07:40:48 -08:00
Eric House
d583ec139d move all existing games into the curGames group 2012-12-18 07:08:57 -08:00
Eric House
24bddd1ff7 cleanup 2012-12-18 06:52:13 -08:00
Eric House
983a560294 expand groups in onCreate() 2012-12-18 06:51:43 -08:00
Eric House
3a1b39f827 more of the (conflicted) merge from android_branch. These may be
changes I need to make to get what git produced to compile and so not
what it included in the previous commit.
2012-12-18 06:36:30 -08:00
Eric House
8a58492389 Merge branch 'android_branch' into android_groups
Conflicts:
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DBUtils.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GameListAdapter.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2012-12-18 06:35:07 -08:00
Eric House
8cb9d3d66b turn debug back on 2012-12-18 05:56:14 -08:00
Eric House
6988b14247 no need for redraw in onWindowFocusChanged 2012-12-18 05:40:25 -08:00
Eric House
9d7d0aca2b cleanup: logging and unused imports 2012-12-16 20:14:15 -08:00
Eric House
60adf36718 fix typo 2012-12-16 15:14:33 -08:00
Eric House
e38b99c0c8 set DEBUG to false for release 2012-12-16 15:14:04 -08:00
Eric House
51a5e80a26 mention attachment in invite email text 2012-12-16 15:13:36 -08:00
Eric House
3c4f266b8f work around problems locating GameListItems when it's time to
invalidate them by adding static list of those needing invalidating
and checking it in a new onDraw override.
2012-12-14 18:46:54 -08:00
Eric House
646ec65d66 wrap elapsed time logging in its own debug flag and turn off. 2012-12-14 18:23:33 -08:00
Eric House
8125c451cd in GamesList, save rowid of launched game and inval it afterwards so
scores etc. get updated.
2012-12-14 07:26:13 -08:00
Eric House
028899a9c4 no need to set action on local intent 2012-12-14 07:24:26 -08:00
Eric House
322a65ee41 in several places where lock() was being called without a timeout, add
one, and fail gracefully when a timeout occurs.
2012-12-13 20:22:11 -08:00
Eric House
7a1de73fb7 remove unused file 2012-12-13 20:18:36 -08:00
Eric House
85953c64dd move GameLock into its own file 2012-12-13 18:47:55 -08:00
Eric House
f989dad63c tweak changed descriptions 2012-12-13 07:11:51 -08:00
Eric House
6060d5e8bd Fix hangs when receiving relay messages in background for open game by
adding a static feedMessages method like the one used by SMS and BT
games.  For that to work, rowid and relayid need to be fetched and
tracked together -- so do that in RelayService.
2012-12-13 06:57:12 -08:00
Eric House
91ac04b896 remove logging 2012-12-13 06:32:57 -08:00
Eric House
b71046e5aa lock, rather than tryLock, game when feeding it messages. Otherwise
messages are dropped e.g. when UI's loading a summary in GameListItem.
2012-12-12 07:13:25 -08:00
Eric House
db8364c285 return empty array rather than null when query succeeds but produces
no result.
2012-12-12 06:43:18 -08:00
Eric House
69f868722f cancel any notification for game when resetting it 2012-12-12 06:41:56 -08:00
Eric House
eee954e705 list changes for next release 2012-12-11 19:15:15 -08:00
Eric House
575d5e9745 reduce time we'll wait for a summary to unlock when loading it for games list. 2012-12-11 19:11:23 -08:00
Eric House
01d17fe0c5 redraw full list after resetting a game in case position changes 2012-12-11 19:10:05 -08:00
Eric House
7246ae28c6 clear the cache after loading a new DB so will redraw correctly in list 2012-12-11 19:09:33 -08:00
Eric House
b2bd6ce662 add and use preference for square rack tiles, removing code that alternated for testing purposes. 2012-12-11 07:25:43 -08:00
Eric House
877225f59d rename interface; no code change 2012-12-10 18:20:44 -08:00
Eric House
f599ca8be4 make tiles square based on rowid so people can see both 2012-12-10 07:54:42 -08:00
Eric House
d820554ffb change game list item strategy since it turns out adapter's findView()
doesn't pass in the previous representation of a given item for
recycling: move async loading of summary into GameListItem class, and
use getChildAt() to invalidate a single list (rather than reloading
the whole list) whereever possible.  Still need to dump the list
whenever the number of items changes since we're depending on DBUtils
to determine the order and have no way to reshuffle existing items.
2012-12-10 07:48:15 -08:00
Eric House
1bc8070bb1 disable Rematch button (for now) 2012-12-10 07:11:13 -08:00
Eric House
3a45db66cf cache array of rowids, and clear cache appropriately, rather than
query DB for all games every time.
2012-12-08 20:28:11 -08:00
Eric House
ce803a928c pass summary rather than have callee refetch it 2012-12-08 08:55:45 -08:00
Eric House
7efbd2697d rewrite list item logic. Use a single custom LinearLayout subclass
for both the loading and loaded phases, toggling its state once the
data's available.  Reuse it: pay attention to what's passed into
getView and only allocate when there's no existing View to reuse.
Stop caching Views, as that defeats Android list logic that might
limit in-memory representation to the subset that's visible on-screen,
instead tracking a set of rowids whose data is known to be good as a
way of quickly drawing when there's a refresh.
2012-12-08 08:47:53 -08:00
Eric House
83b1d4c364 fix compiler warnings 2012-12-08 06:40:21 -08:00
Eric House
93bf2a1b3e hard-code tiles drawn nearly-square, just to see what it looks like.
Making them exactly square would probably take a new jni call.  And if
I ship this it needs to be optional, controlled by a preference.
2012-12-05 19:15:20 -08:00
Eric House
e719c6e61d don't crash if for some reason json file can't be written 2012-12-05 08:15:48 -08:00
Eric House
6789a64b68 reduce redundant code (hopefully without adding too much confusion) 2012-12-05 08:14:55 -08:00
Eric House
af853098f2 use preferred SDK-8 API to look for downloads directory, and wrap it
in an interface loaded only when SDK>=8 to avoid load-time crash on
older devices.
2012-12-05 07:32:11 -08:00
Eric House
a035ef5623 attachment can come in as file or content scheme 2012-12-05 06:52:10 -08:00
Eric House
ac8c229e75 Fix attachments, at least for the one phone I've tested on. Requires
K-9 mail (Gmail doesn't allow opening attachments).  Trick was to drop
the file extension, since if present that seems to come ahead of mime
type for filtering.
2012-12-03 23:10:31 -08:00
Eric House
922f4a22f4 remove unneeded variable 2012-12-03 23:07:14 -08:00
Eric House
2c71c8425f pass the rematch request off to GamesList where it can create new
games without interference from locked current game.  Handle
standalone case by cloning and launching: easy.  Networked games will
be harder.
2012-12-03 08:30:29 -08:00
Eric House
c041792f83 move methods toward better encapsualtion (no behavior change) 2012-12-03 08:03:00 -08:00
Eric House
ad606cdec0 trying to figure out why games list is occasionally redrawing itself
all the time: add logging that activated only when XWApp's DEBUG flag
is set, and turn that flag on.  The latter change should be reversed
before the next release.
2012-12-03 06:53:15 -08:00
Eric House
a640f9d97b up version number and string 2012-12-03 06:51:50 -08:00
Eric House
da9c7a1afd comment out unused column 2012-12-02 21:39:33 -08:00
Eric House
bda0d51c7f add Rematch button to game over dialog -- which only puts up notImpl
toast so far.
2012-12-02 18:45:35 -08:00
Eric House
7621b909c3 hide a couple of message-related menuitems for standalone games 2012-12-02 18:19:52 -08:00
Eric House
9eea15185c set m_gameOver when it's first known. 2012-12-02 18:09:15 -08:00
Eric House
e5bb360537 When a game is over, show "Game over" dialog containing score summary
every time it's opened.  This is a quick way to get around it being a
bit hard to tell a board's in that state.
2012-12-02 18:02:27 -08:00
Eric House
264118a5ff Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-12-01 21:13:43 -08:00
Eric House
9007331fb0 cleanup, and suggest accepting Android's make-default offer 2012-12-01 21:13:04 -08:00
Eric House
e920fbcaff unregister (flag in db) devids google says are unregistered 2012-12-01 11:55:16 -08:00
Eric House
0d0146cb17 additional changes required post-merge to compile 2012-12-01 10:53:55 -08:00
Eric House
c4e638bd84 Merge branch 'android_branch' into android_groups
Conflicts:
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DBHelper.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2012-12-01 10:52:42 -08:00
Eric House
2859ec9132 stime is the name of the column in actual use 2012-12-01 10:31:55 -08:00
Eric House
618d8530f2 some changes accumulated as script was running 2012-12-01 10:27:02 -08:00
Eric House
4dddd2da42 some changes accumulated as script was running 2012-12-01 10:26:00 -08:00
Eric House
38e6eac3a1 improve page users see when opening invite from new device on an old one. 2012-12-01 10:10:28 -08:00
Eric House
dd882ba9d4 first cut at script old clients will see responding to new-style invitations 2012-12-01 09:34:21 -08:00
Eric House
e16245d19e include new column 2012-12-01 09:33:38 -08:00
Eric House
0394579b7c cleanup (and use factored-out updateRow a couple of additional places) 2012-11-30 19:58:23 -08:00
Eric House
795e05f544 update with changes and next steps 2012-11-30 19:57:46 -08:00
Eric House
13b7877a80 put name of file being downloaded in progress dialog 2012-11-30 08:08:45 -08:00
Eric House
74fec9d3d3 disable attachments as part of invitations -- for now. 2012-11-30 07:50:10 -08:00
Eric House
8b5ec28120 SMS play logs too much: remove non-error logging. 2012-11-30 07:22:16 -08:00
Eric House
32d7daf2b5 warn about duplicate games not just when there's exactly one, and
include the most recent create time in the warning.
2012-11-30 07:13:00 -08:00
Eric House
95062fb967 log missing dicts 2012-11-30 07:12:07 -08:00
Eric House
ab0fb918ee open json attachment and from it create a new game. Works, but there
are enough problems with attachements I may turn them off.
2012-11-30 06:21:18 -08:00
Eric House
f4dc8a6b41 snapshot of code and intent filter that gets an attachment into an
email and launches Crosswords when the attachment is opened.
Shouldn't, or at least shouldn't launch ONLY Crosswords, as the mime
type's not in the filter, but it does.
2012-11-29 08:19:07 -08:00
Eric House
9f5a64ee50 don't try to use null gamePtr. Happens when relay moves arrive for a
game whose dict has been deleted.
2012-11-29 06:20:45 -08:00
Eric House
bffb231d13 improve download-or-cancel messages 2012-11-28 21:07:03 -08:00
Eric House
8250447eca launch game after successfully downloading dict it's missing 2012-11-28 20:41:08 -08:00
Eric House
4bae56e631 use rowid as notification id for all types of games, and cancel when
games deleted.
2012-11-28 19:32:50 -08:00
Eric House
19333e33ac fix confirmation of duplicate game from invite. Along the way
dramatically simplify how new game intents are passed around.
2012-11-28 19:17:29 -08:00
Eric House
6f620ebc44 move prefix into resources two since it's repeated. 2012-11-28 06:30:35 -08:00
Eric House
baa790a8c3 remove debugging code; make Intent content details private to class. 2012-11-28 06:06:42 -08:00
Eric House
cd197e4530 use Class instance for synchronization of static methods rather than
creating an object only for that purpose.
2012-11-27 18:55:08 -08:00
Eric House
3cc92e99ca fix uri format error that was causing install to fail 2012-11-27 18:48:05 -08:00
Eric House
7c5a59beb3 remind self of Blaze's download directory 2012-11-27 18:31:14 -08:00
Eric House
bf970b6dd9 remove some logging 2012-11-27 07:53:48 -08:00
Eric House
c39d434ffa add logging giving size and md5sum of downloaded .apk. 2012-11-27 07:22:03 -08:00
Eric House
441cc53740 Remove debug preference for setting host in invite emails, replacing
it with a string resource.  The value passed in invites must match the
string hard-coded in the AndroidManifest so there's no point in making
it runtime-configurable.
2012-11-27 07:04:47 -08:00
Eric House
f3ecfa569a get rid of the second URL in invites that's meant for those without
the app installed.  It's confusing, especially in SMS case, and the
page they see when they don't have the app installed can explain how
to install it.
2012-11-27 07:02:44 -08:00
Eric House
30377908df Use the downloader with an infinite progress indicator instead of the
status-bar notifier (which is removed) for dict downloads.
2012-11-26 20:19:25 -08:00
Eric House
b1f54a67ed end path prefix with a /; otherwise Crosswords gets launched to browse
the wordlist directory.
2012-11-26 20:14:32 -08:00
Eric House
b433438022 add message via GCM to check for wordlist/app upgrades 2012-11-26 18:47:35 -08:00
Eric House
e590db5f3f merge in the db part of 82c39489f0
(android_groups branch, local only right now), but not the UI part
since it won't make the next release.
2012-11-26 08:05:05 -08:00
Eric House
a39cc44d56 Merge branch 'android_branch' into android_groups 2012-11-26 07:41:20 -08:00
Eric House
9130c8da50 download and install upgrade .apk files where possible. Download is
via the existing DictImportActivity, which should also be used for
dict upgrade downloads to keep the UI consistent.
2012-11-26 07:40:45 -08:00
Eric House
302ad04ef9 use recommended intent filtering to allow Crosswords to launch in
response to http URLs, removing need for custom scheme and one step
from the invitation process.
2012-11-26 05:41:42 -08:00
Eric House
6f3881d53d don't crash on malformed invite URL 2012-11-26 03:08:54 -08:00
Eric House
ac435b7857 Merge branch 'android_branch' into android_groups
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
2012-11-25 14:11:04 -08:00
Eric House
63b29a2cb2 Revert "add read-only debug prefs giving GCM and relay device IDs."
This reverts commit 5019d3960b.
2012-11-25 13:55:02 -08:00
Eric House
f82e5bd0e9 add code to deal with Amazon, which I falsely identified as having
broken custom schemes.  I'm leaving it in, unreachable, to have a record.
2012-11-25 12:30:25 -08:00
Eric House
d7bb869a5b rewrite to present a link rather than redirect, to attempt to present
the link only on Android devices, and to encourage users to email me
if I'm wrong about their not being on a device.
2012-11-25 10:39:46 -08:00
Eric House
5019d3960b add read-only debug prefs giving GCM and relay device IDs. 2012-11-25 09:58:46 -08:00
Eric House
7d6e393007 use a different missing-dict explanation string when the name of the
inviter isn't known (relay case)
2012-11-25 09:58:14 -08:00
Eric House
2a1c028268 deal with case where relay invite arrives for a language that device
doesn't have support for.  Dictionary name is now included in the
invite, and if that's present offer to download it then launch game.
For previous versions that don't include the dict name, offer to
download from the language (though that isn't tested yet.)
2012-11-25 08:54:46 -08:00
Eric House
b2e329f670 pass along wl (dict) param if present 2012-11-25 08:53:15 -08:00
Eric House
a3e0d0ca1e recover from situation where game is created in response to an
invitation for a lang for which it has no dicts installed.  Shouldn't
happen, but on relay still can.
2012-11-22 13:03:32 -08:00
Eric House
9659f810dc work even if ENV variable unset 2012-11-22 08:20:08 -08:00
Eric House
0bea58b128 make it possible to build without knowing the GCM sender ID. 2012-11-22 08:13:06 -08:00
Eric House
daf5a89a0e remove unused imports (no code change) 2012-11-21 21:49:42 -08:00
Eric House
dcf239ca48 add newGroup menu for when button's hidden; add deleteAll menuitem to
set of debug-features (but this should probably not ship until
deleting is changed.)
2012-11-21 06:17:09 -08:00
Eric House
cf88b60c4b make the two buttons fill the screen, and use newly created style
for new_games layout too.
2012-11-20 19:11:39 -08:00
Eric House
a199dd2b92 when deleting a group's games do as when they're deleted individually:
get the lock, tell the relay, and THEN remove from DB.
2012-11-20 19:03:39 -08:00
Eric House
3bff555bfd For move, make current group the default and warn whether there's only
one.
2012-11-20 18:34:26 -08:00
Eric House
19e7e27f1e fix so remembered expanded/contracted state is displayed 2012-11-20 07:40:33 -08:00
Eric House
fbfeae379d cache DB info on groups for better performance 2012-11-20 07:15:56 -08:00
Eric House
48dd3bb72e Merge branch 'android_branch' into android_groups 2012-11-20 07:02:27 -08:00
Eric House
04d839868d on launch to handle an invite for a game that seems to already exist,
instead launch that game -- for better feedback.
2012-11-20 06:24:23 -08:00
Eric House
b244adae1b fix transposed words 2012-11-20 06:22:29 -08:00
Eric House
f149391838 cleanup 2012-11-20 06:13:29 -08:00
Eric House
face24e915 make invite email text a bit easier to read 2012-11-20 06:10:57 -08:00
Eric House
cb70858583 up strings for next release (still a while out!) 2012-11-20 04:14:25 -08:00
Eric House
b827c82291 force refresh after delete 2012-11-19 21:23:19 -08:00
Eric House
be3cad96d7 tweak strings 2012-11-19 21:23:07 -08:00
Eric House
1994ea788e don't allow deleting default group. Wording needs fixing, or better
yet, replace the menuitem with greyed-out "is default group".  But
this works for now.
2012-11-19 19:28:26 -08:00
Eric House
82c39489f0 lots of changes toward grouping games in user-definable groups.
Creation and movement between work.  Deletion crashes.  Expansion
doesn't stick.  All's rough.
2012-11-19 07:41:15 -08:00
Eric House
2779139e75 add columns using data as well. Like pref commit, this does not change behavior. 2012-11-17 10:20:14 -08:00
Eric House
9ad41d5a3a use String[] data to build table-creation queries rather than huge
inline string concatenations.
2012-11-17 10:14:55 -08:00
Eric House
416db91312 experimental: always post notification on new moves received rather
than giving GamesList a chance to launch game directly.
2012-11-16 07:31:52 -08:00
Eric House
cefc13a2cd Docs say should allow GCM to reregister on app upgrade. And that the
registrar takes care of storing devid.  So app version when
registration arrives, and get from registrar except after an upgrade.
2012-11-15 21:44:56 -08:00
Eric House
9a4a8c7b26 use static to avoid querying OS for version over and over. 2012-11-15 21:41:51 -08:00
Eric House
f70a5bc6ee add getAppVersion() 2012-11-15 21:24:54 -08:00
Eric House
e1bc9876dd add to-do 2012-11-15 21:23:31 -08:00
Eric House
bda193029e add constructor in order to pass SENDER_ID to parent constructor,
as docs say to do
2012-11-15 21:14:45 -08:00
Eric House
f64de16ce3 catch and discard all exceptions that come when initing GCM. Fringe
devices may do anthing at that point.
2012-11-15 07:03:32 -08:00
Eric House
5afd93c5f5 fix NPE on Kindle 2012-11-15 06:42:27 -08:00
Eric House
694857dd4e add, but disable with compile flags, ability to mark sent messages
with a timestamp rather than delete them.  Plan is to experiement with
this as a way of keeping devices from sending too many identical
messages when GCM's in use -- since constraints on the msgs table will
not allow identical messages to be added.
2012-11-15 06:25:22 -08:00
Eric House
c847ec127e add and use function that does formatted printing to a std::string so
query buffers can no longer overflow.
2012-11-15 06:15:44 -08:00
Eric House
5463535265 don't increase backoff if there wasn't actually anything to send. 2012-11-14 05:42:47 -08:00
Eric House
9598ea3585 fix to compile post API change. 2012-11-13 21:32:42 -08:00
Eric House
c4df31892e Fix occasional infinite loop of devices sending and receiving the same
message over and over when getting updated by GCM.  The problem
occurred when one device had an un-ACKable initial message still in
its queue.  I call resendAll a lot, which caused that message to get
resent to the other game which then replied without being able to ACK
it so it remained to be sent again.  This would continue until users
moved forward in the game.  The fix is to add a backoff timer to
resendAll() so that it can't loop.  The timer is reset when an ackable
and new message is received, meaning there's been a change in what's
available to resend.  And since users calling resendAll manually
expect it to do something, add a force param that ignores the backoff.
seems to fix the problem (but needs a lot of testing.)
2012-11-13 21:25:03 -08:00
Eric House
cf8d30ce5d tweak logging; fix uninitialized debug-only variable 2012-11-13 21:18:52 -08:00
Eric House
ba11fcf8df don't bother checking for stream size of 0 in jni since comms does
that now.
2012-11-13 21:01:25 -08:00
Eric House
cd2550a90d Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-11-13 07:24:54 -08:00
Eric House
093fc4d1fa cleanup 2012-11-13 07:23:07 -08:00
Eric House
57ea768aaf refuse to send 0-length messages. That may happen only when the stupid
curses client calls server_initClientConnection over and over, but
reduces unnecessary messaging in that case at least.
2012-11-13 07:22:48 -08:00
Eric House
c4f5b4522e minor printing tweaks 2012-11-13 07:17:56 -08:00
Eric House
2908802017 try to make linux client mimic Android a bit better in saving after
any network activity so messages get acked more quickly.
2012-11-13 06:15:36 -08:00
Eric House
43b1e219f3 add a bit more logging to comms 2012-11-13 06:14:36 -08:00
Eric House
082e6a61f7 comment out unused command 2012-11-12 20:57:39 -08:00
Eric House
60814264e7 compile with XWFEATURE_COMMSACK turned off 2012-11-12 20:56:50 -08:00
Eric House
76c938cc67 fix to compile with API change; to drop relayid when it's rejected and
to use register with the GCM id on next [re]connect; and to not leave
variable unintialized when unable to call into java world due to being
called without context.
2012-11-12 08:03:25 -08:00
Eric House
4f3c81417d go back to logging devids for now 2012-11-12 08:01:24 -08:00
Eric House
6ca966f22a make test script and linux client mimic case where relay regid is
rejected by relay.  Client re-registers and a new relay regid is
issued.
2012-11-12 07:27:20 -08:00
Eric House
6a85661095 lots of improvements: make useful for testing with non-android clients; shelve backoff data, etc. 2012-11-10 19:31:22 -08:00
Eric House
1316ae4b67 Fix relay devid protocol to deal with case where client submits a
ID_TYPE_RELAY id that's not in the devices table (as has happened when
a device switches relay URLs during testing, but might also happen if
I have to delete an entry from the devices table.)  In that case,
return ID_TYPE_NONE to the client, which will be its clue to delete
its ID_TYPE_RELAY id and submit the platform-specific id again.

Note: android won't compile this revision thanks to util.h change
2012-11-10 15:05:44 -08:00
Eric House
b53412d98d Fix to actually work. Grrr. 2012-11-10 14:52:10 -08:00
Eric House
ba733634cb NPE: don't crash on first install 2012-11-09 06:57:37 -08:00
Eric House
b0f85e02df use grep of app's help message to determine whether a param is
supported so can test with older clients and not crash.
2012-11-09 06:55:38 -08:00
Eric House
f1ee77882b Send devid with RECONN as well as CONN so games present when device
upgrades can also use GCM.  Tested on relay but not device.
2012-11-09 06:54:12 -08:00
Eric House
ff16db5c10 remove logging 2012-11-08 20:09:16 -08:00
Eric House
0f21f849d9 fix crash attempting to download dict when there's no network, e.g. in
airplane mode.
2012-11-08 20:08:20 -08:00
Eric House
0ef7c8bf46 return TYPE_NONE on devices like Kindle that don't do GCM instead of
an empty string claiming to be a GCM ID.
2012-11-08 19:58:03 -08:00
Eric House
07123ac823 cleanup: remove logging and only check for messages when the json data
holds that command.
2012-11-08 19:54:09 -08:00
Eric House
5cbafb9f56 up version strings and code 2012-11-08 19:49:45 -08:00
Eric House
283045c649 revert previous trivial change 2012-11-08 19:23:52 -08:00
Eric House
49117927db start process of allowing DlgDelegate to handle more than one dialog
at a time.  Step one is to move all the data into a singleton.  Once
that seems to work (excepting in the cases that fire assertions or lead
to dropped dialogs now) move to using a queue of them.  Right now it crashes
with an assertion on dismissing the second dialog.
2012-11-08 19:05:23 -08:00
Eric House
3b1f6a695f don't show "can't do GCM" Toast on Kindle Fire 2012-11-08 06:38:35 -08:00
Eric House
2df4199a77 test script for messaging devices 2012-11-08 06:13:01 -08:00
Eric House
4eff38a85d Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-11-07 22:06:41 -08:00
Eric House
af89047969 treat an empty devID string as TYPE_NONE regardless of what the client claims. 2012-11-07 22:03:58 -08:00
Eric House
e6cd2265df fix crash: make formatParams work with empty strings 2012-11-07 21:57:18 -08:00
Eric House
aafcd5144a Better Kindle fix: don't even post message if SMS not supported. 2012-11-07 19:46:33 -08:00
Eric House
949b804f35 fix NPE on Kindle Fire, which has no SMS DB. Duh. 2012-11-07 19:43:08 -08:00
Eric House
83754d626e add backoff for resending for messages still not removed from msgs table 2012-11-07 08:05:45 -08:00
Eric House
45d0b2dbc8 various improvements, including printing a period on every loop when
there's no work to do.  All that remains is backoff.
2012-11-07 07:31:52 -08:00
Eric House
8516dca1cb what I really meant to check in 2012-11-07 06:23:20 -08:00
Eric House
9b48523ff3 fix to work with new DB scheme and to send json client now expects 2012-11-07 06:17:33 -08:00
Eric House
1e13d6ac6c look for values in msg sent from server, including one that puts up a
message via a notification.
2012-11-06 19:09:15 -08:00
Eric House
2c339ed7a5 fix to work with new devid/table scheme 2012-11-06 07:25:38 -08:00
Eric House
39dbed2004 add missing util method (fixing crash) and with it wire up new devID
scheme: now relay-assigned shorter id will be saved and used for
future games.
2012-11-06 07:08:06 -08:00
Eric House
9ad28908bb assert enum within range 2012-11-06 07:07:14 -08:00
Eric House
9981360c67 put back minsdk stuff accidentally removed in merge. 2012-11-05 06:55:54 -08:00
Eric House
41cfacfee4 don't crash on emulator (which doesn't have library required by GCM) 2012-11-05 06:20:55 -08:00
Eric House
03108f311a Merge branch 'android_branch' into android_gcm 2012-11-05 06:14:21 -08:00
Eric House
0376e25c26 Merge branch 'fix_beta_53' into android_branch 2012-11-05 05:43:33 -08:00
Eric House
bb2e3ffdb1 fix (by dropping second message) assert that there is no first
message.  This is a TEMPORARY fix.
2012-11-04 21:36:20 -08:00
Eric House
e8720ec419 add link to changelog 2012-11-04 17:53:42 -08:00
Eric House
3942a49cac Add a debug preference allowing to provide, or override, the download
dir.  This will let users work around bugs on devices like my Blaze 4G
where the OS gives the wrong path, and also allows testing.  Inval
DictUtil's dict cache eash time this is changed, so in effect adding a
wrong path pref hides all dicts in the Downloads dir.
2012-11-04 17:47:30 -08:00
Eric House
69108fd8a1 cleanup: import class to make declarations shorter. 2012-11-04 17:33:07 -08:00
Eric House
30675cfd3e remove logging 2012-11-04 17:21:37 -08:00
Eric House
90480aca4c don't put up toast when checking SMS DB 2012-11-04 07:40:24 -08:00
Eric House
68d6e10ab7 up version strings for quick bugfix release. 2012-11-03 17:27:46 -07:00
Eric House
4dd094b2b3 if the download dir doesn't exist (and on my "Blaze 4G" the function
getDownloadCacheDirectory() returns a path that doesn't) then don't
offer to move things there.
2012-11-03 17:26:43 -07:00
Eric House
59937b8514 modify how devids are handled on the relay and the protocol through
which they're communicated to the device.  Device is expected to have
a platform-specific notion of ID which the relay stores in a new
devices table and indexes with a 32-bit number which is returned to
the device -- which is encouraged but not required to use it in lieu
of the longer ID in future communications.  Modify linux client and
test script to use the relay-supplied id.  Some of this is commented
out for now.
2012-11-03 10:58:01 -07:00
Eric House
773f04e95b remove .gitignores from directory that's going away 2012-11-02 05:36:48 -07:00
Eric House
563422de02 turn on DEVID feature for linux 2012-11-02 05:35:56 -07:00
Eric House
47f9eb03b9 merge in changes from the -gcm directory: GCM will be a feature of the
non-variant build now.
2012-11-02 05:35:31 -07:00
Eric House
e66ddc3765 make stream_catString work with null ptr 2012-11-01 21:08:58 -07:00
Eric House
ecd6d81228 Merge branch 'android_branch' into android_gcm 2012-11-01 19:50:07 -07:00
Eric House
a73a5e8077 there seems to be no way to fix the warning so add comment 2012-11-01 19:46:38 -07:00
Eric House
257a15917b script to run with lint checks enabled -- since I always have to look up how. 2012-11-01 19:46:08 -07:00
Eric House
a4787d5614 remove unused strings 2012-11-01 19:45:13 -07:00
Eric House
364acb6dcd cleanup: remove some logging and unused string resources 2012-11-01 19:32:29 -07:00
Eric House
935e3b9673 fix to work from main build directory 2012-11-01 19:32:08 -07:00
Eric House
1c33c8cc31 scripts that help find unneeded string resources 2012-11-01 19:17:46 -07:00
Eric House
27935752a8 check cursor still open in attempt to fix crash seen on Galaxy Nexus 2012-11-01 18:39:26 -07:00
Eric House
057a41e4a9 check cursor still open in attempt to fix crash seen on Galaxy Nexus 2012-11-01 07:59:42 -07:00
Eric House
7135e30fe9 add missing ifdef 2012-11-01 07:58:36 -07:00
Eric House
3e289adc18 move related methods together 2012-11-01 07:58:27 -07:00
Eric House
fe819982da Merge remote-tracking branch 'origin/android_branch' into android_gcm 2012-10-31 07:44:16 -07:00
Eric House
3d6a170921 python script to check relay and invoke GCM to notify recipients 2012-10-31 07:20:40 -07:00
Eric House
a61bb31aa5 update for newest wordlist 2012-10-31 07:12:10 -07:00
Eric House
b552a1fad0 check for moves on receiving message from GCM. Round-trip now works! 2012-10-31 07:09:23 -07:00
Eric House
d97c057b8c Merge branch 'android_branch' into android_gcm 2012-10-31 06:33:54 -07:00
Eric House
1cae4e9a4c increase buffer size, and test rather than assert for overflow. Fixes
crash with new large GCM devids.
2012-10-31 06:12:24 -07:00
Eric House
1b7a618454 send the right dev id 2012-10-31 06:03:31 -07:00
Eric House
fe47266b1f don't ignore output when compiling jni: hides errors! 2012-10-30 08:05:25 -07:00
Eric House
6014e3d76f turn on devid code and implement support in java. Untested, but should work. 2012-10-30 07:57:17 -07:00
Eric House
6cf5d7e04e Android.mk needs to be checked in 2012-10-30 07:48:16 -07:00
Eric House
c93dfd6605 Merge branch 'android_branch' into android_gcm
Conflicts:
	xwords4/android/XWords4/res/values/common_rsrc.xml
2012-10-30 07:10:42 -07:00
Eric House
3469975d2a add, still disabled by compile-time flags, code to transmit device ID
(e.g. ID Android devices get via GCM) to relay and to associate it
there with messages that need to be delivered.
2012-10-30 07:01:47 -07:00
Eric House
80a79b6991 Make it less likely that a message received while I'm not intercepting
them will be opened more than once: track whether I've searched the
SMS db, and only clear that setting when SMS play is *disabled*.
2012-10-29 21:20:32 -07:00
Eric House
ba0f91c438 cleanup: use constant 2012-10-29 20:43:02 -07:00
Eric House
e90621ec1d use existing string rather than invent a new one 2012-10-29 07:30:09 -07:00
Eric House
e39b776d80 Add button to alert warning that SMS isn't on that takes you to
Preferences.
2012-10-29 07:20:11 -07:00
Eric House
2375a6730a tweak text 2012-10-27 15:31:49 -07:00
Eric House
b83e587d91 changelog and version strings for beta 53 2012-10-27 15:21:33 -07:00
Eric House
5aef1afec3 point URL at android part of sf.net site, not home. 2012-10-27 13:18:08 -07:00
Eric House
f0a46eacfa script reached by URL in SMS messages sent to devices without
Crosswords installed.
2012-10-27 13:15:34 -07:00
Eric House
86378e4f0b Merge remote branch 'origin/android_branch' into android_branch 2012-10-27 08:55:19 -07:00
Eric House
e7d5be06e9 fix crash when old client connects to new host by making host use the
right version test in deciding what to send.
2012-10-27 08:52:54 -07:00
Eric House
4ea8569abc honor --min-devs flag 2012-10-27 08:15:07 -07:00
Eric House
e1fa0f9dd3 Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-10-26 07:06:59 -07:00
Eric House
fb747304eb put sms at bottom of new-game dialog 2012-10-26 07:00:23 -07:00
Eric House
b097e0825e fix linux crash do to casting problem 2012-10-26 06:49:15 -07:00
Eric House
d7d666e4f9 Merge branch 'android_branch' into android_gcm 2012-10-25 08:12:02 -07:00
Eric House
6e39466b09 somehow new dict-download code is storing some in info DB with
langcode of 0.  Work around that by rebuilding cache entry when that's
seen.
2012-10-25 08:03:56 -07:00
Eric House
6180834ada log case where game has no dicts 2012-10-25 08:02:30 -07:00
Eric House
4ed1446e06 Fix new bug: don't null out default dict just because we don't have one. 2012-10-25 07:58:39 -07:00
Eric House
b40e9b7928 assert non-0 lang code 2012-10-25 07:10:54 -07:00
Eric House
f2684e5652 log device ID even when it's not newly assigned 2012-10-25 06:24:19 -07:00
Eric House
fcc4a0a5f9 add new file 2012-10-25 06:23:49 -07:00
Eric House
4c1c0ddaaa Merge branch 'android_branch' into android_gcm
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWPrefs.java
2012-10-24 08:05:50 -07:00
Eric House
9bb8c9cddf don't allow change of dict in in-play networked game 2012-10-24 08:01:52 -07:00
Eric House
3d14ed96e7 cleanup and rename method 2012-10-24 07:40:14 -07:00
Eric House
643a301214 cleanup: add additional param to downloadFinished() iface method 2012-10-24 07:22:26 -07:00
Eric House
aec03fc572 When a game's consumated and guest discovers it isn't using the same
dict, give chance to switch, and to download if required.  Because of
the way the JNI thread works, and JNI's requirement in general that
env instances match up (e.g. dicts must be destroyed in the same
thread that creates them), substituting into a live game is too hard.
So the game's saved with its new dict and then reloaded.
2012-10-24 07:17:21 -07:00
Eric House
13c74cfbd5 protect changeDict feature with compile-time flags (since it can't be
used on Android)
2012-10-24 06:46:54 -07:00
Eric House
c69dbda36f add new game_changeDict() and enough gtk code to test it. 2012-10-23 19:06:00 -07:00
Eric House
521d7042be remove redundant class name (no code change) 2012-10-23 06:50:49 -07:00
Eric House
1ce7b36b59 add pref to replace querying on each download where to store dict.
And use new background-download for update-triggered downloads.
2012-10-22 19:35:47 -07:00
Eric House
80e2b8955e comments to remind not to remove code not called from java; no code change 2012-10-22 19:29:05 -07:00
Eric House
8f4c0169b4 fix to print contents again 2012-10-22 19:19:38 -07:00
Eric House
8e911fef05 use import to shorten type -- no code change 2012-10-22 07:30:44 -07:00
Eric House
ca561f225c make dict storage location a default set in preference rather than
something queried each time.
2012-10-22 07:06:12 -07:00
Eric House
6ba5d4f7c8 use new internal download code for download to get dict required for
SMS invite as well.  Still to do: put back the query for where the
thing should be stored.  Hard-coded to go in INTERNAL for now.
2012-10-20 18:28:14 -07:00
Eric House
13557b6e25 use Utils.showToast() everywhere 2012-10-19 18:03:00 -07:00
Eric House
04f56ccf74 download dicts without the browser. This is a partial implementation
that will need to be generalized and used in other places, basically
whenever the full URL can be known.
2012-10-19 17:57:17 -07:00
Eric House
37c698f41b fix link problem with upgrade from natty to oneiric (Ubuntu): -lpq
param must follow object file list.
2012-10-19 17:54:18 -07:00
Eric House
0f9500cea3 comment out unused param/variable 2012-10-19 17:53:15 -07:00
Eric House
6c34f43df7 show toast when update requested manually and nothing found 2012-10-18 19:51:40 -07:00
Eric House
cb1a0093c3 Merge branch 'android_branch' into android_gcm 2012-10-17 21:23:09 -07:00
Eric House
e5feded0b1 When receiving an invite for a dict we don't have, post a notification
to DictsActivity that offers to download, and on download completion
arranges for notification of SMSService so the game can be created.
2012-10-17 21:20:08 -07:00
Eric House
3e83af3b97 pass dict name (in addition to language) with SMS invite, and
currently on recipient device refuse to create a game if dict not
installed.  Next step is to give a choice to download the thing or
decline.
2012-10-17 07:11:39 -07:00
Eric House
04f51bd392 add haveDict() 2012-10-17 07:10:08 -07:00
Eric House
a8c77bca88 fix NPE 2012-10-17 07:01:01 -07:00
Eric House
6d7d8d5c64 ignore dir not on this branch 2012-10-16 08:20:53 -07:00
Eric House
50238bea3e generate sender_id const from ENV so doesn't need to be checked in.
Now works to register as I'm using the right id.
2012-10-16 08:16:43 -07:00
Eric House
be79ce77ee fix name of service so reply received from GCM 2012-10-16 07:56:10 -07:00
Eric House
85f81a700c missing gitignores 2012-10-16 07:42:35 -07:00
Eric House
de5dcdc5f9 starting new variant for GCM 2012-10-16 07:41:04 -07:00
Eric House
077270f1cd merge in SMS-version UI -- there will not be a separate version for
SMS any more.
2012-10-15 08:29:46 -07:00
Eric House
eb47e75c50 put up more user-friendly message when dicts don't match. 2012-10-15 08:07:17 -07:00
Eric House
5f247db29c use the same missing-players message for all three connection types
(even though the way they're reported is, though shouldn't be,
different.)
2012-10-15 07:31:02 -07:00
Eric House
96ea4f3963 ignore new files 2012-10-15 06:21:50 -07:00
Eric House
528c061156 report host-chosen dict name a bit later 2012-10-15 06:21:08 -07:00
Eric House
c811282591 UI change: networked games are no longer allowed to have per-player
dicts.  Now you select a single dict for such games in a new spinner
just below the lang spinner, and player's dicts are no longer
displayed.  For standalone games, the single dict choice isn't there,
the individual dicts are displayed, and you must open a player config
to change the dict as before.  The idea is that this will be less
confusing, particularly when I need to tell the guest that the host is
using a different dict.
2012-10-14 19:21:27 -07:00
Eric House
4cf595e939 on commandline, only allow assignment of per-player dicts to local
players.  I don't know what happens when a player's position is
changed when its game is a guest and the hosts rearranges players.
Which is why on Android I'm moving to allowing per-player dicts only
on local-only games.
2012-10-14 19:10:42 -07:00
Eric House
25a1ee451b resolve links if required to get the actual name of the dict 2012-10-12 20:50:34 -07:00
Eric House
e90c5ee94f pass index of resigning player into util_notifyGameOver. Not yet
passed into java.
2012-10-09 05:31:12 -07:00
Eric House
3221fb237a Make state disallow hints when game over 2012-10-08 07:21:36 -07:00
Eric House
ce58750b92 change "resign" menu text once game is over 2012-10-08 07:09:44 -07:00
Eric House
e64ecfb78d implement resign on top of existing endGame logic, adding "quitter" as
new param passed to remote and changing final score formatting and
menu items to match.  Still need to show old menu on android in case
where game has already ended.
2012-10-07 12:47:06 -07:00
Eric House
4e0c7923d9 fix bug with clean target introduced when BUILD_DIR was introduced 2012-10-07 12:14:47 -07:00
Eric House
968340f665 Fix release-build warnings that new compiler flags. 2012-10-07 11:43:50 -07:00
Eric House
fd9b9f85e2 make util_hiliteCell conditional, and remove from android where it
wasn't used anyway.
2012-10-05 18:51:32 -07:00
Eric House
b11da9d8eb use GamesList's Handler to set timers to redraw turn expiry indicators
when the percent left changes.  This may be done -- except for
deciding what to do when the time actually runs out.
2012-10-02 07:30:31 -07:00
Eric House
0a60419802 make ExpiringDelegate responsible for figuring percentage of time left
given start time and having a constant for how long a turn lasts.  Eventually
the constant will be replaced by a second number passed in.
2012-10-01 19:07:23 -07:00
Eric House
cd776a34dd Revert "Display turn start time in game summary. This is definitely not its"
This reverts commit ebaa22594d.
2012-10-01 17:53:35 -07:00
Eric House
bec596c744 remove no-longer-needed drawable 2012-10-01 17:52:56 -07:00
Eric House
0579253b8d Also override TextView to show turn left there. Works, requiring only
that actual percentage of turn remainning be calculated.
2012-10-01 07:24:45 -07:00
Eric House
50b10cd365 new classes overriding LinearLayout to allow framing is-turn rect to
be drawn in two colors showing how much time left for turn.  Required
because there's no (reasonably-easy) way to create nine-parts
dynamically.
2012-10-01 06:57:40 -07:00
Eric House
8281bd7f10 call back into java for util_getCurSeconds implementation so java and
C world are sure to be using the same clock.
2012-09-29 19:27:02 -07:00
Eric House
ebaa22594d Display turn start time in game summary. This is definitely not its
final form!
2012-09-27 07:48:30 -07:00
Eric House
2c89f13383 add turn as param to util_turnChanged, and call from server rather
than board.
2012-09-27 07:04:57 -07:00
Eric House
94103a4212 track time of most recent turn start, and include it in summary table. 2012-09-27 06:55:46 -07:00
Eric House
6ddd4a61c1 fix compile errors (mostly unused variables) found by gcc on latest
Ubuntu (12.04).
2012-09-25 07:28:02 -07:00
Eric House
53774eb807 Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-09-24 20:08:14 -07:00
Eric House
65598cdb7b replace DeleteLocalRef calls 2012-09-24 07:44:43 -07:00
Eric House
140c982d41 merge from android_branch 2012-09-24 07:39:44 -07:00
Eric House
4909dde622 call a script rather than an html file so file doesn't have to be
updated with every release.
2012-09-24 07:35:14 -07:00
Eric House
9a3e43428a Merge remote-tracking branch 'origin/android_branch' into android_branch 2012-09-24 07:26:57 -07:00
Eric House
bdc114dc46 add phony targets to check, on debian-based systems, whether required
packages are installed and to install them.
2012-09-24 07:26:37 -07:00
Eric House
d24f9a28f6 up release number 2012-09-24 07:00:18 -07:00
Eric House
c76c5f5868 don't create obits for apps that don't have relayIDs (and presumably
never connected.)
2012-09-20 07:45:04 -07:00
Eric House
96e277c7ba don't offer to copy DB from sdcard when there is none. 2012-09-20 07:29:00 -07:00
Eric House
598a154693 factor common code into function 2012-09-19 08:09:27 -07:00
Eric House
81d3f7d15f up version strings for SMS version too 2012-09-19 07:20:43 -07:00
Eric House
a601d0818e save and restore search prefix even when find button not clicked, and
display last scroll position when different from what prefix finds.
2012-09-18 07:51:50 -07:00
Eric House
210913d4d4 track dictbrowse info for multiple copies of same dict if that's
what's installed.
2012-09-18 07:36:54 -07:00
Eric House
fcecd1db3c don't ask for column no longer there 2012-09-18 06:38:22 -07:00
Eric House
4fa5c61e14 add option to build in a separate directory, for e.g. case where source files
are on ro filesystem.
2012-09-17 06:48:53 -07:00
Eric House
168b69112e up version strings for pending new release 2012-09-17 06:36:58 -07:00
Eric House
33772ff0b9 remove redundant DB field and variable 2012-09-15 17:11:59 -07:00
Eric House
a939c9ec4b cleanup 2012-09-15 17:11:45 -07:00
Eric House
75398389b3 Merge branch 'android_branch' into android_dictdb
Conflicts:
	xwords4/android/XWords4/jni/jniutlswrapper.c
2012-09-15 16:36:15 -07:00
Eric House
ee1df7eeb7 replace DeleteLocalRef calls with version that checks for NULL 2012-09-15 15:57:38 -07:00
Eric House
b2d47d70be saveToken can be 0 when only gi is being saved 2012-09-15 15:49:26 -07:00
Eric House
937bde6378 combine two jniutils methods into one 2012-09-15 15:21:31 -07:00
Eric House
ad67f31573 saveToken can be 0 when only gi is being saved 2012-09-15 15:19:23 -07:00
Eric House
1e12464934 Merge branch 'android_branch' into android_dictdb 2012-09-15 10:51:58 -07:00
Eric House
571300c0f8 work with two checksums per wordlist, the old that's on the whole
file, and the new that's on the wordlist data only.
2012-09-15 09:34:27 -07:00
Eric House
5d45d8d35f remove param that doesn't work when called from mod_python 2012-09-15 09:03:52 -07:00
Eric House
c815d739cd generate md5sum for old .xwd files that don't have it internally. And
for those that do, verify that stored and generated values match.
2012-09-13 20:54:35 -07:00
Eric House
bcc8c0c249 remove code figuring md5sum on full dict file; the sum on data is all
we're using now.
2012-09-13 19:33:17 -07:00
Eric House
a5bd932e0a Merge branch 'android_branch' into android_dictdb 2012-09-13 19:20:24 -07:00
Eric House
aaa12a291e use unpack to correctly pull wordcount, note and checksum 2012-09-13 19:07:37 -07:00
Eric House
20afa9fd56 rename: file's obsolete now 2012-09-13 19:06:46 -07:00
Eric House
a85ab865cb up note for new version of DISC 2012-09-13 19:05:09 -07:00
Eric House
9ea1311aa0 Merge branch 'android_branch' into android_dictdb 2012-09-13 08:00:54 -07:00
Eric House
50e90405a7 add new Catalan word lookup URL 2012-09-13 08:00:37 -07:00
Eric House
aa974be567 Before figuring md5sum (via java callback added recently), use new
callback to see if there's already one in the DB.  Required passing
context into jniutils getter, and passing name into jni dict
constructors that previously didn't need it.
2012-09-13 07:38:08 -07:00
Eric House
edc6b9c270 Merge branch 'android_branch' into android_dictdb 2012-09-13 05:40:08 -07:00
Eric House
3e4384c2a8 when dict doesn't have built-in md5sum, or when in DEBUG code, call
back into java to get a sum.  It's very slow for large dicts, but will
eventually be in a DB so only done once per dict that doesn't have it.
2012-09-13 05:39:44 -07:00
Eric House
13507e6fc2 break dict info table in two, one browse state and one for what's been
stored in static data in DictLangCache up to now -- and remove that
static data in favor of the new table.
2012-09-12 19:50:03 -07:00
Eric House
67b0d44f26 save search prefix too 2012-09-12 07:55:41 -07:00
Eric House
ce6356fb92 add new db table for tracking dict-releated stuff. Use it to save
state in wordlist browser so can return to same place as left for each
dict.  Eventually the new table should replace DictLangCache.
2012-09-12 07:44:58 -07:00
Eric House
a6bed2706d include, commented out, the parameter that makes things fall apart. I
think the protocol needs work to survive devices failing to save
state.  Better to work on making sure they always save.
2012-09-11 20:45:03 -07:00
Eric House
72b4b02c20 improve messages display 2012-09-11 20:44:07 -07:00
Eric House
ae2b6205bd use mem_stream_make_sized 2012-09-11 19:17:27 -07:00
Eric House
4f18f01cb8 don't malloc(0) 2012-09-11 19:17:10 -07:00
Eric House
a0b564c7e8 show related messages as well 2012-09-11 19:07:16 -07:00
Eric House
761f93dd7e use new mem_stream_make_sized 2012-09-11 19:07:00 -07:00
Eric House
5c683f173a add mem_stream_make_sized, meant to make saving games more efficient 2012-09-11 19:06:27 -07:00
Eric House
75474e1891 Add option to pretend save failed a random pct of time. Point it to
test fix for problem on Android, but right now turning this on breaks
networking.
2012-09-11 07:26:17 -07:00
Eric House
ad4231289f fix --max-devs and resigns begin allowed when only one game 2012-09-11 07:24:51 -07:00
Eric House
0ccc2331b5 address bug where message was getting ACK'd by a device that failed to
save what it had ACK'd leaving the game permanently broken.  Do that
by adding a new method game_saveSucceeded() called after the client
claims to have committed bytes returned by game_writeToStream() to
disk.  In that method comms updates the value it'll use in subseqent
ACKs.
2012-09-10 07:31:45 -07:00
Eric House
45de62818b format to 80 columns -- no code change. 2012-09-09 15:49:55 -07:00
Eric House
1608f0a8f9 handle missing error messages 2012-09-09 15:49:17 -07:00
Eric House
9340db36c1 disallow opening android DBs when not configured correctly. 2012-09-09 15:48:57 -07:00
Eric House
8fbc9ca343 fix to compile in release mode 2012-09-09 09:22:00 -07:00
Eric House
95a7b14a3a transmit dict's md5sum along with name in initial message from host to
guest.  On guest, pass that sum into client code along with names so
the appropriate tests can be done and corrections taken.
2012-09-08 20:23:48 -07:00
Eric House
f90e6343c7 don't crash if no dict info 2012-09-08 20:22:22 -07:00
Eric House
9a72f252ed Merge branch 'android_branch' into android_dictname 2012-09-08 13:20:59 -07:00
Eric House
1957ad3dbe add options, that sometimes work, to print desc and md5sum from .xwd
files.  Still need to figure out how to parse binary into UTF-8.
2012-09-08 13:20:12 -07:00
Eric House
047f68aafd version with checksum and note 2012-09-08 13:18:58 -07:00
Eric House
ca88c9850e add DICTNOTE 2012-09-08 13:17:49 -07:00
Eric House
5a81484cf1 add md5Sum to DictInfo and add a getter 2012-09-08 10:11:18 -07:00
Eric House
977bee15d9 add DICTNOTEs 2012-09-08 10:10:17 -07:00
Eric House
7d51ee99d9 add dict_getMd5Sum 2012-09-08 10:09:31 -07:00
Eric House
50a4f32bfa new versions of dicts with checksums and descriptions 2012-09-08 10:08:39 -07:00
Eric House
077560bcd3 load md5sum if present 2012-09-08 09:42:23 -07:00
Eric House
14a77ff7f1 factor out common code 2012-09-08 07:45:18 -07:00
Eric House
8e58d8c1c0 print header elems, including md5sum, if present rather than just
skipping.
2012-09-07 20:34:55 -07:00
Eric House
5fa9b60846 add md5Sum field to dict struct, and on linux load it if present,
otherwise calculate it.  In DEBUG builds always calculate and assert
they match.
2012-09-07 20:34:06 -07:00
Eric House
0b81516682 add md5sum to dict header, summing not the whole file but the parts
that make the wordlist unique: tile counts and values, and bitmaps,
and the data.  This happens to be contiguous data on non-palm .xwd
files so it's easy to duplicate if the sum isn't there.
2012-09-07 20:32:10 -07:00
Eric House
4f180e9e14 pass rejecting dict name into java layer and display as part of turn
lost message.
2012-09-06 19:04:40 -07:00
Eric House
07e6239699 transmit name of failing dict 2012-09-06 08:01:11 -07:00
Eric House
509c832f2f more progress: copy dict name into badwordinfo and free it successfully 2012-09-06 07:49:05 -07:00
Eric House
2f8b6cceb5 pass additional param into callback -- unused so far. 2012-09-06 07:19:12 -07:00
Eric House
4325d4e709 Merge branch 'android_branch' into android_dictname 2012-09-05 19:30:50 -07:00
Eric House
fa90150055 Revert "As an experiment, lower case words being looked up. Apparently one of"
This reverts commit 5bdebd445f.
2012-09-05 19:20:05 -07:00
Eric House
4d57fb889b new and improved URL for Catalan lookup 2012-09-05 19:19:05 -07:00
Eric House
1ec03e48bb plug leak: don't alloc stream when it won't be used 2012-09-05 19:09:01 -07:00
Eric House
71c1fc527a add counter to mpool tracking so easier to find source of leaks 2012-09-05 19:08:22 -07:00
Eric House
5bdebd445f As an experiment, lower case words being looked up. Apparently one of
the Catalan sites doesn't like upper case.  At least in theory no site
should care so the rest of the world should be ok with lower case too.
2012-09-04 19:03:53 -07:00
Eric House
270a19f3aa Revert "first of a set of changes to communicate to clients dictionary being"
This reverts commit b7a0f1489b, which I didn't mean to check in on this branch.
2012-09-03 21:34:51 -07:00
Eric House
ea4d805d5f first of a set of changes to communicate to clients dictionary being
used by server.  Clients need to care if e.g. the server's disallowing
phonies based on its dict.  Can only be sent if client is of latest
version.  In that case, common code calls into new util function.  In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it.  Once it's available, will want to install it.
2012-09-03 21:33:46 -07:00
Eric House
b7a0f1489b first of a set of changes to communicate to clients dictionary being
used by server.  Clients need to care if e.g. the server's disallowing
phonies based on its dict.  Can only be sent if client is of latest
version.  In that case, common code calls into new util function.  In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it.  Once it's available, will want to install it.
2012-09-03 21:29:21 -07:00
Eric House
d12ed144ea normalize file: add comments where don't proceed a string, and replace
tabs with spaces.
2012-08-31 21:36:49 -07:00
Eric House
73e29211b0 remove strings no longer used 2012-08-31 21:34:25 -07:00
Eric House
a3b1fc8379 beginnings of script to annotate localized .xml files with what's missing 2012-08-31 21:33:44 -07:00