factor confirm-unlimited-SMS stuff out into utility dialog so I can

turn on SMS from outside preferences -- which is a much better
experience than sending somebody into the prefs labyrinth
This commit is contained in:
Eric House 2015-02-11 07:51:19 -08:00
parent 615ec72ea7
commit 2142c752bf
13 changed files with 274 additions and 213 deletions

View file

@ -353,8 +353,8 @@ public final class R {
/** Another paragraph in the about dialog /** Another paragraph in the about dialog
*/ */
public static final int about_web=0x7f0501de; public static final int about_web=0x7f0501de;
public static final int add_done_fmt=0x7f05028e; public static final int add_done_fmt=0x7f050290;
public static final int add_to_study_fmt=0x7f050286; public static final int add_to_study_fmt=0x7f050288;
/** Debugging stuff. No point in localizing it. /** Debugging stuff. No point in localizing it.
*/ */
public static final int advanced=0x7f050079; public static final int advanced=0x7f050079;
@ -368,7 +368,7 @@ public final class R {
/** The name of the app. Not localized! /** The name of the app. Not localized!
*/ */
public static final int app_name=0x7f050001; 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; public static final int app_version=0x7f050000;
/** the background color of the area outside the board, /** the background color of the area outside the board,
e.g. between entries in the scoreboard 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_resend=0x7f050114;
public static final int board_menu_game_resign=0x7f050113; 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; 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_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; public static final int bt_fail_fmt=0x7f050213;
/** Title of device picker during invitation to a game via Bluetooth /** Title of device picker during invitation to a game via Bluetooth
*/ */
public static final int bt_invite_title=0x7f050215; public static final int bt_invite_title=0x7f050215;
public static final int bt_no_devs=0x7f0502c9; public static final int bt_no_devs=0x7f0502cb;
/** <string name="newgame_enable_bt">Turn Bluetooth on</string> /** <string name="newgame_enable_bt">Turn Bluetooth on</string>
In the Bluetooth invite device dialog In the Bluetooth invite device dialog
*/ */
@ -528,7 +528,7 @@ public final class R {
/** The only button available when the above message is displayed /** The only button available when the above message is displayed
*/ */
public static final int button_close_game=0x7f0501aa; 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; public static final int button_default_both=0x7f0500bf;
@ -554,7 +554,7 @@ public final class R {
reset a game. reset a game.
*/ */
public static final int button_discard=0x7f0501b9; 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; public static final int button_done=0x7f0501e9;
@ -564,14 +564,16 @@ public final class R {
/** Text of button displayed when downloading is an option /** Text of button displayed when downloading is an option
*/ */
public static final int button_download=0x7f0501ad; public static final int button_download=0x7f0501ad;
public static final int button_edit=0x7f0502e0; public static final int button_edit=0x7f0502e2;
public static final int button_go_settings=0x7f050281; public static final int button_enable_sms=0x7f05024a;
public static final int button_go_settings=0x7f050283;
/** /**
*/ */
public static final int button_invite=0x7f050214; public static final int button_invite=0x7f050214;
/** text of button to juggle (randomly rearrange order of) players /** text of button to juggle (randomly rearrange order of) players
*/ */
public static final int button_juggle_players=0x7f0500ca; 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 /** New strings that need to be documented and found a home
above. above.
*/ */
@ -618,12 +620,12 @@ public final class R {
in many places. in many places.
*/ */
public static final int button_ok=0x7f0501b4; 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 /** Button shown in game over dialog triggering creation of new
game with the same players and parameters as the one that game with the same players and parameters as the one that
just ended. 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 /** When you select the list_item_reset contextual menu, you are
asked to confirm. This is the text of the first button asked to confirm. This is the text of the first button
("Cancel" is the second). ("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_trade_commit=0x7f0500f0;
public static final int button_yes=0x7f0501b6; public static final int button_yes=0x7f0501b6;
public static final int cannot_delete_default_group_fmt=0x7f05026e; public static final int cannot_delete_default_group_fmt=0x7f050270;
public static final int change_group=0x7f050274; public static final int change_group=0x7f050276;
/** text of button in About Crosswords dialog summoning above /** text of button in About Crosswords dialog summoning above
dialog dialog
*/ */
@ -727,7 +729,7 @@ public final class R {
substituted for %1$s. substituted for %1$s.
*/ */
public static final int chat_title_fmt=0x7f050193; 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 /** color of the "crosshairs", lines drawn vertically and
horizontally through the square the user is currently horizontally through the square the user is currently
touching in order to guide the fat-fingered (most of us) in touching in order to guide the fat-fingered (most of us) in
@ -735,7 +737,7 @@ public final class R {
on the board. on the board.
*/ */
public static final int clr_crosshairs=0x7f05015c; 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; 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_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 /** text of dialog shown when the menu item board_menu_undo_last
is chosen. is chosen.
*/ */
@ -822,7 +824,7 @@ public final class R {
public static final int connect_one_hour=0x7f050179; public static final int connect_one_hour=0x7f050179;
public static final int connect_six_hours=0x7f05017a; public static final int connect_six_hours=0x7f05017a;
public static final int connect_thirty_mins=0x7f050178; 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; 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. of each there are are and how many points each is worth.
*/ */
public static final int counts_values_title=0x7f0501bf; 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 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=0x7f050080;
public static final int debug_features_summary=0x7f050081; public static final int debug_features_summary=0x7f050081;
/** dictionary used by default for human players when creating /** dictionary used by default for human players when creating
@ -878,9 +880,9 @@ public final class R {
public static final int default_host=0x7f05006d; public static final int default_host=0x7f05006d;
/** label within default wordlists in app preferences /** label within default wordlists in app preferences
*/ */
public static final int default_language=0x7f0502cb; public static final int default_language=0x7f0502cd;
public static final int default_loc=0x7f05025f; public static final int default_loc=0x7f050261;
public static final int default_loc_summary=0x7f050260; public static final int default_loc_summary=0x7f050262;
/** Welcome dialog text /** Welcome dialog text
*/ */
public static final int default_name_message=0x7f0501db; 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_robodict=0x7f05013f;
public static final int default_update_url=0x7f050077; 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; 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_browse_title_fmt=0x7f0501f6;
public static final int dict_host=0x7f05007d; 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 /** label for dropdown by which wordlist is chosen that this
player will use. The language the game will use (which player will use. The language the game will use (which
constrains the choice of wordlists) is substituted in for constrains the choice of wordlists) is substituted in for
"%1$s". "%1$s".
*/ */
public static final int dict_lang_label_fmt=0x7f0500ec; 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/plain</string /** string name="invite_mime">text/plain</string
*/ */
public static final int dict_url=0x7f050075; public static final int dict_url=0x7f050075;
@ -969,13 +971,13 @@ public final class R {
wordlists can be found. wordlists can be found.
*/ */
public static final int download_dicts=0x7f0500b5; public static final int download_dicts=0x7f0500b5;
public static final int download_done=0x7f05025d; public static final int download_done=0x7f05025f;
public static final int download_failed=0x7f05025e; public static final int download_failed=0x7f050260;
public static final int download_path_title=0x7f050261; public static final int download_path_title=0x7f050263;
public static final int downloading_dict_fmt=0x7f0501a7; public static final int downloading_dict_fmt=0x7f0501a7;
/** <string name="summary_thumb_enabled">Display snapshots of games</string> /** <string name="summary_thumb_enabled">Display snapshots of games</string>
*/ */
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 /** Shown in the main screen when you launch Crosswords from an
invitation (received in email or messaging app, say) and invitation (received in email or messaging app, say) and
there's already a game running that matches that invitation. 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 /** 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 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_summary=0x7f05008e;
public static final int enable_dupes_title=0x7f05008c; 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=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_summary=0x7f050242;
public static final int enable_sms_toself_summary=0x7f050091; public static final int enable_sms_toself_summary=0x7f050091;
public static final int enable_sms_toself_title=0x7f050090; public static final int enable_sms_toself_title=0x7f050090;
public static final int entering_trade=0x7f0500f2; 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; public static final int expl_update_url=0x7f050076;
/** if this preference is checked, a dialog will be posted every /** 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 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 /** Explanatory text appears in the dialog
*/ */
public static final int force_expl=0x7f0500e7; public static final int force_expl=0x7f0500e7;
public static final int force_tablet_summary=0x7f0502bb; public static final int force_tablet_summary=0x7f0502bd;
public static final int force_tablet_title=0x7f0502ba; public static final int force_tablet_title=0x7f0502bc;
/** /**
############################################################ ############################################################
# :Dialogs: # :Dialogs:
@ -1086,7 +1088,7 @@ public final class R {
game to make changes game to make changes
*/ */
public static final int game_locked=0x7f0500c6; 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; 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_checkmoves=0x7f0500a3;
/** /**
*/ */
public static final int gamel_menu_checkupdates=0x7f05024a; public static final int gamel_menu_checkupdates=0x7f05024c;
/** /**
############################################################ ############################################################
# :Menus: # :Menus:
@ -1132,19 +1134,19 @@ public final class R {
public static final int gamel_menu_dicts=0x7f0500a1; public static final int gamel_menu_dicts=0x7f0500a1;
public static final int gamel_menu_loaddb=0x7f05008b; public static final int gamel_menu_loaddb=0x7f05008b;
public static final int gamel_menu_storedb=0x7f05008a; 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 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=0x7f050093;
public static final int git_rev_title=0x7f050086; public static final int git_rev_title=0x7f050086;
public static final int green=0x7f050162; public static final int green=0x7f050162;
public static final int group_cur_games=0x7f050268; public static final int group_cur_games=0x7f05026a;
public static final int group_name_fmt=0x7f05026f; public static final int group_name_fmt=0x7f050271;
public static final int group_new_games=0x7f050269; public static final int group_new_games=0x7f05026b;
public static final int groups_confirm_del_fmt=0x7f05026a; public static final int groups_confirm_del_fmt=0x7f05026c;
public static final int groups_confirm_del_games_fmt=0x7f05026b; public static final int groups_confirm_del_games_fmt=0x7f05026d;
/** Used as the default name for remote players displayed within /** Used as the default name for remote players displayed within
the Game configure screen the Game configure screen
*/ */
@ -1207,12 +1209,12 @@ public final class R {
public static final int info_title=0x7f0501bc; 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_diffversion_fmt=0x7f050254;
public static final int inform_dict_download=0x7f050255; public static final int inform_dict_download=0x7f050257;
public static final int inform_dict_title=0x7f050253; public static final int inform_dict_title=0x7f050255;
/** Will new games, on default, randomly rearrange the start /** Will new games, on default, randomly rearrange the start
order of players. 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_fmt=0x7f05018f;
public static final int invite_chooser_sms=0x7f050191; 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_fmt=0x7f05025c;
public static final int invite_dict_missing_body_noname_fmt=0x7f05025b; public static final int invite_dict_missing_body_noname_fmt=0x7f05025d;
public static final int invite_dict_missing_title=0x7f050259; public static final int invite_dict_missing_title=0x7f05025b;
public static final int invite_host=0x7f05006f; public static final int invite_host=0x7f05006f;
/** This is the body of the html version of the invitation. A URL /** This is the body of the html version of the invitation. A URL
is created with parameters describing the game and 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". The number of players missing is substituted for "%1$d".
*/ */
public static final int invite_msg_fmt=0x7f0500f8; public static final int invite_msg_fmt=0x7f0500f8;
public static final int invite_multi_summary=0x7f0502d6; public static final int invite_multi_summary=0x7f0502d8;
public static final int invite_multi_title=0x7f0502d5; public static final int invite_multi_title=0x7f0502d7;
/** Most users create games with only two players, which is the /** Most users create games with only two players, which is the
default, but Crosswords supports up to four. When I'm using default, but Crosswords supports up to four. When I'm using
the above string to encourage the opener of a game missing 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_sms_desc_fmt=0x7f050221;
public static final int invite_stays=0x7f0502da; public static final int invite_stays=0x7f0502dc;
/** <string name="sms_or_email">Send invitation using SMS (texting) or /** <string name="sms_or_email">Send invitation using SMS (texting) or
via email?</string> via email?</string>
<string name="nfc_or_email">Send invitation using NFC (Android <string name="nfc_or_email">Send invitation using NFC (Android
@ -1448,15 +1450,15 @@ public final class R {
different wordlists.) different wordlists.)
*/ */
public static final int lang_label=0x7f0500cb; public static final int lang_label=0x7f0500cb;
public static final int lang_name_english=0x7f0502a5; public static final int lang_name_english=0x7f0502a7;
public static final int lang_name_fmt=0x7f0502b7; public static final int lang_name_fmt=0x7f0502b9;
public static final int lang_unknown=0x7f0502b8; public static final int lang_unknown=0x7f0502ba;
public static final int langdict_label=0x7f0500cc; public static final int langdict_label=0x7f0500cc;
public static final int list_group_default=0x7f050265; public static final int list_group_default=0x7f050267;
public static final int list_group_delete=0x7f050263; public static final int list_group_delete=0x7f050265;
public static final int list_group_movedown=0x7f050267; public static final int list_group_movedown=0x7f050269;
public static final int list_group_moveup=0x7f050266; public static final int list_group_moveup=0x7f050268;
public static final int list_group_rename=0x7f050264; public static final int list_group_rename=0x7f050266;
/** ############## menu items ############## /** ############## menu items ##############
pulls up dialog to configure the selected game pulls up dialog to configure the selected game
*/ */
@ -1485,13 +1487,13 @@ public final class R {
except for any configuration. except for any configuration.
*/ */
public static final int list_item_reset=0x7f0500ac; 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 /** formatting for last move summary in notifications
*/ */
public static final int lmi_pass_fmt=0x7f0502c3; public static final int lmi_pass_fmt=0x7f0502c5;
public static final int lmi_phony_fmt=0x7f0502c6; public static final int lmi_phony_fmt=0x7f0502c8;
public static final int lmi_tiles_fmt=0x7f0502c7; public static final int lmi_tiles_fmt=0x7f0502c9;
public static final int lmi_trade_fmt=0x7f0502c5; public static final int lmi_trade_fmt=0x7f0502c7;
/** One of the strings used in the right column of the list of /** One of the strings used in the right column of the list of
installed wordlists to describe those that are part of installed wordlists to describe those that are part of
Crosswords and that cannot be uninstalled or moved. 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_external=0x7f0500c2;
public static final int loc_filters_all=0x7f0502a1; public static final int loc_filters_all=0x7f0502a3;
public static final int loc_filters_menu=0x7f0502a3; public static final int loc_filters_menu=0x7f0502a5;
public static final int loc_filters_modified=0x7f0502a4; public static final int loc_filters_modified=0x7f0502a6;
public static final int loc_filters_prompt=0x7f05029f; public static final int loc_filters_prompt=0x7f0502a1;
public static final int loc_filters_screen=0x7f0502a2; public static final int loc_filters_screen=0x7f0502a4;
public static final int loc_fmts_mismatch=0x7f0502aa; public static final int loc_fmts_mismatch=0x7f0502ac;
/** see move_dictf above /** see move_dictf above
*/ */
public static final int loc_internal=0x7f0500c1; 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 /** for loc item edit menu
*/ */
public static final int loc_item_clear=0x7f0502a6; public static final int loc_item_clear=0x7f0502a8;
public static final int loc_item_copy_bless=0x7f0502a9; public static final int loc_item_copy_bless=0x7f0502ab;
public static final int loc_item_copy_eng=0x7f0502a8; public static final int loc_item_copy_eng=0x7f0502aa;
public static final int loc_lang_blessed=0x7f050299; public static final int loc_lang_blessed=0x7f05029b;
public static final int loc_lang_local=0x7f05029a; public static final int loc_lang_local=0x7f05029c;
public static final int loc_menu_xlate=0x7f050298; public static final int loc_menu_xlate=0x7f05029a;
public static final int loc_search_prompt=0x7f0502a0; public static final int loc_search_prompt=0x7f0502a2;
/** This is the "hint" printed in light text in the empty player /** This is the "hint" printed in light text in the empty player
name field name field
*/ */
public static final int local_name_hint=0x7f050198; public static final int local_name_hint=0x7f050198;
public static final int logging_on=0x7f05007e; public static final int logging_on=0x7f05007e;
public static final int logging_on_summary=0x7f05007f; 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; 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 /** text of menu that brings up the Settings (preferences) dialog
*/ */
public static final int menu_prefs=0x7f0500a2; 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; public static final int menu_toggle_values=0x7f050233;
@ -1575,11 +1577,11 @@ public final class R {
/** body of notification shown when invitation requires a /** body of notification shown when invitation requires a
wordslist that's not installed 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 /** Title of notification shown when invitation requires a
wordslist that's not installed 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 /** Used as a substitute for the names of remote players when
they aren't available yet because the connection is not they aren't available yet because the connection is not
complete. Displayed in the lists of players found in each 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 /** Text of progress indicator shown while check is being conducted
*/ */
public static final int msgs_progress=0x7f0500a4; public static final int msgs_progress=0x7f0500a4;
public static final int nag_body_fmt=0x7f0502c0; public static final int nag_body_fmt=0x7f0502c2;
public static final int nag_days_fmt=0x7f0502bf; public static final int nag_days_fmt=0x7f0502c1;
public static final int nag_hours_fmt=0x7f0502be; public static final int nag_hours_fmt=0x7f0502c0;
public static final int nag_intervals=0x7f05008f; public static final int nag_intervals=0x7f05008f;
/** body of warning notification reminder message. First three /** body of warning notification reminder message. First three
are used to build a string based on the length of time that's then 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], inserted in the fourth. E.g "PlayerName moved more than 2 day[s],
4 hour[s] ago." 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 /** 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 /** 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 name_dict_fmt=0x7f050089;
public static final int nbs_port=0x7f050078; public static final int nbs_port=0x7f050078;
/** text of checkbox. If this checkbox is checked, games created /** 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 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; 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_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_dict_avail_fmt=0x7f05024f;
public static final int new_game=0x7f0502cd; public static final int new_game=0x7f0502cf;
public static final int new_game_message=0x7f0502cf; public static final int new_game_message=0x7f0502d1;
public static final int new_game_message_net=0x7f0502d0; public static final int new_game_message_net=0x7f0502d2;
public static final int new_game_networked=0x7f0502ce; public static final int new_game_networked=0x7f0502d0;
/** /**
*/ */
public static final int new_move_body=0x7f050210; 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_sms_title=0x7f05021e;
public static final int new_xlations_fmt=0x7f05029b; public static final int new_xlations_fmt=0x7f05029d;
/** /**
########################################################### ###########################################################
# :Dialogs: # :Dialogs:
@ -1782,8 +1784,8 @@ public final class R {
/** /**
*/ */
public static final int newgame_sms_header=0x7f05021c; public static final int newgame_sms_header=0x7f05021c;
public static final int newgroup_label=0x7f050262; public static final int newgroup_label=0x7f050264;
public static final int nfc_just_tap=0x7f0502db; public static final int nfc_just_tap=0x7f0502dd;
public static final int nfc_to_self=0x7f050092; public static final int nfc_to_self=0x7f050092;
/** Title of dialog for renaming game (triggered by selecting /** Title of dialog for renaming game (triggered by selecting
list_item_rename) list_item_rename)
@ -1830,7 +1832,7 @@ public final class R {
you get this error message you get this error message
*/ */
public static final int no_games_to_refresh=0x7f0500a5; 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 /** displayed when you long-tap a scoreboard entry and there's no
most recent score to show most recent score to show
*/ */
@ -1853,7 +1855,7 @@ public final class R {
arrow appears. This explains it. arrow appears. This explains it.
*/ */
public static final int not_again_arrow=0x7f0501d7; 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; 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. for games with more than two devices, which are rare.
*/ */
public static final int not_again_conndmid=0x7f0501d5; 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. /** 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 It's to let you know that there's a shortcut that does almost
the same thing. the same thing.
@ -1891,8 +1893,8 @@ public final class R {
Board screen Board screen
*/ */
public static final int not_again_flip=0x7f0501cd; public static final int not_again_flip=0x7f0501cd;
public static final int not_again_fmt_expl=0x7f0502ab; public static final int not_again_fmt_expl=0x7f0502ad;
public static final int not_again_hidenewgamebuttons=0x7f0502d9; public static final int not_again_hidenewgamebuttons=0x7f0502db;
/** Shown when you tap the next hint button on the toolbar of the /** Shown when you tap the next hint button on the toolbar of the
main Board screen main Board screen
*/ */
@ -1916,8 +1918,8 @@ public final class R {
/** Shown when you first pick the list_item_new_from menuitem /** 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_newfrom=0x7f0501d9;
public static final int not_again_newselect=0x7f050277; public static final int not_again_newselect=0x7f050279;
public static final int not_again_studycopy=0x7f050293; public static final int not_again_studycopy=0x7f050295;
/** The following strings (all whose names start with /** The following strings (all whose names start with
"not_again") appear in the New user info dialog. "not_again") appear in the New user info dialog.
@ -1952,7 +1954,7 @@ public final class R {
the main Board screen the main Board screen
*/ */
public static final int not_again_zoom=0x7f0501ce; 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 /** This text is displayed as the "summary" for both of the
notify choices above, as extra information. (There could be notify choices above, as extra information. (There could be
different strings if it makes more sense in your language.) different strings if it makes more sense in your language.)
@ -1973,8 +1975,8 @@ public final class R {
device device
*/ */
public static final int notify_vibrate=0x7f05017d; public static final int notify_vibrate=0x7f05017d;
public static final int nplayers_fmt=0x7f0502d3; public static final int nplayers_fmt=0x7f0502d5;
public static final int nplayers_prompt=0x7f0502d2; public static final int nplayers_prompt=0x7f0502d4;
/** text of label identifying the field where human players can /** text of label identifying the field where human players can
enter an option password. The label and field disappear when enter an option password. The label and field disappear when
the robot player checkbox is checked because it makes no the robot player checkbox is checked because it makes no
@ -1984,13 +1986,13 @@ public final class R {
games as well. games as well.
*/ */
public static final int password_label=0x7f0500ef; public static final int password_label=0x7f0500ef;
public static final int paste_done_fmt=0x7f05028d; public static final int paste_done_fmt=0x7f05028f;
/** <string name="not_again_sms_ready">You have NFC enabled. That /** <string name="not_again_sms_ready">You have NFC enabled. That
means that any time a board that\'s missing a player is open, you 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 can tap a nearby person\'s device to invite him/her to
play if he/she is also using NFC.</string> play if he/she is also using NFC.</string>
*/ */
public static final int pct_suffix=0x7f050283; public static final int pct_suffix=0x7f050285;
/** If this preference is checked, tapping on the scoreboard /** If this preference is checked, tapping on the scoreboard
entry for any player reveals that player's tiles and any entry for any player reveals that player's tiles and any
pending move (after asking for his password if one is set.) 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; public static final int prefs_names_summary=0x7f050135;
/** Used when prev player's name can't be looked up /** Used when prev player's name can't be looked up
*/ */
public static final int prev_player=0x7f0502c2; public static final int prev_player=0x7f0502c4;
public static final int progress_title=0x7f0502b3; public static final int progress_title=0x7f0502b5;
/** /**
*/ */
public static final int prompt_max_len=0x7f0501ff; public static final int prompt_max_len=0x7f0501ff;
@ -2193,24 +2195,24 @@ public final class R {
problems with the current game. problems with the current game.
*/ */
public static final int relay_alert=0x7f0500ff; 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_host=0x7f05007b;
public static final int relay_port=0x7f050087; public static final int relay_port=0x7f050087;
/** Shown in toast when relaunching after switching dicts /** Shown in toast when relaunching after switching dicts
*/ */
public static final int reload_new_dict_fmt=0x7f050256; public static final int reload_new_dict_fmt=0x7f050258;
public static final int remote_digesting=0x7f0502ad; public static final int remote_digesting=0x7f0502af;
public static final int remote_empty=0x7f0502ac; public static final int remote_empty=0x7f0502ae;
/** checkbox determining of this player is on this device or /** checkbox determining of this player is on this device or
remote. If remote, then the rest of the fields disappear remote. If remote, then the rest of the fields disappear
(since they will be set by the remote device.) (since they will be set by the remote device.)
*/ */
public static final int remote_label=0x7f0500ea; 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 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 /** text within rename dialog (triggered by selecting
list_item_rename) list_item_rename)
*/ */
@ -2247,9 +2249,9 @@ public final class R {
/** title for popup of public rooms found on server /** title for popup of public rooms found on server
*/ */
public static final int room_public_prompt=0x7f0500d1; public static final int room_public_prompt=0x7f0500d1;
public static final int sel_games_fmt=0x7f050279; public static final int sel_games_fmt=0x7f05027b;
public static final int sel_groups_fmt=0x7f05027a; public static final int sel_groups_fmt=0x7f05027c;
public static final int sel_items_fmt=0x7f050297; public static final int sel_items_fmt=0x7f050299;
/** /**
############################################################ ############################################################
# :Dialogs: # :Dialogs:
@ -2261,7 +2263,7 @@ public final class R {
possible answers are the three button text strings below. possible answers are the three button text strings below.
*/ */
public static final int set_default_message_fmt=0x7f0500bc; 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 /** text of separator marking out other-setting area of the dialog
*/ */
public static final int settings_label=0x7f0500d4; public static final int settings_label=0x7f0500d4;
@ -2273,8 +2275,8 @@ public final class R {
/** clarification of above /** clarification of above
*/ */
public static final int show_arrow_summary=0x7f050153; public static final int show_arrow_summary=0x7f050153;
public static final int show_remote=0x7f0502b1; public static final int show_remote=0x7f0502b3;
public static final int show_wordlist_browser=0x7f050275; public static final int show_wordlist_browser=0x7f050277;
/** If this preference is checked, the user will not be asked to /** If this preference is checked, the user will not be asked to
confirm after selecting the "Turn done" menu (or tapping the confirm after selecting the "Turn done" menu (or tapping the
points display at the right end of the tray) points display at the right end of the tray)
@ -2283,19 +2285,19 @@ public final class R {
/** explanation of the above /** explanation of the above
*/ */
public static final int skip_confirm_turn_summary=0x7f050169; public static final int skip_confirm_turn_summary=0x7f050169;
public static final int slmenu_clear_sel=0x7f05028b; public static final int slmenu_clear_sel=0x7f05028d;
public static final int slmenu_copy_sel=0x7f05028a; public static final int slmenu_copy_sel=0x7f05028c;
public static final int slmenu_deselect_all=0x7f050296; public static final int slmenu_deselect_all=0x7f050298;
public static final int slmenu_select_all=0x7f050295; public static final int slmenu_select_all=0x7f050297;
/** Title of phone number picker during invitation to a game via SMS /** 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_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 smsname_label=0x7f050218;
public static final int square_tiles=0x7f050272; public static final int square_tiles=0x7f050274;
public static final int square_tiles_summary=0x7f050273; public static final int square_tiles_summary=0x7f050275;
/** Used in formatting moves and history /** Used in formatting moves and history
*/ */
public static final int str_bonus_all=0x7f050128; 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; public static final int str_remote_moved_fmt=0x7f05011d;
/** Used in formatting final scores display /** 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 # Board info/error dialog messages
@ -2416,7 +2418,7 @@ public final class R {
public static final int str_two_tiles_first_move=0x7f05019d; public static final int str_two_tiles_first_move=0x7f05019d;
/** Used in formatting final scores display /** 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 /** Used in formatting game history (not move summaries since
information about the current rack is hidden then) information about the current rack is hidden then)
*/ */
@ -2463,10 +2465,10 @@ public final class R {
/** Used in formatting exchange move summaries /** Used in formatting exchange move summaries
*/ */
public static final int strss_traded_for_fmt=0x7f050123; public static final int strss_traded_for_fmt=0x7f050123;
public static final int study_langpick=0x7f050290; public static final int study_langpick=0x7f050292;
public static final int study_no_lang_fmt=0x7f050291; public static final int study_no_lang_fmt=0x7f050293;
public static final int study_no_lists=0x7f050292; public static final int study_no_lists=0x7f050294;
public static final int studylist_title_fmt=0x7f05028f; public static final int studylist_title_fmt=0x7f050291;
/** If substituting an existing same-language wordlist by /** If substituting an existing same-language wordlist by
choosing button_substdict user gets to choose from a list of choosing button_substdict user gets to choose from a list of
wordlists. This is the title of that list. wordlists. This is the title of that list.
@ -2516,8 +2518,8 @@ public final class R {
/** explanation of the above /** explanation of the above
*/ */
public static final int summary_sort_tiles=0x7f05016b; public static final int summary_sort_tiles=0x7f05016b;
public static final int summary_studyon=0x7f050288; public static final int summary_studyon=0x7f05028a;
public static final int summary_thumbsize=0x7f05027b; public static final int summary_thumbsize=0x7f05027d;
/** /**
*/ */
public static final int summary_wait_guest=0x7f050209; 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. part of the game and that the user should ignore it.
*/ */
public static final int tell_unused=0x7f05013b; 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 /** color of the tiles' background
*/ */
public static final int tile_back=0x7f05015d; public static final int tile_back=0x7f05015d;
@ -2547,7 +2549,7 @@ public final class R {
/** Title of preference in which you select which addressing /** Title of preference in which you select which addressing
modes network games will use to communicate modes network games will use to communicate
*/ */
public static final int title_addrs_pref=0x7f0502cc; public static final int title_addrs_pref=0x7f0502ce;
/** /**
############################################################ ############################################################
# :Screens: # :Screens:
@ -2597,13 +2599,13 @@ public final class R {
i.e. after ever move. i.e. after ever move.
*/ */
public static final int title_sort_tiles=0x7f05016a; 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 /** title of dialog allowing user to pick tiles "face up". (This
feature is not yet supported on Android.) feature is not yet supported on Android.)
*/ */
public static final int title_tile_picker=0x7f0501bd; public static final int title_tile_picker=0x7f0501bd;
public static final int update_dicts_fmt=0x7f0502b2; public static final int update_dicts_fmt=0x7f0502b4;
public static final int use_defaults=0x7f0502d1; public static final int use_defaults=0x7f0502d3;
/** text of checkbox controlling whether there's a game timer /** text of checkbox controlling whether there's a game timer
*/ */
public static final int use_timer=0x7f0500d7; 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. line in a game summary. The \u0020 is a space in xml.
*/ */
public static final int vs_join=0x7f050127; 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; 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 word_search_hint=0x7f0501f1;
public static final int xlations_enabled_summary=0x7f05029d; public static final int xlations_enabled_summary=0x7f05029f;
public static final int xlations_enabled_title=0x7f05029c; public static final int xlations_enabled_title=0x7f05029e;
public static final int xlations_locale=0x7f05008d; public static final int xlations_locale=0x7f05008d;
/** Empty in English, this should contain the name of the /** Empty in English, this should contain the name of the
translator/creator of the strings.xml file for this translator/creator of the strings.xml file for this

View file

@ -1983,10 +1983,13 @@
<!-- --> <!-- -->
<string name="warn_sms_disabled">Play via SMS is currently <string name="warn_sms_disabled">Play via SMS is currently
disabled, so no moves will be sent for this game.\n\nIf you want to disabled. No moves will be sent via SMS for this game.\n\nYou can
enable play via SMS, go to Settings->Network game settings. enable play via SMS now, or later.
</string> </string>
<string name="button_enable_sms">Enable SMS</string>
<string name="button_later">Later</string>
<!-- --> <!-- -->
<string name="gamel_menu_checkupdates">Check for updates</string> <string name="gamel_menu_checkupdates">Check for updates</string>
<string name="checkupdates_none_found">Everything is up-to-date.</string> <string name="checkupdates_none_found">Everything is up-to-date.</string>

View file

@ -1707,9 +1707,11 @@
<string name="confirm_sms_willpay">Sey: I\'ll yap lla reirrac segrahc</string> <string name="confirm_sms_willpay">Sey: I\'ll yap lla reirrac segrahc</string>
<!-- --> <!-- -->
<string name="warn_sms_disabled">Yalp aiv SMS si yltnerruc <string name="warn_sms_disabled">Yalp aiv SMS si yltnerruc
,delbasid os on sevom lliw eb tnes rof siht emag.\n\nFi uoy tnaw ot delbasid. On sevom lliw eb tnes aiv SMS rof siht emag.\n\nUoy nac
elbane yalp aiv ,SMs og ot Krowten&gt;-sGnittes emag sgnittes. elbane yalp aiv SMS ,won ro retal.
</string> </string>
<string name="button_enable_sms">Elbane SMS</string>
<string name="button_later">Retal</string>
<!-- --> <!-- -->
<string name="gamel_menu_checkupdates">Kcehc rof setadpu</string> <string name="gamel_menu_checkupdates">Kcehc rof setadpu</string>
<string name="checkupdates_none_found">Gnihtyreve si etad-ot-pu.</string> <string name="checkupdates_none_found">Gnihtyreve si etad-ot-pu.</string>

View file

@ -1707,9 +1707,11 @@
<string name="confirm_sms_willpay">YES: I\'LL PAY ALL CARRIER CHARGES</string> <string name="confirm_sms_willpay">YES: I\'LL PAY ALL CARRIER CHARGES</string>
<!-- --> <!-- -->
<string name="warn_sms_disabled">PLAY VIA SMS IS CURRENTLY <string name="warn_sms_disabled">PLAY VIA SMS IS CURRENTLY
DISABLED, SO NO MOVES WILL BE SENT FOR THIS GAME.\n\nIF YOU WANT TO DISABLED. NO MOVES WILL BE SENT VIA SMS FOR THIS GAME.\n\nYOU CAN
ENABLE PLAY VIA SMS, GO TO SETTINGS-&gt;NETWORK GAME SETTINGS. ENABLE PLAY VIA SMS NOW, OR LATER.
</string> </string>
<string name="button_enable_sms">ENABLE SMS</string>
<string name="button_later">LATER</string>
<!-- --> <!-- -->
<string name="gamel_menu_checkupdates">CHECK FOR UPDATES</string> <string name="gamel_menu_checkupdates">CHECK FOR UPDATES</string>
<string name="checkupdates_none_found">EVERYTHING IS UP-TO-DATE.</string> <string name="checkupdates_none_found">EVERYTHING IS UP-TO-DATE.</string>

View file

@ -88,11 +88,8 @@ public class ConnViaViewLayout extends LinearLayout {
public void onCheckedChanged( CompoundButton buttonView, public void onCheckedChanged( CompoundButton buttonView,
boolean isChecked ) { boolean isChecked ) {
if ( isChecked ) { if ( isChecked ) {
if ( enabledElseWarn( typf ) ) { enabledElseWarn( typf );
m_curSet.add( typf ); m_curSet.add( typf );
} else {
buttonView.setChecked( false );
}
} else { } else {
m_curSet.remove( typf ); m_curSet.remove( typf );
if ( null != m_emptyWarner && 0 == m_curSet.size()) { 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(); Context context = getContext();
switch( typ ) { switch( typ ) {
case COMMS_CONN_SMS: case COMMS_CONN_SMS:
result = XWPrefs.getSMSEnabled( context ); enabled = XWPrefs.getSMSEnabled( context );
break; break;
case COMMS_CONN_BT: case COMMS_CONN_BT:
result = BTService.BTEnabled(); enabled = BTService.BTEnabled();
} }
if ( !result && null != m_disabledWarner ) { if ( !enabled && null != m_disabledWarner ) {
m_disabledWarner.warnDisabled( typ ); m_disabledWarner.warnDisabled( typ );
} }
return result;
} }
private static CommsConnTypeSet getSupported( Context context ) private static CommsConnTypeSet getSupported( Context context )

View file

@ -472,6 +472,11 @@ public class DelegateBase implements DlgClickNotify,
m_dlgDelegate.showDictGoneFinish(); m_dlgDelegate.showDictGoneFinish();
} }
protected void showSMSEnableDialog( Action action )
{
m_dlgDelegate.showSMSEnableDialog( action );
}
////////////////////////////////////////////////// //////////////////////////////////////////////////
// MultiService.MultiEventListener interface // MultiService.MultiEventListener interface
////////////////////////////////////////////////// //////////////////////////////////////////////////

View file

@ -32,6 +32,7 @@ import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import java.util.ArrayList; import java.util.ArrayList;
@ -104,6 +105,9 @@ public class DlgDelegate {
SL_CLEAR_ACTION, SL_CLEAR_ACTION,
SL_COPY_ACTION, SL_COPY_ACTION,
// clasify me
ENABLE_SMS_ASK,
ENABLE_SMS_DO,
__LAST __LAST
} }
@ -215,6 +219,9 @@ public class DlgDelegate {
case DLG_DICTGONE: case DLG_DICTGONE:
dialog = createDictGoneDialog(); dialog = createDictGoneDialog();
break; break;
case DIALOG_ENABLESMS:
dialog = createEnableSMSDialog( state, dlgID );
break;
} }
return dialog; return dialog;
} }
@ -256,6 +263,16 @@ public class DlgDelegate {
showDialog( DlgID.DIALOG_ABOUT ); 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, public void showNotAgainDlgThen( String msg, int prefsKey,
final Action action, ActionPair more, final Action action, ActionPair more,
final Object[] params ) final Object[] params )
@ -649,6 +666,32 @@ public class DlgDelegate {
return dialog; 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, private OnClickListener mkCallbackClickListener( final DlgState state,
final NotAgainView naView ) final NotAgainView naView )
{ {

View file

@ -29,6 +29,7 @@ public enum DlgID {
, DIALOG_ABOUT , DIALOG_ABOUT
, DIALOG_NOTAGAIN , DIALOG_NOTAGAIN
, DIALOG_OKONLY , DIALOG_OKONLY
, DIALOG_ENABLESMS
, DICT_OR_DECLINE , DICT_OR_DECLINE
, DLG_CONNSTAT , DLG_CONNSTAT
, DLG_DELETED , DLG_DELETED
@ -46,7 +47,7 @@ public enum DlgID {
, NEW_GROUP , NEW_GROUP
, NO_NAME_FOUND , NO_NAME_FOUND
, PLAYER_EDIT , PLAYER_EDIT
, CONFIRM_SMS , ENABLE_SMS
, QUERY_ENDGAME , QUERY_ENDGAME
, RENAME_GAME , RENAME_GAME
, RENAME_GROUP , RENAME_GROUP

View file

@ -334,8 +334,9 @@ public class GameConfigDelegate extends DelegateBase
switch( typ ) { switch( typ ) {
case COMMS_CONN_SMS: case COMMS_CONN_SMS:
showConfirmThen( R.string.warn_sms_disabled, showConfirmThen( R.string.warn_sms_disabled,
R.string.button_go_settings, R.string.button_enable_sms,
Action.SMS_CONFIG_ACTION ); R.string.button_later,
Action.ENABLE_SMS_ASK );
break; break;
case COMMS_CONN_BT: case COMMS_CONN_BT:
showOKOnlyDialog( R.string.enable_bt_first ); showOKOnlyDialog( R.string.enable_bt_first );
@ -651,6 +652,15 @@ public class GameConfigDelegate extends DelegateBase
} }
finish(); finish();
break; 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: default:
callSuper = true; callSuper = true;
} }

View file

@ -27,6 +27,7 @@ import android.os.Bundle;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import org.eehouse.android.xw4.loc.LocUtils; import org.eehouse.android.xw4.loc.LocUtils;
import org.eehouse.android.xw4.DlgDelegate.Action;
public class PrefsActivity extends PreferenceActivity implements Delegator { public class PrefsActivity extends PreferenceActivity implements Delegator {
@ -92,6 +93,11 @@ public class PrefsActivity extends PreferenceActivity implements Delegator {
m_dlgt.showOKOnlyDialog( msgID ); m_dlgt.showOKOnlyDialog( msgID );
} }
protected void showSMSEnableDialog( Action action )
{
m_dlgt.showSMSEnableDialog( action );
}
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Delegator interface // Delegator interface
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////

View file

@ -20,6 +20,7 @@
package org.eehouse.android.xw4; package org.eehouse.android.xw4;
import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
@ -35,6 +36,7 @@ import android.view.View;
import android.widget.Button; import android.widget.Button;
import java.io.File; import java.io.File;
import org.eehouse.android.xw4.DlgDelegate.Action;
import org.eehouse.android.xw4.loc.LocUtils; import org.eehouse.android.xw4.loc.LocUtils;
public class PrefsDelegate extends DelegateBase public class PrefsDelegate extends DelegateBase
@ -106,9 +108,6 @@ public class PrefsDelegate extends DelegateBase
} }
}; };
break; break;
case CONFIRM_SMS:
dialog = SMSCheckBoxPreference.onCreateDialog( m_activity, id );
break;
} }
if ( null == dialog && null != lstnr ) { 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() private void relaunch()
{ {
PreferenceManager.setDefaultValues( m_activity, R.xml.xwprefs, PreferenceManager.setDefaultValues( m_activity, R.xml.xwprefs,

View file

@ -21,16 +21,12 @@
package org.eehouse.android.xw4; package org.eehouse.android.xw4;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; 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 { public class SMSCheckBoxPreference extends CheckBoxPreference {
@ -60,9 +56,16 @@ public class SMSCheckBoxPreference extends CheckBoxPreference {
{ {
if ( checked && m_attached && m_context instanceof PrefsActivity ) { if ( checked && m_attached && m_context instanceof PrefsActivity ) {
PrefsActivity activity = (PrefsActivity)m_context; PrefsActivity activity = (PrefsActivity)m_context;
activity.showDialog( DlgID.CONFIRM_SMS.ordinal() ); activity.showSMSEnableDialog( Action.ENABLE_SMS_DO );
} else { } 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 ); 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;
}
} }

View file

@ -43,6 +43,11 @@ public class XWPrefs {
return getPrefsBoolean( context, R.string.key_enable_sms, false ); 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 ) public static boolean getDebugEnabled( Context context )
{ {
return getPrefsBoolean( context, R.string.key_enable_debug, false ); return getPrefsBoolean( context, R.string.key_enable_debug, false );