diff --git a/xwords4/android/XWords4/archive/R.java b/xwords4/android/XWords4/archive/R.java index 6c9dece10..5d3546333 100644 --- a/xwords4/android/XWords4/archive/R.java +++ b/xwords4/android/XWords4/archive/R.java @@ -693,7 +693,7 @@ string name="str_robot_moved">O robô fez esta jogada:\u0020For debugging */ - public static final int advanced=0x7f0502ec; + public static final int advanced=0x7f0502ee; /** This button takes you to the normal Game Configure screen This button takes you to the normal Game Configure screen Advanced game settings @@ -703,7 +703,7 @@ XLATE-ME /** XLATE-ME You should never need these... */ - public static final int advanced_summary=0x7f0502ed; + public static final int advanced_summary=0x7f0502ef; /** The wordlist %1$s contains only @@ -855,7 +855,7 @@ XLATE-ME /** XLATE-ME Network stats */ - public static final int board_menu_game_netstats=0x7f0502f7; + public static final int board_menu_game_netstats=0x7f0502f9; /** Meaningful only for networked games, this menu causes all messages that have not yet been acknowledged by a remote device in the game to be resent. Eventually I hope to be @@ -877,7 +877,7 @@ XLATE-ME /** Resign */ public static final int board_menu_game_resign=0x7f050104; - public static final int board_menu_game_showInvites=0x7f0502f8; + public static final int board_menu_game_showInvites=0x7f0502fa; /** Invite */ public static final int board_menu_invite=0x7f050274; @@ -1184,7 +1184,7 @@ XLATE-ME /** XLATE-ME Discard changes */ - public static final int button_discard_changes=0x7f0502e4; + public static final int button_discard_changes=0x7f0502e5; /** Done @@ -1220,8 +1220,8 @@ XLATE-ME /** XLATE-ME Edit */ - public static final int button_edit=0x7f0502e3; - public static final int button_enable=0x7f050327; + public static final int button_edit=0x7f0502e4; + public static final int button_enable=0x7f050329; /** XLATE-ME Enable Bluetooth */ @@ -1368,7 +1368,7 @@ XLATE-ME /** Reconnect */ public static final int button_reconnect=0x7f050266; - public static final int button_reinvite=0x7f0502de; + public static final int button_reinvite=0x7f0502df; /** */ public static final int button_relay_add=0x7f050211; @@ -1524,7 +1524,7 @@ XLATE-ME public static final int button_trade_commit=0x7f0500df; /** Button for alert with title above */ - public static final int button_wait=0x7f0502dd; + public static final int button_wait=0x7f0502de; /** ############################################################ # Dialogs @@ -1691,17 +1691,17 @@ XLATE-ME public static final int chat_title_fmt=0x7f050182; /** Checking for wordlists in %1$s… */ - public static final int checking_for_fmt=0x7f05031e; + public static final int checking_for_fmt=0x7f050320; /** Checking */ - public static final int checking_title=0x7f05031d; + public static final int checking_title=0x7f05031f; /** Everything is up-to-date. */ public static final int checkupdates_none_found=0x7f050242; /** EXPERIMENTAL: "label" for invite on clipboard. If it's shown it's by some Android utility */ - public static final int clip_label=0x7f050330; + public static final int clip_label=0x7f050332; /** color of the "crosshairs", lines drawn vertically and horizontally through the square the user is currently touching in order to guide the fat-fingered (most of us) in @@ -1725,8 +1725,8 @@ XLATE-ME and cannot be saved. Would you like to discard your changes, or edit to give it a way to connect? */ - public static final int config_no_connvia=0x7f0502e2; - public static final int confirm_clear_chat=0x7f050332; + public static final int config_no_connvia=0x7f0502e3; + public static final int confirm_clear_chat=0x7f050334; public static final int confirm_clear_relay=0x7f050218; /** Additional text appended to text confirm_delete_dictf in the wordlist delete confiration dialog in the case where the @@ -1738,14 +1738,14 @@ XLATE-ME of the language is substituted for %1$s. */ public static final int confirm_deleteonly_dicts_fmt=0x7f0500aa; - public static final int confirm_drop_relay=0x7f050323; - public static final int confirm_drop_relay_bt=0x7f050325; - public static final int confirm_drop_relay_sms=0x7f050326; + public static final int confirm_drop_relay=0x7f050325; + public static final int confirm_drop_relay_bt=0x7f050327; + public static final int confirm_drop_relay_sms=0x7f050328; /** Your device is set up for %1$s. Would you like to download a wordlist so you can play Crosswords in %1$s? */ - public static final int confirm_get_locdict_fmt=0x7f0502eb; + public static final int confirm_get_locdict_fmt=0x7f0502ed; /** Text of confirmation dialog for above Text of confirmation dialog for above Are you sure you want to restore @@ -2032,16 +2032,16 @@ XLATE-ME public static final int data_gsm_only=0x7f050290; /** SD card write complete. */ - public static final int db_store_done=0x7f05031f; + public static final int db_store_done=0x7f050321; /** XLATE-ME Enable debug features */ - public static final int debug_features=0x7f0502f3; + public static final int debug_features=0x7f0502f5; /** XLATE-ME Menuitems etc. (release builds only) */ - public static final int debug_features_summary=0x7f0502f4; + public static final int debug_features_summary=0x7f0502f6; /** dictionary used by default for human players when creating new game clarification of above @@ -2149,7 +2149,7 @@ XLATE-ME /** Delete wordlist[s] */ public static final int delete_dicts=0x7f0502b2; - public static final int devid_title=0x7f0502fb; + public static final int devid_title=0x7f0502fd; /** Playing via SMS is currently disabled. You can enable it in Settings->Network game settings. @@ -2191,7 +2191,7 @@ XLATE-ME /** XLATE-ME Wordlist download URL */ - public static final int dict_host=0x7f0502f0; + public static final int dict_host=0x7f0502f2; /** Number of words: %1$d\nDownload size: %2$dK\nNote: %3$s */ @@ -2301,15 +2301,15 @@ XLATE-ME will use is substituted in for "%s". */ public static final int dicts_list_prompt_fmt=0x7f0500dc; - public static final int disable_nag_solo_title=0x7f0502ea; + public static final int disable_nag_solo_title=0x7f0502ec; /** Do not notify me no matter how long it\'s been my turn */ - public static final int disable_nag_summary=0x7f0502e9; + public static final int disable_nag_summary=0x7f0502eb; /** Disable turn reminders */ - public static final int disable_nag_title=0x7f0502e8; - public static final int disable_nags_title=0x7f0502e7; + public static final int disable_nag_title=0x7f0502ea; + public static final int disable_nags_title=0x7f0502e9; /** text of item at bottom of dicts choice spinner. It launches the browser pointed at the site where additional wordlists can be found. @@ -2339,7 +2339,7 @@ XLATE-ME /** Downloading %1$s… */ public static final int downloading_dict_fmt=0x7f050196; - public static final int drop_relay_warning_fmt=0x7f050322; + public static final int drop_relay_warning_fmt=0x7f050324; /** Display snapshots of games Display snapshots of games Invitation received but ignored: it @@ -2413,11 +2413,11 @@ XLATE-ME /** XLATE-ME Accept invitations more than once */ - public static final int enable_dupes_summary=0x7f050303; + public static final int enable_dupes_summary=0x7f050305; /** XLATE-ME Accept duplicate invites */ - public static final int enable_dupes_title=0x7f050301; + public static final int enable_dupes_title=0x7f050303; /** NFC is turned off on this device. You can use the Android Settings app to turn it on . */ @@ -2425,11 +2425,11 @@ XLATE-ME /** XLATE-ME Fake invitation to aid debugging */ - public static final int enable_nfc_toself_summary=0x7f050306; + public static final int enable_nfc_toself_summary=0x7f050308; /** XLATE-ME Enable NFC to self */ - public static final int enable_nfc_toself_title=0x7f050305; + public static final int enable_nfc_toself_title=0x7f050307; /** XLATE-ME Rooms others can see and join */ @@ -2438,8 +2438,8 @@ XLATE-ME Enable public rooms */ public static final int enable_pubroom_title=0x7f0502d6; - public static final int enable_relay_toself_summary=0x7f05032e; - public static final int enable_relay_toself_title=0x7f05032d; + public static final int enable_relay_toself_summary=0x7f050330; + public static final int enable_relay_toself_title=0x7f05032f; /** Allow games via SMS @@ -2456,11 +2456,11 @@ XLATE-ME /** XLATE-ME Skip radio when phone numbers same */ - public static final int enable_sms_toself_summary=0x7f050308; + public static final int enable_sms_toself_summary=0x7f05030a; /** XLATE-ME Short-circuit SMS to self */ - public static final int enable_sms_toself_title=0x7f050307; + public static final int enable_sms_toself_title=0x7f050309; /** Tap tiles to select… */ public static final int entering_trade=0x7f0500e1; @@ -2473,7 +2473,7 @@ XLATE-ME /** XLATE-ME Update checks URL */ - public static final int expl_update_url=0x7f050312; + public static final int expl_update_url=0x7f050314; /** if this preference is checked, a dialog will be posted every time a robot makes a move or a move is received from a remote player. @@ -2498,7 +2498,7 @@ XLATE-ME explanation of the above */ public static final int explain_robot_summary=0x7f050154; - public static final int fetching_from_relay=0x7f050334; + public static final int fetching_from_relay=0x7f050336; /** title of dialog brought up in response to the board_menu_game_final menu. The dialog displays the final score and an accounting of it (including subtractions for @@ -2528,7 +2528,7 @@ XLATE-ME /** XLATE-ME Pretend to have radio */ - public static final int force_radio_title=0x7f050309; + public static final int force_radio_title=0x7f05030b; /** Even if my screen is too small */ public static final int force_tablet_summary=0x7f0502bd; @@ -2684,7 +2684,7 @@ XLATE-ME /** XLATE-ME gameid */ - public static final int game_summary_field_gameid=0x7f050310; + public static final int game_summary_field_gameid=0x7f050312; /** Put the language there, so it reads "Game 2 (English)" Put the language there, so it reads "Game 2 (English)" Game language\u200C @@ -2694,7 +2694,7 @@ XLATE-ME /** XLATE-ME Pending packet count */ - public static final int game_summary_field_npackets=0x7f050311; + public static final int game_summary_field_npackets=0x7f050313; /** List names of opponents (summarized), e.g. "Game 2 (vs Kati)" List names of opponents (summarized), e.g. "Game 2 (vs Kati)" Opponent name[s] @@ -2704,7 +2704,7 @@ XLATE-ME /** XLATE-ME rowid */ - public static final int game_summary_field_rowid=0x7f05030f; + public static final int game_summary_field_rowid=0x7f050311; /** List the state of the game, "Game over" or "10 moves made" etc. List the state of the game, "Game over" or "10 moves made" @@ -2776,13 +2776,13 @@ XLATE-ME /** XLATE-ME Load DB from SD card */ - public static final int gamel_menu_loaddb=0x7f050300; + public static final int gamel_menu_loaddb=0x7f050302; /** XLATE-ME %1$s/%2$s XLATE-ME Write DB to SD card */ - public static final int gamel_menu_storedb=0x7f0502ff; + public static final int gamel_menu_storedb=0x7f050301; /** Studylist… */ public static final int gamel_menu_study=0x7f05027e; @@ -2800,13 +2800,13 @@ XLATE-ME /** XLATE-ME Source version id */ - public static final int git_rev_title=0x7f0502fa; + public static final int git_rev_title=0x7f0502fc; /** Don\'t try a second time */ - public static final int got_langdict_summary=0x7f050314; + public static final int got_langdict_summary=0x7f050316; /** Fetch default wordlist for language */ - public static final int got_langdict_title=0x7f050313; + public static final int got_langdict_title=0x7f050315; /** Green */ public static final int green=0x7f05014f; @@ -3097,7 +3097,7 @@ XLATE-ME /** EXPERIMENTAL: Shown as toast when user chooses "My choice" for invitation */ - public static final int invite_copied=0x7f05032f; + public static final int invite_copied=0x7f050331; /** %1$s has invited you to play Crosswords using the wordlist %2$s (for play in %3$s), but it is not installed. Would you like to download the wordlist or @@ -3194,7 +3194,7 @@ XLATE-ME expect it to take a while. They will still be able to connect.) */ - public static final int invite_stays=0x7f0502df; + public static final int invite_stays=0x7f0502e0; /** Send invitation using SMS (texting) or via email? Send invitation using NFC (Android @@ -3500,7 +3500,7 @@ XLATE-ME pulls up dialog to delete the selected game */ public static final int list_item_delete=0x7f05009c; - public static final int list_item_deselect=0x7f050337; + public static final int list_item_deselect=0x7f050339; /** pulls up dialog to change the group of the selected game pulls up dialog to change the group of the selected game pulls up dialog to change the group of the selected game @@ -3539,7 +3539,7 @@ XLATE-ME except for any configuration. */ public static final int list_item_reset=0x7f05009d; - public static final int list_item_select=0x7f050336; + public static final int list_item_select=0x7f050338; /** formatting for last move summary in notifications formatting for last move summary in notifications %1$s passed (0 points) @@ -3691,11 +3691,11 @@ XLATE-ME /** XLATE-ME Enable logging */ - public static final int logging_on=0x7f0502f1; + public static final int logging_on=0x7f0502f3; /** XLATE-ME (release builds only) */ - public static final int logging_on_summary=0x7f0502f2; + public static final int logging_on_summary=0x7f0502f4; /** Word lookup */ public static final int lookup_title=0x7f050287; @@ -3941,7 +3941,7 @@ XLATE-ME /** XLATE-ME Reminder intervals (minutes1,minutes2,...) */ - public static final int nag_intervals=0x7f050304; + public static final int nag_intervals=0x7f050306; /** Nagging: title of notification reminder message Nagging: title of notification reminder message Reminder: It\'s your turn @@ -3956,7 +3956,7 @@ XLATE-ME %1$s copy */ public static final int name_copy_fmt=0x7f05020c; - public static final int name_dict_fmt=0x7f0502fe; + public static final int name_dict_fmt=0x7f050300; public static final int nbs_port=0x7f050083; /** text of checkbox. If this checkbox is checked, games created for network play will by default have the hint feature @@ -3985,7 +3985,7 @@ XLATE-ME /** XLATE-ME Game network stats */ - public static final int netstats_title=0x7f0502f9; + public static final int netstats_title=0x7f0502fb; /** XLATE-ME For experienced players */ @@ -4266,7 +4266,7 @@ XLATE-ME of this device against the one you want to invite—any time the game is open. */ - public static final int nfc_just_tap=0x7f0502e0; + public static final int nfc_just_tap=0x7f0502e1; /** XLATE-ME GSM XLATE-ME @@ -4274,7 +4274,7 @@ XLATE-ME XLATE-ME Send via NFC to self? */ - public static final int nfc_to_self=0x7f05030e; + public static final int nfc_to_self=0x7f050310; /** Title of dialog for renaming game (triggered by selecting list_item_rename) If you try to copy a networked game you get this error @@ -4542,7 +4542,7 @@ XLATE-ME substituted. */ public static final int no_name_found_fmt=0x7f0500c2; - public static final int no_relay_conn=0x7f050321; + public static final int no_relay_conn=0x7f050323; /** This is not currently shown Crosswords wordlists, which are just compressed lists of words plus tile information, determine @@ -4617,10 +4617,10 @@ XLATE-ME /** EXPERIMENTAL: Newbie hint next when invite_choice_clip shown when chosen */ - public static final int not_again_clip_expl_fmt=0x7f050331; - public static final int not_again_comms_bt=0x7f05032a; - public static final int not_again_comms_relay=0x7f050328; - public static final int not_again_comms_sms=0x7f050329; + public static final int not_again_clip_expl_fmt=0x7f050333; + public static final int not_again_comms_bt=0x7f05032c; + public static final int not_again_comms_relay=0x7f05032a; + public static final int not_again_comms_sms=0x7f05032b; /** This is shown in the Board screen when you successfully connecting a game to the relay and are the last device in the game to do so, i.e. the game is now complete and you should @@ -4671,7 +4671,7 @@ XLATE-ME for games with more than two devices, which are rare. */ public static final int not_again_conndmid=0x7f0501c5; - public static final int not_again_dfltname_fmt=0x7f050338; + public static final int not_again_dfltname_fmt=0x7f05033a; /** This screen lets you install new wordslists and view the ones you already have.\n\nWhat wordlists you have installed determines:\n• What languages you can play @@ -4700,7 +4700,7 @@ XLATE-ME and want them back, enable them now. You can turn them off again in Settings. */ - public static final int not_again_enablepublic=0x7f0502e6; + public static final int not_again_enablepublic=0x7f0502e8; /** Shown when you tap the flip button on the toolbar of the main Board screen Shown when you tap the flip button on the toolbar of the main @@ -4794,7 +4794,7 @@ XLATE-ME \"Actionbar.\" */ public static final int not_again_newselect=0x7f05026c; - public static final int not_again_rematch_two_only=0x7f05032c; + public static final int not_again_rematch_two_only=0x7f05032e; /** The selected words will be copied to the system clipboard. You can then paste them into any app that supports pasting text, e.g. an email app. @@ -5377,22 +5377,22 @@ XLATE-ME public static final int players_label_standalone=0x7f0500b6; /** Prefs related to in-app localization */ - public static final int pref_group_l10n_summary=0x7f05031a; + public static final int pref_group_l10n_summary=0x7f05031c; /** Localization Stuff */ - public static final int pref_group_l10n_title=0x7f050319; + public static final int pref_group_l10n_title=0x7f05031b; /** Prefs related to play via internet/relay */ - public static final int pref_group_relay_summary=0x7f050318; + public static final int pref_group_relay_summary=0x7f05031a; /** Relay Stuff */ - public static final int pref_group_relay_title=0x7f050317; + public static final int pref_group_relay_title=0x7f050319; /** Prefs related to play-via-sms */ - public static final int pref_group_sms_summary=0x7f050316; + public static final int pref_group_sms_summary=0x7f050318; /** SMS Stuff */ - public static final int pref_group_sms_title=0x7f050315; + public static final int pref_group_sms_title=0x7f050317; /** Label for the first "human player" name preference Label for the first "human player" name preference Human player @@ -5400,10 +5400,10 @@ XLATE-ME public static final int pref_human_name=0x7f050127; /** Get intermediate builds */ - public static final int pref_item_update_summary=0x7f05031c; + public static final int pref_item_update_summary=0x7f05031e; /** Update between releases */ - public static final int pref_item_update_title=0x7f05031b; + public static final int pref_item_update_title=0x7f05031d; /** Label for the first player color preference Label for the first player color preference First player @@ -5608,7 +5608,7 @@ XLATE-ME Your opponent */ public static final int prev_player=0x7f0502c1; - public static final int processing_games=0x7f050335; + public static final int processing_games=0x7f050337; /** Downloading */ public static final int progress_title=0x7f0502b5; @@ -5627,7 +5627,7 @@ XLATE-ME /** XLATE-ME Relay device port */ - public static final int proxy_port=0x7f0502fd; + public static final int proxy_port=0x7f0502ff; /** 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. @@ -5661,16 +5661,16 @@ XLATE-ME middle of a game, like "do you want to commit this move?" */ public static final int query_title=0x7f0501b3; - public static final int radio_name_cdma=0x7f05030d; - public static final int radio_name_gsm=0x7f05030c; + public static final int radio_name_cdma=0x7f05030f; + public static final int radio_name_gsm=0x7f05030e; /** XLATE-ME Don\'t pretend */ - public static final int radio_name_real=0x7f05030a; + public static final int radio_name_real=0x7f05030c; /** XLATE-ME Tablet/no radio */ - public static final int radio_name_tablet=0x7f05030b; + public static final int radio_name_tablet=0x7f05030d; /** ############################################################ # :Dialogs: @@ -5710,8 +5710,8 @@ XLATE-ME /** XLATE-ME Invite redirect host */ - public static final int redir_host=0x7f0502ef; - public static final int rel_invite_title=0x7f050333; + public static final int redir_host=0x7f0502f1; + public static final int rel_invite_title=0x7f050335; /** Title of dialog used to alert players to relay-related problems with the current game. the color of text, e.g. "2L", shown on a bonus square on the @@ -5731,12 +5731,12 @@ XLATE-ME /** XLATE-ME Relay host */ - public static final int relay_host=0x7f0502ee; + public static final int relay_host=0x7f0502f0; public static final int relay_invite_title=0x7f050208; /** XLATE-ME Relay game port */ - public static final int relay_port=0x7f0502fc; + public static final int relay_port=0x7f0502fe; /** Shown in toast when relaunching after switching dicts Shown in toast when relaunching after switching dicts Reloading game with %1$s @@ -5749,8 +5749,9 @@ XLATE-ME keep this game open while waiting. You will be notified when the game is ready to play. */ - public static final int rematch_msg=0x7f0502e5; + public static final int rematch_msg=0x7f0502e7; public static final int rematch_name_fmt=0x7f0502cb; + public static final int rematch_sent_toast=0x7f0502e6; /** Processing wordlist information… */ public static final int remote_digesting=0x7f0502af; @@ -5871,7 +5872,7 @@ XLATE-ME title for popup of public rooms found on server */ public static final int room_public_prompt=0x7f0500c0; - public static final int seeking_relay=0x7f050320; + public static final int seeking_relay=0x7f050322; /** Games: %1$d */ public static final int sel_games_fmt=0x7f05026e; @@ -6108,7 +6109,7 @@ XLATE-ME placed, i.e. they do not form a single word. */ public static final int str_no_empties_in_turn=0x7f05018b; - public static final int str_no_hint_found=0x7f05032b; + public static final int str_no_hint_found=0x7f05032d; /** Same as above, but used when you try to show tiles belonging to a player on another device (a remote player.) Same as above, but used when you try to show tiles belonging @@ -6535,7 +6536,7 @@ string name="str_robot_moved">Robot provedl tento tah:(GSM phones only) */ - public static final int summary_send_data_sms=0x7f0502f6; + public static final int summary_send_data_sms=0x7f0502f8; /** explanation of the above explanation of the above Sort racks whenever new tiles @@ -6741,7 +6742,7 @@ string name="str_robot_moved">Robot provedl tento tah:Send SMS as data */ - public static final int title_send_data_sms=0x7f0502f5; + public static final int title_send_data_sms=0x7f0502f7; /** If this preference is checked, tiles in the rack will be re-ordered alphabetically whenever tiles are added, i.e. after ever move. @@ -6889,6 +6890,7 @@ string name="str_robot_moved">Robot provedl tento tah:Waiting for players */ @@ -6906,7 +6908,7 @@ string name="str_robot_moved">Robot provedl tento tah: */ - public static final int warn_no_comms=0x7f0502e1; + public static final int warn_no_comms=0x7f0502e2; /** The number %1$s for %2$s is not @@ -6934,7 +6936,7 @@ réseau.) */ public static final int warn_unlimited=0x7f05021c; - public static final int wifi_warning=0x7f050324; + public static final int wifi_warning=0x7f050326; /** First letters @@ -6950,7 +6952,7 @@ réseau.) /** XLATE-ME Fake locale for translation */ - public static final int xlations_locale=0x7f050302; + public static final int xlations_locale=0x7f050304; /** Empty in English, this should contain the name of the translator/creator of the strings.xml file for this language diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml index 070a18d10..4841f7ae5 100644 --- a/xwords4/android/XWords4/res/values/strings.xml +++ b/xwords4/android/XWords4/res/values/strings.xml @@ -2470,6 +2470,7 @@ Waiting for players Waiting for response + Rematch in progress Wait Re-invite @@ -2494,10 +2495,10 @@ Edit Discard changes - Issuing rematch invitation. You will - see this message until it has been accepted.\n\nYou do not need to - keep this game open while waiting. You will be notified when the - game is ready to play. + Rematch invitations sent + This game is hosting a rematch, and has + sent an invitation. You will see this message until it has been + accepted. Public rooms have been made an \"advanced\" feature in this release. If you were using them diff --git a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml index 4fc56b596..a5e871cb2 100644 --- a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml @@ -2120,6 +2120,7 @@ Gnitiaw rof sreyalp Gnitiaw rof esnopser + Hctamer ni ssergorp Tiaw Etivni-er @@ -2139,10 +2140,10 @@ tide ot evig ti a yaw ot ?tcennoc Tide Dracsid segnahc - Gniussi hctamer noitativni. Uoy lliw - ees siht egassem litnu ti sah neeb detpecca.\n\nUoy od ton deen ot - peek siht emag nepo elihw gnitiaw. Uoy lliw eb deifiton nehw eht - emag si ydaer ot yalp. + Hctamer snoitativni tnes + Siht emag si gnitsoh a ,hctamer dna sah + tnes na noitativni. Uoy lliw ees siht egassem litnu ti sah neeb + detpecca. Cilbup smoor evah neeb edam na \"decnavda\" erutaef ni siht esaeler. Fi uoy erew gnisu meht dna tnaw meht ,kcab elbane meht won. Uoy nac nrut meht ffo niaga diff --git a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml index 852260b62..b7200d8e2 100644 --- a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml @@ -2120,6 +2120,7 @@ WAITING FOR PLAYERS WAITING FOR RESPONSE + REMATCH IN PROGRESS WAIT RE-INVITE @@ -2139,10 +2140,10 @@ EDIT TO GIVE IT A WAY TO CONNECT? EDIT DISCARD CHANGES - ISSUING REMATCH INVITATION. YOU WILL - SEE THIS MESSAGE UNTIL IT HAS BEEN ACCEPTED.\n\nYOU DO NOT NEED TO - KEEP THIS GAME OPEN WHILE WAITING. YOU WILL BE NOTIFIED WHEN THE - GAME IS READY TO PLAY. + REMATCH INVITATIONS SENT + THIS GAME IS HOSTING A REMATCH, AND HAS + SENT AN INVITATION. YOU WILL SEE THIS MESSAGE UNTIL IT HAS BEEN + ACCEPTED. PUBLIC ROOMS HAVE BEEN MADE AN \"ADVANCED\" FEATURE IN THIS RELEASE. IF YOU WERE USING THEM AND WANT THEM BACK, ENABLE THEM NOW. YOU CAN TURN THEM OFF AGAIN diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java index 5c2260dd6..065609c12 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java @@ -1,6 +1,6 @@ /* -*- compile-command: "find-and-ant.sh debug install"; -*- */ /* - * Copyright 2009 - 2014 by Eric House (xwords@eehouse.org). All + * Copyright 2009 - 2016 by Eric House (xwords@eehouse.org). All * rights reserved. * * This program is free software; you can redistribute it and/or @@ -87,7 +87,7 @@ public class BoardDelegate extends DelegateBase private GameLock m_gameLock; private CurGameInfo m_gi; private GameSummary m_summary; - private boolean m_relayConnected; + private boolean m_relayMissing; private CommsTransport m_xport; private Handler m_handler = null; private TimerRunnable[] m_timers; @@ -140,7 +140,6 @@ public class BoardDelegate extends DelegateBase private int m_nGuestDevs = -1; private boolean m_haveInvited = false; private boolean m_overNotShown; - private boolean m_rematchInvitesSent = false; private static Set s_this = new HashSet(); @@ -433,9 +432,14 @@ public class BoardDelegate extends DelegateBase lstnr = new OnClickListener() { public void onClick( DialogInterface dialog, int item ) { - if ( m_relayConnected || + if ( !m_relayMissing || ! m_connTypes.contains(CommsConnType.COMMS_CONN_RELAY) ) { - showInviteChoicesThen( Action.LAUNCH_INVITE_ACTION ); + Assert.assertTrue( 0 < m_nMissing ); + if ( m_summary.hasRematchInfo() ) { + tryRematchInvites( true ); + } else { + showInviteChoicesThen( Action.LAUNCH_INVITE_ACTION ); + } } else { askDropRelay(); } @@ -490,67 +494,67 @@ public class BoardDelegate extends DelegateBase boolean nukeInviteButton = false; boolean nukeNeutButton = true; int buttonTxt = R.string.newgame_invite; - if ( m_summary.hasRematchInfo() ) { - titleID = R.string.info_title;; - message = getString( R.string.rematch_msg ); - nukeInviteButton = true; - } else { - if ( !m_relayConnected ) { - titleID = R.string.seeking_relay; - // If relay is only means, don't allow at all - boolean relayOnly = 1 >= m_connTypes.size(); - nukeInviteButton = relayOnly; - message = getString( R.string.no_relay_conn ); - if ( NetStateCache.netAvail( m_activity ) - && NetStateCache.onWifi() ) { - message += getString( R.string.wifi_warning ); - } - if ( !relayOnly ) { - CommsConnTypeSet without = (CommsConnTypeSet) - m_connTypes.clone(); - without.remove( CommsConnType.COMMS_CONN_RELAY ); - message += "\n\n" - + getString( R.string.drop_relay_warning_fmt, - without.toString( m_activity ) ); - buttonTxt = R.string.newgame_drop_relay; - } - } else { - m_sentInfo = DBUtils.getInvitesFor( m_activity, m_rowid ); - int nSent = m_sentInfo.getMinPlayerCount(); - boolean haveSent = nSent >= m_nMissing; - if ( haveSent ) { + if ( m_relayMissing ) { + titleID = R.string.seeking_relay; + // If relay is only means, don't allow at all + boolean relayOnly = 1 >= m_connTypes.size(); + nukeInviteButton = relayOnly; + message = getString( R.string.no_relay_conn ); + if ( NetStateCache.netAvail( m_activity ) + && NetStateCache.onWifi() ) { + message += getString( R.string.wifi_warning ); + } + if ( !relayOnly ) { + CommsConnTypeSet without = (CommsConnTypeSet) + m_connTypes.clone(); + without.remove( CommsConnType.COMMS_CONN_RELAY ); + message += "\n\n" + + getString( R.string.drop_relay_warning_fmt, + without.toString( m_activity ) ); + buttonTxt = R.string.newgame_drop_relay; + } + } else { + m_sentInfo = DBUtils.getInvitesFor( m_activity, m_rowid ); + int nSent = m_sentInfo.getMinPlayerCount(); + boolean invitesSent = nSent >= m_nMissing; + if ( invitesSent ) { + if ( m_summary.hasRematchInfo() ) { + titleID = R.string.waiting_rematch_title; + message = getString( R.string.rematch_msg ); + } else { titleID = R.string.waiting_invite_title; message = getQuantityString( R.plurals.invite_sent_fmt, nSent, nSent, m_nMissing ); - buttonTxt = R.string.button_reinvite; - nukeNeutButton = false; - } else if ( DeviceRole.SERVER_ISCLIENT == m_gi.serverRole ) { - message = getString( R.string.invited_msg ); - titleID = R.string.waiting_title; - nukeInviteButton = true; - } else { - titleID = R.string.waiting_title; - message = getQuantityString( R.plurals.invite_msg_fmt, - m_nMissing, m_nMissing ); } - - if ( ! haveSent && ! nukeInviteButton ) { - String ps = null; - if ( m_nMissing > 1 ) { - ps = getString( R.string.invite_multiple ); - } else { - boolean[] avail = NFCUtils.nfcAvail( m_activity ); - if ( avail[1] ) { - ps = getString( R.string.invite_if_nfc ); - } - } - if ( null != ps ) { - message += "\n\n" + ps; - } - } - - message += "\n\n" + getString( R.string.invite_stays ); + buttonTxt = R.string.button_reinvite; + nukeNeutButton = false; + } else if ( DeviceRole.SERVER_ISCLIENT == m_gi.serverRole ) { + Assert.assertFalse( m_summary.hasRematchInfo() ); + message = getString( R.string.invited_msg ); + titleID = R.string.waiting_title; + nukeInviteButton = true; + } else { + titleID = R.string.waiting_title; + message = getQuantityString( R.plurals.invite_msg_fmt, + m_nMissing, m_nMissing ); } + + if ( ! invitesSent && ! nukeInviteButton ) { + String ps = null; + if ( m_nMissing > 1 ) { + ps = getString( R.string.invite_multiple ); + } else { + boolean[] avail = NFCUtils.nfcAvail( m_activity ); + if ( avail[1] ) { + ps = getString( R.string.invite_if_nfc ); + } + } + if ( null != ps ) { + message += "\n\n" + ps; + } + } + + message += "\n\n" + getString( R.string.invite_stays ); } ad.setMessage( message ); @@ -719,7 +723,7 @@ public class BoardDelegate extends DelegateBase setBackgroundColor(); setKeepScreenOn(); } else if ( ! isFinishing() ) { - if ( !m_relayConnected || 0 < m_nMissing ) { + if ( m_relayMissing || 0 < m_nMissing ) { showDialog( DlgID.DLG_INVITE ); } } @@ -1105,7 +1109,7 @@ public class BoardDelegate extends DelegateBase case CLIPBOARD: NetLaunchInfo nli = new NetLaunchInfo( m_summary, m_gi, 1, 1 + m_nGuestDevs ); - if ( !m_relayConnected ) { + if ( m_relayMissing ) { nli.removeAddress( CommsConnType.COMMS_CONN_RELAY ); } if ( InviteMeans.EMAIL == means ) { @@ -1516,7 +1520,7 @@ public class BoardDelegate extends DelegateBase } } else if ( nMissing > 0 ) { if ( m_summary.hasRematchInfo() ) { - tryRematchInvites(); + tryRematchInvites( false ); } else { if ( !m_haveInvited ) { m_haveInvited = true; @@ -1859,7 +1863,7 @@ public class BoardDelegate extends DelegateBase m_nGuestDevs = nDevs; // If we might have put up an alert earlier, take it down - dismissInviteAlert( nMissing, m_relayConnected ); + dismissInviteAlert( nMissing, !m_relayMissing ); m_nMissing = nMissing; // will be 0 unless isServer is true @@ -2018,7 +2022,7 @@ public class BoardDelegate extends DelegateBase String langName = m_gi.langName(); m_summary = DBUtils.getSummary( m_activity, m_gameLock ); - m_relayConnected = !m_summary.relayConnectPending(); + m_relayMissing = m_summary.relayConnectPending(); setThis( this ); @@ -2180,10 +2184,10 @@ public class BoardDelegate extends DelegateBase { runOnUiThread( new Runnable() { public void run() { - if ( !m_relayConnected && connected ) { - m_relayConnected = true; + if ( m_relayMissing && connected ) { + m_relayMissing = false; } - if ( 0 == nMissing || m_relayConnected ) { + if ( 0 == nMissing || !m_relayMissing ) { dismissDialog( DlgID.DLG_INVITE ); } } @@ -2411,7 +2415,7 @@ public class BoardDelegate extends DelegateBase private void tryInvites() { if ( 0 < m_nMissing && m_summary.hasRematchInfo() ) { - tryRematchInvites(); + tryRematchInvites( false ); } else if ( null != m_missingDevs ) { Assert.assertNotNull( m_missingMeans ); String gameName = GameUtils.getName( m_activity, m_rowid ); @@ -2424,7 +2428,7 @@ public class BoardDelegate extends DelegateBase int forceChannel = ii + m_nGuestDevs + 1; NetLaunchInfo nli = new NetLaunchInfo( m_summary, m_gi, nPlayers, forceChannel ); - if ( !m_relayConnected ) { + if ( m_relayMissing ) { nli.removeAddress( CommsConnType.COMMS_CONN_RELAY ); } @@ -2688,34 +2692,41 @@ public class BoardDelegate extends DelegateBase } } - private void tryRematchInvites() + private void tryRematchInvites( boolean force ) { - if ( XWApp.REMATCH_SUPPORTED && !m_rematchInvitesSent ) { - m_rematchInvitesSent = true; - - Assert.assertNotNull( m_summary ); - Assert.assertNotNull( m_gi ); - // only supports a single invite for now! - int numHere = 1; - int forceChannel = 1; - NetLaunchInfo nli = new NetLaunchInfo( m_summary, m_gi, numHere, - forceChannel ); - - String value; - value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_PHONE ); - if ( null != value ) { - SMSService.inviteRemote( m_activity, value, nli ); - recordInviteSent( InviteMeans.SMS, value ); + if ( XWApp.REMATCH_SUPPORTED ) { + if ( !force ) { + SentInvitesInfo info = DBUtils.getInvitesFor( m_activity, m_rowid ); + force = 0 == info.getMinPlayerCount(); } - value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_BTADDR ); - if ( null != value ) { - BTService.inviteRemote( m_activity, value, nli ); - recordInviteSent( InviteMeans.BLUETOOTH, value ); - } - value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_RELAY ); - if ( null != value ) { - RelayService.inviteRemote( m_activity, 0, value, nli ); - recordInviteSent( InviteMeans.RELAY, value ); + + if ( force ) { + Assert.assertNotNull( m_summary ); + Assert.assertNotNull( m_gi ); + // only supports a single invite for now! + int numHere = 1; + int forceChannel = 1; + NetLaunchInfo nli = new NetLaunchInfo( m_summary, m_gi, numHere, + forceChannel ); + + String value; + value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_PHONE ); + if ( null != value ) { + SMSService.inviteRemote( m_activity, value, nli ); + recordInviteSent( InviteMeans.SMS, value ); + } + value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_BTADDR ); + if ( null != value ) { + BTService.inviteRemote( m_activity, value, nli ); + recordInviteSent( InviteMeans.BLUETOOTH, value ); + } + value = m_summary.getStringExtra( GameSummary.EXTRA_REMATCH_RELAY ); + if ( null != value ) { + RelayService.inviteRemote( m_activity, 0, value, nli ); + recordInviteSent( InviteMeans.RELAY, value ); + } + + showToast( R.string.rematch_sent_toast ); } } }