Eric House
7d8cddb31f
Merge branch 'android_branch' into gtk_multigame
...
Conflicts:
xwords4/linux/gtkmain.c
xwords4/linux/linuxmain.c
xwords4/relay/xwrelay.cpp
2013-05-08 07:37:55 -07:00
Eric House
541fc546ab
remove that bit from flags -- since we already do the right thing for it.
2013-04-20 19:46:35 -07:00
Eric House
e4f52c5678
add assert and comment explaining why non-utf-8-aware hack is safe.
2013-04-18 07:15:14 -07:00
Eric House
c8332a9665
load synonyms for specials correctly. So now Catalan works: wordlists
...
load, and search for "l-l" will find "L·L".
2013-04-14 15:45:23 -07:00
Eric House
cae631eeb0
handle synonyms in non-special tiles for Android: wordlists load and
...
display, and searching using lower case works. Specials (e.g. Catalan
changes) not yet supported.
2013-04-14 11:58:11 -07:00
Eric House
de7c29dcc7
add comms_stop() to jni and use it
2013-01-20 21:33:35 -08:00
Eric House
c4df31892e
Fix occasional infinite loop of devices sending and receiving the same
...
message over and over when getting updated by GCM. The problem
occurred when one device had an un-ACKable initial message still in
its queue. I call resendAll a lot, which caused that message to get
resent to the other game which then replied without being able to ACK
it so it remained to be sent again. This would continue until users
moved forward in the game. The fix is to add a backoff timer to
resendAll() so that it can't loop. The timer is reset when an ackable
and new message is received, meaning there's been a change in what's
available to resend. And since users calling resendAll manually
expect it to do something, add a force param that ignores the backoff.
seems to fix the problem (but needs a lot of testing.)
2012-11-13 21:25:03 -08:00
Eric House
ba11fcf8df
don't bother checking for stream size of 0 in jni since comms does
...
that now.
2012-11-13 21:01:25 -08:00
Eric House
60814264e7
compile with XWFEATURE_COMMSACK turned off
2012-11-12 20:56:50 -08:00
Eric House
76c938cc67
fix to compile with API change; to drop relayid when it's rejected and
...
to use register with the GCM id on next [re]connect; and to not leave
variable unintialized when unable to call into java world due to being
called without context.
2012-11-12 08:03:25 -08:00
Eric House
39dbed2004
add missing util method (fixing crash) and with it wire up new devID
...
scheme: now relay-assigned shorter id will be saved and used for
future games.
2012-11-06 07:08:06 -08:00
Eric House
47f9eb03b9
merge in changes from the -gcm directory: GCM will be a feature of the
...
non-variant build now.
2012-11-02 05:35:31 -07:00
Eric House
6014e3d76f
turn on devid code and implement support in java. Untested, but should work.
2012-10-30 07:57:17 -07:00
Eric House
b40e9b7928
assert non-0 lang code
2012-10-25 07:10:54 -07:00
Eric House
aec03fc572
When a game's consumated and guest discovers it isn't using the same
...
dict, give chance to switch, and to download if required. Because of
the way the JNI thread works, and JNI's requirement in general that
env instances match up (e.g. dicts must be destroyed in the same
thread that creates them), substituting into a live game is too hard.
So the game's saved with its new dict and then reloaded.
2012-10-24 07:17:21 -07:00
Eric House
077270f1cd
merge in SMS-version UI -- there will not be a separate version for
...
SMS any more.
2012-10-15 08:29:46 -07:00
Eric House
e90c5ee94f
pass index of resigning player into util_notifyGameOver. Not yet
...
passed into java.
2012-10-09 05:31:12 -07:00
Eric House
e64ecfb78d
implement resign on top of existing endGame logic, adding "quitter" as
...
new param passed to remote and changing final score formatting and
menu items to match. Still need to show old menu on android in case
where game has already ended.
2012-10-07 12:47:06 -07:00
Eric House
fd9b9f85e2
make util_hiliteCell conditional, and remove from android where it
...
wasn't used anyway.
2012-10-05 18:51:32 -07:00
Eric House
8281bd7f10
call back into java for util_getCurSeconds implementation so java and
...
C world are sure to be using the same clock.
2012-09-29 19:27:02 -07:00
Eric House
2c89f13383
add turn as param to util_turnChanged, and call from server rather
...
than board.
2012-09-27 07:04:57 -07:00
Eric House
94103a4212
track time of most recent turn start, and include it in summary table.
2012-09-27 06:55:46 -07:00
Eric House
65598cdb7b
replace DeleteLocalRef calls
2012-09-24 07:44:43 -07:00
Eric House
140c982d41
merge from android_branch
2012-09-24 07:39:44 -07:00
Eric House
598a154693
factor common code into function
2012-09-19 08:09:27 -07:00
Eric House
75398389b3
Merge branch 'android_branch' into android_dictdb
...
Conflicts:
xwords4/android/XWords4/jni/jniutlswrapper.c
2012-09-15 16:36:15 -07:00
Eric House
ee1df7eeb7
replace DeleteLocalRef calls with version that checks for NULL
2012-09-15 15:57:38 -07:00
Eric House
937bde6378
combine two jniutils methods into one
2012-09-15 15:21:31 -07:00
Eric House
aa974be567
Before figuring md5sum (via java callback added recently), use new
...
callback to see if there's already one in the DB. Required passing
context into jniutils getter, and passing name into jni dict
constructors that previously didn't need it.
2012-09-13 07:38:08 -07:00
Eric House
3e4384c2a8
when dict doesn't have built-in md5sum, or when in DEBUG code, call
...
back into java to get a sum. It's very slow for large dicts, but will
eventually be in a DB so only done once per dict that doesn't have it.
2012-09-13 05:39:44 -07:00
Eric House
ae2b6205bd
use mem_stream_make_sized
2012-09-11 19:17:27 -07:00
Eric House
0ccc2331b5
address bug where message was getting ACK'd by a device that failed to
...
save what it had ACK'd leaving the game permanently broken. Do that
by adding a new method game_saveSucceeded() called after the client
claims to have committed bytes returned by game_writeToStream() to
disk. In that method comms updates the value it'll use in subseqent
ACKs.
2012-09-10 07:31:45 -07:00
Eric House
95a7b14a3a
transmit dict's md5sum along with name in initial message from host to
...
guest. On guest, pass that sum into client code along with names so
the appropriate tests can be done and corrections taken.
2012-09-08 20:23:48 -07:00
Eric House
9a72f252ed
Merge branch 'android_branch' into android_dictname
2012-09-08 13:20:59 -07:00
Eric House
5a81484cf1
add md5Sum to DictInfo and add a getter
2012-09-08 10:11:18 -07:00
Eric House
077560bcd3
load md5sum if present
2012-09-08 09:42:23 -07:00
Eric House
4f180e9e14
pass rejecting dict name into java layer and display as part of turn
...
lost message.
2012-09-06 19:04:40 -07:00
Eric House
270a19f3aa
Revert "first of a set of changes to communicate to clients dictionary being"
...
This reverts commit b7a0f1489b
, which I didn't mean to check in on this branch.
2012-09-03 21:34:51 -07:00
Eric House
ea4d805d5f
first of a set of changes to communicate to clients dictionary being
...
used by server. Clients need to care if e.g. the server's disallowing
phonies based on its dict. Can only be sent if client is of latest
version. In that case, common code calls into new util function. In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it. Once it's available, will want to install it.
2012-09-03 21:33:46 -07:00
Eric House
b7a0f1489b
first of a set of changes to communicate to clients dictionary being
...
used by server. Clients need to care if e.g. the server's disallowing
phonies based on its dict. Can only be sent if client is of latest
version. In that case, common code calls into new util function. In
future changes, BoardActivity's implemention of the callback will need
to check if the server's choice of dict is available, and if not offer
to download it. Once it's available, will want to install it.
2012-09-03 21:29:21 -07:00
Eric House
4ffb4efb0c
silence compiler warning
2012-08-30 19:10:52 -07:00
Eric House
145317426d
Fix prefix matching to accept letters constituting the first part of a
...
digraph tile when at the end of a prefix so that e.g. GORIL in Catalan
will list GORIL·LA (rather than nothing since GORIL, ending with the L
tile, is not a prefix.)
2012-08-27 21:50:09 -07:00
Eric House
08aa9b66e8
also load new desc field in android client, and add jni call to retrieve it
2012-08-26 20:59:17 -07:00
Eric House
ec0702d584
initialize buffer that common code will pass to strcat.
2012-08-10 21:31:01 -07:00
Eric House
27cbd0e0c9
go with end-game change that takes remaining tiles into account for
...
robots but not for hints.
2012-08-01 20:31:21 -07:00
Eric House
464696566d
get rid of NODE_CAN_4. Not change to post-compiled code
2012-08-01 20:29:15 -07:00
Eric House
9b0436d1ee
Make rem string measure function return boolean to indicate rect will
...
be invisible rather than setting width and height to 0. No real
change beyond simplifying/speeding platform code.
2012-07-15 09:30:27 -07:00
Eric House
bd70a1dd7d
improve text in remaining tiles dialog, and always show the tiles for
...
all trays rather than excluding those in current player's tray.
2012-07-09 21:44:29 -07:00
Eric House
318cc52f5a
we need the base64 stuff even when don't have SMS -- for serialization.
2012-07-07 11:05:45 -07:00
Eric House
2e6b64a4e4
complete implementation of java part of one-pass scoreboard draw. Now
...
looks pretty much identical to what the old code draws except that
rather than having width allocated in proportion to requested size all
get the same width except the one whose score it is which gets 2x.
2012-07-01 17:24:50 -07:00
Eric House
2434d85684
don't pass the same player-1 data for every player
2012-07-01 16:01:01 -07:00
Eric House
89ffd972bf
more work on single-pass scoreboard drawing. Now the jni stuff is
...
finished, but disabled via compile-time flag, and there's a
commented-out rudimentary implementation on the java side.
2012-07-01 10:04:10 -07:00
Eric House
b9b58bd0a5
enable tray tap undo
2012-06-29 06:52:49 -07:00
Eric House
c8e2dff962
start process of compiling with XWFEATURE_SCOREONEPASS enabled by
...
adding stubbed-out methods and making old methods conditionally
compiled. No change in code.
2012-06-27 07:08:09 -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
6257c14436
include trayVisState in GameStateInfo on the java side
2012-06-05 22:13:58 -07:00
Eric House
a0336ebb01
turn on new HASH_STREAM feature
2012-05-29 07:26:51 -07:00
Eric House
0b1a9a67fe
add param to server_handleUndo to prevent it from undoing all moves in
...
robot-vs-robot game, which is the wrong thing to do during a test
simulating play.
2012-05-24 22:25:30 -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
867e9ffc2f
implement stubbed-out util_phoneNumbersSame so that three-device SMS
...
games work in emulator. May need to call into java to use Android's
more sophisticated phone number comparison to work on devices.
2012-05-18 07:17:21 -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
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
d846f96ec5
post-code-review cleanup: no significant change
2012-05-09 06:51:06 -07:00
Eric House
fd4ad0ae31
turn on board hashing and bigboard options (in protocol, not UI)
2012-05-04 06:16:02 -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
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
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
235807df4f
remove logging
2012-03-19 07:37:16 -07:00
Eric House
fe614e9efc
delegate phone number comparison to platform code which in Android
...
case has a method for it. strcmp is not enough.
2012-03-19 07:36:18 -07:00
Eric House
631666cede
don't call DeleteLocalRef on an object to be returned from the JNI.
...
Crashes ICS bigtime. This needs to be ported back to android_branch.
2012-03-14 20:26:23 -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
a8cf03f68e
optimization: allocate tmp buffer on stack rather than with malloc.
2012-03-11 14:51:51 -07:00
Eric House
739b0b6125
fix off-by-one assertion
2012-03-09 23:51:39 -08:00
Eric House
fdfbd792f7
Merge branch 'android_branch' into android_bt
2012-03-05 20:08:43 -08:00
Eric House
edf13be4c8
I'm getting a crash on 2.1 in the simulator when calling
...
DeleteGlobalRef then NewGlobalRef on the same ref. So use a temp to
reverse the order. May fix reported crash as well.
2012-03-05 20:04:32 -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
b7f82475b8
fix to compile when XWFEATURE_BLUETOOTH not set
2012-02-27 20:31:01 -08:00
Eric House
2282a976f3
add missing PKG_PATH invocation
2012-02-27 20:01:12 -08:00
Eric House
642ba9bc61
fix off-by-one assertion
2012-02-22 12:58:33 -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
8590aae9b2
fix emacs compile-commands
2012-02-15 18:07:19 -08:00
Eric House
88ad6d81ef
Merge branch 'android_branch' into android_bt
...
Conflicts:
xwords4/android/XWords4/jni/xportwrapper.c
xwords4/android/XWords4/jni/xwjni.c
2012-02-13 22:38:17 -08:00
Eric House
82b232cf74
use a macro instead of lots of repetitions of the package path to make
...
it easier to modify.
2012-02-13 22:13:23 -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
3bda56420c
turn on XWFEATURE_BLUETOOTH
2012-02-07 17:38:50 -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
796baffa6d
Merge branch 'android_branch' into android_bt
2012-02-06 18:13:57 -08:00
Eric House
bfe04a08b5
removed unneeded null-byte addition
2012-02-06 18:11:30 -08:00
Eric House
a2b5274b6c
on ICS CreateGlobalRef doesn't return the same value as is passed in.
...
So stop assuming it does! Fixes multiple crashes on ICS and need to
be ported to android_branch.
2012-02-05 19:12:09 -08:00
Eric House
8947ddca0b
on ICS CreateGlobalRef doesn't return the same value as is passed in.
...
So stop assuming it does! Fixes multiple crashes on ICS and need to
be ported to android_branch.
2012-02-05 19:11:38 -08:00
Eric House
8793d8f4fd
include seed and missingPlayers in any non-standalone game summary
2012-02-03 17:03:47 -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
e91c0daf65
check for null obj before calling through its vtable
2012-01-31 06:44: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
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
ac6ecfa845
copy bt_hostName as part of address
2012-01-24 06:51:40 -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
2a51f8d621
cleanup
2012-01-17 06:53:47 -08:00
Eric House
d0999d1944
update build scripts to use newer NDK.
2012-01-02 18:11:36 -08:00