Commit graph

2998 commits

Author SHA1 Message Date
Eric House
f8acd68e09 remove unused constants 2015-07-22 07:31:26 -07:00
Eric House
4a4219bc9c rematch invitations are sent simultaneously on all known channels, so
on recipient device check that we aren't trying to handle more than
one. The test is for duplicate inviteIDs, and won't catch them if
received other than close together, but the existing test against the
set of saved games (getRowIDsFor(gameID)) will catch that.
2015-07-22 06:52:53 -07:00
Eric House
59f9dd51b8 remove mistaken test: relay's an option too and always supported 2015-07-22 06:50:05 -07:00
Eric House
dad39eedde Remove devID from comms address. It's not needed yet, may never be,
and I don't want to store it until it is.
2015-07-22 06:16:29 -07:00
Eric House
9e533f82db remove redundant constant 2015-07-21 06:55:43 -07:00
Eric House
f626d6ca4c remove redundant constant 2015-07-21 06:55:15 -07:00
Eric House
d33681770f log every packet send on debug builds 2015-07-17 07:42:37 -07:00
Eric House
c98a724611 add a bit of logging around transport sends 2015-07-17 07:41:55 -07:00
Eric House
a920ce455b assert addressing problems earlier 2015-07-17 07:41:29 -07:00
Eric House
63441453ef clear the net status rect for standalone games' boards to avoid ghost
button effect when they're opened after a networked game.
2015-07-17 06:27:01 -07:00
Eric House
c796e7d4cc clear the net status rect for standalone games' boards to avoid ghost
button effect when they're opened after a networked game.
2015-07-17 06:10:08 -07:00
Eric House
ac34250bf3 use rowid for invitation notifications so they'll be replaced by
subsequent notifications for the same game and removed when the game's
opened.
2015-07-16 06:57:30 -07:00
Eric House
c9e8655eea pass utilctxt when making new game in response to relay invitation so
the game can communicate. This lets the game reply and otherwise get
started the way BT- and SMS-invite-created ones do.
2015-07-16 06:46:39 -07:00
Eric House
9a7220554f print DevID as part of status header for relay, DEBUG builds only 2015-07-15 07:24:40 -07:00
Eric House
440e85f3a5 use new DevID class instead of methods in XWPrefs, which are removed. 2015-07-15 07:18:54 -07:00
Eric House
23f803bb98 new class to track devIDs (GCM and relay-assigned) separate from prefs
so easier to debug and don't get reset.
2015-07-15 07:08:47 -07:00
Eric House
dfff282b25 add storage for ints and booleans separate from prefs so they don't get reset 2015-07-15 07:08:01 -07:00
Eric House
d77914d216 add debug option to allow device to send relay-invitation to
itself. When that's set, in inviter UI add a button that adds own
relayID to the list (gross!, but how that whole thing works is TBD),
and when receiving invitation don't drop it if there's already a game
with the same ID.
2015-07-12 20:49:53 -07:00
Eric House
03555f2f83 support relay inviting based on an explicit constant rather than
whether it's a debug build.
2015-07-11 17:54:34 -07:00
Eric House
a96afb2892 fix NPE rematching standalone games 2015-07-11 17:30:43 -07:00
Eric House
7ac5d2259d add explanation for why rematch doesn't work for games with more than
two players. (The hard part is really more than two devices, but I bet
two players per device in networked games is rarest of all.)
2015-07-11 17:06:13 -07:00
Eric House
5dc8291981 show a toast when hint can't find anything, on the principle that user
should see some response to every action.
2015-07-11 16:24:21 -07:00
Eric House
fb80032b38 funnel invitation notifications from all three channels into same
method: only difference between them is the body.
2015-07-11 15:47:35 -07:00
Eric House
d26ae4a1b0 always assign a random invite ID 2015-07-11 14:35:48 -07:00
Eric House
93d2ef959c convert a bunch of logf to logdf, but also don't pass message sink
when creating game in response to relay invitation. Opening game in
background (so it can connect) makes it crash trying to use stuff it
failed to get because it has no Utils instance.
2015-07-11 14:35:00 -07:00
Eric House
351cb13184 turn on rematch feature 2015-07-11 14:33:04 -07:00
Eric House
0c5e230942 use comms_formatRelayID to get the opponent's relayID 2015-07-11 14:27:48 -07:00
Eric House
587f3b7630 export comms_formatRelayID via jni. 2015-07-11 14:25:16 -07:00
Eric House
d6651a0404 show relay DevID in debug section of prefs 2015-07-11 11:26:03 -07:00
Eric House
099337eb3a add logdf, logging for DEBUG builds only 2015-07-11 10:52:00 -07:00
Eric House
6800c2afe5 Merge branch 'android_branch' into relay_noconn
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2015-07-11 08:27:24 -07:00
Eric House
6851fd9746 include teaser from server, and launch an alert in-game instead of
having the notification display everything. I've committed this
before; not sure where it went.
2015-07-11 08:25:10 -07:00
Eric House
ec393bc0c8 don't crash if intent is null 2015-07-11 07:53:22 -07:00
Eric House
b5ae54f313 use common/native NetLaunchInfo to implement invite-via-relay that
works between linux and Android clients. Required renaming so struct
names and names of fields within match in c and java code. The point
is to test this as the foundation of rematch: now you have to type in
a deviceID in order to invite, which clearly sucks for users. Either
that goes away, or it's replaced with something that scans existing
games and lists past opponents as possible invitees.
2015-07-10 23:19:38 -07:00
Eric House
b451b936e7 fix assertion failure, probably due to some freak accident of missaved
timestamp. Whatever.
2015-07-01 07:18:44 -07:00
Eric House
fe25060255 fix assertion failure, probably due to some freak accident of missaved
timestamp. Whatever.
2015-07-01 05:52:02 -07:00
Eric House
d426db7a49 move httppost stuff into NetUtils 2015-06-26 06:37:34 -07:00
Eric House
e60a16be1e add onPrepareDialog, without which we crash turning on SMS from
prefs. Note: I've committed this before and somehow lost it, so there
may be some git anomolies here.
2015-06-26 06:13:11 -07:00
Eric House
63aae3d4e8 add newbie hints to checkboxes enabling communication types (bt, sms,
etc.)
2015-06-25 06:38:40 -07:00
Eric House
4f53ccd5db cleanup; log dropped messages on DEBUG builds 2015-06-24 07:48:25 -07:00
Eric House
fd765c6cb0 turn invite-by-sms on 2015-06-24 07:46:48 -07:00
Eric House
b8193d635d SMS-enable alert: Add cancel button, and disable OK button until user
selects an enabling option
2015-06-23 08:11:18 -07:00
Eric House
8354f45548 deal with case where invitation includes only conntypes not supported
on device, e.g. sms-only sent to a tablet. Strip the unsupported types
when creating the game, and then on game open suggest to user he
delete (with explanation)
2015-06-19 07:51:51 -07:00
Eric House
d27fdbd748 It's now possible for a game to have no address modes, so don't assert
otherwise.
2015-06-19 07:45:47 -07:00
Eric House
d89c0d2847 on receipt of invitation, remove address modes the device doesn't
support.
2015-06-18 08:48:03 -07:00
Eric House
f93f0cd926 Yet another attempt to deal with bad connectivity: when can't connect
to relay but other address modes are present, offer to remove the
relay from the game, and if that choice is taken confirm with an
explanation of the limits of what remains.
2015-06-18 08:14:33 -07:00
Eric House
9d25b0cb65 test for language, not full locale, in deciding to show English-only
release note
2015-06-16 07:27:01 -07:00
Eric House
d4bfaca127 cleanup: mostly removing logging and wrapping rematch code in an
if(false) so it goes away.
2015-06-14 22:39:47 -07:00
Eric House
4b6ea57e70 revert earlier change not running update check timer on DEBUG builds
since they're now upgradable too.
2015-06-14 22:34:58 -07:00
Eric House
9a46d0713a don't post notifications for "moves" about which there's nothing to be
said. I think these are admin messages, e.g. "The move you reported is
legal", that are not of interest to users.
2015-06-14 07:39:10 -07:00
Eric House
7190706eaf when game doesn't have connection to relay but has another way to
connect, give user the option of inviting "anyway", but warn that
there will be no relay connection used in that game. And then remove
the relay addressing from the invitation info.
2015-06-13 07:35:02 -07:00
Eric House
82e0de6c40 test for BT being on, not airplane mode, to fix showing as disabled in
airplane mode when BT's been enabled manually.
2015-06-12 07:52:27 -07:00
Eric House
b000564278 show connection status as green/connected if ANY of the connection
types has succeeded more recently than it's failed.
2015-06-11 07:26:36 -07:00
Eric House
9e92af7c1f put dbg field in app object, not its parent 2015-06-09 06:39:46 -07:00
Eric House
f296ab4dc3 add additional warning about failure to connect when user's on WiFi,
since paranoid WiFi settings are probably a leading cause of my not
being able to connect.
2015-06-08 07:36:47 -07:00
Eric House
7eb6c17623 Restart service on socket exception. This gives the service a chance
to reconnect when the network connection changes (e.g. user switches
from wifi connection to cellular). The packet is still dropped, so a
lower level will need to send it again. Eventually the relay needs to
keep a queue of un-acked packets, or track stuff needing resending the
way BTService does.
2015-06-08 06:46:51 -07:00
Eric House
faba6c856f enable check-for-updated menu even on DEBUG builds (though the server
doesn't respond with anything yet)
2015-06-08 06:31:36 -07:00
Eric House
f4f9d11c3b remove logging 2015-06-07 14:27:16 -07:00
Eric House
9cdd9f4419 add loggin 2015-06-07 13:44:24 -07:00
Eric House
6379df0cdf add to upgrade state info whether build is debug or release 2015-06-07 13:44:07 -07:00
Eric House
d0d81483e3 When relay-configured game is opened that hasn't yet managed to
connect to relay, instead of suggesting user invite another player
warn him/her that it's unconnected and suggest opening again
later. The problem this addresses is that a game must be opened to
make the initial relay connection, and that doesn't happen in the
background. This is a temporary fix that should prevent sending
invitations to games that the relay doesn't yet know about.
2015-06-05 22:12:08 -07:00
Eric House
766a814019 make dismissDialog() catch and ignore exception raised when the dailog
wasn't up.
2015-06-05 22:03:59 -07:00
Eric House
0107f7d16b capitalize wordlist entries 2015-06-05 06:29:10 -07:00
Eric House
6bfb20d2f0 feature request: show toast after writing to DB so user knows
something was done
2015-06-05 06:20:43 -07:00
Eric House
b661e59ae2 Use debug settings' language code in deciding whether to look for a
wordlist to download, and don't crash when it's a bogus value.
2015-06-04 07:06:06 -07:00
Eric House
276666dd1a add progress to initial fetch of dict info from server for non-English
devices
2015-06-03 07:50:38 -07:00
Eric House
23e6f97778 allow games to load in parallel, and when another async task is
running. This is fairly high-risk -- Google runs one AsyncTask at a
time because people get themselves in trouble otherwise -- but without
it the games don't load until the initial dict-fetch task finishes.
2015-06-03 07:49:52 -07:00
Eric House
22add3fefd remove logging 2015-06-03 07:48:01 -07:00
Eric House
01d9dcc371 remove logging 2015-06-03 07:45:11 -07:00
Eric House
39298931d2 revert calling finish() to avoid there being two activity instances,
as it leads to there often being none.
2015-06-03 06:27:09 -07:00
Eric House
74c13fa2cf fix (I hope) crash: don't show alert on activity that's finishing 2015-06-03 06:16:01 -07:00
Eric House
802ec24023 Sometimes Android launches a second GamesList activity. Detect that,
and get out.
2015-06-02 07:43:07 -07:00
Eric House
7a1b9701c5 use local instead of ivar 2015-06-01 07:23:08 -07:00
Eric House
9922a8fdd1 log 'this' (no impact unless LOG_LIFECYLE is true) 2015-05-31 19:44:14 -07:00
Eric House
fcb2791f39 Revert "don't capitalize language in games list item context"
This reverts commit 101da00761.
2015-05-29 20:51:18 -07:00
Eric House
59368e6c95 keep UDP connection alive for one day after last packet received, not
a week. The algorithm needs revisiting, but this is low-risk enough to
do now.
2015-05-27 07:24:51 -07:00
Eric House
dd24f86eb8 use android's build-in OK and Cancel strings 2015-05-27 07:05:59 -07:00
Eric House
101da00761 don't capitalize language in games list item context 2015-05-25 18:22:31 -07:00
Eric House
282e66e54e deal with case where board is opened on a game that no longer exists,
which I think can happen when a move arrives for a game after it's
been deleted. (This is to fix a crash I couldn't duplicate, so there's
some conjecture involved.)
2015-05-24 20:43:50 -07:00
Eric House
1630389391 find and fix a few more places where language name needed translation
or to be capitalized.
2015-05-22 22:55:30 -07:00
Eric House
52269e6675 capitalize language names in stand-alone context, which I think French
wants. I hope other languages do too.
2015-05-22 22:18:34 -07:00
Eric House
3dc555d719 deal with case where dict that's set as default for new games is
delete, possibly making the language no longer represented. Before
setting up prefs, check for the dict and language, and revert to
English if not found.
2015-05-22 22:06:20 -07:00
Eric House
e97e9c4a2d translate language name 2015-05-22 21:46:43 -07:00
Eric House
ea68ea015e force wordlists and language to match when newgame default list
changed from wordlist browser.
2015-05-21 07:09:54 -07:00
Eric House
e9c40e5a75 change method name 2015-05-21 07:09:54 -07:00
Eric House
1e5f08c740 reclaim net status icon's space for standalone games 2015-05-21 07:09:54 -07:00
Eric House
ac2d46d109 Don't show network status icon, nor respond to taps, for standalone
games.
2015-05-21 07:09:54 -07:00
Eric House
f08c0c8b5e Sanity check NBS message header values to stop the occasional bogus
source-unknown incomming.
2015-05-21 07:09:54 -07:00
Eric House
ef28886bc8 turn off the green top and bottom of the network status icon for solo games 2015-05-15 07:50:10 -07:00
Eric House
563d447d5e remove menuitem to launch dicts browser (and clean up a bit) 2015-05-15 07:36:48 -07:00
Eric House
a4ce83f9cf don't pop up dict picker menu in response to dict button if there's
only one for the game's language; open the browser instead.
2015-05-15 07:29:37 -07:00
Eric House
fe472e0e9a fix use of InputStream, whose available() method can't be relied upon. 2015-05-15 07:07:39 -07:00
Eric House
e66260950e change final score formatting so it can be properly localized.
Note: because the substitution is done in common code I can't use the
positional specifiers (%1$s vs %s) and so this breaks the generated
"translations". The scripts that do the generation need to be fixed to
understand the formatted="false" attribute.
2015-05-13 07:51:32 -07:00
Eric House
520611399b in popup from dict icon in game toolbar, show only those wordlists in
same language as game, and show "wordlist browser" item last rather
than first.
2015-05-13 06:56:23 -07:00
Eric House
60509f7c8b set check-relay timer when saving a game with a relay connection 2015-05-13 06:26:46 -07:00
Eric House
38b958751c Make timer to check relay for messages non-repeating, and don't
[re]set it when there are no networked games on the device. I didn't
add a change to explicitly set it when creating the first networked
game, but that doesn't seem to be necessary.
2015-05-05 07:47:10 -07:00
Eric House
4c76cc09cf fix another place where language name needed translation 2015-04-06 06:59:33 -07:00
Eric House
b2894d4857 fix (via patch from translator) case where langauge name needed
translation
2015-04-06 06:59:15 -07:00
Eric House
6a74cdba44 make description of human and robot wordlists in prefs localizable 2015-04-02 06:47:35 -07:00
Eric House
27dde57660 add xlateLang() to delegate base class 2015-04-02 06:22:34 -07:00