The new game you have created has
two players. Player 1 is a robot; Player 2 is you. Tap the game
@@ -1994,75 +2005,75 @@ public final class R {
Shown when you tap the Previous Hint button on the toolbar of
the main Board screen
*/
- public static final int not_again_hintprev=0x7f0501a5;
+ public static final int not_again_hintprev=0x7f0501a9;
/** Shown when you tap the juggle button on the toolbar of the
main Board screen
*/
- public static final int not_again_juggle=0x7f0501a7;
+ public static final int not_again_juggle=0x7f0501ab;
/**
*/
- public static final int not_again_lookup=0x7f0501c8;
+ public static final int not_again_lookup=0x7f0501cc;
/** Shown when you first pick the list_item_new_from menuitem
*/
- public static final int not_again_newfrom=0x7f0501b4;
- public static final int not_again_newselect=0x7f05024f;
- public static final int not_again_studycopy=0x7f050269;
+ public static final int not_again_newfrom=0x7f0501b8;
+ public static final int not_again_newselect=0x7f050254;
+ public static final int not_again_studycopy=0x7f05026e;
/** The following strings (all whose names start with
"not_again") appear in the New user info dialog.
shown when user chooses the gamel_menu_checkmoves menu
*/
- public static final int not_again_sync=0x7f0501a1;
+ public static final int not_again_sync=0x7f0501a5;
/** Shown when the user chooses the "board_menu_trade" menu
*/
- public static final int not_again_trading=0x7f0501a2;
- public static final int not_again_trading_buttons=0x7f0501a3;
- public static final int not_again_trading_menu=0x7f0501a4;
+ public static final int not_again_trading=0x7f0501a6;
+ public static final int not_again_trading_buttons=0x7f0501a7;
+ public static final int not_again_trading_menu=0x7f0501a8;
/** Shown when the board screen is visible and it's just become
another players turn. The idea is to give a hint about how to
find out about recent moves.
*/
- public static final int not_again_turnchanged=0x7f0501b3;
+ public static final int not_again_turnchanged=0x7f0501b7;
/** Shown when you tap the undo/redo button on the toolbar of the
main Board screen
*/
- public static final int not_again_undo=0x7f0501aa;
+ public static final int not_again_undo=0x7f0501ae;
/** Shown in the Game configure screen when the game_locked
checkbox is checked and you uncheck it.
*/
- public static final int not_again_unlock=0x7f0501ae;
+ public static final int not_again_unlock=0x7f0501b2;
/** Shown when you tap the values button on the toolbar of the
main Board screen. This is intended to allow players to
remind themselves how much played tiles are worth while
planning a move.
*/
- public static final int not_again_values=0x7f0501ac;
+ public static final int not_again_values=0x7f0501b0;
/** Shown when you tap the zoom (+/-) button on the toolbar of
the main Board screen
*/
- public static final int not_again_zoom=0x7f0501a9;
- public static final int note_none=0x7f05029a;
+ public static final int not_again_zoom=0x7f0501ad;
+ public static final int note_none=0x7f05029f;
/** This text is displayed as the "summary" for both of the
notify choices above, as extra information. (There could be
different strings if it makes more sense in your language.)
*/
- public static final int notify_other_summary=0x7f05015c;
+ public static final int notify_other_summary=0x7f05015f;
/** When one or more new moves is found, should I play a
notification sound
*/
- public static final int notify_sound=0x7f05015a;
+ public static final int notify_sound=0x7f05015d;
/** When a move is fetched from the relay a Notification is
posted. These are its title, which appears in the top bar of the
device, and the body that appears when you pull the notifications
down.
*/
- public static final int notify_title_fmt=0x7f050190;
+ public static final int notify_title_fmt=0x7f050194;
/** When one or more new moves is found, should I vibrate the
device
*/
- public static final int notify_vibrate=0x7f05015b;
- public static final int nplayers_prompt=0x7f0502b2;
+ public static final int notify_vibrate=0x7f05015e;
+ public static final int nplayers_prompt=0x7f0502b7;
/** text of label identifying the field where human players can
enter an option password. The label and field disappear when
the robot player checkbox is checked because it makes no
@@ -2071,13 +2082,13 @@ public final class R {
player on a device, so they are infrequently used in network
games as well.
*/
- public static final int password_label=0x7f0500d4;
+ public static final int password_label=0x7f0500d7;
/** You have NFC enabled. That
means that any time a board that\'s missing a player is open, you
can tap a nearby person\'s device to invite him/her to
play – if he/she is also using NFC.
*/
- public static final int pct_suffix=0x7f05025b;
+ public static final int pct_suffix=0x7f050260;
/** If this preference is checked, tapping on the scoreboard
entry for any player reveals that player's tiles and any
pending move (after asking for his password if one is set.)
@@ -2087,41 +2098,41 @@ public final class R {
though it's not his turn e.g. while the player whose turn it
is is temporarily unable to play.
*/
- public static final int peek_other=0x7f05014c;
+ public static final int peek_other=0x7f05014f;
/** explanation of the above
*/
- public static final int peek_other_summary=0x7f05014d;
+ public static final int peek_other_summary=0x7f050150;
/**
*/
- public static final int phone_label=0x7f0501ff;
+ public static final int phone_label=0x7f050203;
/** Don't warn, but simply force to skip turn (give 0 points)
when user attempts to play word not in the wordlist.
*/
- public static final int phonies_disallow=0x7f0500c5;
+ public static final int phonies_disallow=0x7f0500c8;
/** These are the three choices in the popup above whose text is
phonies_spinner_prompt
Don't care if words played are in the wordlist or not
*/
- public static final int phonies_ignore=0x7f0500c3;
+ public static final int phonies_ignore=0x7f0500c6;
/** title of popup used to determine how words are handled that
are not in the wordlist used for the game (or player if using
different wordlists per player)
*/
- public static final int phonies_spinner_prompt=0x7f0500c2;
+ public static final int phonies_spinner_prompt=0x7f0500c5;
/** warn player when word played is not in the wordlist, but
allow him to play it.
*/
- public static final int phonies_warn=0x7f0500c4;
+ public static final int phonies_warn=0x7f0500c7;
/**
*/
- public static final int pick_faceup=0x7f0501d0;
+ public static final int pick_faceup=0x7f0501d4;
/**
*/
- public static final int pick_url_title_fmt=0x7f0501c6;
+ public static final int pick_url_title_fmt=0x7f0501ca;
/** Text of button at bottom. Press it and you exit this
configure screen and open the game into the Board screen
*/
- public static final int play=0x7f0500ca;
+ public static final int play=0x7f0500cd;
/**
############################################################
# :Dialogs:
@@ -2133,47 +2144,47 @@ public final class R {
dialog title
*/
- public static final int player_edit_title=0x7f0500ce;
+ public static final int player_edit_title=0x7f0500d1;
/** used to create default player names. Number between 1 and 4
is substituted
*/
- public static final int player_fmt=0x7f05018f;
+ public static final int player_fmt=0x7f050193;
/** text of lable identifying the field in which player's name is
set/displayed
*/
- public static final int player_label=0x7f0500d0;
+ public static final int player_label=0x7f0500d3;
/** text for separator above the list of players that's used for
networked games. The numbers of local and non-local players
are substituted for %1$d and %2$d.
*/
- public static final int players_label_host_fmt=0x7f0500ad;
+ public static final int players_label_host_fmt=0x7f0500b0;
/** text for separator above the list of players that's used for
non-networked games
*/
- public static final int players_label_standalone=0x7f0500ac;
- public static final int pref_group_l10n_summary=0x7f0502f5;
- public static final int pref_group_l10n_title=0x7f0502f4;
- public static final int pref_group_relay_summary=0x7f0502f3;
- public static final int pref_group_relay_title=0x7f0502f2;
- public static final int pref_group_sms_summary=0x7f0502f1;
- public static final int pref_group_sms_title=0x7f0502f0;
+ public static final int players_label_standalone=0x7f0500af;
+ public static final int pref_group_l10n_summary=0x7f0502fa;
+ public static final int pref_group_l10n_title=0x7f0502f9;
+ public static final int pref_group_relay_summary=0x7f0502f8;
+ public static final int pref_group_relay_title=0x7f0502f7;
+ public static final int pref_group_sms_summary=0x7f0502f6;
+ public static final int pref_group_sms_title=0x7f0502f5;
/** Label for the first "human player" name preference
*/
- public static final int pref_human_name=0x7f050118;
- public static final int pref_item_update_summary=0x7f0502f7;
- public static final int pref_item_update_title=0x7f0502f6;
+ public static final int pref_human_name=0x7f05011b;
+ public static final int pref_item_update_summary=0x7f0502fc;
+ public static final int pref_item_update_title=0x7f0502fb;
/** Label for the first player color preference
*/
- public static final int pref_player1_name=0x7f050114;
+ public static final int pref_player1_name=0x7f050117;
/** Label for the second player color preference
*/
- public static final int pref_player2_name=0x7f050115;
+ public static final int pref_player2_name=0x7f050118;
/** Label for the third player color preference
*/
- public static final int pref_player3_name=0x7f050116;
+ public static final int pref_player3_name=0x7f050119;
/** Label for the fourth player color preference
*/
- public static final int pref_player4_name=0x7f050117;
+ public static final int pref_player4_name=0x7f05011a;
/**
############################################################
# :Screens:
@@ -2182,10 +2193,10 @@ public final class R {
title of this sub-preference
*/
- public static final int prefs_appearance=0x7f050125;
+ public static final int prefs_appearance=0x7f050128;
/** clarification of the above
*/
- public static final int prefs_appearance_summary=0x7f050126;
+ public static final int prefs_appearance_summary=0x7f050129;
/**
############################################################
# :Screens:
@@ -2194,10 +2205,10 @@ public final class R {
title of this sub-preference
*/
- public static final int prefs_behavior=0x7f050142;
+ public static final int prefs_behavior=0x7f050145;
/** clarification of the above
*/
- public static final int prefs_behavior_summary=0x7f050143;
+ public static final int prefs_behavior_summary=0x7f050146;
/**
############################################################
# :Screens:
@@ -2207,10 +2218,10 @@ public final class R {
title of this sub-preference
*/
- public static final int prefs_colors=0x7f050134;
+ public static final int prefs_colors=0x7f050137;
/** clarification of the above
*/
- public static final int prefs_colors_summary=0x7f050135;
+ public static final int prefs_colors_summary=0x7f050138;
/**
############################################################
# :Screens:
@@ -2219,53 +2230,53 @@ public final class R {
title of this sub-preference
*/
- public static final int prefs_defaults=0x7f050110;
+ public static final int prefs_defaults=0x7f050113;
/** clarification of the above
*/
- public static final int prefs_defaults_summary=0x7f050111;
+ public static final int prefs_defaults_summary=0x7f050114;
/** sub-preference for dictionaries (soon to be called "word lists")
*/
- public static final int prefs_dicts=0x7f05011a;
+ public static final int prefs_dicts=0x7f05011d;
/** clarification of above
*/
- public static final int prefs_dicts_summary=0x7f05011b;
+ public static final int prefs_dicts_summary=0x7f05011e;
/** sub-preference title for editing default player names.
There's only enabled now, though.
*/
- public static final int prefs_names=0x7f050112;
+ public static final int prefs_names=0x7f050115;
/** clarification of the above
*/
- public static final int prefs_names_summary=0x7f050113;
+ public static final int prefs_names_summary=0x7f050116;
/** Used when prev player's name can't be looked up
*/
- public static final int prev_player=0x7f0502a4;
- public static final int progress_title=0x7f050298;
+ public static final int prev_player=0x7f0502a9;
+ public static final int progress_title=0x7f05029d;
/**
*/
- public static final int prompt_max_len=0x7f0501d8;
+ public static final int prompt_max_len=0x7f0501dc;
/**
*/
- public static final int prompt_min_len=0x7f0501d7;
- public static final int proxy_port=0x7f0502d8;
+ public static final int prompt_min_len=0x7f0501db;
+ public static final int proxy_port=0x7f0502dd;
/** Short for "points", this is shown at the right end of the
tray in place of the first tile placed along with the points
the current move would earn if committed.
*/
- public static final int pts=0x7f0500df;
+ public static final int pts=0x7f0500e2;
/** If you check the join_room checkbox Crosswords queries the
relay. This is the text of the progress indicator displayed what
that's going on. (It's often visible for only a very short
time.)
*/
- public static final int public_names_progress_fmt=0x7f0500b7;
+ public static final int public_names_progress_fmt=0x7f0500ba;
/** Title for generic dialog asking a question, usually in the
middle of a game, like "do you want to commit this move?"
*/
- public static final int query_title=0x7f05019e;
- public static final int radio_name_cdma=0x7f0502e8;
- public static final int radio_name_gsm=0x7f0502e7;
- public static final int radio_name_real=0x7f0502e5;
- public static final int radio_name_tablet=0x7f0502e6;
+ public static final int query_title=0x7f0501a2;
+ public static final int radio_name_cdma=0x7f0502ed;
+ public static final int radio_name_gsm=0x7f0502ec;
+ public static final int radio_name_real=0x7f0502ea;
+ public static final int radio_name_tablet=0x7f0502eb;
/**
############################################################
# :Dialogs:
@@ -2278,70 +2289,71 @@ public final class R {
Names of the three colors by which colors can be edited in
the color preferences dialog
*/
- public static final int red=0x7f05013f;
- public static final int redir_host=0x7f0502cc;
+ public static final int red=0x7f050142;
+ public static final int redir_host=0x7f0502d1;
/** Title of dialog used to alert players to relay-related
problems with the current game.
*/
- public static final int relay_alert=0x7f0500e1;
- public static final int relay_alert_title=0x7f05024e;
- public static final int relay_host=0x7f0502cb;
- public static final int relay_port=0x7f0502d7;
+ public static final int relay_alert=0x7f0500e4;
+ public static final int relay_alert_title=0x7f050253;
+ public static final int relay_host=0x7f0502d0;
+ public static final int relay_port=0x7f0502dc;
/** Shown in toast when relaunching after switching dicts
*/
- public static final int reload_new_dict_fmt=0x7f050231;
- public static final int rematch_msg=0x7f0502c4;
- public static final int remote_digesting=0x7f050292;
- public static final int remote_empty=0x7f050291;
+ public static final int reload_new_dict_fmt=0x7f050236;
+ public static final int rematch_msg=0x7f0502c9;
+ public static final int remote_digesting=0x7f050297;
+ public static final int remote_empty=0x7f050296;
/** checkbox determining of this player is on this device or
remote. If remote, then the rest of the fields disappear
(since they will be set by the remote device.)
*/
- public static final int remote_label=0x7f0500cf;
- public static final int remote_no_net=0x7f050293;
+ public static final int remote_label=0x7f0500d2;
+ public static final int remote_no_net=0x7f050298;
/**
*/
- public static final int remote_undone=0x7f050202;
- public static final int rename_group_label=0x7f050245;
+ public static final int remote_undone=0x7f050206;
+ public static final int rename_group_label=0x7f05024a;
/** text within rename dialog (triggered by selecting
list_item_rename)
*/
- public static final int rename_label=0x7f050098;
- public static final int rename_label_caveat=0x7f050099;
+ public static final int rename_label=0x7f05009b;
+ public static final int rename_label_caveat=0x7f05009c;
/** if this preference is checked, the hardware volume keys will
work to zoom the board in and out (and will not control
volume) This only applies when the Board screen is
frontmost.
*/
- public static final int ringer_zoom=0x7f05014a;
+ public static final int ringer_zoom=0x7f05014d;
/** explanation of the above
*/
- public static final int ringer_zoom_summary=0x7f05014b;
+ public static final int ringer_zoom_summary=0x7f05014e;
/** checkbox determining if player is robot/automated or human
*/
- public static final int robot_label=0x7f0500d3;
+ public static final int robot_label=0x7f0500d6;
/** Used to format robot player names in the lists of players
found in each game listing
*/
- public static final int robot_name_fmt=0x7f05007f;
+ public static final int robot_name_fmt=0x7f050082;
/** Three possible choices presented in the popup above
*/
- public static final int robot_smart=0x7f0500bf;
- public static final int robot_smarter=0x7f0500c0;
- public static final int robot_smartest=0x7f0500c1;
+ public static final int robot_smart=0x7f0500c2;
+ public static final int robot_smarter=0x7f0500c3;
+ public static final int robot_smartest=0x7f0500c4;
/** title of popup used to select how "smart" (how capable) the
robot player will be.
*/
- public static final int robot_spinner_prompt=0x7f0500be;
+ public static final int robot_spinner_prompt=0x7f0500c1;
/** text of checkbox
*/
- public static final int room_public=0x7f0500b5;
+ public static final int room_public=0x7f0500b8;
/** title for popup of public rooms found on server
*/
- public static final int room_public_prompt=0x7f0500b6;
- public static final int sel_games_fmt=0x7f050251;
- public static final int sel_groups_fmt=0x7f050252;
- public static final int sel_items_fmt=0x7f05026d;
+ public static final int room_public_prompt=0x7f0500b9;
+ public static final int seeking_relay=0x7f050300;
+ public static final int sel_games_fmt=0x7f050256;
+ public static final int sel_groups_fmt=0x7f050257;
+ public static final int sel_items_fmt=0x7f050272;
/**
############################################################
# :Dialogs:
@@ -2352,59 +2364,59 @@ public final class R {
up when the dicts_item_select menuitem is chosen. The
possible answers are the three button text strings below.
*/
- public static final int set_default_message_fmt=0x7f0500a1;
- public static final int set_pref=0x7f0502bb;
+ public static final int set_default_message_fmt=0x7f0500a4;
+ public static final int set_pref=0x7f0502c0;
/** text of separator marking out other-setting area of the dialog
*/
- public static final int settings_label=0x7f0500b9;
+ public static final int settings_label=0x7f0500bc;
/** Checkbox that when set makes taps on the board manipulate an
arrow that then directs where tiles go when tapped in the
tray.
*/
- public static final int show_arrow=0x7f050130;
+ public static final int show_arrow=0x7f050133;
/** clarification of above
*/
- public static final int show_arrow_summary=0x7f050131;
- public static final int show_remote=0x7f050296;
- public static final int show_wordlist_browser=0x7f05024d;
+ public static final int show_arrow_summary=0x7f050134;
+ public static final int show_remote=0x7f05029b;
+ public static final int show_wordlist_browser=0x7f050252;
/** If this preference is checked, the user will not be asked to
confirm after selecting the "Turn done" menu (or tapping the
points display at the right end of the tray)
*/
- public static final int skip_confirm_turn=0x7f050146;
+ public static final int skip_confirm_turn=0x7f050149;
/** explanation of the above
*/
- public static final int skip_confirm_turn_summary=0x7f050147;
- public static final int slmenu_clear_sel=0x7f050263;
- public static final int slmenu_copy_sel=0x7f050262;
- public static final int slmenu_deselect_all=0x7f05026c;
- public static final int slmenu_select_all=0x7f05026b;
- public static final int sms_bad_proto_fmt=0x7f0501e8;
+ public static final int skip_confirm_turn_summary=0x7f05014a;
+ public static final int slmenu_clear_sel=0x7f050268;
+ public static final int slmenu_copy_sel=0x7f050267;
+ public static final int slmenu_deselect_all=0x7f050271;
+ public static final int slmenu_select_all=0x7f050270;
+ public static final int sms_bad_proto_fmt=0x7f0501ec;
/** Title of phone number picker during invitation to a game via SMS
*/
- public static final int sms_invite_title=0x7f0501ef;
- public static final int sms_ready_text=0x7f05025a;
- public static final int square_tiles=0x7f05024a;
- public static final int square_tiles_summary=0x7f05024b;
+ public static final int sms_invite_title=0x7f0501f3;
+ public static final int sms_ready_text=0x7f05025f;
+ public static final int square_tiles=0x7f05024f;
+ public static final int square_tiles_summary=0x7f050250;
/** Used in formatting moves and history
*/
- public static final int str_bonus_all=0x7f050108;
+ public static final int str_bonus_all=0x7f05010b;
/** Using the hint feature is cheating by some players, and it
can be disabled via the hints_allowed preference. I should
be disabling the buttons in this case, but if I don't and you
try to get a hint you'll get this message instead.
*/
- public static final int str_cant_hint_while_disabled=0x7f050181;
+ public static final int str_cant_hint_while_disabled=0x7f050185;
/** Displayed if you try to use the undo menuitem or button and
there are no tiles on the board (no move has yet been made.)
[If I'm being clever and disabling those features in this
case there may be no way to see this.]
*/
- public static final int str_cant_undo_tileassign=0x7f050180;
+ public static final int str_cant_undo_tileassign=0x7f050184;
/** Beginning of the message presented to a user when asking him
to confirm committing the current turn
*/
- public static final int str_commit_confirm=0x7f050105;
+ public static final int str_commit_confirm=0x7f050108;
/** Used to format game name plus some other information as the
one-line summary for each game in the main screen. The name
of the game is substituted for %1$s. Something else
@@ -2412,16 +2424,16 @@ public final class R {
does not require translation unless the parentheses or
ordering is wrong for your language.
*/
- public static final int str_game_name_fmt=0x7f05007e;
+ public static final int str_game_name_fmt=0x7f050081;
/** Displayed when you try to commit a turn that is illegal
because there is empty space between some of the tiles
placed, i.e. they do not form a single word.
*/
- public static final int str_no_empties_in_turn=0x7f050179;
+ public static final int str_no_empties_in_turn=0x7f05017d;
/** Same as above, but used when you try to show tiles belonging
to a player on another device (a remote player.)
*/
- public static final int str_no_peek_remote_tiles=0x7f05017e;
+ public static final int str_no_peek_remote_tiles=0x7f050182;
/** Displayed when you try to reveal a robot player's tiles,
either by tapping on its "hidden" rack (marked by "?"
characters) or by tapping on its scoreboard entry. (The
@@ -2429,28 +2441,28 @@ public final class R {
controlled by the peek_other preference and is disabled by
default.)
*/
- public static final int str_no_peek_robot_tiles=0x7f05017d;
+ public static final int str_no_peek_robot_tiles=0x7f050181;
/** Used, with remote player's name substituted for %1$s, to
indicate that the player is remote.
*/
- public static final int str_nonlocal_name_fmt=0x7f050106;
+ public static final int str_nonlocal_name_fmt=0x7f050109;
/** Displyed when you try to commit a move and it's not your
turn.
*/
- public static final int str_not_your_turn=0x7f05017c;
+ public static final int str_not_your_turn=0x7f050180;
/** Used in formatting game history and move summaries
*/
- public static final int str_pass=0x7f0500ff;
+ public static final int str_pass=0x7f050102;
/** Used to alert user to loss of turn when a move is made and
phonies is set to lose turn when word used not in wordlist
*/
- public static final int str_phony_rejected=0x7f050104;
- public static final int str_placer_fmt=0x7f05022c;
+ public static final int str_phony_rejected=0x7f050107;
+ public static final int str_placer_fmt=0x7f050231;
/** Shown when using the the Game configure screen to configure a
networked game and you try to make all players local.
*/
- public static final int str_reg_server_sans_remote=0x7f0500c6;
+ public static final int str_reg_server_sans_remote=0x7f0500c9;
/** This error message is shown when a remote device tries to
join a game and is providing more players than that game
expects. I do not believe it is possible to see this message
@@ -2458,11 +2470,11 @@ public final class R {
many players are expected and only connects devices where the
numbers match.
*/
- public static final int str_reg_unexpected_user=0x7f050182;
+ public static final int str_reg_unexpected_user=0x7f050186;
/** Used in formatting remote player move summaries
*/
- public static final int str_remote_moved_fmt=0x7f0500fd;
- public static final int str_resigned_fmt=0x7f05022b;
+ public static final int str_remote_moved_fmt=0x7f050100;
+ public static final int str_resigned_fmt=0x7f050230;
/**
############################################################
# Board info/error dialog messages
@@ -2473,18 +2485,18 @@ public final class R {
Notifies user of a normal robot move
*/
- public static final int str_robot_moved_fmt=0x7f0500f7;
+ public static final int str_robot_moved_fmt=0x7f0500fa;
/** Shown when a remote device tries to join a game and wants to
play in a different language. As with the above, this should
be impossible when connecting via the relay.
*/
- public static final int str_server_dict_wins=0x7f050183;
+ public static final int str_server_dict_wins=0x7f050187;
/** Displayed when you try to commit a turn that is illegal
because tiles played do not touch other tiles already on the
board (or the middle/star square in the case of the initial
move.)
*/
- public static final int str_tiles_must_contact=0x7f05017b;
+ public static final int str_tiles_must_contact=0x7f05017f;
/**
error messages
@@ -2492,71 +2504,71 @@ public final class R {
because the tiles placed are not all in the same row or
column.
*/
- public static final int str_tiles_not_in_line=0x7f050178;
+ public static final int str_tiles_not_in_line=0x7f05017c;
/** Displayed when you try to begin a trade but there are not
seven or more tiles in the pool. The rules don't allow
trading in this case.
*/
- public static final int str_too_few_tiles_left_to_trade=0x7f05017f;
+ public static final int str_too_few_tiles_left_to_trade=0x7f050183;
/** Displayed when you try to commit the first move of the game
and are playing a single tile. The first move must include
two or more tiles.
*/
- public static final int str_two_tiles_first_move=0x7f05017a;
+ public static final int str_two_tiles_first_move=0x7f05017e;
/** Used in formatting final scores display
*/
- public static final int str_winner_fmt=0x7f05022a;
+ public static final int str_winner_fmt=0x7f05022f;
/** Used in formatting game history (not move summaries since
information about the current rack is hidden then)
*/
- public static final int strd_cumulative_score_fmt=0x7f0500fc;
+ public static final int strd_cumulative_score_fmt=0x7f0500ff;
/** Used in formatting game history and move summaries
*/
- public static final int strd_remaining_tiles_add_fmt=0x7f0500f9;
+ public static final int strd_remaining_tiles_add_fmt=0x7f0500fc;
/** I don't know how this is used. :-)
*/
- public static final int strd_time_penalty_sub_fmt=0x7f0500fe;
+ public static final int strd_time_penalty_sub_fmt=0x7f050101;
/** Used in formatting moves and history. The total score for
one turn is substituted for %1$d.
*/
- public static final int strd_turn_score_fmt=0x7f050109;
+ public static final int strd_turn_score_fmt=0x7f05010c;
/** Used in formatting game history and move summaries
*/
- public static final int strd_unused_tiles_sub_fmt=0x7f0500fa;
+ public static final int strd_unused_tiles_sub_fmt=0x7f0500fd;
/** Used in formatting game history and move summaries
*/
- public static final int strs_move_across_fmt=0x7f050100;
+ public static final int strs_move_across_fmt=0x7f050103;
/** Used in formatting game history and move summaries
*/
- public static final int strs_move_down_fmt=0x7f050101;
+ public static final int strs_move_down_fmt=0x7f050104;
/** Used in formatting game history and move summaries
*/
- public static final int strs_new_tiles_fmt=0x7f0500fb;
+ public static final int strs_new_tiles_fmt=0x7f0500fe;
/** Used in formatting game history and move summaries
*/
- public static final int strs_tray_at_start_fmt=0x7f050102;
+ public static final int strs_tray_at_start_fmt=0x7f050105;
/** title for window you get when you select menu with text
board_menu_game_counts
*/
- public static final int strs_values_header_fmt=0x7f0500f8;
+ public static final int strs_values_header_fmt=0x7f0500fb;
/** Used in formatting exchange move summaries
*/
- public static final int strss_traded_for_fmt=0x7f050103;
- public static final int study_langpick=0x7f050266;
- public static final int study_no_lang_fmt=0x7f050267;
- public static final int study_no_lists=0x7f050268;
- public static final int studylist_title_fmt=0x7f050265;
+ public static final int strss_traded_for_fmt=0x7f050106;
+ public static final int study_langpick=0x7f05026b;
+ public static final int study_no_lang_fmt=0x7f05026c;
+ public static final int study_no_lists=0x7f05026d;
+ public static final int studylist_title_fmt=0x7f05026a;
/** If substituting an existing same-language wordlist by
choosing button_substdict user gets to choose from a list of
wordlists. This is the title of that list.
*/
- public static final int subst_dict_title=0x7f05018c;
+ public static final int subst_dict_title=0x7f050190;
/**
*/
- public static final int summary_conn=0x7f0501e4;
+ public static final int summary_conn=0x7f0501e8;
/**
*/
- public static final int summary_conn_sms_fmt=0x7f050200;
+ public static final int summary_conn_sms_fmt=0x7f050204;
/** Preference to control what's listed next to game name in the
first line of a game summary in the main games-list screen,
e.g., if the option is "Game Language", "English" in the
@@ -2565,10 +2577,10 @@ public final class R {
The following strings beginning with "game_summary_field_" are
possible values
*/
- public static final int summary_field=0x7f050127;
+ public static final int summary_field=0x7f05012a;
/**
*/
- public static final int summary_gameover=0x7f0501e3;
+ public static final int summary_gameover=0x7f0501e7;
/** The display of each networked game includes one of three
states it can be in in the process of connecting to the
relay. These next three strings are used to create those
@@ -2576,57 +2588,57 @@ public final class R {
First state: is configured to use a room but has not yet
contacted the relay and been assigned that room.
*/
- public static final int summary_relay_conf_fmt=0x7f050081;
+ public static final int summary_relay_conf_fmt=0x7f050084;
/** Third state: enough devices have connected in the room to
form a complete game. We'll be in this state as long as the
game exists.
*/
- public static final int summary_relay_conn_fmt=0x7f050083;
+ public static final int summary_relay_conn_fmt=0x7f050086;
/** Final state: game is over.
*/
- public static final int summary_relay_gameover_fmt=0x7f050084;
+ public static final int summary_relay_gameover_fmt=0x7f050087;
/** Second state: has been assigned to a room on the relay
(meaning the network is working) but there are not yet as
many players as expected: the game is not complete and play
cannot happen.
*/
- public static final int summary_relay_wait_fmt=0x7f050082;
- public static final int summary_send_data_sms=0x7f0502d3;
+ public static final int summary_relay_wait_fmt=0x7f050085;
+ public static final int summary_send_data_sms=0x7f0502d8;
/** explanation of the above
*/
- public static final int summary_sort_tiles=0x7f050149;
- public static final int summary_studyon=0x7f050260;
- public static final int summary_thumbsize=0x7f050253;
+ public static final int summary_sort_tiles=0x7f05014c;
+ public static final int summary_studyon=0x7f050265;
+ public static final int summary_thumbsize=0x7f050258;
/**
*/
- public static final int summary_wait_guest=0x7f0501e2;
+ public static final int summary_wait_guest=0x7f0501e6;
/**
*/
- public static final int summary_wait_host=0x7f0501e1;
+ public static final int summary_wait_host=0x7f0501e5;
/** Used to indicate that a preference is not enabled, i.e. not
part of the game and that the user should ignore it.
*/
- public static final int tell_unused=0x7f050119;
- public static final int thumb_off=0x7f050254;
+ public static final int tell_unused=0x7f05011c;
+ public static final int thumb_off=0x7f050259;
/** color of the tiles' background
*/
- public static final int tile_back=0x7f05013b;
+ public static final int tile_back=0x7f05013e;
/**
*/
- public static final int tilepick_all=0x7f0501ce;
+ public static final int tilepick_all=0x7f0501d2;
/**
*/
- public static final int tilepick_undo=0x7f0501cd;
+ public static final int tilepick_undo=0x7f0501d1;
/** title of dialog brought up in response to the
board_menu_game_left menu. The dialog lists all tiles
remaining in the pool, i.e. not on the board or in the rack
of the player whose turn it is.
*/
- public static final int tiles_left_title=0x7f050199;
+ public static final int tiles_left_title=0x7f05019d;
/** Title of preference in which you select which addressing
modes network games will use to communicate
*/
- public static final int title_addrs_pref=0x7f0502ab;
+ public static final int title_addrs_pref=0x7f0502b0;
/**
############################################################
# :Screens:
@@ -2637,7 +2649,7 @@ public final class R {
window title
*/
- public static final int title_dicts_list=0x7f05009a;
+ public static final int title_dicts_list=0x7f05009d;
/**
############################################################
# :Screens:
@@ -2646,17 +2658,17 @@ public final class R {
window title (game name substituted for %1$s)
*/
- public static final int title_game_config_fmt=0x7f0500a8;
+ public static final int title_game_config_fmt=0x7f0500ab;
/** alternate window title used when game is networked
*/
- public static final int title_gamenet_config_fmt=0x7f0500a9;
+ public static final int title_gamenet_config_fmt=0x7f0500ac;
/** title for popup list of langugages from which user picks
*/
- public static final int title_langs_list=0x7f0500aa;
+ public static final int title_langs_list=0x7f0500ad;
/**
*/
- public static final int title_lookup=0x7f0501c2;
- public static final int title_lookup_study=0x7f0501c3;
+ public static final int title_lookup=0x7f0501c6;
+ public static final int title_lookup_study=0x7f0501c7;
/**
############################################################
# :Screens:
@@ -2669,51 +2681,52 @@ public final class R {
window title
*/
- public static final int title_prefs=0x7f05010b;
- public static final int title_send_data_sms=0x7f0502d2;
+ public static final int title_prefs=0x7f05010e;
+ public static final int title_send_data_sms=0x7f0502d7;
/** If this preference is checked, tiles in the rack will be
re-ordered alphabetically whenever tiles are added,
i.e. after ever move.
*/
- public static final int title_sort_tiles=0x7f050148;
- public static final int title_studyon=0x7f05025f;
+ public static final int title_sort_tiles=0x7f05014b;
+ public static final int title_studyon=0x7f050264;
/** title of dialog allowing user to pick tiles "face up". (This
feature is not yet supported on Android.)
*/
- public static final int title_tile_picker=0x7f050198;
- public static final int update_dicts_fmt=0x7f050297;
- public static final int use_defaults=0x7f0502b1;
+ public static final int title_tile_picker=0x7f05019c;
+ public static final int update_dicts_fmt=0x7f05029c;
+ public static final int use_defaults=0x7f0502b6;
/** text of checkbox controlling whether there's a game timer
*/
- public static final int use_timer=0x7f0500bc;
+ public static final int use_timer=0x7f0500bf;
/** Used to separate names of players when listing them on one
line in a game summary. The \u0020 is a space in xml.
*/
- public static final int vs_join=0x7f050107;
- public static final int waiting_title=0x7f0502bd;
- public static final int warn_bt_disabled=0x7f050220;
- public static final int warn_no_comms=0x7f0502c0;
+ public static final int vs_join=0x7f05010a;
+ public static final int waiting_title=0x7f0502c2;
+ public static final int warn_bt_disabled=0x7f050225;
+ public static final int warn_no_comms=0x7f0502c5;
/**
*/
- public static final int warn_nomobile_fmt=0x7f0501fa;
+ public static final int warn_nomobile_fmt=0x7f0501fe;
/**
*/
- public static final int warn_sms_disabled=0x7f05021f;
+ public static final int warn_sms_disabled=0x7f050224;
/**
*/
- public static final int warn_unlimited=0x7f050201;
+ public static final int warn_unlimited=0x7f050205;
+ public static final int wifi_warning=0x7f050304;
/**
*/
- public static final int word_search_hint=0x7f0501cc;
- public static final int xlations_enabled_summary=0x7f050272;
- public static final int xlations_enabled_title=0x7f050271;
- public static final int xlations_locale=0x7f0502dd;
+ public static final int word_search_hint=0x7f0501d0;
+ public static final int xlations_enabled_summary=0x7f050277;
+ public static final int xlations_enabled_title=0x7f050276;
+ public static final int xlations_locale=0x7f0502e2;
/** Empty in English, this should contain the name of the
translator/creator of the strings.xml file for this
language
*/
- public static final int xlator=0x7f0501ba;
- public static final int xwords_nfc_mime=0x7f050074;
+ public static final int xlator=0x7f0501be;
+ public static final int xwords_nfc_mime=0x7f050077;
}
public static final class style {
public static final int about_items=0x7f080005;
diff --git a/xwords4/android/XWords4/assets/changes.html b/xwords4/android/XWords4/assets/changes.html
index 012d7483c..050cd73d2 100644
--- a/xwords4/android/XWords4/assets/changes.html
+++ b/xwords4/android/XWords4/assets/changes.html
@@ -41,6 +41,12 @@
at all times you can use to invite players. The dialog goes
away when invited players connect.
+ But when a game hasn't connected yet, warn, and
+ don't let it send an invitation
+
+ On startup, if on a phone configured for other than English,
+ offer to download an appropriate wordlist
+
New games are placed in the selected group (if any,
otherwise in default as before)
@@ -60,7 +66,8 @@
it too hard to support this, and non-GSM phones are only
found in one country anyway.)
- Deal with deletion of dictionary that's been set as default
+ Deal with deletion of dictionary that's been set as
+ default
In popup menu from in-game wordlist button, show only
wordlists in same language as game
@@ -68,13 +75,13 @@
When assigning new tiles, don't sort tiles to left of
tray divider
- Don't post empty notifications
-
Remove "Reconnect" button from network status info
Include info for all communication means being used in
network status, and only show an icon in networked games
+ Show status message after writing to SD card
+
Fix a few crashes
@@ -89,10 +96,11 @@
Look into supporting play via peer-to-peer wifi
- Please let me know (email eehouse@eehouse.org) what's broken
- and what features you'd most like to see. And if you do get
- a crash, please let your device report it to Google so I can see
- it!
+ Please let me know
+ (email xwords@eehouse.org)
+ what's broken and what features you'd most like to
+ see. And if you do get a crash, please let your device report it
+ to Google so I can see it!
Thanks!
--Eric
diff --git a/xwords4/android/XWords4/jni/utilwrapper.c b/xwords4/android/XWords4/jni/utilwrapper.c
index bbe03769b..ed100cf5e 100644
--- a/xwords4/android/XWords4/jni/utilwrapper.c
+++ b/xwords4/android/XWords4/jni/utilwrapper.c
@@ -431,12 +431,9 @@ and_util_getUserString( XW_UtilCtxt* uc, XP_U16 stringCode )
return result;
}
-/* FIXME: This will always return the same string, ignoring quantity all but
- the first time (because of util->userStrings) */
static const XP_UCHAR*
and_util_getUserQuantityString( XW_UtilCtxt* uc, XP_U16 stringCode, XP_U16 quantity )
{
- LOG_FUNC();
XP_UCHAR* result = "";
UTIL_CBK_HEADER("getUserQuantityString", "(II)Ljava/lang/String;" );
int index = stringCode - 1; /* see LocalizedStrIncludes.h */
@@ -478,7 +475,6 @@ and_util_getUserQuantityString( XW_UtilCtxt* uc, XP_U16 stringCode, XP_U16 quant
result = ptrs[indx];
UTIL_CBK_TAIL();
- LOG_RETURNF( "%s", result );
return result;
}
diff --git a/xwords4/android/XWords4/jni/xwjni.c b/xwords4/android/XWords4/jni/xwjni.c
index 8be134072..29ae3ea43 100644
--- a/xwords4/android/XWords4/jni/xwjni.c
+++ b/xwords4/android/XWords4/jni/xwjni.c
@@ -126,19 +126,14 @@ map_init( MPFORMAL EnvThreadInfo* ti, JNIEnv* env )
static void
map_remove( EnvThreadInfo* ti, JNIEnv* env )
{
-#ifdef DEBUG
- pthread_t self = pthread_self();
-#endif
XP_Bool found = false;
pthread_mutex_lock( &ti->mtxThreads );
for ( int ii = 0; !found && ii < ti->nEntries; ++ii ) {
found = env == ti->entries[ii].env;
if ( found ) {
- /* XP_LOGF( "%s: clearing out %dth entry (thread %x)", __func__, ii, */
- /* (int)self ); */
+ XP_ASSERT( pthread_self() == ti->entries[ii].owner );
ti->entries[ii].env = NULL;
- XP_ASSERT( ti->entries[ii].owner = self );
ti->entries[ii].owner = 0;
}
}
diff --git a/xwords4/android/XWords4/res/layout/conn_types_display.xml b/xwords4/android/XWords4/res/layout/conn_types_display.xml
index aa12a58fc..1fef11c9d 100644
--- a/xwords4/android/XWords4/res/layout/conn_types_display.xml
+++ b/xwords4/android/XWords4/res/layout/conn_types_display.xml
@@ -14,4 +14,12 @@
android:layout_height="wrap_content"
/>
+
+
diff --git a/xwords4/android/XWords4/res/values/common_rsrc.xml b/xwords4/android/XWords4/res/values/common_rsrc.xml
index 7412ef9f8..47b6085b8 100644
--- a/xwords4/android/XWords4/res/values/common_rsrc.xml
+++ b/xwords4/android/XWords4/res/values/common_rsrc.xml
@@ -128,6 +128,10 @@
key_invite_multi
key_notagain_enablepublic
+ key_na_comms_bt
+ key_na_comms_sms
+ key_na_comms_relay
+
xwords@eehouse.org
diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml
index b63ea2143..31269e877 100644
--- a/xwords4/android/XWords4/res/values/strings.xml
+++ b/xwords4/android/XWords4/res/values/strings.xml
@@ -1170,6 +1170,7 @@
it immediately because an email or messaging app will be
launched to send your invitation. -->
Invite now
+ Drop Relay
@@ -1971,6 +1972,10 @@
Building game summary…
+ This networked game has no way
+ to connect and will never be playable.\n\n(It was probably created
+ from an invitation that didn\'t specify any way of connecting
+ that your device supports.)
Network status for game connected via
%1$s:
@@ -2463,9 +2468,45 @@
Checking for wordlists in %1$s…
SD card write complete.
+ Connecting to relay…
+
This game is configured to use the
- relay for communication but has been unable to connect, either
- because of problems with your device\'s internet connection or
- because the relay is not running.\n\nPlease try opening the game again
- later.
+ relay (internet) for communication but has been unable to
+ connect.\n\nPlease try opening the game again later after
+ conditions have changed.
+
+