mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-16 15:41:16 +01:00
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:
parent
615ec72ea7
commit
2142c752bf
13 changed files with 274 additions and 213 deletions
|
@ -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;
|
||||
/** <string name="newgame_enable_bt">Turn Bluetooth on</string>
|
||||
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/plain</string
|
||||
*/
|
||||
public static final int dict_url=0x7f050075;
|
||||
|
@ -969,13 +971,13 @@ public final class R {
|
|||
wordlists can be found.
|
||||
*/
|
||||
public static final int download_dicts=0x7f0500b5;
|
||||
public static final int download_done=0x7f05025d;
|
||||
public static final int download_failed=0x7f05025e;
|
||||
public static final int download_path_title=0x7f050261;
|
||||
public static final int download_done=0x7f05025f;
|
||||
public static final int download_failed=0x7f050260;
|
||||
public static final int download_path_title=0x7f050263;
|
||||
public static final int downloading_dict_fmt=0x7f0501a7;
|
||||
/** <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
|
||||
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;
|
||||
/** <string name="sms_or_email">Send invitation using SMS (texting) or
|
||||
via email?</string>
|
||||
<string name="nfc_or_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;
|
||||
/** <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
|
||||
can tap a nearby person\'s device to invite him/her to
|
||||
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
|
||||
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
|
||||
|
|
|
@ -1983,10 +1983,13 @@
|
|||
|
||||
<!-- -->
|
||||
<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
|
||||
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.
|
||||
</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="checkupdates_none_found">Everything is up-to-date.</string>
|
||||
|
|
|
@ -1707,9 +1707,11 @@
|
|||
<string name="confirm_sms_willpay">Sey: I\'ll yap lla reirrac segrahc</string>
|
||||
<!-- -->
|
||||
<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
|
||||
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.
|
||||
</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="checkupdates_none_found">Gnihtyreve si etad-ot-pu.</string>
|
||||
|
|
|
@ -1707,9 +1707,11 @@
|
|||
<string name="confirm_sms_willpay">YES: I\'LL PAY ALL CARRIER CHARGES</string>
|
||||
<!-- -->
|
||||
<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
|
||||
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.
|
||||
</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="checkupdates_none_found">EVERYTHING IS UP-TO-DATE.</string>
|
||||
|
|
|
@ -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 )
|
||||
|
|
|
@ -472,6 +472,11 @@ public class DelegateBase implements DlgClickNotify,
|
|||
m_dlgDelegate.showDictGoneFinish();
|
||||
}
|
||||
|
||||
protected void showSMSEnableDialog( Action action )
|
||||
{
|
||||
m_dlgDelegate.showSMSEnableDialog( action );
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// MultiService.MultiEventListener interface
|
||||
//////////////////////////////////////////////////
|
||||
|
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 );
|
||||
|
|
Loading…
Reference in a new issue