Eric House
9d8e1ec261
cleanup: one-letter variables are bad.
2012-06-19 06:19:03 -07:00
Eric House
c34f70f9eb
fix bug where current player's scoreboard would disappear if other
...
players' names were too long by giving all a the same proportion of
what they request and passing in the percent given in case draw
implementation wants to use it as a cue to truncate.
2012-06-19 06:19:03 -07:00
Eric House
545cf9166f
show green border in contracted view too when appropriate, and not
...
only for net games.
2012-06-19 06:18:16 -07:00
Eric House
d46c827b4c
reduce min tray height to twice cell height, and tweak layout on
...
small-screen devices to make the value readable.
2012-06-19 06:16:36 -07:00
Eric House
2e2df3dc17
add hasSmallScreen()
2012-06-19 06:11:16 -07:00
Eric House
a65e1dfa79
add menus for small-screen devices to provide functionality others get
...
from toolbar.
2012-06-19 06:11:16 -07:00
Eric House
5d9381e1bc
change text of menu from hide rack to show rack depending on hidden state
2012-06-19 06:11:16 -07:00
Eric House
78dfd6267c
include trayVisState in GameStateInfo on the java side
2012-06-19 06:11:16 -07:00
Eric House
b78ea03ea6
add board layout for small case that doesn't include toolbar or
...
exchange-state buttons, and check for presence of Views that may now
be missing. With this checkin small screen devices don't have access
to toolbar functionality -- new and expanded menu will be required for
them.
2012-06-19 06:11:16 -07:00
Eric House
1e9928e7f3
add commented-out toString() for debugging
2012-06-19 06:11:16 -07:00
Eric House
d7f576d6b7
fix board dimensioning for small (needs-scrolling) screens. Since this
...
effects larger screens needs some testing.
2012-06-19 06:11:16 -07:00
Eric House
9ac5113c93
add dict-browse menuitem to small-screen board menu and on same move
...
undo/redo up per user request
2012-06-15 07:00:18 -07:00
Eric House
628c058c4c
make turn color public so can be used from board too (though I'm not
...
doing that yet.)
2012-06-15 06:44:39 -07:00
Eric House
6beb572180
cleanup: one-letter variables are bad.
2012-06-15 06:43:54 -07:00
Eric House
405cb23023
fix bug where current player's scoreboard would disappear if other
...
players' names were too long by giving all a the same proportion of
what they request and passing in the percent given in case draw
implementation wants to use it as a cue to truncate.
2012-06-15 06:26:40 -07:00
Eric House
46770ac0cb
show green border in contracted view too when appropriate, and not
...
only for net games.
2012-06-12 07:19:18 -07:00
Eric House
e3401724e1
new icons for network status and code to draw them, so far hard-coded
...
to show success.
2012-06-11 19:23:01 -07:00
Eric House
266e9ba91a
reduce min tray height to twice cell height, and tweak layout on
...
small-screen devices to make the value readable.
2012-06-11 07:01:36 -07:00
Eric House
ac74e2e832
add new class that will be responsible for drawing network status icon
...
at right end of scoreboard. It now shows the same icon as the games
list per connection type and gives a stubbed-out status message dialog
when tapped. Still need to add actual status: when was the last
successful send or receive; and need to add decorations to show
connection state.
2012-06-10 07:40:33 -07:00
Eric House
4fc33fe4e5
add hasSmallScreen()
2012-06-09 10:01:41 -07:00
Eric House
9827ea1b39
add menus for small-screen devices to provide functionality others get
...
from toolbar.
2012-06-06 06:48:55 -07:00
Eric House
b8bad58125
change text of menu from hide rack to show rack depending on hidden state
2012-06-05 22:19:44 -07:00
Eric House
6257c14436
include trayVisState in GameStateInfo on the java side
2012-06-05 22:13:58 -07:00
Eric House
e15c104eb4
add board layout for small case that doesn't include toolbar or
...
exchange-state buttons, and check for presence of Views that may now
be missing. With this checkin small screen devices don't have access
to toolbar functionality -- new and expanded menu will be required for
them.
2012-06-05 07:42:39 -07:00
Eric House
c5358dc9c3
add commented-out toString() for debugging
2012-06-05 07:41:00 -07:00
Eric House
b3cf9c65aa
fix board dimensioning for small (needs-scrolling) screens. Since this
...
effects larger screens needs some testing.
2012-06-05 07:38:58 -07:00
Eric House
27ddc355ed
don't bother cloning message when it'll be passed to multiple games.
...
Clone was too late, and there's no chance of modification of the
contents.
2012-05-30 06:54:30 -07:00
Eric House
a03dc80205
tweak method for clarity -- no behavior change
2012-05-30 06:52:08 -07:00
Eric House
2db02f9aa5
fix delegated dialogs to clear state before issuing dismiss callback
...
so that callback can set up another dialog without tripping an assert,
then move SMS invite dialog chaining from on-click callback to
on-dismiss.
2012-05-23 07:16:27 -07:00
Eric House
622afa4d98
track what games we've sent died notices for and don't repeat. Fixes
...
infinite message flood occurring when a packet was received after
games had been deleted on both devices.
2012-05-21 21:47:09 -07:00
Eric House
e80417e806
don't draw separate icon in games list elements for needs-sync relay
...
game -- since that state no longer really exists.
2012-05-21 21:23:13 -07:00
Eric House
adac3abcc6
fix bug where all notifications wound up launching the same game
...
because all their PendingIntents were the same by passing a unique
resultCode on creation.
2012-05-21 06:46:37 -07:00
Eric House
f56b09980c
include game name in notification text
2012-05-21 06:40:52 -07:00
Eric House
469f63f96f
log when more than one game found with a given ID.
2012-05-20 10:33:26 -07:00
Eric House
1ca36044a0
allow for possibility that there's more than one game on device with
...
one gameID. Currently this should only happen when a device is
playing via SMS against itself -- i.e. when I'm debugging or a user is
playing around. It hasn't been tested and may not work to the extent
that a game like that can actually work and so may want to be backed
out later.
2012-05-20 10:24:37 -07:00
Eric House
211318f2ef
remove logging
2012-05-18 21:23:09 -07:00
Eric House
47a5ab65df
use broadcast receiver for status PendingIntents from SendTextMessage,
...
and pass up new MultiService messages on success or failure. In
response to these, post SMS status icons on board. Still need to come
up with an initial status, notice radio ups/downs, etc. And design icons!
2012-05-18 07:55:10 -07:00
Eric House
9ba663ab98
implement util_phoneNumbersSame in java and call telephony's number
...
compare method. Skip the java call when the numbers are
strcmp-identical.
2012-05-18 07:41:46 -07:00
Eric House
60c3a5bf64
use green_border to frame remote players whose turn it is.
2012-05-18 06:54:05 -07:00
Eric House
3a54aa0ebc
add util_informUndo() that gets called, and puts up a dialog, after
...
remote device has performed an undo on a committed turn.
2012-05-14 07:01:02 -07:00
Eric House
10ad59247a
don't remove undo menuitem for networked games -- should be safe to
...
use now.
2012-05-11 07:26:49 -07:00
Eric House
013d9c689b
fix bug introduced with dictionary lookup of words played that meant
...
trades didn't get reported as remote moves -- it just became your turn
without notice.
2012-05-09 18:22:05 -07:00
Eric House
f6ba94735d
move BT and SMS listener installation behind if_supported tests
2012-05-09 07:09:15 -07:00
Eric House
75247e59df
fix confusing log message
2012-04-26 19:12:13 -07:00
Eric House
b68b8aa0d0
for extra safety, move message hash into header where it can be part
...
of test whether message should be deleteted from sms inbox.
2012-04-24 07:19:52 -07:00
Eric House
9035f901b1
fix NPE for non-SMS case
2012-04-23 21:46:27 -07:00
Eric House
6930da9686
add warning about unlimited SMS plans that's triggered whenever a new
...
number is added to the list of possible invitees.
2012-04-23 20:07:44 -07:00
Eric House
010fae495b
fix compile error
2012-04-23 07:37:02 -07:00
Eric House
2082b40d4a
look up names from phones rather than store them separately
2012-04-23 07:32:42 -07:00
Eric House
f7c9e0cc16
use name in summary where available
2012-04-23 07:31:33 -07:00
Eric House
b2a1fefd26
synchronize access to phone-to-name hash
2012-04-23 06:55:00 -07:00
Eric House
07c1d68321
syntax error!
2012-04-23 06:54:23 -07:00
Eric House
97cb3863a6
name constant -- no code change
2012-04-23 06:34:00 -07:00
Eric House
02443d26a9
catch oob exception when older version receives enum not in values() array
2012-04-23 06:30:20 -07:00
Eric House
b34e741e30
add param to phoneToContact controlling whether phone number is
...
returned when name can't be found.
2012-04-23 06:16:06 -07:00
Eric House
d5076e2167
make a couple of methods private
2012-04-23 06:14:02 -07:00
Eric House
a98f9ef12f
refactor; don't rely on otherwise unused i-var.
2012-04-23 06:13:05 -07:00
Eric House
a72dbdd8dd
add static to cache phone->name mapping
2012-04-21 22:16:47 -07:00
Eric House
3af20f1d5a
look up name for phone number in contacts and use in game config.
...
Will want to use elsewhere. May want to cache depending on speed.
2012-04-19 00:37:37 -07:00
Eric House
e5758766f7
test for null comment
2012-04-19 00:36:51 -07:00
Eric House
fd18d8c95a
add boolean param to jni version of comms_resendAll() to ack
...
afterwards. Saves some extra jni calls. Then make comms_ackAny()
separately-useable, and use from BoardActivity after receiving
SMS messages.
2012-04-19 00:03:22 -07:00
Eric House
033a69be8d
to make it easier to tell games apart, print the number[s] of the
...
remote device[s] as part of summary view and in game config screen
(read-only). Use same field in summaries table for remote phone
numbers and bt addresses.
2012-04-18 23:23:36 -07:00
Eric House
d6ad17ad58
don't crash if relayID null
2012-04-18 23:07:14 -07:00
Eric House
8713b9e148
don't crash when relayID is null
2012-04-18 23:05:28 -07:00
Eric House
b4416f3abe
add missing private keyword
2012-04-18 23:04:55 -07:00
Eric House
d67614cd69
send ack after creating game on receipt of SMS invitation. Thought
...
about starting up the game so it could connect, but that'd make it
impossible to change any settings, e.g. player name, on the accepting
end.
2012-04-17 21:46:57 -07:00
Eric House
019a053df0
give move-made notifications ids based on the games they belong to so
...
that there can be more than one, then use those ids to dismiss them if
the game's opened other than through the notifications.
2012-04-17 20:08:37 -07:00
Eric House
3d60ee701e
honor setting for toast showing messages sent and received
2012-04-17 19:23:15 -07:00
Eric House
1134f71b7b
use new comms_ackAny() call to send ACKs at points where currently
...
resendAll is being called. Dramatically reduces SMS message count
when app is being relaunched and backgrounded between turns.
2012-04-14 18:00:43 -07:00
Eric House
0e4abccc41
clean up, and try to keep contacts checked while the count available
...
is not in excess of the number needed. Makes it easier to use early
on.
2012-04-12 23:24:13 -07:00
Eric House
6ea692d430
use showConfirmThen() for non-mobile numbers
2012-04-12 23:04:08 -07:00
Eric House
8a4452ea53
add another variant of showConfirmThen()
2012-04-12 22:56:40 -07:00
Eric House
e2be770ca9
if the number of phone numbers sought matches the number available
...
check them all; confirm delete (since the button's enabled now from
the beginning.)
2012-04-12 22:38:42 -07:00
Eric House
5949994557
cleanup -- remove logging and simplify code a bit.
2012-04-12 21:24:52 -07:00
Eric House
5b5b969e71
Merge branch 'android_branch' into android_bt
2012-04-12 20:59:47 -07:00
Eric House
4ffdeefe3b
add dumpCursor
2012-04-12 20:59:29 -07:00
Eric House
e1c977323a
on first boot, run through SMS database in case there are any messages
...
there that came in before we were installed. Pass any found in as if
newly received (but don't delete.)
2012-04-12 20:57:52 -07:00
Eric House
459ddf6e96
Merge branch 'android_branch' into android_bt
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/Utils.java
2012-04-12 18:05:58 -07:00
Eric House
5efe959584
move test for whether this is first boot on new version into Utils,
...
and add test for whether it's new boot ever (to be used with sms on
another branch.)
2012-04-12 18:04:21 -07:00
Eric House
31659bc514
improvements to smsinviter dialog: add explanatory empty text, dialog
...
that warns when non-mobile number being added, always check
newly-added number, etc.
2012-04-11 18:54:38 -07:00
Eric House
0c241cf207
fix crash in sms message sink when address null -- same as bt message sink.
2012-04-10 21:47:15 -07:00
Eric House
522fd29b44
fix to show/return individual phone numbers. Still todo: warn rather
...
than drop numbers not flagged as mobile.
2012-04-10 19:25:22 -07:00
Eric House
e703685021
add new pref controlling whether networked games have hints enabled by
...
default.
2012-04-10 07:53:39 -07:00
Eric House
90bca47e1b
query and send name with SMS invite -- same as for BT.
2012-04-10 07:26:56 -07:00
Eric House
f841b8ccce
use different SMS-headers for different variants so they can coexist
...
and not poach each others' conversations.
2012-04-10 06:49:43 -07:00
Eric House
e6c8c898fc
hide '+' button when no number text entered
2012-04-10 06:36:34 -07:00
Eric House
d72cd547b7
fix bug where new game gets data from just deleted: clear cache!
2012-04-08 21:35:50 -07:00
Eric House
d6a3aafaec
factor upward code from BTEvent so that SMSService can use same
...
mechanism to send asynchronous results, then use to notify when a game
on other end has been deleted. This flushed out a bug where a rowid
will get reused and a new game wind up with data from the previous
one -- but otherwise works.
2012-04-06 23:00:47 -07:00
Eric House
d9ba0c4229
display phones sorted by contact name.
2012-04-05 18:35:29 -07:00
Eric House
523af50d1b
use a single custom class rather than three parallel arrays.
2012-04-05 18:22:08 -07:00
Eric House
2a121b1635
get rid of debug formatting
2012-04-05 07:50:40 -07:00
Eric House
bffc403c0c
fix problems tracking what's checked by keeping separate array of
...
booleans -- since list items come and go as you scroll. Means moving
some behavior out of InviteActivity superclass, and that untested BT
subclass may have new bugs.
2012-04-05 07:47:59 -07:00
Eric House
8aa570c490
name game locally too. But still need the option, present with BT
...
games, to change the name from the default before it's sent.
2012-04-03 07:16:48 -07:00
Eric House
d37b4423a7
log when fail to delete a game.
2012-04-03 07:04:19 -07:00
Eric House
2406287a34
don't crash when msg doesn't match expected pattern.
2012-04-02 19:12:25 -07:00
Eric House
51cfbb196e
to deal with case where somebody invites a friend who doesn't have
...
Crosswords installed, add a URL to texts that will show up if it makes
it to an inbox and takes user to an explanation and download URL.
2012-03-31 10:05:31 -07:00
Eric House
18a781d516
add debug-prefs checkbox to turn on Toasts when SMS sent or received;
...
send on emulator too -- which works to test between two instances.
2012-03-31 08:25:43 -07:00
Eric House
1e22a33d55
go back to android-7 SDK version to support 2.1, and to make that work
...
remove use of java base64 encoding in favor of the C version I'd
already written (and that was probably compiled into the library
anyway unless the strip step catched unused code.)
2012-03-26 20:03:29 -07:00
Eric House
55980386fa
test for mobile numbers works only on my ICS device, so comment out for now.
2012-03-26 05:34:16 -07:00
Eric House
3b10f1593c
change "nbs" to "sms" everywhere. No other code change.
2012-03-24 12:52:35 -07:00
Eric House
7b9e835722
fix SMS games not having role/connection status messages. Use same
...
for BT and SMS, and show different messages for host and guest.
2012-03-24 12:30:01 -07:00
Eric House
30e2057496
put up the right new-game notification title
2012-03-24 12:13:10 -07:00
Eric House
de4b72e5ff
null is ok for intents to be sent by SendTextMessage
2012-03-24 11:51:12 -07:00
Eric House
606cfef6d6
prefix my messages with a header and when messages with that header
...
appear stop other SMS apps from getting them. Works!
2012-03-24 11:01:05 -07:00
Eric House
bffa3f7a35
send via text messages rather than NBS/data messages. At this point
...
all wind up in inbox, but that can be changed.
2012-03-24 10:37:50 -07:00
Eric House
fca1e8af64
Revert "get rid of Base64 encoding stuff -- since Android apparently does it"
...
This reverts commit 45715ae1e0
.
Move back to using Base64 encoding to try working with straight text messages rather than NBS.
2012-03-24 10:05:16 -07:00
Eric House
fd30b25546
put up dialog when user picks contact that has no mobile number
2012-03-22 18:50:32 -07:00
Eric House
622bf21308
plug leak: remove message store when complete.
2012-03-22 18:49:58 -07:00
Eric House
d8e4cf0c55
cleanup excessive logging
2012-03-21 07:59:24 -07:00
Eric House
495eab9d9b
fix NPE
2012-03-21 07:59:11 -07:00
Eric House
859e32e785
add field for manual number entry (and remember the number like all others)
2012-03-21 07:39:21 -07:00
Eric House
ba44f1355c
save sms-invite contacts across uses of the dialog
2012-03-21 06:54:25 -07:00
Eric House
84496b3012
get phone numbers from contacts DB: factor some of BTInviteActivity
...
into superclass that NBSInviteActivity can share and use to make their
UIs similar: fetch mobile numbers from DB one-at-a-time, keep a list
there, and let you check then delete or return. Rough, and doesn't
save state the way BT does, but works.
2012-03-21 06:17:09 -07:00
Eric House
45715ae1e0
get rid of Base64 encoding stuff -- since Android apparently does it
...
internally for 'data' messages.
2012-03-19 19:36:32 -07:00
Eric House
599d01bfc7
Replace most of NBSReceiver with new NBSService. Route outgoing (from
...
comms) and incoming (from NBSReceiver) messages through it. Since
some messages are too big, add header/protocol for breaking them up
and reassemble. With this commit complete robot-vs-robot games are
possible between two very new Samsung phones on T-mobile. Older
phones and other networks not tested.
2012-03-19 07:56:55 -07:00
Eric House
8e3d8c20c1
remove temporary test sms menuitem
2012-03-19 07:39:28 -07:00
Eric House
e58747f2ec
add code to build, encode, send, receive, decode and disassemble an
...
new-game invitation. Not yet tested on device.
2012-03-14 18:13:43 -07:00
Eric House
8ca6535a81
don't require Context inside CommsAddrRec
2012-03-14 07:49:37 -07:00
Eric House
60d91f1a21
add UI (some of it rough) to invite to play a new game via NBS and to
...
invite if a game is opened that has not been connected to yet.
2012-03-14 06:06:25 -07:00
Eric House
905be85e92
add temp menu that gets a phone number and sends an NBS message to it,
...
and modify NBSReceiver to print sender phone number and message
contents. Works for send-to-self!
2012-03-13 07:51:45 -07:00
Eric House
49aefabfc5
remove inaccurate comment
2012-03-13 07:49:07 -07:00
Eric House
d96395c808
Merge branch 'android_branch' into android_bt
2012-03-12 21:21:03 -07:00
Eric House
326671081a
Remove support for versions prior to 2.1, as nobody's using them.
...
Remove code to avoid classload crash when multitouch support not
present since now it always will be.
2012-03-12 20:34:34 -07:00
Eric House
5a3f6d6194
remove dead code
2012-03-12 20:32:21 -07:00
Eric House
cd8889f90e
Merge branch 'android_branch' into android_bt
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java
xwords4/linux/Makefile
2012-03-12 07:04:06 -07:00
Eric House
d732094c59
rename LookupView to LookupActivity
2012-03-08 07:58:19 -08:00
Eric House
0d69c6097a
Go back to lookup dialog as dialog-themed activity. I just can't get
...
contrast right on all platforms any other way. Previous change to
using dialogs was motivated by speed, but I don't see any slowdown so
far. Will address if I find it.
2012-03-08 07:54:36 -08:00
Eric House
25f4e8b707
Merge remote-tracking branch 'origin/android_bt' into android_bt
2012-03-06 21:27:53 -08:00
Eric House
3aa6932f03
Merge remote-tracking branch 'origin/android_branch' into android_branch
2012-03-06 21:27:38 -08:00
Eric House
a2493ffa97
Merge branch 'android_branch' into android_bt
2012-03-06 07:47:05 -08:00
Eric House
6a635d1631
Go back to using a built-in list item resource. Mine was
...
white-on-white on several OS versions. Need to test further to try to
reproduce the conditions that had me trying to manage contrast myself.
Or use a dialog-themed Activity for lookup dialog -- prev checkins say
that was too slow but that might be fixable....
2012-03-06 07:41:33 -08:00
Eric House
ae81f07997
add test for BTSUPPORTED to function so compiler can strip it
2012-03-05 20:30:02 -08:00
Eric House
57a1759b69
remove empty btconfig area from game config dialog
2012-03-05 20:24:48 -08:00
Eric House
a0b38ed83f
Merge branch 'android_branch' into android_bt
2012-03-04 08:19:24 -08:00
Eric House
ef0c301e1a
fix NPEs that would occur if play and back buttons pressed at about
...
the same time by ignoring the second if we've already closed the game
being edited.
2012-03-04 08:18:54 -08:00
Eric House
1fc814b104
0, not -1, is an invalid gameid
2012-03-01 18:14:51 -08:00
Eric House
1a9b3a7c63
make helper class to provide game-name dialog, use it for renaming and
...
to query for name of BT game being created.
2012-03-01 07:57:04 -08:00
Eric House
fc607fbd73
fix new standalone games being confused with networked ones by making
...
default new addr type be NONE and checking CurGameInfo for whether
device is networked. The default change may introduce problems: needs
testing.
2012-02-29 18:22:20 -08:00
Eric House
36908226c1
remove ping command/menu item
2012-02-29 07:36:38 -08:00
Eric House
cb1e1692b2
turn off BT in main part of tree and fix a couple of places not
...
dealing with that correctly.
2012-02-29 06:47:19 -08:00
Eric House
c1c20db6dd
add static final boolean by which to turn BT support off and change so
...
UI and background service disappear/don't run when it's off. Goal's
to ship two apps that differ in this setting, a change in Android.mk,
and little else.
2012-02-27 20:35:31 -08:00
Eric House
f1956ddcb4
prevent continuing attempts to send messages from client after it's
...
deleted the game those messages are part of. I'm keeping a list of
dead games and checking against that, and currently that list will
grow for as long as the sender thread lives. Shouldn't be a problem
but needs fixing. Better would be to remove all messages from queues,
but that has synchronization issues.
2012-02-27 07:57:54 -08:00
Eric House
456dcca7b8
don't crash when device list empty
2012-02-27 07:50:11 -08:00
Eric House
34f3c38b48
Add "clear selected" button to btinviter UI that's enabled when one or
...
more is checked. On launch, get the set of known device, and on scan
do NOT start by emptying. This allows to maintain a set of devices
and still scan without losing those not present.
2012-02-25 10:43:08 -08:00
Eric House
99e0fea3c3
use resource rather than hard-coding name of game.
2012-02-22 14:09:03 -08:00
Eric House
1b542a1d22
using the version of BluetoothServerSocket.accept that doesn't take a
...
timeout makes it slightly more likely that HTC Sensation will notice
an incoming connection, but it's still unusable most of the time.
2012-02-22 14:08:38 -08:00
Eric House
cf77872dd4
test for null object before calling method
2012-02-22 14:06:47 -08:00
Eric House
7cef230e2c
BTEventListener is implemented by superclass, so override rather then
...
implement the interface.
2012-02-22 14:06:15 -08:00
Eric House
7a21d4c151
show the giving up message as a dialog rather than a toast
2012-02-22 14:04:36 -08:00
Eric House
8c7487dc91
use GameUtils.getName() to avoid NPE -- it doesn't return null
2012-02-22 13:00:16 -08:00
Eric House
12de8bf38b
change button text from Ok to Invite
2012-02-22 10:37:10 -08:00
Eric House
6f2b5a9c8d
don't ask to invite when opening unconnected BT game immediately after
...
sending an invitation.
2012-02-22 10:36:37 -08:00
Eric House
b2f67cfcce
don't try to send without an address. Fixes an occasional assertion
...
failure.
2012-02-22 10:35:22 -08:00
Eric House
10f41e5c5b
Merge branch 'android_branch' into android_bt
2012-02-22 09:52:31 -08:00
Eric House
72e114838f
commented-out function to send a .xwd as an email attachment. I can't
...
get it to work but it's worth keeping for a try later.
2012-02-22 09:51:35 -08:00
Eric House
03fcbb3ddc
comment out unused button; cache list of known local devices and use
...
that as starting point so initial scan can be skipped. When unable to
deliver a message to remote device, give up after three tries and send
message to that effect.
2012-02-22 08:02:11 -08:00
Eric House
a6f35af187
add methods to get/set cache of known BT devices
2012-02-22 07:50:33 -08:00
Eric House
a6a13bcffd
add new BTEvent to tell UI that a message will be resent, and in UI
...
put up a toast naming the unavailable device. Might want a backoff on
this....
2012-02-15 18:55:58 -08:00
Eric House
7d573970e0
move handler and post() into Activity superclasses
2012-02-15 18:38:49 -08:00
Eric House
1f4f6a06a8
Merge branch 'android_branch' into android_bt
...
Conflicts:
xwords4/android/XWords4/jni/xwjni.c
2012-02-15 18:18:26 -08:00
Eric House
14a3a5a7aa
Save which languages are displayed opened as an invisible preference
...
rather than in a static so it is more persistent.
2012-02-15 18:16:46 -08:00
Eric House
663734d0da
When a message isn't sent, keep it in a per-target-device queue and
...
try again in five seconds This seems to fix nearly all stalls.
Eventually will try notifying users and backing off on the resends.
2012-02-15 06:14:40 -08:00
Eric House
3acc38076b
move methods inside the threads that are their only callers. No
...
behavior change.
2012-02-15 04:53:34 -08:00
Eric House
f40f2bffcf
add game name as something passed with invitation. Later will get it
...
from user. Idea is to make it easy to identify the games in GamesList
on two devices side-by-side.
2012-02-10 18:48:46 -08:00
Eric House
43dca99a2c
add preliminary text including number missing.
2012-02-10 18:44:27 -08:00
Eric House
114db0c96a
cleanup: consistent param name
2012-02-10 18:08:59 -08:00
Eric House
32e2053d95
cache relay address but not BT address, which will vary on host if
...
more than one guest. This fixes three-way play over BT!!
2012-02-10 07:00:09 -08:00
Eric House
1bb18cbde5
don't put up missing players dialog unless there's at least one.
2012-02-10 06:53:15 -08:00
Eric House
d469467fcc
cleanup
2012-02-09 19:02:46 -08:00
Eric House
73d1d1dcbd
fix problem with crash after receiving names of devices chosen to
...
provide missing players by postponing it until the game's fully
opened. Now games are created on the chosen devices that are able to
connect.
2012-02-09 18:50:01 -08:00
Eric House
75cb8cae9c
factor code and log bt name of local device on startup -- no
...
significant change.
2012-02-09 18:48:26 -08:00
Eric House
74aeeca8e0
move BT device listing into its own Activity. Call it from
...
NewGameActivity and from BoardActivity when the new notifyMissing
method gets called. Works as before called from NewGameActivity but
BoardActivity crashes on iterating over list of devices returned.
2012-02-09 05:21:23 -08:00
Eric House
764180fc48
remove unused member
2012-02-09 05:15:09 -08:00
Eric House
be8d3e8b5a
when receiving a message for a game that no longer exists, reply to
...
that effect, and on receipt of that reply offer to delete the local
copy.
2012-02-08 06:41:39 -08:00
Eric House
15f8cd5b33
post notifications when moves arrive and game isn't open. And handle
...
BAD_PROTO event (untested).
2012-02-07 18:41:56 -08:00
Eric House
ba40028a91
raise an error when unexpected protocol received. Later I can add a
...
user-visible message.
2012-02-07 18:11:56 -08:00
Eric House
898d9c339a
add protocol-identifier byte. For now just assert it matches.
2012-02-07 18:05:06 -08:00
Eric House
ac2ac47aed
code cleanup: make treads own their queue datastructures, use methods
...
to stop them, etc. Heading toward making it easier to detect when the
BT stack is hosed and user needs to be warned or told to get a better
phone.
2012-02-07 17:42:01 -08:00
Eric House
aca4e1fed8
init db before using it
2012-02-07 07:06:25 -08:00
Eric House
bde5910c2a
Merge branch 'android_branch' into android_bt
2012-02-07 06:21:13 -08:00
Eric House
e0ee197888
make relay check happen on demand, not many minutes later.
2012-02-06 21:35:11 -08:00
Eric House
47c3bd3090
track a BT game's set (singleton for two-device game) of remote
...
devices in summary DB so, e.g., we can quickly determine what games
care when a devices becomes available via BT. First use of this is
notifying when a remote game's deleted -- least that's the plan. This
commit just adds to the DB and scans the DB to build a map of
device->gameIDs array.
2012-02-06 19:02:19 -08:00
Eric House
52ffefb173
add new column to store mac addresses of remote devices in this game via BT.
2012-02-06 18:57:30 -08:00
Eric House
796baffa6d
Merge branch 'android_branch' into android_bt
2012-02-06 18:13:57 -08:00
Eric House
d3bb7d490a
simplify cursor code
2012-02-06 18:12:28 -08:00
Eric House
39e30184b1
move responsibility for letting other device know a participant game
...
has loaded into CommsTransport.
2012-02-06 06:53:28 -08:00
Eric House
d8ee493f1b
On "configure first" BT newgame button, create the game then launch
...
the GameConfig activity. If the user exits other than with "play
game", delete it so user never sees it. Otherwise launch it. Next
step is to detect a BT host that's missing clients and offer to invite
them.
2012-02-06 06:29:37 -08:00
Eric House
4deb1d3a77
add threadKiller to close sockets when remote isn't responding --
...
which can sometimes be for minutes with the Moment at least. Make
name->hwaddr Map static since it might as well outlive a Service
instance (though right now I'm clearing it all the time.)
2012-02-05 21:47:26 -08:00
Eric House
99e001b8a2
launch game after creating it
2012-02-05 21:45:21 -08:00
Eric House
0cc7ad3e49
start from gameID in onCreate as well as onNewIntent.
2012-02-05 21:44:52 -08:00
Eric House
bc8299fe30
run accept() with timeout so it'll show up in logs when the thread
...
died. I hope.
2012-02-03 17:30:47 -08:00
Eric House
cc9f2b793e
enhance receiver to get BT on/off and connect attempts and to start
...
bt service in response.
2012-02-03 17:29:40 -08:00
Eric House
6982545f59
Recipient of BT new-game invitation puts up Notification after
...
creating it that will launch it.
2012-02-03 17:21:17 -08:00
Eric House
3026a7e4f8
fix compile warning
2012-02-03 17:14:04 -08:00
Eric House
121e4a5d1d
remove unused import statements: no code change
2012-02-03 17:12:14 -08:00
Eric House
cebb002fd0
add state summaries for BT games too
2012-02-03 17:09:59 -08:00
Eric House
a392826ebf
move notification posting into new method that can be called from
...
elsewhere.
2012-02-03 06:25:17 -08:00
Eric House
e53621a5bc
fix compile warnings
2012-02-03 05:43:17 -08:00
Eric House
82586668f9
move bteventhandler implementation up into XWActivity so subclasses
...
can easily listen for one or two events. Have Board listen to events
for un/successful message sends and up up icon to indicate if BT is
working.
2012-02-01 18:51:41 -08:00
Eric House
b3fdcecaf4
send result (failure) for SEND even if there's an exception
2012-02-01 18:42:30 -08:00
Eric House
ab32480cd5
Even host needs an address to mark game as BT
2012-02-01 07:00:25 -08:00
Eric House
5e330595fc
pass bt address as well as name, and use when available -- since OS
...
doesn't provide ready name->addr translation.
2012-02-01 06:50:19 -08:00
Eric House
afac1cc5bd
add BTReceiver -- will need to know when BT goes up and down.
2012-02-01 06:13:55 -08:00
Eric House
26109f926b
implement BT's "configure first" to create a BT game without any other
...
device being involved. Useful for testing of config. Might be the
basis for getting games going with non-default settings but I'm not
sure how to get them all set up with the same gameID so they'll
connect.
2012-01-31 18:52:18 -08:00
Eric House
b4b7609894
include hwAddr as well as device name in bt section of address
2012-01-31 18:48:59 -08:00
Eric House
af2fcc76e0
consider it an error if no dicts found for language. With this change
...
I can install a game for which there's no dict and when user opens it
he'll get an opportunity to download one. Might be better to refuse
to install it....
2012-01-31 18:47:38 -08:00
Eric House
edb39ac77d
remove assumptions that non-standalone==relay. BT games now
...
configurable (though no BT-specific settings are exposed).
2012-01-31 18:28:49 -08:00
Eric House
579e8b7dfd
send language and player counts with invitations. Works as long as
...
the recipient has a dict in the lang; otherwise crashes on that device.
2012-01-30 20:41:50 -08:00
Eric House
6978ba06f1
kick off scan immediately if have no devices to present
2012-01-30 19:39:45 -08:00
Eric House
82529c738e
add start/stopProgress methods and push to DlgDelegate so can be used
...
from other Activities. Use while sending game info as well as scanning.
2012-01-30 19:33:56 -08:00
Eric House
cd8ace6c9f
queue isn't meant to be static
2012-01-30 19:32:56 -08:00
Eric House
144db5628f
Merge branch 'android_branch' into android_bt
2012-01-30 18:47:10 -08:00
Eric House
0b197bf12e
include DbgUtils to make debug changes easier. No code change.
2012-01-30 18:46:51 -08:00
Eric House
06d8df4fb5
remove dead file
2012-01-30 06:39:54 -08:00
Eric House
094d08e903
Get play via BT working!!! Replace BTConnection with BTService to make
...
keeping the listener/sender threads going much easier. Create new
message sink to dispatch incoming messages, and start passing return
addresses into comms (not required before when relay was only
transport as it has no return addresses.)
2012-01-30 06:39:18 -08:00
Eric House
786cb4dc55
replaces BTConnection (and uses a lot of its code)
2012-01-30 06:26:48 -08:00
Eric House
698dac890f
combine bt receivers, and start listening when ACL connected. Less
...
reliable but means I don't have to powercycle BT every time I install.
2012-01-26 07:14:43 -08:00
Eric House
bc351d1675
add ok button to dialog listing paired devices, make them selectable,
...
and don't dismiss/invite until the ok button's tapped.
2012-01-26 06:54:55 -08:00
Eric House
6bfd6e74e6
Merge branch 'android_branch' into android_bt
2012-01-26 06:24:18 -08:00
Eric House
9f2ec43617
move ProgressDialog into NewGameActivity where it belongs.
2012-01-26 06:23:46 -08:00
Eric House
da9f206f86
fix scan.
2012-01-25 18:56:40 -08:00
Eric House
5ca35254cc
pass messages to BT and send them -- they're received on the other
...
side but not yet acted on. Combine several send threads into one so
that all bt socket operations will be in the same thread and can't
coincide. (Rescan is broken.)
2012-01-25 18:32:07 -08:00
Eric House
0934f83106
add gameID to params passed to comms' sendproc, including passing
...
through to java layer.
2012-01-25 18:27:37 -08:00
Eric House
813e31ada8
fix crash by checking for null socket (meaning unable to open
...
connection to relay)
2012-01-25 18:09:26 -08:00
Eric House
74efac3dd9
include bt name of host in client games, but not of client[s] in host
...
games. This allows clients to pass host name for use in addressing
when their initial message is sent.
2012-01-24 06:53:50 -08:00
Eric House
a543bfa639
send new gameID so it actually arrives. Games are being created on
...
both ends with the same gameID.
2012-01-24 06:28:55 -08:00
Eric House
c425686589
lots of changes. Respond to new-bt-game button by posting a list of
...
known paired-with-Crosswords devices and sending invite to the one
selected. Includes rescan button with infinite progress indicator
(that sometimes works). Recipient saves new game with the gameID
passed. Then sender does too (but gameID doesn't seem to stick.)
Both games crash when you open them, but they're created.
2012-01-23 20:52:04 -08:00
Eric House
f048980701
cleanup
2012-01-23 20:49:34 -08:00
Eric House
2c24441ff3
create BT game and display with BT icon using hard-coded defaults for
...
now and no addressing. Fails in assert when trying to send as BT
addressing isn't handled yet.
2012-01-23 07:54:22 -08:00
Eric House
beef55e3ac
formatting
2012-01-23 07:52:46 -08:00
Eric House
f42f9adad1
use listener to ensure that BT-related UI is enabled/disabled when
...
power state changes.
2012-01-23 06:37:54 -08:00
Eric House
eb214d4f69
Turn on BT in response to user tapping "turn on" button. Still to do:
...
listen for BT turnoff/on that's independent of the button and
re-layout -- in case user does it himself while the NewGame Activity
is frontmost.
2012-01-21 10:19:36 -08:00
Eric House
81e29482fe
add buttons, text etc. still to be determined, to start BT games. Add
...
text and unimplemented button to turn BT on if it's not there.
2012-01-21 09:46:52 -08:00
Eric House
adb5ce541d
add room name to subject of invite
2012-01-20 17:35:50 -08:00
Eric House
548fb86734
Play around with getting notified when another device connects. I
...
need an alternative to keeping a listening socket open in a thread
forever, as the OS will eventually shut me down if there's memory
pressure.
2012-01-19 22:32:34 -08:00
Eric House
847f1199be
add gameID to summary. The slot's already in the DB, though unused,
...
so no version change required.
2012-01-19 18:53:55 -08:00
Eric House
5f77ef6e13
get uuid from C code so can ensure linux version has same.
2012-01-19 18:28:27 -08:00
Eric House
1f8be87acb
put up Toast when ping succeeds with name of device[s] pinged.
2012-01-19 18:08:54 -08:00
Eric House
00d2bb2a56
add temporary ping menuitem, and implement by sending message to first
...
device that's running our service. Logs show messages being received.
2012-01-19 06:42:08 -08:00
Eric House
0337b97b57
begin bluetooth work. Add new class that logs when BT comes on and
...
goes off. Sketch out always-on listening socket, but it's not called
yet.
2012-01-18 18:30:53 -08:00
Eric House
8a66cd4c1f
Address reports of crashes tapping wordlist button when device is
...
having trouble making initial relay connection for a game (which I
can't reproduce) by disabling that button when there isn't a current
player.
2012-01-17 18:58:45 -08:00
Eric House
00575c6d4e
Don't assert when don't have expected connType (likely as result of
...
race condition. Just don't show the type in summary. Likely fixes
once-seen assertion failure.
2012-01-17 18:48:33 -08:00
Eric House
4a52ad4d0c
cleanup: remove logging
2012-01-17 06:54:07 -08:00
Eric House
db78b986c9
I've seen index OOB exceptions from lookup code, so assert at likely
...
entry point that null array isn't being passed. This should probably
not ship.
2012-01-05 17:19:58 -08:00
Eric House
1fc286ee95
show in collapsed summary if game is over
2012-01-05 17:18:07 -08:00
Eric House
1ae2879fb7
tweak logging
2012-01-04 18:35:21 -08:00
Eric House
5b9b531cb9
log one line before honoring logging-on preference.
2012-01-04 18:34:15 -08:00
Eric House
b8528145b3
explicitly store bool as int
2012-01-04 18:21:52 -08:00
Eric House
32988413dd
cleanup: remove unneeded private constructor and make statics private
2012-01-04 06:26:17 -08:00
Andy2
9879f96729
cleanup -- no code change
2011-12-21 18:50:55 -08:00
eehouse@eehouse.org
abd6727b10
Merge branch 'android_branch' into send_in_background
2011-12-20 17:34:26 -08:00
Andy2
0e487a4a42
When creating game in response to new-from menuitem, juggle players if
...
the juggle newgame preference is set.
2011-12-20 17:31:13 -08:00
Andy2
3e42c68091
add randomly-generated inviteID to set of params transmitted with an
...
invitation and stored in a summary. On receipe of an invitation, if
the room/inviteID exists just drop it -- don't even bring app to the
foreground. This is meant to stop people from getting lots of
games/warnings about dupes if they happen to trigger a refresh of the
negame.php page in their browsers.
2011-12-20 17:29:05 -08:00
Andy2
9023806b5f
cleanup: move instanceof/cast from use of vector elements to addition
...
of elements to save memory and time.
2011-12-20 17:24:38 -08:00
Andy2
6cc1a2d672
Add new column and up db version number.
2011-12-20 17:12:23 -08:00
Andy2
431a01ef0a
remove logging I didn't mean to check in
2011-12-18 15:55:54 -08:00
Andy2
c2c2c7e766
NEW_TASK plus CLEAR_TOP is the magic combination -- says one set of
...
docs. Looks good so far.
2011-12-18 12:23:00 -08:00
Andy2
0d6b5914b9
revert to standard launchMode to get proper from-Launcher behavior and
...
specify a pair of flags when background-launching GamesList that
strips any stack it has and doesn't launch a new instance. Seems to
fix the problems with launching from notifications and invite emails.
But then I've thought this fixed before.
2011-12-16 19:02:20 -08:00
eehouse@eehouse.org
14bddb0e45
Merge branch 'android_branch' into send_in_background
2011-12-15 18:46:24 -08:00
Andy2
494652518a
comment out dead code (entire class)
2011-12-15 07:44:16 -08:00
Andy2
f504c3688c
reverse sense of test done on receiving invitation whether game
...
already exists. Unless I'm missing something I have it wrong.
2011-12-14 20:09:57 -08:00
Andy2
0dfc1312ff
set up intents to limit choices in sending invites to SMS and email,
...
and recast choices offered users from text vs. html to SMS vs. email.
Revert recent change (88986b49d5
) adding
visible URL to email as it doesn't seem to be needed now. Will want
to keep an eye on that.
2011-12-13 17:24:21 -08:00
Andy2
e5294f2393
add to commented out code
2011-12-12 19:09:50 -08:00
Andy2
fa39db7fc6
comment out file not being used now
2011-12-12 19:01:04 -08:00
Andy2
f07e1c5ea1
use same email address for both ways you can send to me, and rfc822
...
instead of text type to prevent giving handler options that aren't
email clients.
2011-12-12 19:00:30 -08:00
Andy2
2992c33396
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java
(conflicts were for formatting changes only)
2011-12-07 18:46:59 -08:00
Andy2
2d7ac8e7b0
use SystemClock.elapsedRealtime() rather than 0 as initial fire time
...
when setting background update timer.
2011-12-07 18:33:26 -08:00
Andy2
c12f64cc03
save pendingMsgLevel flag as part of summary. This fixes reset games
...
being displayed with the sync icon if they had it before the reset.
I'm not sure if not saving was an omission or if I've forgotten the
reason. There *is* separate API for clearing the flags stored in that
variable but it requires a second DB write.
2011-12-07 18:24:22 -08:00
Andy2
7b985fcbae
fix formatting -- no code change
2011-12-07 06:16:11 -08:00
Andy2
17edc79aaf
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-06 19:56:10 -08:00
Andy2
ded7ffc6fe
Attempting to fix occasional stalls of background proxy checker. It
...
could be caused by the timer not running after an install, so always
launch it when the app is launched. (There's no notification
available on [re]install.) So that the check doesn't happen
immediately, which would be silly, make the initial wait same as
interval when not called in response to check-relay menu.
2011-12-06 19:52:01 -08:00
Andy2
20446bcf32
for style points, don't return from middle of function. No behavior
...
change.
2011-12-06 19:49:41 -08:00
Andy2
5d09c7bbed
add git describe for version to email body
2011-12-06 19:19:50 -08:00
Andy2
7884246d7a
add menu to main screen for sending me email. TODO: find a darker
...
menu icon; add git revision to outgoing text.
2011-12-06 18:49:48 -08:00
Andy2
3b48c3ca60
use title rather than a field in custom view for title of lookup
...
dialog.
2011-12-06 18:25:55 -08:00
Andy2
7c76af30b2
remove excessing logging
2011-12-06 18:21:48 -08:00
Andy2
0474984b82
export new preference from jni and add a checkbox setting for it
2011-12-06 18:18:50 -08:00
eehouse@eehouse.org
e1e8516e1b
Merge branch 'android_branch' into send_in_background
2011-12-02 19:04:12 -08:00
Andy2
52d02f04dd
pass tile value into drawCell(). Java code doesn't use it yet, but I
...
want to play with drawing cells tray-tile-style when they're big
enough.
2011-12-02 18:58:52 -08:00
Andy2
ae2e27e651
Put the values button back (and remove the corresponding menuitem).
2011-12-02 18:14:26 -08:00
Andy2
08063d9444
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/NetUtils.java
xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-01 21:18:37 -08:00
Andy2
4c320a52e7
allow scrolling to go a bit deeper
2011-12-01 21:10:04 -08:00
Eric House
7da7dbc731
shoulda tried compiling before committing a large merge....
2011-12-01 19:54:56 -08:00
Eric House
9d42e3f4d0
move logf and showf into their own DbgUtils class
2011-12-01 19:51:02 -08:00
Andy2
577c2c8538
move MultiHandler implementation inside BoardView.
2011-12-01 19:44:22 -08:00
Andy2
15503522f2
implement pinch-to-zoom on board -- and do it in such a way that class
...
loader doesn't barf on older versions of the OS that don't provide the
necessary APIs. Tested only on original Motorola Droid so far (and
emulator running 1.6, which is too old.)
2011-12-01 18:56:44 -08:00
Eric House
c1e420f726
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/relay/rq.c
2011-11-29 06:45:32 -08:00
Andy2
1575279cd8
replace restore menus in prefs activity with buttons at bottom of
...
screen. The trick involves getting the OS to insert the prefs xml
layout as a ListView, and seems like a hack, but it works so far.
Ought to be tested on several OS versions before next release.
2011-11-22 19:00:03 -08:00
Andy2
cd23022cde
Get rid of int m_msgID, storing all dialog messages as String m_msg.
...
The code was getting confused and sometimes set one then tried to
display the other.
2011-11-22 18:28:57 -08:00
Andy2
cdef8f42f6
add comment about NPEs received when device networking foobared. No
...
code change.
2011-11-22 18:12:21 -08:00
Andy2
d37424ad7f
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/linux/linuxutl.h
2011-11-21 22:18:52 -08:00
Andy2
a8859599dd
update emacs compile-command for new SDK. No code change.
2011-11-21 22:16:33 -08:00
Andy2
795b86e569
when asked to browse empty dict, put up explanatory dialog then exit
...
activity. Required new DlgDelegate method to send event after posting
alert. Note that eventually when the dict browser shows tile info as
well as words this will change.
2011-11-21 18:08:51 -08:00
Andy2
c7906c3bd4
prevent min from exceed max by not including values below min as
...
possible max settings and vice-versa. Since spinner values no longer
have a consistent base, parse them rather than relying on position --
requires assumptions such as that View is a TextView, but that is
probably not changing.
2011-11-21 08:19:25 -08:00
Andy2
aba4e02cac
use a standard list item for words rather than consing up a TextView
...
and having to worry about text size.
2011-11-21 07:20:12 -08:00
Andy2
c781bfc29e
remove hard-coded 2-15 array for word-len limit spinners and instead
...
create at runtime arrays that represent the words actually in the dict
-- e.g. showing a max of 8 when there are no words longer than that.
2011-11-18 21:24:59 -08:00
Andy2
b86330c71f
add dict_iter_getCounts()
2011-11-18 21:10:17 -08:00
Andy2
4760ceda5a
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/anddict.c
2011-11-17 20:55:02 -08:00
Andy2
1889fbd78b
relaunch activity, with pararms in intent, every time min or max
...
changed. Can't figure any other way to change the list of section
heads, as setListAdapter() is ignored when called a second time.
Note: I got an assertion failure in the jni indexing code so there
may be a bug here.
2011-11-17 19:52:10 -08:00
Andy2
2492e7cfc5
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/linux/cursesmain.c
2011-11-13 17:10:46 -08:00
Andy2
4edca4ee4c
Check for null return from getInfo(), the result when it tries to open
...
a corrupt dict. Such dicts should never get this far, but it doesn't
hurt to be safe.
2011-11-11 18:30:53 -08:00
Andy2
b334e688bb
use getInfo to run sanity check on .xwd files in download directory.
...
This prevents deliberately corrupted files from making it into dict
lists. To the extent that checkSanity() works, it should make use of
that dir safe.
2011-11-11 07:45:25 -08:00
Andy2
dddec50f1d
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/Android.mk
xwords4/linux/Makefile
xwords4/linux/linuxmain.c
2011-11-10 19:22:57 -08:00
Andy2
284bd2d0c4
turn on sanity checking of dicts in download directory, but from
...
DictLangCache rather than when the directory's walked initially. Need
to test still with bogus dict and make sure it's never shown.
2011-11-10 19:02:18 -08:00
Andy2
995c410b7c
revert unintended checkin: logging should not always be on.
2011-11-07 06:49:55 -08:00
eehouse@eehouse.org
214f8990bf
Merge branch 'android_branch' into android_browsedict
2011-11-04 17:23:27 -07:00
Andy2
5123bebe50
don't set dict name to "download more". Just not a good idea.
2011-11-04 17:15:12 -07:00
eehouse@eehouse.org
6c1b0e9b58
Merge branch 'android_branch' into android_browsedict
2011-11-04 07:05:16 -07:00
Andy2
61681745c2
sort languages (groups) in dicts activity alphabetically
2011-11-04 07:03:40 -07:00
Andy2
57a1069efe
wire min/max through jni: now selecting numbers changes the number and
...
length of words selected. But it's really slow, and indexing seems
broken in some cases. Not ready for release yet.
2011-11-04 06:56:59 -07:00
Andy2
fa14f02b69
add ui support for min,max filtering of wordlist. Not yet wired into
...
jni. But: even disabled it seems to lead to much slower scrolling, so
I need to investigate that before taking this any further.
2011-11-04 06:18:11 -07:00
Andy2
948def8223
replace burried launch-dict-browser menuitem with toolbar button and
...
newbie hint.
2011-11-03 18:14:01 -07:00
Andy2
d19858d6bb
add (buried) menuitem to launch dict browser from game. Required
...
adding method to get current player from BoardView.
2011-11-03 05:51:38 -07:00
Andy2
eace89000b
save text size rather than figure each time
2011-11-03 05:20:38 -07:00
Andy2
56fc73e78a
don't go straight from tap on dict word to browser: add bool so that
...
even if there's only one lookup URL it'll be listed and user can
quickly cancel.
2011-11-02 18:48:13 -07:00
Andy2
7231bd4be3
make dict entries text size bigger
2011-11-02 05:18:10 -07:00
Andy2
8704acfbf1
launch dict browser from tap on dict rather than contextual menu on it.
2011-11-02 05:06:53 -07:00
Andy2
b822f573d6
use getStartsWith() to implement search; add dict name and word count to
...
title; change text of menu item that launches dict browser from
Details to Browse
2011-11-01 18:45:41 -07:00
Andy2
9f2158f094
add dict_getStartsWith to jni
2011-11-01 18:43:36 -07:00
Andy2
3c53da46ce
fix to compile with changed API. Crashes, but want to fix up API in
...
other branch before debugging here....
2011-10-31 18:22:33 -07:00
Andy2
7d1e9c7638
Merge branch 'android_branch' into android_browsedict
...
Conflicts:
xwords4/android/XWords4/jni/Android.mk
xwords4/android/XWords4/res/values/strings.xml
xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
2011-10-28 22:27:22 -07:00
Andy2
8f3c4f6426
add config option to enable face-up tile picking
2011-10-28 22:24:47 -07:00
Andy2
8d228ae190
turn on face-up tile picking for Android (though there's no prefs UI
...
to enable it for a game yet). In common code, break pick tile utils
method in two, one for blank and the other for tray tiles. In java,
implement dialog for picking the tiles. Works, though is a bit clumsy
to have the dialog come and go after every pick. Better would be a
dialog that stays up and accumulates picks -- but it'd have to know to
reduce the set of tile choices as letters are chosen. This'll do for
now.
2011-10-28 22:15:56 -07:00
Andy2
4df13f5617
fix missing dict language
2011-10-28 06:39:47 -07:00
Eric House
84044fa9ee
move lookup dialog into superclass so can be used from dict browser.
2011-10-27 21:10:35 -07:00
Eric House
308720186d
get all word-click events and print contents -- setting up for lookup
2011-10-27 18:43:28 -07:00
Eric House
1741021c3c
add search field and button. Not yet wired to do anything.
2011-10-27 18:26:48 -07:00
Eric House
ed055b83c6
export index from jni and use for fastscrolling. Works, but is a bit slow still.
2011-10-27 07:01:57 -07:00
Andy2
92f692510f
outline for fastscroll with thumb. Will need jin support mapping
...
indices <-> first letters, e.g. BB to whatever the index is of the
first word starting with BB.
2011-10-25 19:33:55 -07:00
Andy2
a7ce5a43de
fix so count comes from dict; combine two jni methods into one; fix
...
crash in destructor. Now an entire dict can be scrolled through if
you have the patience.
2011-10-25 18:36:12 -07:00
Andy2
74cf751729
use existing dict iteration APIs to implement jni that adequately
...
displays a dict. But I don't have a getNth in C to implement the one
I've added in java; need to add that, and caching, to speed it up.
2011-10-24 20:15:52 -07:00
Andy2
b08f9770cf
add dictionary browser. For now it just adds items to the list that
...
give the position so I can get a feel for how it works. Will use this
to figure out the right API for a dictionary iterator.
2011-10-23 19:35:15 -07:00
Andy2
c237717de5
dict_getInfo returns false if the dict doesn't parse so can be used to
...
test validity of downloaded dict. Internally (in jni), add lots of
checks that format is correct and we don't run off end of ptr walking
truncated dict.
2011-10-23 14:21:57 -07:00
Andy2
201c32e4db
add support for download directory as a place where we look for dicts
...
and to/from which dicts can be moved. Right now it's just
/sdcard/download. Dunno if that's universal. There seems not to be
API except in newer SDK versions for finding it.
2011-10-20 20:22:36 -07:00
Andy2
4eee7f8aa7
Pass selected tiles into new util function, and from there into java
...
world, so confirming query can include them.
2011-10-19 18:34:26 -07:00
Andy2
f41d3c27e6
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/common/server.c
2011-10-19 06:23:16 -07:00
Andy2
d63f6961d4
fix log comment to correctly identify site.
2011-10-18 21:29:59 -07:00
eehouse@eehouse.org
b8adbd94c1
Merge branch 'android_branch' into send_in_background
2011-10-18 06:47:38 -07:00
Andy2
028c416587
don't disable player listing when game is in play and locked; allow
...
users to see info about players and change dict.
2011-10-18 06:46:46 -07:00
Andy2
ff82c20b2c
fix brokenness (black-on-black text in lookup dialog) on 2.2 and
...
beyond by copying in layout for built-in list items and hard-coding
white text color. This is risky/fragile but I can't find another fix.
2011-10-17 21:33:11 -07:00
eehouse@eehouse.org
5afb0ae145
Merge branch 'android_branch' into send_in_background
2011-10-14 22:34:29 -07:00
Andy2
6793742f0f
remove option to list all words played in a single lookup dialog, and
...
supporting code in the jni/common C.
2011-10-14 22:32:30 -07:00
Eric House
46392da205
Fix crash when password dialog comes up second time: don't be cute and
...
reuse custom views as they remember their parent and that needs to be
cleared. Just recreate each time and let gc() do its job.
2011-10-14 19:07:19 -07:00
Eric House
851b2d296f
Should have gone with last checkin: delete of file due to renaming.
2011-10-14 19:05:07 -07:00
Eric House
e848b150b5
rename LookupActivity->LookupView since it's not an Activity any more.
2011-10-14 18:45:47 -07:00
Eric House
0b54b190b6
make lookup dialog a mere dialog rather than an activity to fix
...
too-slow transitions to and from it. Works by keeping code in
separate custom view and not setting buttons or anything else on the
dialog.
2011-10-14 18:39:39 -07:00
Andy2
0e6b4d749f
When pen held on committed tile on board, cons up list of all words
...
played that include that tile and pass to new util_cellSquareHeld()
method. In java implementation of that method, use existing lookup
activity code to display list of words. Enabled on the C side by a
compile-time flag in case it has problems. Right now the time spent
saving a game before launching the lookup activity, and reloading it
after, is pretty apparent, but that's in emulator which is slow.
2011-10-13 19:14:08 -07:00
Andy2
01459285d5
show dict as comment beside player name in players list. And since
...
dicts change when language does, put language choice above players
list.
2011-10-12 18:37:31 -07:00
eehouse@eehouse.org
99707e4029
Merge branch 'android_branch' into send_in_background
2011-10-10 18:31:30 -07:00
Andy2
92a2fb1a1f
attach newbie info to the lookup button
2011-10-10 18:24:06 -07:00
Andy2
cdf57d3bb7
cleanup
2011-10-10 06:53:46 -07:00
Andy2
03543c17ea
fix NPE I got once, presumably when activity shutting down.
2011-10-07 18:59:17 -07:00
eehouse@eehouse.org
8712918e73
Merge branch 'android_branch' into send_in_background
2011-10-07 05:49:52 -07:00
Andy2
f03699f701
add newbie warning/request for languages with only google as
...
word-lookup site.
2011-10-06 19:03:07 -07:00
Andy2
a129f353f5
fix assertion by skipping states only when applicable, and running in
...
a loop so works in either direction. Cleanup -- this is done.
2011-10-06 18:44:24 -07:00
Andy2
0a474804ce
fix to work with bundling, i.e. by removing configChanges entry in
...
AndroidManifest.xml and changing orientation.
2011-10-06 18:25:17 -07:00
Andy2
d8c1e3822b
fix problems with skipping singleton words and URLs; replace window
...
title with TextView.
2011-10-06 17:47:00 -07:00
eehouse@eehouse.org
6bf8d5abeb
Merge branch 'android_branch' into send_in_background
2011-10-06 06:51:05 -07:00
Andy2
a9b467c903
make adapter based on static array static
2011-10-06 06:31:04 -07:00
Andy2
e292056b9c
add new activity (with layout) to replace dialogs for word lookup.
...
Lots of code moved there from BoardActivity.
2011-10-06 06:26:46 -07:00
eehouse@eehouse.org
471a9d988d
Merge branch 'android_branch' into send_in_background
2011-10-05 07:10:52 -07:00
Andy2
90f11abc37
add to game state passed into java world whether it's the cur selected
...
player's turn, and use that to enable/disable Pass/Turn done button.
2011-10-05 06:36:01 -07:00
Andy2
179560867f
for symmetry, remove default menu title from res file and set in code
...
either way.
2011-10-05 06:14:48 -07:00
Andy2
c5c0fbccae
remove unused DrawFocusState params from jni interface
2011-10-04 19:03:27 -07:00
Andy2
3ec97d5c07
Turn "Turn done" into "Pass" when the pending score is 0. To do that
...
I had to pass the score into draw_trayBegin since
draw_drawPendingScore() isn't called until the first tile's placed.
Note: as long as I'm messinng with this menuitem it should be disabled
when it's not the player's turn.
2011-10-04 18:48:33 -07:00
eehouse@eehouse.org
82615f409b
Merge branch 'android_branch' into send_in_background
2011-10-04 06:49:19 -07:00
Andy2
f4b8b2806e
remove unused parameter
2011-10-04 06:48:53 -07:00
Andy2
5773466fb6
prevent lookup dialogs from coming up before button pressed by not
...
assigning m_words too early.
2011-10-04 06:19:06 -07:00
Andy2
072516655e
Use words list passed into informMove rather than query when user
...
presses button. Include word in button text when there's only one.
2011-10-03 06:43:20 -07:00
Andy2
35e4c21f17
add util_informMove to jni. Use it, but not to advantage yet.
2011-10-02 16:42:10 -07:00
Eric House
f0c3e2c5f0
Merge branch 'android_branch' into send_in_background
2011-09-22 17:22:01 -07:00
Andy2
b7691d2997
Merge branch 'android_branch' into two_phase_lookup
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/JNIThread.java
2011-09-22 06:53:45 -07:00
Andy2
fcdbed0920
fix to work with changed C api
2011-09-22 06:49:34 -07:00
Andy2
b10453bd25
cleanup
2011-09-22 06:14:22 -07:00
Andy2
e887d0a116
make word lookup two-stage, first a dialog to pick the word then
...
another to pick the URL. Hacky code takes us back to the first after
the second is dismissed while only showing either if there's a choice
to be made. Also add menu item to lookup all words in the game --
useful for testing when robot refuses to play multiple words but maybe
also worth shipping.
2011-09-21 19:04:33 -07:00
Andy2
c44a884184
try another item layout -- need to fix the background instead.
2011-09-21 05:47:12 -07:00
Andy2
617de4eb7e
make lookup dialog two-part, with list of lang-supporting URLs at top
...
and words at bottom. You choose a URL/site, then tap a word, and
repeat until you're done.
2011-09-20 19:01:37 -07:00
Andy2
92614370ce
Merge branch 'android_branch' into send_in_background
...
Conflicts:
xwords4/common/comms.c
2011-09-20 06:21:54 -07:00
Andy2
97334faa95
switch to lookup url that can include language, and include it when
...
French or German in use. Disable button if I don't know how to look a
word up. Later will want to have multiple URLs available, falling
back to googling for the word if I don't know about an online
dictionary.
2011-09-19 07:53:29 -07:00
Andy2
d7a04f87e6
add custom view for wordlist dialog so it doesn't get dismissed the
...
first time you pick a word -- now all can be looked up if desired.
2011-09-19 06:45:15 -07:00
Andy2
ea3e015a8f
use server_listWordsPlayed to implement lookup button: get list from
...
jni, and when it calls back with it launch the browser directly if
there's only one, otherwise put up a choice list. Currently the list
dismisses after launching the browser once: need to fix that, probably
with a custom View. And need to deal with non-English games, and
maybe add other choices for lookup than dictionary.com.
2011-09-18 19:10:12 -07:00
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
Eric House
a676b5beb0
comment out dead code referencing strings
2011-09-15 18:06:12 -07:00
eehouse@eehouse.org
98c2617613
Merge branch 'android_branch' into send_in_background
2011-09-14 06:47:12 -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
ec6108501d
draw timer in full color even in exchange mode
2011-09-09 18:23:19 -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
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
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
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
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
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
eehouse@eehouse.org
867b9118c1
Merge branch 'android_branch' into send_in_background
2011-08-28 17:27:46 -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
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
953909d0f0
remove logging
2011-08-22 18:40:44 -07:00
Andy2
3296cad731
pass bundle into DlgDelegate so state can be saved and restored. Not
...
doing anything with it yet because any scheme to survive
OS-restoration has to deal with the Runnables I'm saving that can't be
bundled. Work in progress....
2011-08-22 18:10:22 -07:00
Andy2
d7a515ca97
display three states of relay connectedness in games list items:
...
configured, connected but waiting for players, and game-in-play.
2011-08-22 07:03:46 -07:00
Andy2
1ee0dfdd6d
set wordlist spinner prompt and include language
2011-08-21 22:13:18 -07:00
eehouse@eehouse.org
3cdd4c1c9b
Merge branch 'android_branch' into send_in_background
2011-08-21 15:04:25 -07:00
Andy2
bbb73bb2e9
somehow dict deletion got broken (because wasn't adding file
...
extention); fix.
2011-08-21 15:02:42 -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
56fd01a05b
oops -- missing semicolon.
2011-08-21 12:07:21 -07:00
Andy2
c38e3593fb
replace hard-coded placeholder names for optional top-line of games
...
list item display with real "aa vs. bb vs..." consed up in
GameSummary, and set field to singleline so doesn't wrap when names
get too long.
2011-08-21 11:39:38 -07:00
Andy2
47bdec4eda
pass context into GameSummary constructor rather than into methods
...
that need it. No behavior change.
2011-08-20 21:51:57 -07:00
Andy2
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
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
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
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
e2ef25ae90
add pref for choosing what goes in parens along with the game name
...
(where <language> was before.) opponent name still needs to not be
hard-coded; the rest works.
2011-08-09 19:26:59 -07:00
Andy2
c67e92ea2c
log sends for a while. I want to fix the occasional stall.
2011-08-09 06:44:09 -07:00
Andy2
8adb925cca
only load and pass in dict as byte[] when path isn't available
...
(i.e. when it's a builtin), and use mmap in that case. Works! Still
need to try a speed test.
2011-08-08 20:27:42 -07:00
Andy2
755d3e5bb2
as first step in using mmap for dictionaries instead of passing byte
...
arrays into the jni, pass the full file paths in in addition to the
byte arrays. This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger). This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in. Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Andy2
ab64d57f5c
adapt a couple of icons as placeholders for standalone and networked
...
games. Every games-list item now has an icon. The networked game
icon is replaced by the sync icon when there's new information.
2011-08-08 18:56:19 -07:00
Andy2
556b78baad
remove logging
2011-08-07 20:22:33 -07:00
Andy2
4345fc1543
fix failure of renamegame feature when orientation changes while
...
dialog is up. I'm making two fixes, either of which is enough: saving
the rowid across teardown of the activity; and changing the manifest
to not tear down the activity. The reason for the latter is that the
teardown is unnecessary and wasteful. The former's just safer coding.
2011-08-07 20:22:11 -07:00
Andy2
fd61c0af02
'final' not needed
2011-08-06 22:30:48 -07:00
Andy2
c47189e81f
fix crasher introduced with eeac03d40f
:
...
update delegate's dialog id constants.
2011-08-06 21:30:38 -07:00
Andy2
b20584b74e
fix bug moving dicts: location wasn't getting updated when the move
...
was successful and so subsequent moves reported wrong location.
2011-08-06 20:06:21 -07:00
Andy2
fc650ef317
fix assertion failure reported by google when unable to create
...
directory on SD card. Just return null and carry on as if SD card not
writable.
2011-08-06 20:05:30 -07:00
Andy2
ed832f9545
update database from any version, not just two adjoining.
2011-08-06 19:26:36 -07:00
Andy2
eeac03d40f
query user for html vs text before creating new networked game so it
...
isn't left sitting if [s]he cancels.
2011-08-06 15:49:55 -07:00
Andy2
66a673c478
make the game name green when it's somebody's turn and player names
...
are hidden.
2011-08-06 15:46:49 -07:00
Andy2
1c28433bd0
store expandedness in DB rather than a class static, which will
...
eventually die. Generalize DBUtils methods int get/setInt(). Adds
new column to DB, the second for this version number.
2011-08-06 14:19:07 -07:00
Andy2
13cbca3368
cleanup
2011-08-06 14:03:50 -07:00
Andy2
d7dfb89f65
query user before sending invite whether to use html or text and
...
format differently depending on the answer. With html only I couldn't
invite using SMS, which bites.
2011-08-06 13:01:40 -07:00
Andy2
560208f516
roll my own expandable list items. (The stupid built-in ones don't
...
allow any control over whether the initial state is expanded.)
Getting click to work is a bit of a hack, requiring a callback from
the adapter back to the activity, but it works well on emulator. Need
to test on device then try to shrink the ImageButton.
2011-08-06 11:29:41 -07:00
Andy2
017f4da29d
fix formatting
2011-08-06 03:22:26 -07:00
Andy2
9c298a16e7
The email apps won't display non-http schemes as clickable links, so
...
go with html and encode both the invite and install links as php refs
that get redirected. Works, but eliminates SMS as sending mechanism.
2011-08-06 02:57:14 -07:00
Andy2
cd6aa8fe98
fix crasher using Copy menuitem: when summary is copied out of a db it
...
doesn't have a gi, but it does have the summaries values copied in so
use those.
2011-08-05 22:38:01 -07:00
Andy2
e8b66e230c
add title to context menu that includes game name
2011-08-04 18:16:32 -07:00
Andy2
97d5e3cc6d
remove old FILE_NAME DB column for new DBs; ignore it elsewhere. Move
...
default name creation from DBUtils to GameUtils.
2011-08-04 06:15:00 -07:00
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
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
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
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
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
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
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
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
d76ca5938b
fix sync-with-relay menu items to work even if timed syncing is
...
disabled.
2011-07-06 18:15:00 -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
66d42faead
fix sync-with-relay menu items to work even if timed syncing is
...
disabled.
2011-07-04 12:28:17 -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
546791d215
custom message when more than one player missing reminding to invite
...
more than one person.
2011-06-30 06:30:05 -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
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
ecc5211791
Bug: don't refuse to update preference summary just because it's empty.
2011-06-14 06:16:11 -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
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
dfc8519c9c
wrap password query field in layout too so it can have some margins.
2011-06-11 06:06:42 -07:00
Andy2
bb82831fb4
put EditText into a layout so can have some margins.
2011-06-10 20:55:18 -07:00
Andy2
1a89ed1f14
use new Utils.inflate where appropriate
2011-06-10 20:09:38 -07:00
Andy2
d058e3fd4b
use a layout instead of a raw text widgit.
2011-06-10 20:02:14 -07:00
Andy2
a7851f3c55
on initial startup check if the default name's been set for Player 1.
...
If not, give a chance to set it and a welcome message. Whatever
happens, wind up with some sort of default name so the query isn't
repeated unless user clears all defaults.
2011-06-10 18:58:49 -07:00
Andy2
1d5cfd49fa
remove second URL that was meant to allow user to install Crosswords
...
if it's not installed (because SMS apps confuses with the way it
presents multiple URLs.) Will try to do the same thing with the
redirect .php script whose output will stick around if the redirect
fails. Also, use URI.Builder instead of a format string to build the
redirect URL. It's cleaner. Still need to have a space in the format
string to keep sentence-finishing period from becoming part of the
room name. Not sure how to fix that without moving to html messages
which I assume don't work in SMS.
2011-06-10 06:49:32 -07:00
Andy2
d089c29ada
factor uri parsing and creating code into its own class -- in case
...
there are matching operations required. I thought one would be for
URLEncoder.encode() but seems not to be: spaces are un-escaped just
fine.
2011-06-09 20:56:29 -07:00
Eric House
dd97a81191
make constant string a static final rather than a resource.
2011-06-09 20:48:06 -07:00
Andy2
6c4f35b425
wrap parsing of new-game URI in a try so don't crash when they're
...
badly formatted.
2011-06-09 06:49:55 -07:00
Andy2
e097b15071
room names are user-created and need to be URLEncoded to e.g. escape
...
spaces.
2011-06-09 06:38:43 -07:00
Andy2
d43d789820
move socket creation inside Thread's run() in attempt to fix too-long
...
UI freeze when deleting individual games.
2011-06-07 20:51:26 -07:00
Andy2
cb8e162080
Progress toward getting invites going. Seems to work but is very
...
clunky: email and sms both send messages with URLs that work on the
receiving end.
2011-06-07 18:38:10 -07:00
eehouse@eehouse.org
484bb295d0
Merge branch 'android_branch' into android_invite
2011-06-06 22:08:49 -07:00
Andy2
07be547151
fix array OOB exception by avoiding the dereference. Better would be
...
to remember the dict name from before "download" was chosen and always
fall back to it.
2011-06-06 22:07:57 -07:00
Andy2
54777c8dbd
catch exception (and put up a explanatory Toast) that occurs, says
...
google's crash report site, when I try to launch something to handle
http and nothing can. Maybe people are installing Crosswords on
devices that don't have browsers.
2011-06-06 20:40:12 -07:00
Andy2
f58eded796
fix (assuming diagnosis is correct) NPE crash reported on google site.
2011-06-06 20:06:59 -07:00
Andy2
53b2a3a6b5
Merge branch 'android_branch' into android_invite
...
Conflicts:
xwords4/android/XWords4/res/values/common_rsrc.xml
2011-06-06 18:55:21 -07:00
Andy2
845b277c01
rename m_path->m_name for consistency
2011-06-06 18:44:29 -07:00
Andy2
c21a494e0b
remove unnecessary setAction call. (Haven't tested if others can go.)
2011-06-06 18:32:17 -07:00
Andy2
2ce4c1417c
do a better job of figuring out whether to use black or white to
...
outline blank tiles.
2011-06-06 18:28:20 -07:00
Andy2
1f664fa9e8
fix crash launching chat activity -- due to incorrect removal of URI
...
code recently.
2011-06-06 18:15:02 -07:00
eehouse@eehouse.org
b2d62f0f3d
Revert "extend code for choosing whether to make arrow white or black based on"
...
This reverts commit 1ef67e74eb
.
2011-06-06 18:10:05 -07:00
Andy2
1ef67e74eb
extend code for choosing whether to make arrow white or black based on
...
background to apply to blank-mark ring. Fixes disappearing mark when
tile background gets dark.
2011-06-06 06:52:10 -07:00
Andy2
a6a668881f
Merge branch 'android_branch' into android_invite
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardActivity.java
2011-06-05 10:49:17 -07:00
Andy2
84572c1ed6
get rid of the other places where Uri's being used but a simple name
...
is needed.
2011-06-05 10:44:26 -07:00
Andy2
c46015c514
fix crash on K's G2X due to URI.fromFile() returning a really strange
...
path. I don't need a URI anyway as the path is now just a key for DB
lookup. So just pass the name as an extra -- and rename variable to
reflect.
2011-06-05 10:29:33 -07:00
Andy2
d0f0fa04ce
set background color of board root view from prefs on creation and
...
whenever pref color might have changed.
2011-06-05 10:20:23 -07:00
Andy2
65efbe38c9
set background color of board root view from prefs on creation and
...
whenever pref color might have changed.
2011-06-03 23:35:06 -07:00
Andy2
3b78bab89d
sort by creation time rather than name
2011-05-20 22:55:07 -07:00
Andy2
c9be5b464c
actually set the creation timestamp
2011-05-20 22:51:30 -07:00
Andy2
13e8667634
use Player %d when no default player name set
2011-05-20 06:51:13 -07:00
Andy2
3df47f8fe2
separate string for missing player
2011-05-20 06:50:38 -07:00
Andy2
815490fb87
update gi before creating summary. In case of networked game,
...
incoming messages may have changed the version inside the jni
(reordered or renamed players) and we want those changes in the
summary.
2011-05-20 06:44:06 -07:00
Andy2
d554f71e8a
cleanup: move invariant out of loop
2011-05-20 06:39:39 -07:00
Andy2
232e4ec1e9
track missing players -- players for whom space is reserved locally
...
and whose names have not yet been received from host/server -- as part
of summary. They can be drawn differently to give a clear visual
indication which games are not in play and for which the user might
want to issue an invitation.
2011-05-19 22:53:04 -07:00
Andy2
0f45c26aea
remove, for now, test that prevents multiple games from a single email
...
so on-device testing possible. Later need to improve the test.
2011-05-19 06:54:46 -07:00
Andy2
362eb10d9d
remove, for now, test that prevents multiple games from a single email
...
so on-device testing possible. Later need to improve the test.
2011-05-19 06:54:27 -07:00
Andy2
7349a61f5a
add market url to install and break ugly/non-localized url out of
...
localized strings.xml.
2011-05-19 06:52:42 -07:00
Andy2
0c3a6d362c
when a networked game connects and is missing player, offer to invite
...
someone. Factor out code from create-and-invite path to support this.
Move invite-related strings into resources. Still untested with
networked device (to send email.)
2011-05-18 19:00:32 -07:00
Andy2
71afbf617c
add empty view so screen is never completely blank
2011-05-18 06:28:44 -07:00
Andy2
55278ab2a2
what I meant to check in.
2011-05-17 18:44:57 -07:00
Andy2
bf4b3c3058
fix hint text to mention only one button, hide that button along with
...
the text -- and make the add-game menu item actually work.
2011-05-17 18:44:34 -07:00
Andy2
bc3e5b5ca4
add defaults for first through fourth player names. Apply them only
...
to local, non-robot players, which at the moment means only the first
will get used. Not sure what the right strategy is now so maybe all
but the first goes away.
2011-05-17 18:12:23 -07:00
eehouse@eehouse.org
574194cb4f
Merge branch 'android_branch' into android_invite
2011-05-16 19:38:25 -07:00
Andy2
9cc2dfca34
include language in set-default-dict message to reinforce connection
...
between dict and language. I really want to lock the two defaults --
force to change both if one is a different language -- but am not sure
it that's easy enough to do quickly (for next beta.)
2011-05-16 17:58:31 -07:00
Andy2
6b4320e727
start to fill in text for new-game dialog.
2011-05-16 06:35:49 -07:00
Andy2
a89d81587d
Merge branch 'android_branch' into android_invite
...
Conflicts:
xwords4/android/XWords4/res/values/strings.xml
2011-05-14 11:54:31 -07:00
Andy2
c996e98624
replace two menuitems, default-robot and default-human, with a single
...
that invokes a dialog giving an explanation and three choices: robot,
human and both.
2011-05-14 11:04:19 -07:00
Andy2
6ee8c171be
implement moveDict and redraw row with new location if successful.
2011-05-14 10:12:30 -07:00
Andy2
f914a15b97
comment field GONE by default; revealed when used
2011-05-14 10:07:34 -07:00
Eric House
c99093fb35
Merge branch 'android_branch' into android_invite
2011-05-11 22:04:06 -07:00
Andy2
fe1bec74f5
add context menuitem to move dicts, dialog to confirm, and call
...
stubbed-out method to do the actual move. Still need a title and to
inval so gets redrawn (and to implement the actual move.)
2011-05-11 19:01:13 -07:00
Andy2
644100a005
Add generic Object cache to work around being unable to subclass an
...
object that's defined in a layout file (class cast to the subclass
fails, as you'd expect.) Will use this to cache a dict's location.
Eventually there needs to be a DB for dict details.
2011-05-11 18:59:41 -07:00
Andy2
e51b6f3322
add dict's locations to display
2011-05-11 18:07:07 -07:00
Andy2
19ed409dda
add notion of dict location, method to get it, and rewrite a couple of
...
others to use that.
2011-05-11 18:06:43 -07:00
Andy2
7d38a629b5
add comment field to XWListItem and its layout. Get elements by id
...
rather than position.
2011-05-11 18:05:41 -07:00
Andy2
8b130521fa
Merge branch 'android_branch' into android_invite
...
Conflicts:
xwords4/android/XWords4/res/values/strings.xml
2011-05-10 18:55:13 -07:00
Andy2
b4b54c5fb9
quick hack to open up all groups. Need eventually to remember how
...
user sets 'em.
2011-05-10 18:52:47 -07:00
Andy2
af96e184d7
don't refresh public room names when game is locked.
2011-05-10 18:34:39 -07:00
Andy2
8a8e1c9db0
remove no-op method and call of same
2011-05-10 18:25:27 -07:00
Andy2
472ffd02bf
fix getting wrong networked window title even when configuring a
...
non-networked game. And remove no-op method call.
2011-05-10 18:24:57 -07:00
Andy2
75e41caf90
go back to using XWListItem (with its delete-me X) and get rid of
...
delete context menu item.
2011-05-10 06:31:09 -07:00
Andy2
085748e201
hook up context menus, and add a delete item to replace the
...
checkboxes. Still need to disable it when dict is built-in. And
maybe add a different menu for languages.
2011-05-09 18:59:51 -07:00
Andy2
c990900913
cache list of langs. Performance is otherwise abysmal. May need to
...
add mechanism to notify when the list is invalidated. (Or move
caching into DictsLangCache class.)
2011-05-09 06:49:45 -07:00
Andy2
a559fdaae9
use a built-in layout for top-level rows to get the expander drawn right.
2011-05-09 06:32:30 -07:00
Andy2
9dfcb2dda2
first step toward using an expandable list for dicts browser, with
...
languages as first-level items each containing all of the dictionaries
in that language. This is a snapshot: it's broken visually and
functionally.
2011-05-08 22:50:42 -07:00
Andy2
129a9e97ef
fix compile error
2011-05-06 19:01:15 -07:00
Andy2
d407880dc1
complete the work of handling an incoming intent sent via a
...
new-game-invite URI. Seems to work, but requires two devices to test.
2011-05-06 18:56:30 -07:00
Andy2
249402758a
add new activity for starting a new game. Has four buttons and
...
(eventually) explanatory text. Currently more-or-less works,
including sending an email with a link that when clicked launches
Crosswords. (Still need to respond to that link on receipt, but I'm
at least pulling out the necessary fields.)
2011-05-06 06:52:10 -07:00
Andy2
b4bfea0d93
handle missing-dict downloads through DictsActivity too. Now
...
everything routes through that class via static methods that kick the
activity off if needed.
2011-05-03 18:25:46 -07:00
Andy2
0b7891ad8f
look in sd dir too when asking if file exists
2011-05-02 18:33:19 -07:00
Andy2
d11ef3c390
From game config's download-more spinner items, launch DictsActivity
...
rather than a separate download. This uses DictsActivity's query for
where the downloaded item should be stored.
2011-05-02 08:04:04 -07:00
Andy2
7cf412dd50
implement test for presence of external storage; don't crash if not present.
2011-05-02 07:39:07 -07:00
Andy2
5886f0ed85
cleanup; use dialog id from the right range.
2011-04-30 15:23:36 -07:00
Andy2
0171d0ccb2
inval new file from main thread after async task finished. Seems to
...
prevent attempts to read file while it's still being written (but only
on external storage.)
2011-04-30 15:23:14 -07:00
Andy2
e1e181949e
offer user a choice between using internal and external storage when
...
downloading dicts. Still to do: check if external is available before
offering; and either remove ability to download from within config
dialog or offer that choice there. Or just use a preference to
determine where storage happens. Also, on emulator game hangs during
download when using external storage.
2011-04-30 14:28:35 -07:00
Andy2
8caefef406
test for null lock. Market reports a NPE that this fixes, though it
...
can only happen if an onClick handler gets called after onPause().
Assuming that's true, this fixes it.
2011-04-29 18:58:02 -07:00
Andy2
f53f2dd224
remove GameConverter -- it's been months
2011-04-29 06:40:00 -07:00
Andy2
02f23ac1ec
In list item loading async task, don't wait on lock. Give up if it's
...
not available and wait to be called again. Fixes occasional assertion
failure when lock held for even five seconds. Screen jerks around a
bit but otherwise seems to work well.
2011-04-28 21:08:24 -07:00
Andy2
ba026f761d
get rid of unused parameter
2011-04-28 18:47:16 -07:00
Andy2
2572af039d
fix NPE by refusing to calc font info when don't have char set, and by
...
resusing to draw when don't have font info. Until other bugs got
fixed this must meant lots of all-white boards, and it's not strictly
necessary, but is an improvement.
2011-04-28 18:43:18 -07:00
Andy2
2886458814
assign dicts in constructor. Makes new games have the right dicts
...
even if not configured after, assuming defaults are set.
2011-04-27 06:51:30 -07:00
Andy2
9013897a5a
assign dicts as soon as language is changed.
2011-04-27 06:39:52 -07:00
Andy2
399fc081d7
add menuitem to set default robot dict.
2011-04-27 06:38:45 -07:00
Andy2
17fd65fb2d
list cur value for robot dict too
2011-04-27 06:38:07 -07:00
Andy2
0c9d33da3f
Add infrastructure to sort dicts by wordcount so robot can have
...
smallest and human largest. Sorting works. Still need to fix when
new dicts get assigned after lang change -- too often all players wind
up inheriting the default.
2011-04-26 18:59:11 -07:00
Andy2
a5fd4cef30
move setRemoveOnDismiss into delegate, and call it from a dialog
...
that's been crashing when called from performRestoreInstanceState.
The hope is that this will prevent the crash by forcing the dialog to
always be recreated. But it may be that I just need to test for
m_missingDictNames being null....
2011-04-26 18:26:21 -07:00
Andy2
83f2882589
what I mean to check in (without commented out stuff)
2011-04-26 06:43:06 -07:00
Andy2
4113d92be7
need to replace the main dict too
2011-04-26 06:41:31 -07:00
Andy2
33c81ec7ec
check for null to fix NPE.
2011-04-25 21:08:51 -07:00
Andy2
7a5920e9f2
use game dict if no player dict (to avoid NPE)
2011-04-25 21:01:15 -07:00
Andy2
ecc5357ef8
up version info, and collapse two locations into one resource entry.
2011-04-25 20:46:23 -07:00
Andy2
024f7e0541
per-gi dictName matters again: preserve it, include it in lists passed
...
to jni, and don't bother to assign a per-player dict when it'd be the
same as the game dict. Allows many games to have just the one, and
also fixes problems opening games saved with older versions. Duh.
2011-04-25 20:24:56 -07:00
Andy2
9d973cca15
load summaries for game list items via async tasks whenever a cached
...
View isn't present. Fixes failure to redraw after changing language,
and also should speed inital load. Needs testing.
2011-04-23 22:58:11 -07:00
Andy2
e9fadd4d96
Rework list item code to deal with when the summary isn't available:
...
have update icon hidden by default, and print the game name (which we
know.)
2011-04-23 18:19:35 -07:00
Andy2
20ec6dd011
Avoid relocking game after downloading: don't set lock checkbox
...
in onResume() unless it's the first time through.
2011-04-23 07:51:31 -07:00
Andy2
3c30cbd23a
move ownership of language and dict lists used in spinners into
...
DictLangCache where they can be updated when a dict is added via the
"download more..." item (inclusion of which is a hack.) Now as soon
as you return to the spinner after downloading you'll have the new
dict or lang to choose.
2011-04-23 07:39:56 -07:00
Andy2
60922baf72
bunch of changes moving UI from using one dict per game to one per
...
player: remove dictName from CurGameInfo and GameSummary classes and
from DB; deal with missing dicts (the warning, fetching and replacing)
when opening games and deleting dicts. Etc. Trivial testing passes.
2011-04-21 18:37:11 -07:00
Andy2
3970a3ef8a
no need to make new string to copy since they're immutable
2011-04-21 18:35:10 -07:00
Andy2
002bb40a09
report counts/values using language rather than dictionary name. To
...
support that, pass lang name from java into jni.
2011-04-11 18:55:42 -07:00