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 );