Commit graph

1750 commits

Author SHA1 Message Date
Andy2
dced47e202 export server_listWordsPlayed via jni. 2011-09-18 19:06:23 -07:00
Andy2
b579bb0bca first step in implementing lookup of words: add button and browser
launch to single website for hard-coded word.
2011-09-16 06:44:25 -07:00
Andy2
131bb561bc cache reference to prefs 2011-09-15 18:59:39 -07:00
Andy2
6bd72a54bf rename php scripts so their URLs are a bit more helpful when the user
has to see them, as happens when invitation is send via SMS.
2011-09-15 18:52:15 -07:00
Eric House
35b2ae0f42 remove dead strings. Move app-name to common_rsrc.xml since it's not
translated.
2011-09-15 18:08:00 -07:00
Eric House
df82578d5a add a ton of comments -- I think I'm done. No changes to any string here. 2011-09-15 18:07:07 -07:00
Eric House
a676b5beb0 comment out dead code referencing strings 2011-09-15 18:06:12 -07:00
Eric House
ced5da45a5 remove unused string ref 2011-09-15 18:05:45 -07:00
Andy2
8cb49ad8a3 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch
Conflicts:
	xwords4/android/scripts/strings_check.sh
2011-09-14 06:51:10 -07:00
eehouse@eehouse.org
98c2617613 Merge branch 'android_branch' into send_in_background 2011-09-14 06:47:12 -07:00
Andy2
25f7c72994 add some comments and rearrange 2011-09-14 06:46:52 -07:00
Andy2
d69bbfed97 copy over from french_xlation branch 2011-09-14 06:39:23 -07:00
Andy2
c3f9fc6f7b remove unused strings 2011-09-14 06:13:32 -07:00
Andy2
2ee4ec12d5 toward merge with french_xlation: remove unused and move debugging
strings.
2011-09-14 05:50:55 -07:00
Andy2
45bf34fdc1 just copy it over from french_xlation branch -- screw history 2011-09-13 19:01:16 -07:00
Andy2
b6cfdbbb37 print strings as single lines for easy comparison
Conflicts:

	xwords4/android/scripts/strings_check.sh
2011-09-13 18:59:14 -07:00
Andy2
7edf615b40 add comment noting that this release breaks old games configure not to
use English.  (Specifically, they've been played in English until now
and played letters will be reinterpreted in the right language for the
first time.)
2011-09-13 18:33:30 -07:00
Eric House
0bd9500033 add options to be used comparing across branches 2011-09-12 22:09:11 -07:00
Andy2
9f6391ba34 cache the most recently loaded game's byte[] data. Saves about 2/3 of
the reads from the DB.
2011-09-12 19:52:18 -07:00
Andy2
99498a8568 use static HashMap to track what language views are open and closed.
As long as I'm not reloaded user choice will be preserved.  Good
enough.
2011-09-12 19:00:13 -07:00
Andy2
72d769910b expand children after a delete (to be consistent, though it'd be
better to rememeber state)
2011-09-12 18:37:04 -07:00
Andy2
68c85ec176 use new class to inval list of dicts when SD card inserted or ejected. 2011-09-12 18:29:18 -07:00
Andy2
14608d2deb listen for SD card events via BroadcastReceiver registered in
AndroidManifest rather than created programatically: only with this
can I get EJECT events to work.  Replacement class has static
register/unregister methods which DictsActivity uses.
2011-09-12 18:28:43 -07:00
Andy2
8c0657f1cd add showf for Toast-based debugging 2011-09-12 18:22:37 -07:00
Andy2
c9c498786e add to game state whether any tiles selected. Use that to disable
'commit exchange' button when there's nothing to commit, and get rid
of error message used when committing nothing since it's now
impossible (on Android).
2011-09-09 19:04:25 -07:00
Andy2
66fb5f87fb don't exit trade mode if no tiles selected; fix warning string to match. 2011-09-09 18:40:19 -07:00
Andy2
ec6108501d draw timer in full color even in exchange mode 2011-09-09 18:23:19 -07:00
Andy2
06571d0478 up constants and update changes list for new release 2011-09-09 18:17:28 -07:00
Andy2
1d612288d4 add optional param to confirmation dialogs to allow positive button
other than Ok; add "Delete" and "Reset" for game and dict actions.
2011-09-09 06:50:00 -07:00
eehouse@eehouse.org
eb0e41e978 Merge branch 'android_branch' into send_in_background 2011-09-08 21:38:50 -07:00
Andy2
fda3207b78 fix inability to tell whether a dict being deleted is in use: add to
summaries DB list of dicts in the game and a method that queries that.
Pick delete-confirmation message based on the language of dict,
whether there are others in the same language, and whether games are
using that language or that dict.
2011-09-08 21:36:15 -07:00
Andy2
528db479b5 bunch of changes whose original purpose was to allow me to deal
correctly with having the same dict stored in more than one place.
Added DictAndLoc with members name and loc to support this, and used
in a bunch of places in place of mere strings, including
DictsActivity.  Also removed code warning when you're deleting a dict
that's not the last in its lang, which incorrectly warned that the
dict was in use when in fact I can't tell that.  The warning "might be
in use" sounds dumb so it's gone for now.
2011-09-08 19:10:06 -07:00
Andy2
2aa5447301 remove some logging 2011-09-08 19:03:08 -07:00
Eric House
84931f34ff Merge branch 'android_branch' into send_in_background 2011-09-07 21:44:36 -07:00
Andy2
ce8104f679 move dict-related methods from GameUtils.java to new DictUtils.java 2011-09-06 07:18:45 -07:00
Andy2
d82193ff05 don't overwrite m_gi on resuming activity as it may contain
local/pending changes.  Fixes bug where you change language, then
choose "download more..." from a player's dict choice spinner and find
on returning to GameConfig that the language has reverted.
2011-09-03 22:19:10 -07:00
Andy2
eab067fe32 use autocaps for default player names pref 2011-09-03 21:54:25 -07:00
Andy2
1af358b269 move code to unpack players list into same file as the code packing
it; add boolean, now always passed as false, to code printing names
for game config list of players to include the dictionary.  It's
useful for debugging, and I think it'd make a good optional setting,
but nobody else thinks so.  Once it's checked in the change can go if
I'm not using it.
2011-09-03 21:05:08 -07:00
Andy2
a3566bc063 Fix bug: the CurGameInfo instance being used to generate the list of
dicts passed when opening a game was based on defaults, not read in
from the game data.  Oops.  So now it's a two-step process: open the
data, read in the game info, generate list of dicts from that, and
open full game with list of dicts.  (TODO: optimize by caching game
data across multiple reads.)
2011-09-03 20:31:03 -07:00
Andy2
8087153b73 log name of dict being set -- as an easy way to confirm that the right
dicts are getting passed to the jin.
2011-09-03 20:19:51 -07:00
Andy2
471199ba2f cleanup -- no code change beyond ordering and renaming. 2011-09-03 19:41:36 -07:00
Andy2
9956bc417d fix bugs: chosen dict was being pulled by index from non-sorted
version of the list user saw when choosing the index. Fix is to use
same list. Cancel after selecting dict didn't work as the selection
listener had already copied the selected dict name over.  Now the
listener leaves that for the Ok button's onclick listener.
2011-09-03 19:38:52 -07:00
Andy2
3fd0bb056a when there's no move made yet to display after score entry held say
so.
2011-09-02 19:24:42 -07:00
Andy2
2f91b8ed3d remove unused strings 2011-09-02 18:37:58 -07:00
Andy2
da475347a5 get rid of unused constants 2011-09-02 18:36:26 -07:00
Andy2
2d2f3e23fd change signature of util_playerScoreHeld(): pass player num rather
than formatted text. Client code can use new
model_getPlayersLastScore() or whatever else it wants to build text to
show the user.
2011-09-02 18:36:03 -07:00
Andy2
42950c38bd export model_getPlayersLastScore() 2011-09-02 18:33:34 -07:00
Andy2
9cf7e6ca18 get rid of util_setInTrade() 2011-09-01 19:53:03 -07:00
Andy2
5d08b6b3cd don't make scoreboard entries translucent during trade if option to
change which player is shown is enabled.
2011-09-01 19:52:36 -07:00
Andy2
e94524958f get rid of util_setInTrade(); fix passing of selBits when trading
(broken with prev checkin.)
2011-09-01 19:51:26 -07:00
Andy2
437e4e21ac There are buttons not menu items for exiting exchange mode so
reference them in newbie text.  And get rid of string for toast
exiting the mode since we don't show it.
2011-09-01 18:54:27 -07:00
Andy2
934daab6c8 don't need util_setInTrade. There's already code passing the result
of game_getState() in after every draw() call and it has an inTrade
ivar.  Use that.
2011-09-01 18:53:38 -07:00
Andy2
9a60bcf265 draw the X at 7x7 transluscent if in trade mode. 2011-09-01 18:52:21 -07:00
eehouse@eehouse.org
b6e5327b1a Merge branch 'android_branch' into send_in_background 2011-08-31 06:46:42 -07:00
Andy2
671877cbca implement new util_ methods in jni and java; remove old miniwindow
stuff.  In java, respond to util_playerScoreHeld() and
util_bonusSquareHeld() by putting up toasts with existing strings.
For util_setInTrade(), fix exchange mode. Add two buttons at bottom
that replace toolbar (and corresponding buttons on menu). Redraw
scoreboard and board with high transparency to make it clear they're
disabled.  Still to do: deal with case where ability to switch which
player's tray is visible is enabled.
2011-08-31 06:37:33 -07:00
Eric House
8c811c3d5a Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-08-29 20:36:53 -07:00
Eric House
c01981bc8f Make miniwindow stuff compile-time optional. The goal's to use native
features where they look better or are easier to manage, e.g. Toasts
and dialogs on Android.
2011-08-29 20:36:01 -07:00
eehouse@eehouse.org
867b9118c1 Merge branch 'android_branch' into send_in_background 2011-08-28 17:27:46 -07:00
Andy2
45421e8f86 add a bit of space between players column and column to right so
numbers don't run together.
2011-08-28 15:44:23 -07:00
Andy2
5bc63edeb6 replace Runnable passed to showNotAgainDlgThen() with callbackID, same
scheme as the rest of DlgDelegate.  I'm still using a single ivar for
all dialogs, meaning they can't stack, but except for duplicate
showNotAgainDlgThen calls (where the message can be ignored) it
doesn't seem to be happening.  Asserts are still in place to tell me
if I'm wrong.
2011-08-28 15:38:52 -07:00
Andy2
656110841f cleanup after review of recent changes: remove logging etc. didn't
mean to check in.
2011-08-25 18:48:41 -07:00
Andy2
0a2255a8fe add two recent changes 2011-08-25 18:26:49 -07:00
Andy2
632acfd171 Oops: add new pref color to list restored. 2011-08-25 18:26:34 -07:00
Andy2
5acc2205be add pref to edit color used to draw bonus hints on cells 2011-08-25 18:13:42 -07:00
Andy2
79acccc6bf record, commented out, attempt to send NBS message. sendDataMessage()
crashes internally, and googling finds lots of reports/questions and
no answers.  It appears NBS is broken on Android, at least for CDMA.
Might want to revisit on a newer OS version that the 2.1 I'm running
now.
2011-08-25 06:52:12 -07:00
Andy2
711f12fa9e It's ok to cache listeners but only with the instance whose ivars they
reference: revert prev change but make cache vars non-static.
2011-08-25 05:49:09 -07:00
eehouse@eehouse.org
e592ea8559 Merge branch 'android_branch' into send_in_background 2011-08-24 22:44:40 -07:00
Andy2
3416ae59a7 use a constant for the DISMISS button. And don't use static
listeners.  They wind up getting called with mixed DlgDelegate.this
values, including one belonging to an Activity that's long-since
stopped and so the wrong ids are getting passed back.
2011-08-24 22:43:54 -07:00
Andy2
5aeac29787 Pass 0 to dlgButtonClicked() for dismiss, as -1 is the value of a
button!  Also assert the heck out of callbackIds to see if Android is
guaranteeing that no two dialogs can be up at once.  I'm counting on
that, and need to know if it's not true.
2011-08-24 21:44:10 -07:00
Andy2
1cd1a849e6 don't put dismiss listeners on every damn dialog! They replace rather
than chaining.
2011-08-24 21:41:35 -07:00
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
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
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
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
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
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
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
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
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
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
Eric House
0548f6be66 get rid of some logging 2011-07-18 18:08:56 -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
Andy2
a4420e130a fix NPEs: not all intents contain all possible elements 2011-07-14 06:18:26 -07:00
Andy2
1dbef02ef6 trim some logging 2011-07-13 21:48:06 -07:00
Andy2
806745683c removed unused param. 2011-07-13 18:42:16 -07:00
Andy2
cd15a9e6e3 fix, I think, problems with launch mode and non-main activities.
singleTop is necessary, as with singleTask we get the whole actvity
stack nuked on every launch.  Open a game into BoardActivity then
background Crosswords; when you re-launch from the launcher or hold
the home key you're back to GamesList.  But with singleTop incoming
invite schemes would launch a second instance because though there was
one running it wasn't in the same task as the browser firing the url
to redir.php.  The solution there is to move the scheme intent from
GamesList to DispatchNotify, which is already handling notifications.
There the addition of a second launch flag means that an existing
instance will always see the launch through its onNewIntent -- under
tests I've come up with so far, anyway.
2011-07-13 18:42:03 -07:00
Andy2
ea205ebf97 when blocking dialogs want to stack, rather than assert, just drop the
second one.  I'm not sure this is the right thing to do, but it won't
matter except when the assert was firing.
2011-07-13 06:13:38 -07:00
Andy2
b28a818a1d start games via invite in onNewIntent -- required now that singleTask
is the mode and working.
2011-07-11 20:06:28 -07:00
Andy2
29c2e0bfd6 fold intent filters together 2011-07-11 20:05:45 -07:00
Andy2
f7a0255dc4 needs to be singleTask, not singleTop, to avoid having a new GamesList
activity launched when launch-by-scheme happens when responding to an
invite.
2011-07-11 19:54:41 -07:00
Andy2
7022dbf8d5 set default user name before summoning dialog to change it. For some
reason the GamesList activity is being stopped then recreated
occasionally.  This prevents the dialog from coming up a second time
when that happens.
2011-07-11 18:37:37 -07:00
Andy2
bd7d608c64 combine the two GamesList Activity elements. For some reason it
didn't work before to have the custom URL launch stuff in the existing
one but it does now.
2011-07-10 10:36:14 -07:00
Andy2
6bb6107b1a remove logging 2011-07-08 21:50:03 -07:00
Andy2
55376567f6 make main board bitmap static in an attempt to remove, or at least
postpone running up against, a memory leak that appears to be in the
java side of things.  Googling suggests lots of folks are having
problems with createBitmap (though I can put the createBitmap() call
in a 50-iteration loop and not crash -- may not be the problem after
all.)  Without this change I crash the 14th time opening a game.  With
it I go 30 and run out of patience.  Now that the board is locked in
vertical mode there's little point in recreating the bitmap anyway.
2011-07-08 21:49:51 -07:00
Andy2
8c36727578 tweak new-game dialog strings. 2011-07-08 18:45:41 -07:00
Andy2
7d1a475e61 make players remote by default when adding them to networked games. 2011-07-08 06:25:10 -07:00
Andy2
0c4191805f Merge branch 'android_branch' into android_invite
Conflicts:
	xwords4/android/XWords4/res/values/common_rsrc.xml
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
	xwords4/linux/scripts/discon_ok2.sh
2011-07-07 18:50:22 -07:00
Andy2
19ba4d8dea check for null (fixing occasional NPE) 2011-07-07 18:08:09 -07:00
Andy2
2692a8333f restart screen-on timer when activity resumed -- just in case. 2011-07-07 06:44:58 -07:00
Andy2
7376161dd5 change screen-on preference to a 10-minute interval rather than
forever.  Should be long enough to allow a move without risking
battery death.
2011-07-07 06:41:44 -07:00
Andy2
23831a1910 forgot a change 2011-07-07 06:27:28 -07:00
Andy2
3ccc323465 update version and change info for next beta 2011-07-06 19:00:06 -07:00
Andy2
7fa86f8007 tweak summary 2011-07-06 18:59:47 -07:00
Andy2
ebdf4cce87 add new preference to keep the screen on when the board's visible (per
request).  Off by default, of course.
2011-07-06 18:50:11 -07:00
Andy2
248b341aac move socket creation inside Thread's run() in attempt to fix too-long
UI freeze when deleting individual games.
2011-07-06 18:32:33 -07:00
Andy2
ae0860a047 add a newbie-info for new-from menuitem. Still need one for reset. 2011-07-06 18:24:46 -07:00
Andy2
3fdf15955e Bug: don't refuse to update preference summary just because it's empty. 2011-07-06 18:21:24 -07:00
Andy2
82552e681a add timestamps to jni logs 2011-07-06 18:15:34 -07:00
Andy2
d76ca5938b fix sync-with-relay menu items to work even if timed syncing is
disabled.
2011-07-06 18:15:00 -07:00
Andy2
6b773460ec call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-06 18:14:31 -07:00
Andy2
a975a405aa handle new "no-connect-dead-game" error code the same as an in-play
"deleted" message: put up existing dialog offering to delete the game.
2011-07-06 06:50:56 -07:00
Andy2
9ec72d6015 handle new "no-connect-dead-game" error code the same as an in-play
"deleted" message: put up existing dialog offering to delete the game.
2011-07-06 06:49:19 -07:00
Andy2
ab8e4e437b call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-04 12:37:23 -07:00
Andy2
66d42faead fix sync-with-relay menu items to work even if timed syncing is
disabled.
2011-07-04 12:28:17 -07:00
Andy2
7024718c87 add timestamps to jni logs 2011-07-04 09:38:22 -07:00
Andy2
ada84cccb3 make invites work with games having more than two players. But: the
games themselves don't work!  Fix this or disable 3- and 4-device
networked games.
2011-06-30 18:56:51 -07:00
Andy2
36287870d4 add np (num players) param 2011-06-30 18:22:42 -07:00
Andy2
546791d215 custom message when more than one player missing reminding to invite
more than one person.
2011-06-30 06:30:05 -07:00
Andy2
0c42da905a plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 21:43:50 -07:00
Eric House
48ea9e2b28 add preference to juggle players when creating a new game
Conflicts:

	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
2011-06-29 21:43:44 -07:00
Andy2
4cb45d3b82 juggle before setting language (makes sense though not demonstrable
difference)
2011-06-29 18:30:08 -07:00
Andy2
cd844a5bad plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 18:28:55 -07:00
Andy2
632980dc98 add preference to juggle players when creating a new game 2011-06-29 06:16:58 -07:00
Andy2
413b2f5b2e include default language in text in new game dialog. 2011-06-28 19:01:03 -07:00
Andy2
5dd524ef2f param name for clarity 2011-06-28 19:00:21 -07:00
Andy2
a9d1dc7bdc add default room name in configure-first case too. 2011-06-28 18:32:32 -07:00
Andy2
cb5fa56a90 Tweak a couple of messages. Bye Luke! 2011-06-14 06:40:10 -07:00
Andy2
ecc5211791 Bug: don't refuse to update preference summary just because it's empty. 2011-06-14 06:16:11 -07:00
Andy2
7a5549cc43 set selectAllOnFocus on player name edit. Can't figure out how to
force focus to that field though....
2011-06-14 05:38:37 -07:00
Andy2
d470a1c1e0 add a newbie-info for new-from menuitem. Still need one for reset. 2011-06-13 18:47:42 -07:00
Andy2
a318021308 title that won't surprise on upgrade 2011-06-13 18:26:12 -07:00
Andy2
d18ac741b7 add new debug pref for redirecting host so it and relay can live on
different machines.
2011-06-13 18:17:37 -07:00
Andy2
c9c470b724 remove logging 2011-06-13 06:27:55 -07:00
Andy2
5232186b1d path starts with //, not / 2011-06-13 05:28:06 -07:00
Andy2
dfc8519c9c wrap password query field in layout too so it can have some margins. 2011-06-11 06:06:42 -07:00
Andy2
e9e8211050 capitalize names in player config too 2011-06-11 06:06:03 -07:00