diff --git a/xwords4/android/XWords4/archive/R.java b/xwords4/android/XWords4/archive/R.java index 84a55f85a..33c305857 100644 --- a/xwords4/android/XWords4/archive/R.java +++ b/xwords4/android/XWords4/archive/R.java @@ -353,8 +353,8 @@ public final class R { /** Another paragraph in the about dialog */ public static final int about_web=0x7f0501de; - public static final int add_done_fmt=0x7f05028e; - public static final int add_to_study_fmt=0x7f050286; + public static final int add_done_fmt=0x7f050290; + public static final int add_to_study_fmt=0x7f050288; /** Debugging stuff. No point in localizing it. */ public static final int advanced=0x7f050079; @@ -368,7 +368,7 @@ public final class R { /** The name of the app. Not localized! */ public static final int app_name=0x7f050001; - public static final int app_not_found_fmt=0x7f0502ca; + public static final int app_not_found_fmt=0x7f0502cc; public static final int app_version=0x7f050000; /** the background color of the area outside the board, e.g. between entries in the scoreboard @@ -435,7 +435,7 @@ public final class R { */ public static final int board_menu_game_resend=0x7f050114; public static final int board_menu_game_resign=0x7f050113; - public static final int board_menu_invite=0x7f05027f; + public static final int board_menu_invite=0x7f050281; /** */ public static final int board_menu_pass=0x7f0501ec; @@ -500,14 +500,14 @@ public final class R { /** */ public static final int bt_bad_proto_fmt=0x7f05020e; - public static final int bt_err_count_fmt=0x7f0502c8; + public static final int bt_err_count_fmt=0x7f0502ca; /** */ public static final int bt_fail_fmt=0x7f050213; /** Title of device picker during invitation to a game via Bluetooth */ public static final int bt_invite_title=0x7f050215; - public static final int bt_no_devs=0x7f0502c9; + public static final int bt_no_devs=0x7f0502cb; /** Turn Bluetooth on In the Bluetooth invite device dialog */ @@ -528,7 +528,7 @@ public final class R { /** The only button available when the above message is displayed */ public static final int button_close_game=0x7f0501aa; - public static final int button_decline=0x7f05025c; + public static final int button_decline=0x7f05025e; /** */ public static final int button_default_both=0x7f0500bf; @@ -554,7 +554,7 @@ public final class R { reset a game. */ public static final int button_discard=0x7f0501b9; - public static final int button_discard_changes=0x7f0502e1; + public static final int button_discard_changes=0x7f0502e3; /** */ public static final int button_done=0x7f0501e9; @@ -564,14 +564,16 @@ public final class R { /** Text of button displayed when downloading is an option */ public static final int button_download=0x7f0501ad; - public static final int button_edit=0x7f0502e0; - public static final int button_go_settings=0x7f050281; + public static final int button_edit=0x7f0502e2; + public static final int button_enable_sms=0x7f05024a; + public static final int button_go_settings=0x7f050283; /** */ public static final int button_invite=0x7f050214; /** text of button to juggle (randomly rearrange order of) players */ public static final int button_juggle_players=0x7f0500ca; + public static final int button_later=0x7f05024b; /** New strings that need to be documented and found a home above. */ @@ -618,12 +620,12 @@ public final class R { in many places. */ public static final int button_ok=0x7f0501b4; - public static final int button_reconnect=0x7f050271; + public static final int button_reconnect=0x7f050273; /** Button shown in game over dialog triggering creation of new game with the same players and parameters as the one that just ended. */ - public static final int button_rematch=0x7f050270; + public static final int button_rematch=0x7f050272; /** When you select the list_item_reset contextual menu, you are asked to confirm. This is the text of the first button ("Cancel" is the second). @@ -680,8 +682,8 @@ public final class R { */ public static final int button_trade_commit=0x7f0500f0; public static final int button_yes=0x7f0501b6; - public static final int cannot_delete_default_group_fmt=0x7f05026e; - public static final int change_group=0x7f050274; + public static final int cannot_delete_default_group_fmt=0x7f050270; + public static final int change_group=0x7f050276; /** text of button in About Crosswords dialog summoning above dialog */ @@ -727,7 +729,7 @@ public final class R { substituted for %1$s. */ public static final int chat_title_fmt=0x7f050193; - public static final int checkupdates_none_found=0x7f05024b; + public static final int checkupdates_none_found=0x7f05024d; /** 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 @@ -735,7 +737,7 @@ public final class R { on the board. */ public static final int clr_crosshairs=0x7f05015c; - public static final int config_no_connvia=0x7f0502df; + public static final int config_no_connvia=0x7f0502e1; /** */ public static final int confirm_clear=0x7f050226; @@ -788,7 +790,7 @@ public final class R { /** */ public static final int confirm_sms_willpay=0x7f050248; - public static final int confirm_studylist_clear_fmt=0x7f05028c; + public static final int confirm_studylist_clear_fmt=0x7f05028e; /** text of dialog shown when the menu item board_menu_undo_last is chosen. */ @@ -822,7 +824,7 @@ public final class R { public static final int connect_one_hour=0x7f050179; public static final int connect_six_hours=0x7f05017a; public static final int connect_thirty_mins=0x7f050178; - public static final int connection_via_label=0x7f0502d7; + public static final int connection_via_label=0x7f0502d9; /** */ public static final int connstat_lastother_succ_fmt=0x7f05023b; @@ -862,11 +864,11 @@ public final class R { of each there are are and how many points each is worth. */ public static final int counts_values_title=0x7f0501bf; - public static final int cur_menu_marker_fmt=0x7f05027e; + public static final int cur_menu_marker_fmt=0x7f050280; /** */ public static final int cur_tiles_fmt=0x7f0501f4; - public static final int data_gsm_only=0x7f05029e; + public static final int data_gsm_only=0x7f0502a0; public static final int debug_features=0x7f050080; public static final int debug_features_summary=0x7f050081; /** dictionary used by default for human players when creating @@ -878,9 +880,9 @@ public final class R { public static final int default_host=0x7f05006d; /** label within default wordlists in app preferences */ - public static final int default_language=0x7f0502cb; - public static final int default_loc=0x7f05025f; - public static final int default_loc_summary=0x7f050260; + public static final int default_language=0x7f0502cd; + public static final int default_loc=0x7f050261; + public static final int default_loc_summary=0x7f050262; /** Welcome dialog text */ public static final int default_name_message=0x7f0501db; @@ -908,7 +910,7 @@ public final class R { */ public static final int default_robodict=0x7f05013f; public static final int default_update_url=0x7f050077; - public static final int delete_dicts=0x7f0502b0; + public static final int delete_dicts=0x7f0502b2; /** */ public static final int dft_name_fmt=0x7f05021b; @@ -928,14 +930,14 @@ public final class R { */ public static final int dict_browse_title_fmt=0x7f0501f6; public static final int dict_host=0x7f05007d; - public static final int dict_info_fmt=0x7f0502b4; + public static final int dict_info_fmt=0x7f0502b6; /** label for dropdown by which wordlist is chosen that this player will use. The language the game will use (which constrains the choice of wordlists) is substituted in for "%1$s". */ public static final int dict_lang_label_fmt=0x7f0500ec; - public static final int dict_on_server=0x7f0502b6; + public static final int dict_on_server=0x7f0502b8; /** string name="invite_mime">text/plainDisplay snapshots of games */ - public static final int dropped_dupe=0x7f05027d; + public static final int dropped_dupe=0x7f05027f; /** Shown in the main screen when you launch Crosswords from an invitation (received in email or messaging app, say) and there's already a game running that matches that invitation. @@ -1003,21 +1005,21 @@ public final class R { /** Shows in SMS Invite dialog when no phone numbers have been saved previously */ public static final int empty_sms_inviter=0x7f050224; - public static final int enable_bt_first=0x7f0502dc; + public static final int enable_bt_first=0x7f0502de; public static final int enable_dupes_summary=0x7f05008e; public static final int enable_dupes_title=0x7f05008c; - public static final int enable_nfc=0x7f050280; + public static final int enable_nfc=0x7f050282; /** */ public static final int enable_sms=0x7f050241; - public static final int enable_sms_first=0x7f0502dd; + public static final int enable_sms_first=0x7f0502df; /** */ public static final int enable_sms_summary=0x7f050242; public static final int enable_sms_toself_summary=0x7f050091; public static final int enable_sms_toself_title=0x7f050090; public static final int entering_trade=0x7f0500f2; - public static final int err_dup_invite_fmt=0x7f0502d4; + public static final int err_dup_invite_fmt=0x7f0502d6; public static final int expl_update_url=0x7f050076; /** 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 @@ -1037,8 +1039,8 @@ public final class R { /** Explanatory text appears in the dialog */ public static final int force_expl=0x7f0500e7; - public static final int force_tablet_summary=0x7f0502bb; - public static final int force_tablet_title=0x7f0502ba; + public static final int force_tablet_summary=0x7f0502bd; + public static final int force_tablet_title=0x7f0502bc; /** ############################################################ # :Dialogs: @@ -1086,7 +1088,7 @@ public final class R { game to make changes */ public static final int game_locked=0x7f0500c6; - public static final int game_name_group_title=0x7f05026d; + public static final int game_name_group_title=0x7f05026f; /** */ public static final int game_rename_title=0x7f0500b0; @@ -1117,7 +1119,7 @@ public final class R { public static final int gamel_menu_checkmoves=0x7f0500a3; /** */ - public static final int gamel_menu_checkupdates=0x7f05024a; + public static final int gamel_menu_checkupdates=0x7f05024c; /** ############################################################ # :Menus: @@ -1132,19 +1134,19 @@ public final class R { public static final int gamel_menu_dicts=0x7f0500a1; public static final int gamel_menu_loaddb=0x7f05008b; public static final int gamel_menu_storedb=0x7f05008a; - public static final int gamel_menu_study=0x7f050289; + public static final int gamel_menu_study=0x7f05028b; /** */ public static final int get_sms_number=0x7f050225; - public static final int getinfo=0x7f0502af; + public static final int getinfo=0x7f0502b1; public static final int git_rev=0x7f050093; public static final int git_rev_title=0x7f050086; public static final int green=0x7f050162; - public static final int group_cur_games=0x7f050268; - public static final int group_name_fmt=0x7f05026f; - public static final int group_new_games=0x7f050269; - public static final int groups_confirm_del_fmt=0x7f05026a; - public static final int groups_confirm_del_games_fmt=0x7f05026b; + public static final int group_cur_games=0x7f05026a; + public static final int group_name_fmt=0x7f050271; + public static final int group_new_games=0x7f05026b; + public static final int groups_confirm_del_fmt=0x7f05026c; + public static final int groups_confirm_del_games_fmt=0x7f05026d; /** Used as the default name for remote players displayed within the Game configure screen */ @@ -1207,12 +1209,12 @@ public final class R { public static final int info_title=0x7f0501bc; /** */ - public static final int inform_dict_diffdict_fmt=0x7f050254; + public static final int inform_dict_diffdict_fmt=0x7f050256; /** */ - public static final int inform_dict_diffversion_fmt=0x7f050252; - public static final int inform_dict_download=0x7f050255; - public static final int inform_dict_title=0x7f050253; + public static final int inform_dict_diffversion_fmt=0x7f050254; + public static final int inform_dict_download=0x7f050257; + public static final int inform_dict_title=0x7f050255; /** Will new games, on default, randomly rearrange the start order of players. */ @@ -1249,9 +1251,9 @@ public final class R { */ public static final int invite_chooser_fmt=0x7f05018f; public static final int invite_chooser_sms=0x7f050191; - public static final int invite_dict_missing_body_fmt=0x7f05025a; - public static final int invite_dict_missing_body_noname_fmt=0x7f05025b; - public static final int invite_dict_missing_title=0x7f050259; + public static final int invite_dict_missing_body_fmt=0x7f05025c; + public static final int invite_dict_missing_body_noname_fmt=0x7f05025d; + public static final int invite_dict_missing_title=0x7f05025b; public static final int invite_host=0x7f05006f; /** This is the body of the html version of the invitation. A URL is created with parameters describing the game and @@ -1274,8 +1276,8 @@ public final class R { The number of players missing is substituted for "%1$d". */ public static final int invite_msg_fmt=0x7f0500f8; - public static final int invite_multi_summary=0x7f0502d6; - public static final int invite_multi_title=0x7f0502d5; + public static final int invite_multi_summary=0x7f0502d8; + public static final int invite_multi_title=0x7f0502d7; /** Most users create games with only two players, which is the default, but Crosswords supports up to four. When I'm using the above string to encourage the opener of a game missing @@ -1291,7 +1293,7 @@ public final class R { /** */ public static final int invite_sms_desc_fmt=0x7f050221; - public static final int invite_stays=0x7f0502da; + public static final int invite_stays=0x7f0502dc; /** Send invitation using SMS (texting) or via email? Send invitation using NFC (Android @@ -1448,15 +1450,15 @@ public final class R { different wordlists.) */ public static final int lang_label=0x7f0500cb; - public static final int lang_name_english=0x7f0502a5; - public static final int lang_name_fmt=0x7f0502b7; - public static final int lang_unknown=0x7f0502b8; + public static final int lang_name_english=0x7f0502a7; + public static final int lang_name_fmt=0x7f0502b9; + public static final int lang_unknown=0x7f0502ba; public static final int langdict_label=0x7f0500cc; - public static final int list_group_default=0x7f050265; - public static final int list_group_delete=0x7f050263; - public static final int list_group_movedown=0x7f050267; - public static final int list_group_moveup=0x7f050266; - public static final int list_group_rename=0x7f050264; + public static final int list_group_default=0x7f050267; + public static final int list_group_delete=0x7f050265; + public static final int list_group_movedown=0x7f050269; + public static final int list_group_moveup=0x7f050268; + public static final int list_group_rename=0x7f050266; /** ############## menu items ############## pulls up dialog to configure the selected game */ @@ -1485,13 +1487,13 @@ public final class R { except for any configuration. */ public static final int list_item_reset=0x7f0500ac; - public static final int lmi_move_fmt=0x7f0502c4; + public static final int lmi_move_fmt=0x7f0502c6; /** formatting for last move summary in notifications */ - public static final int lmi_pass_fmt=0x7f0502c3; - public static final int lmi_phony_fmt=0x7f0502c6; - public static final int lmi_tiles_fmt=0x7f0502c7; - public static final int lmi_trade_fmt=0x7f0502c5; + public static final int lmi_pass_fmt=0x7f0502c5; + public static final int lmi_phony_fmt=0x7f0502c8; + public static final int lmi_tiles_fmt=0x7f0502c9; + public static final int lmi_trade_fmt=0x7f0502c7; /** One of the strings used in the right column of the list of installed wordlists to describe those that are part of Crosswords and that cannot be uninstalled or moved. @@ -1509,32 +1511,32 @@ public final class R { /** */ public static final int loc_external=0x7f0500c2; - public static final int loc_filters_all=0x7f0502a1; - public static final int loc_filters_menu=0x7f0502a3; - public static final int loc_filters_modified=0x7f0502a4; - public static final int loc_filters_prompt=0x7f05029f; - public static final int loc_filters_screen=0x7f0502a2; - public static final int loc_fmts_mismatch=0x7f0502aa; + public static final int loc_filters_all=0x7f0502a3; + public static final int loc_filters_menu=0x7f0502a5; + public static final int loc_filters_modified=0x7f0502a6; + public static final int loc_filters_prompt=0x7f0502a1; + public static final int loc_filters_screen=0x7f0502a4; + public static final int loc_fmts_mismatch=0x7f0502ac; /** see move_dictf above */ public static final int loc_internal=0x7f0500c1; - public static final int loc_item_check=0x7f0502a7; + public static final int loc_item_check=0x7f0502a9; /** for loc item edit menu */ - public static final int loc_item_clear=0x7f0502a6; - public static final int loc_item_copy_bless=0x7f0502a9; - public static final int loc_item_copy_eng=0x7f0502a8; - public static final int loc_lang_blessed=0x7f050299; - public static final int loc_lang_local=0x7f05029a; - public static final int loc_menu_xlate=0x7f050298; - public static final int loc_search_prompt=0x7f0502a0; + public static final int loc_item_clear=0x7f0502a8; + public static final int loc_item_copy_bless=0x7f0502ab; + public static final int loc_item_copy_eng=0x7f0502aa; + public static final int loc_lang_blessed=0x7f05029b; + public static final int loc_lang_local=0x7f05029c; + public static final int loc_menu_xlate=0x7f05029a; + public static final int loc_search_prompt=0x7f0502a2; /** This is the "hint" printed in light text in the empty player name field */ public static final int local_name_hint=0x7f050198; public static final int logging_on=0x7f05007e; public static final int logging_on_summary=0x7f05007f; - public static final int lookup_title=0x7f050294; + public static final int lookup_title=0x7f050296; /** */ public static final int manual_owner_name=0x7f050222; @@ -1559,7 +1561,7 @@ public final class R { /** text of menu that brings up the Settings (preferences) dialog */ public static final int menu_prefs=0x7f0500a2; - public static final int menu_rateme=0x7f050284; + public static final int menu_rateme=0x7f050286; /** */ public static final int menu_toggle_values=0x7f050233; @@ -1575,11 +1577,11 @@ public final class R { /** body of notification shown when invitation requires a wordslist that's not installed */ - public static final int missing_dict_detail=0x7f050258; + public static final int missing_dict_detail=0x7f05025a; /** Title of notification shown when invitation requires a wordslist that's not installed */ - public static final int missing_dict_title=0x7f050257; + public static final int missing_dict_title=0x7f050259; /** Used as a substitute for the names of remote players when they aren't available yet because the connection is not complete. Displayed in the lists of players found in each @@ -1647,22 +1649,22 @@ public final class R { /** Text of progress indicator shown while check is being conducted */ public static final int msgs_progress=0x7f0500a4; - public static final int nag_body_fmt=0x7f0502c0; - public static final int nag_days_fmt=0x7f0502bf; - public static final int nag_hours_fmt=0x7f0502be; + public static final int nag_body_fmt=0x7f0502c2; + public static final int nag_days_fmt=0x7f0502c1; + public static final int nag_hours_fmt=0x7f0502c0; public static final int nag_intervals=0x7f05008f; /** body of warning notification reminder message. First three are used to build a string based on the length of time that's then inserted in the fourth. E.g "PlayerName moved more than 2 day[s], 4 hour[s] ago." */ - public static final int nag_minutes_fmt=0x7f0502bd; + public static final int nag_minutes_fmt=0x7f0502bf; /** Nagging: title of notification reminder message */ - public static final int nag_title=0x7f0502bc; + public static final int nag_title=0x7f0502be; /** above is inserted in this the last time I warn */ - public static final int nag_warn_last_fmt=0x7f0502c1; + public static final int nag_warn_last_fmt=0x7f0502c3; public static final int name_dict_fmt=0x7f050089; public static final int nbs_port=0x7f050078; /** text of checkbox. If this checkbox is checked, games created @@ -1682,10 +1684,10 @@ public final class R { public static final int network_behavior_summary=0x7f050173; /** */ - public static final int new_app_avail=0x7f05024f; + public static final int new_app_avail=0x7f050251; /** */ - public static final int new_app_avail_fmt=0x7f05024e; + public static final int new_app_avail_fmt=0x7f050250; /** */ public static final int new_bt_body_fmt=0x7f05020d; @@ -1697,14 +1699,14 @@ public final class R { public static final int new_btmove_title=0x7f05020f; /** */ - public static final int new_dict_avail=0x7f05024c; + public static final int new_dict_avail=0x7f05024e; /** */ - public static final int new_dict_avail_fmt=0x7f05024d; - public static final int new_game=0x7f0502cd; - public static final int new_game_message=0x7f0502cf; - public static final int new_game_message_net=0x7f0502d0; - public static final int new_game_networked=0x7f0502ce; + public static final int new_dict_avail_fmt=0x7f05024f; + public static final int new_game=0x7f0502cf; + public static final int new_game_message=0x7f0502d1; + public static final int new_game_message_net=0x7f0502d2; + public static final int new_game_networked=0x7f0502d0; /** */ public static final int new_move_body=0x7f050210; @@ -1717,7 +1719,7 @@ public final class R { /** */ public static final int new_sms_title=0x7f05021e; - public static final int new_xlations_fmt=0x7f05029b; + public static final int new_xlations_fmt=0x7f05029d; /** ########################################################### # :Dialogs: @@ -1782,8 +1784,8 @@ public final class R { /** */ public static final int newgame_sms_header=0x7f05021c; - public static final int newgroup_label=0x7f050262; - public static final int nfc_just_tap=0x7f0502db; + public static final int newgroup_label=0x7f050264; + public static final int nfc_just_tap=0x7f0502dd; public static final int nfc_to_self=0x7f050092; /** Title of dialog for renaming game (triggered by selecting list_item_rename) @@ -1830,7 +1832,7 @@ public final class R { you get this error message */ public static final int no_games_to_refresh=0x7f0500a5; - public static final int no_market=0x7f050285; + public static final int no_market=0x7f050287; /** displayed when you long-tap a scoreboard entry and there's no most recent score to show */ @@ -1853,7 +1855,7 @@ public final class R { arrow appears. This explains it. */ public static final int not_again_arrow=0x7f0501d7; - public static final int not_again_backclears=0x7f050278; + public static final int not_again_backclears=0x7f05027a; /** */ public static final int not_again_browse=0x7f0501f9; @@ -1881,7 +1883,7 @@ public final class R { for games with more than two devices, which are rare. */ public static final int not_again_conndmid=0x7f0501d5; - public static final int not_again_dicts=0x7f0502b9; + public static final int not_again_dicts=0x7f0502bb; /** This is shown when you choose the board_menu_done menu item. It's to let you know that there's a shortcut that does almost the same thing. @@ -1891,8 +1893,8 @@ public final class R { Board screen */ public static final int not_again_flip=0x7f0501cd; - public static final int not_again_fmt_expl=0x7f0502ab; - public static final int not_again_hidenewgamebuttons=0x7f0502d9; + public static final int not_again_fmt_expl=0x7f0502ad; + public static final int not_again_hidenewgamebuttons=0x7f0502db; /** Shown when you tap the next hint button on the toolbar of the main Board screen */ @@ -1916,8 +1918,8 @@ public final class R { /** Shown when you first pick the list_item_new_from menuitem */ public static final int not_again_newfrom=0x7f0501d9; - public static final int not_again_newselect=0x7f050277; - public static final int not_again_studycopy=0x7f050293; + public static final int not_again_newselect=0x7f050279; + public static final int not_again_studycopy=0x7f050295; /** The following strings (all whose names start with "not_again") appear in the New user info dialog. @@ -1952,7 +1954,7 @@ public final class R { the main Board screen */ public static final int not_again_zoom=0x7f0501ce; - public static final int note_none=0x7f0502b5; + public static final int note_none=0x7f0502b7; /** 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.) @@ -1973,8 +1975,8 @@ public final class R { device */ public static final int notify_vibrate=0x7f05017d; - public static final int nplayers_fmt=0x7f0502d3; - public static final int nplayers_prompt=0x7f0502d2; + public static final int nplayers_fmt=0x7f0502d5; + public static final int nplayers_prompt=0x7f0502d4; /** 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 @@ -1984,13 +1986,13 @@ public final class R { games as well. */ public static final int password_label=0x7f0500ef; - public static final int paste_done_fmt=0x7f05028d; + public static final int paste_done_fmt=0x7f05028f; /** 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=0x7f050283; + public static final int pct_suffix=0x7f050285; /** 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.) @@ -2147,8 +2149,8 @@ public final class R { public static final int prefs_names_summary=0x7f050135; /** Used when prev player's name can't be looked up */ - public static final int prev_player=0x7f0502c2; - public static final int progress_title=0x7f0502b3; + public static final int prev_player=0x7f0502c4; + public static final int progress_title=0x7f0502b5; /** */ public static final int prompt_max_len=0x7f0501ff; @@ -2193,24 +2195,24 @@ public final class R { problems with the current game. */ public static final int relay_alert=0x7f0500ff; - public static final int relay_alert_title=0x7f050276; + public static final int relay_alert_title=0x7f050278; public static final int relay_host=0x7f05007b; public static final int relay_port=0x7f050087; /** Shown in toast when relaunching after switching dicts */ - public static final int reload_new_dict_fmt=0x7f050256; - public static final int remote_digesting=0x7f0502ad; - public static final int remote_empty=0x7f0502ac; + public static final int reload_new_dict_fmt=0x7f050258; + public static final int remote_digesting=0x7f0502af; + public static final int remote_empty=0x7f0502ae; /** 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=0x7f0500ea; - public static final int remote_no_net=0x7f0502ae; + public static final int remote_no_net=0x7f0502b0; /** */ public static final int remote_undone=0x7f05022b; - public static final int rename_group_label=0x7f05026c; + public static final int rename_group_label=0x7f05026e; /** text within rename dialog (triggered by selecting list_item_rename) */ @@ -2247,9 +2249,9 @@ public final class R { /** title for popup of public rooms found on server */ public static final int room_public_prompt=0x7f0500d1; - public static final int sel_games_fmt=0x7f050279; - public static final int sel_groups_fmt=0x7f05027a; - public static final int sel_items_fmt=0x7f050297; + public static final int sel_games_fmt=0x7f05027b; + public static final int sel_groups_fmt=0x7f05027c; + public static final int sel_items_fmt=0x7f050299; /** ############################################################ # :Dialogs: @@ -2261,7 +2263,7 @@ public final class R { possible answers are the three button text strings below. */ public static final int set_default_message_fmt=0x7f0500bc; - public static final int set_pref=0x7f0502d8; + public static final int set_pref=0x7f0502da; /** text of separator marking out other-setting area of the dialog */ public static final int settings_label=0x7f0500d4; @@ -2273,8 +2275,8 @@ public final class R { /** clarification of above */ public static final int show_arrow_summary=0x7f050153; - public static final int show_remote=0x7f0502b1; - public static final int show_wordlist_browser=0x7f050275; + public static final int show_remote=0x7f0502b3; + public static final int show_wordlist_browser=0x7f050277; /** 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) @@ -2283,19 +2285,19 @@ public final class R { /** explanation of the above */ public static final int skip_confirm_turn_summary=0x7f050169; - public static final int slmenu_clear_sel=0x7f05028b; - public static final int slmenu_copy_sel=0x7f05028a; - public static final int slmenu_deselect_all=0x7f050296; - public static final int slmenu_select_all=0x7f050295; + public static final int slmenu_clear_sel=0x7f05028d; + public static final int slmenu_copy_sel=0x7f05028c; + public static final int slmenu_deselect_all=0x7f050298; + public static final int slmenu_select_all=0x7f050297; /** Title of phone number picker during invitation to a game via SMS */ public static final int sms_invite_title=0x7f050216; - public static final int sms_ready_text=0x7f050282; + public static final int sms_ready_text=0x7f050284; /** */ public static final int smsname_label=0x7f050218; - public static final int square_tiles=0x7f050272; - public static final int square_tiles_summary=0x7f050273; + public static final int square_tiles=0x7f050274; + public static final int square_tiles_summary=0x7f050275; /** Used in formatting moves and history */ public static final int str_bonus_all=0x7f050128; @@ -2373,7 +2375,7 @@ public final class R { public static final int str_remote_moved_fmt=0x7f05011d; /** Used in formatting final scores display */ - public static final int str_resigned=0x7f050250; + public static final int str_resigned=0x7f050252; /** ############################################################ # Board info/error dialog messages @@ -2416,7 +2418,7 @@ public final class R { public static final int str_two_tiles_first_move=0x7f05019d; /** Used in formatting final scores display */ - public static final int str_winner=0x7f050251; + public static final int str_winner=0x7f050253; /** Used in formatting game history (not move summaries since information about the current rack is hidden then) */ @@ -2463,10 +2465,10 @@ public final class R { /** Used in formatting exchange move summaries */ public static final int strss_traded_for_fmt=0x7f050123; - public static final int study_langpick=0x7f050290; - public static final int study_no_lang_fmt=0x7f050291; - public static final int study_no_lists=0x7f050292; - public static final int studylist_title_fmt=0x7f05028f; + public static final int study_langpick=0x7f050292; + public static final int study_no_lang_fmt=0x7f050293; + public static final int study_no_lists=0x7f050294; + public static final int studylist_title_fmt=0x7f050291; /** 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. @@ -2516,8 +2518,8 @@ public final class R { /** explanation of the above */ public static final int summary_sort_tiles=0x7f05016b; - public static final int summary_studyon=0x7f050288; - public static final int summary_thumbsize=0x7f05027b; + public static final int summary_studyon=0x7f05028a; + public static final int summary_thumbsize=0x7f05027d; /** */ public static final int summary_wait_guest=0x7f050209; @@ -2528,7 +2530,7 @@ public final class R { part of the game and that the user should ignore it. */ public static final int tell_unused=0x7f05013b; - public static final int thumb_off=0x7f05027c; + public static final int thumb_off=0x7f05027e; /** color of the tiles' background */ public static final int tile_back=0x7f05015d; @@ -2547,7 +2549,7 @@ public final class R { /** Title of preference in which you select which addressing modes network games will use to communicate */ - public static final int title_addrs_pref=0x7f0502cc; + public static final int title_addrs_pref=0x7f0502ce; /** ############################################################ # :Screens: @@ -2597,13 +2599,13 @@ public final class R { i.e. after ever move. */ public static final int title_sort_tiles=0x7f05016a; - public static final int title_studyon=0x7f050287; + public static final int title_studyon=0x7f050289; /** 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=0x7f0501bd; - public static final int update_dicts_fmt=0x7f0502b2; - public static final int use_defaults=0x7f0502d1; + public static final int update_dicts_fmt=0x7f0502b4; + public static final int use_defaults=0x7f0502d3; /** text of checkbox controlling whether there's a game timer */ public static final int use_timer=0x7f0500d7; @@ -2611,7 +2613,7 @@ public final class R { line in a game summary. The \u0020 is a space in xml. */ public static final int vs_join=0x7f050127; - public static final int warn_no_comms=0x7f0502de; + public static final int warn_no_comms=0x7f0502e0; /** */ public static final int warn_nomobile_fmt=0x7f050223; @@ -2624,8 +2626,8 @@ public final class R { /** */ public static final int word_search_hint=0x7f0501f1; - public static final int xlations_enabled_summary=0x7f05029d; - public static final int xlations_enabled_title=0x7f05029c; + public static final int xlations_enabled_summary=0x7f05029f; + public static final int xlations_enabled_title=0x7f05029e; public static final int xlations_locale=0x7f05008d; /** Empty in English, this should contain the name of the translator/creator of the strings.xml file for this diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml index ea680e6da..6d2f45c10 100644 --- a/xwords4/android/XWords4/res/values/strings.xml +++ b/xwords4/android/XWords4/res/values/strings.xml @@ -1983,10 +1983,13 @@ Play via SMS is currently - disabled, so no moves will be sent for this game.\n\nIf you want to - enable play via SMS, go to Settings->Network game settings. + disabled. No moves will be sent via SMS for this game.\n\nYou can + enable play via SMS now, or later. + Enable SMS + Later + Check for updates Everything is up-to-date. 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 0e2467618..ff2d261ad 100644 --- a/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ba_CK/strings.xml @@ -1707,9 +1707,11 @@ Sey: I\'ll yap lla reirrac segrahc Yalp aiv SMS si yltnerruc - ,delbasid os on sevom lliw eb tnes rof siht emag.\n\nFi uoy tnaw ot - elbane yalp aiv ,SMs og ot Krowten>-sGnittes emag sgnittes. + delbasid. On sevom lliw eb tnes aiv SMS rof siht emag.\n\nUoy nac + elbane yalp aiv SMS ,won ro retal. + Elbane SMS + Retal Kcehc rof setadpu Gnihtyreve si etad-ot-pu. 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 ded956cc3..2112698f3 100644 --- a/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml +++ b/xwords4/android/XWords4/res_src/values-ca_PS/strings.xml @@ -1707,9 +1707,11 @@ YES: I\'LL PAY ALL CARRIER CHARGES PLAY VIA SMS IS CURRENTLY - DISABLED, SO NO MOVES WILL BE SENT FOR THIS GAME.\n\nIF YOU WANT TO - ENABLE PLAY VIA SMS, GO TO SETTINGS->NETWORK GAME SETTINGS. + DISABLED. NO MOVES WILL BE SENT VIA SMS FOR THIS GAME.\n\nYOU CAN + ENABLE PLAY VIA SMS NOW, OR LATER. + ENABLE SMS + LATER CHECK FOR UPDATES EVERYTHING IS UP-TO-DATE. diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/ConnViaViewLayout.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/ConnViaViewLayout.java index 9073a194c..70a23dd6e 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/ConnViaViewLayout.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/ConnViaViewLayout.java @@ -88,11 +88,8 @@ public class ConnViaViewLayout extends LinearLayout { public void onCheckedChanged( CompoundButton buttonView, boolean isChecked ) { if ( isChecked ) { - if ( enabledElseWarn( typf ) ) { - m_curSet.add( typf ); - } else { - buttonView.setChecked( false ); - } + enabledElseWarn( typf ); + m_curSet.add( typf ); } else { m_curSet.remove( typf ); if ( null != m_emptyWarner && 0 == m_curSet.size()) { @@ -104,23 +101,21 @@ public class ConnViaViewLayout extends LinearLayout { } } - private boolean enabledElseWarn( CommsConnType typ ) + private void enabledElseWarn( CommsConnType typ ) { - boolean result = true; + boolean enabled = true; Context context = getContext(); switch( typ ) { case COMMS_CONN_SMS: - result = XWPrefs.getSMSEnabled( context ); + enabled = XWPrefs.getSMSEnabled( context ); break; case COMMS_CONN_BT: - result = BTService.BTEnabled(); + enabled = BTService.BTEnabled(); } - if ( !result && null != m_disabledWarner ) { + if ( !enabled && null != m_disabledWarner ) { m_disabledWarner.warnDisabled( typ ); } - - return result; } private static CommsConnTypeSet getSupported( Context context ) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java index 529325626..c9a194b65 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java @@ -472,6 +472,11 @@ public class DelegateBase implements DlgClickNotify, m_dlgDelegate.showDictGoneFinish(); } + protected void showSMSEnableDialog( Action action ) + { + m_dlgDelegate.showSMSEnableDialog( action ); + } + ////////////////////////////////////////////////// // MultiService.MultiEventListener interface ////////////////////////////////////////////////// diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java index ff74afa60..bc2e3bf8b 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java @@ -32,6 +32,7 @@ import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; +import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; @@ -104,6 +105,9 @@ public class DlgDelegate { SL_CLEAR_ACTION, SL_COPY_ACTION, + // clasify me + ENABLE_SMS_ASK, + ENABLE_SMS_DO, __LAST } @@ -215,6 +219,9 @@ public class DlgDelegate { case DLG_DICTGONE: dialog = createDictGoneDialog(); break; + case DIALOG_ENABLESMS: + dialog = createEnableSMSDialog( state, dlgID ); + break; } return dialog; } @@ -256,6 +263,16 @@ public class DlgDelegate { showDialog( DlgID.DIALOG_ABOUT ); } + // Puts up alert asking to choose a reason to enable SMS, and on dismiss + // calls dlgButtonClicked with the action and in params a Boolean + // indicating whether enabling is now ok. + public void showSMSEnableDialog( Action action ) + { + DlgState state = new DlgState( DlgID.DIALOG_ENABLESMS, action ); + addState( state ); + showDialog( DlgID.DIALOG_ENABLESMS ); + } + public void showNotAgainDlgThen( String msg, int prefsKey, final Action action, ActionPair more, final Object[] params ) @@ -649,6 +666,32 @@ public class DlgDelegate { return dialog; } + private Dialog createEnableSMSDialog( final DlgState state, DlgID dlgID ) + { + final View layout = LocUtils.inflate( m_activity, R.layout.confirm_sms ); + + DialogInterface.OnClickListener lstnr = + new DialogInterface.OnClickListener() { + public void onClick( DialogInterface dlg, int item ) { + Spinner reasons = (Spinner) + layout.findViewById( R.id.confirm_sms_reasons ); + boolean enabled = 0 < reasons.getSelectedItemPosition(); + Object[] params = { new Boolean(enabled), }; + m_clickCallback.dlgButtonClicked( state.m_action, + AlertDialog.BUTTON_POSITIVE, + params ); + } + }; + + Dialog dialog = LocUtils.makeAlertBuilder( m_activity ) + .setTitle( R.string.confirm_sms_title ) + .setView( layout ) + .setPositiveButton( R.string.button_ok, lstnr ) + .create(); + Utils.setRemoveOnDismiss( m_activity, dialog, dlgID ); + return dialog; + } + private OnClickListener mkCallbackClickListener( final DlgState state, final NotAgainView naView ) { diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgID.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgID.java index 13b88090a..6de9d61a7 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgID.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgID.java @@ -29,6 +29,7 @@ public enum DlgID { , DIALOG_ABOUT , DIALOG_NOTAGAIN , DIALOG_OKONLY + , DIALOG_ENABLESMS , DICT_OR_DECLINE , DLG_CONNSTAT , DLG_DELETED @@ -46,7 +47,7 @@ public enum DlgID { , NEW_GROUP , NO_NAME_FOUND , PLAYER_EDIT - , CONFIRM_SMS + , ENABLE_SMS , QUERY_ENDGAME , RENAME_GAME , RENAME_GROUP diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java index 33ae25a5d..3406cf9c7 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java @@ -334,8 +334,9 @@ public class GameConfigDelegate extends DelegateBase switch( typ ) { case COMMS_CONN_SMS: showConfirmThen( R.string.warn_sms_disabled, - R.string.button_go_settings, - Action.SMS_CONFIG_ACTION ); + R.string.button_enable_sms, + R.string.button_later, + Action.ENABLE_SMS_ASK ); break; case COMMS_CONN_BT: showOKOnlyDialog( R.string.enable_bt_first ); @@ -651,6 +652,15 @@ public class GameConfigDelegate extends DelegateBase } finish(); break; + case ENABLE_SMS_ASK: + showSMSEnableDialog( Action.ENABLE_SMS_DO ); + break; + case ENABLE_SMS_DO: + boolean enabled = (Boolean)params[0]; + if ( enabled ) { + XWPrefs.setSMSEnabled( m_activity, true ); + } + break; default: callSuper = true; } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsActivity.java index ed408f96d..bdbd0a299 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsActivity.java @@ -27,6 +27,7 @@ import android.os.Bundle; import android.preference.PreferenceActivity; import org.eehouse.android.xw4.loc.LocUtils; +import org.eehouse.android.xw4.DlgDelegate.Action; public class PrefsActivity extends PreferenceActivity implements Delegator { @@ -92,6 +93,11 @@ public class PrefsActivity extends PreferenceActivity implements Delegator { m_dlgt.showOKOnlyDialog( msgID ); } + protected void showSMSEnableDialog( Action action ) + { + m_dlgt.showSMSEnableDialog( action ); + } + ////////////////////////////////////////////////////////////////////// // Delegator interface ////////////////////////////////////////////////////////////////////// diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java index 2c8fe8f66..6924ae70b 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java @@ -20,6 +20,7 @@ package org.eehouse.android.xw4; +import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; @@ -35,6 +36,7 @@ import android.view.View; import android.widget.Button; import java.io.File; +import org.eehouse.android.xw4.DlgDelegate.Action; import org.eehouse.android.xw4.loc.LocUtils; public class PrefsDelegate extends DelegateBase @@ -106,9 +108,6 @@ public class PrefsDelegate extends DelegateBase } }; break; - case CONFIRM_SMS: - dialog = SMSCheckBoxPreference.onCreateDialog( m_activity, id ); - break; } if ( null == dialog && null != lstnr ) { @@ -205,6 +204,21 @@ public class PrefsDelegate extends DelegateBase } } + @Override + public void dlgButtonClicked( Action action, int button, Object[] params ) + { + if ( AlertDialog.BUTTON_POSITIVE == button + && action == Action.ENABLE_SMS_DO ) { + boolean enabled = (Boolean)params[0]; + if ( enabled ) { + XWPrefs.setSMSEnabled( m_activity, true ); + SMSCheckBoxPreference.setChecked(); + } + } else { + super.dlgButtonClicked( action, button, params ); + } + } + private void relaunch() { PreferenceManager.setDefaultValues( m_activity, R.xml.xwprefs, diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSCheckBoxPreference.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSCheckBoxPreference.java index 8895b2e46..b144d0804 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSCheckBoxPreference.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSCheckBoxPreference.java @@ -21,16 +21,12 @@ package org.eehouse.android.xw4; import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.preference.CheckBoxPreference; import android.util.AttributeSet; import android.view.View; -import android.widget.Spinner; -import org.eehouse.android.xw4.loc.LocUtils; +import org.eehouse.android.xw4.DlgDelegate.Action; public class SMSCheckBoxPreference extends CheckBoxPreference { @@ -60,9 +56,16 @@ public class SMSCheckBoxPreference extends CheckBoxPreference { { if ( checked && m_attached && m_context instanceof PrefsActivity ) { PrefsActivity activity = (PrefsActivity)m_context; - activity.showDialog( DlgID.CONFIRM_SMS.ordinal() ); + activity.showSMSEnableDialog( Action.ENABLE_SMS_DO ); } else { - super_setChecked( checked ); + super.setChecked( checked ); + } + } + + protected static void setChecked() + { + if ( null != s_this ) { + s_this.super_setChecked( true ); } } @@ -71,34 +74,4 @@ public class SMSCheckBoxPreference extends CheckBoxPreference { { super.setChecked( checked ); } - - public static Dialog onCreateDialog( final Activity activity, final int id ) - { - final View layout = LocUtils.inflate( activity, R.layout.confirm_sms ); - - DialogInterface.OnClickListener lstnr = - new DialogInterface.OnClickListener() { - public void onClick( DialogInterface dlg, int item ) { - Spinner reasons = (Spinner) - layout.findViewById( R.id.confirm_sms_reasons ); - if ( 0 < reasons.getSelectedItemPosition() ) { - s_this.super_setChecked( true ); - } - } - }; - - AlertDialog.Builder ab = LocUtils.makeAlertBuilder( activity ) - .setTitle( R.string.confirm_sms_title ) - .setView( layout ) - .setNegativeButton( R.string.button_ok, lstnr ); - Dialog dialog = ab.create(); - - dialog.setOnDismissListener( new DialogInterface.OnDismissListener() { - public void onDismiss( DialogInterface di ) { - activity.removeDialog( id ); - } - } ); - - return dialog; - } } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWPrefs.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWPrefs.java index 8fbe4e5d0..36e284151 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWPrefs.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/XWPrefs.java @@ -43,6 +43,11 @@ public class XWPrefs { return getPrefsBoolean( context, R.string.key_enable_sms, false ); } + public static void setSMSEnabled( Context context, boolean enabled ) + { + setPrefsBoolean( context, R.string.key_enable_sms, enabled ); + } + public static boolean getDebugEnabled( Context context ) { return getPrefsBoolean( context, R.string.key_enable_debug, false );