From 92c1180411aaf17f2be323aae8bf468dd0886a64 Mon Sep 17 00:00:00 2001 From: Eric House Date: Wed, 5 Aug 2020 13:46:44 -0700 Subject: [PATCH] add button taking you to the (new) FAQ --- .../org/eehouse/android/xw4/DelegateBase.java | 14 ++++++++++++-- .../eehouse/android/xw4/DictBrowseDelegate.java | 15 +++++++++++++++ .../org/eehouse/android/xw4/DlgDelegate.java | 1 + .../app/src/main/res/values/common_rsrc.xml | 3 +++ .../android/app/src/main/res/values/strings.xml | 17 +++++++++++++++-- 5 files changed, 46 insertions(+), 4 deletions(-) diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DelegateBase.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DelegateBase.java index 1a878056b..495704c32 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DelegateBase.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DelegateBase.java @@ -319,6 +319,13 @@ public class DelegateBase implements DlgClickNotify, } } + private void showFaq( String category, String entry ) + { + Context context = getActivity(); + String uri = getString( R.string.faq_uri_fmt, category, entry ); + NetUtils.launchWebBrowserWith( context, uri ); + } + protected String getString( int resID, Object... params ) { return LocUtils.getString( m_activity, resID, params ); @@ -737,7 +744,7 @@ public class DelegateBase implements DlgClickNotify, public boolean onPosButton( Action action, Object[] params ) { boolean handled = true; - Log.d( TAG, "%s.onPosButton(%s)", getClass().getSimpleName(), action ); + // Log.d( TAG, "%s.onPosButton(%s)", getClass().getSimpleName(), action ); switch( action ) { case ENABLE_NBS_ASK: showSMSEnableDialog( Action.ENABLE_NBS_DO ); @@ -757,8 +764,11 @@ public class DelegateBase implements DlgClickNotify, case PERMS_BANNED_INFO: NetUtils.launchWebBrowserWith( m_activity, R.string.nbs_ban_url ); break; + case SHOW_FAQ: + showFaq( (String)params[0], (String)params[1] ); + break; default: - Log.d( TAG, "unhandled action %s", action.toString() ); + Log.d( TAG, "onPosButton(): unhandled action %s", action.toString() ); // Assert.assertTrue( !BuildConfig.DEBUG ); handled = false; break; diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DictBrowseDelegate.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DictBrowseDelegate.java index 6ead3d02d..b4a07ece4 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DictBrowseDelegate.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DictBrowseDelegate.java @@ -133,6 +133,7 @@ public class DictBrowseDelegate extends DelegateBase private PatTableRow m_rows[] = { null, null, null }; private Spinner m_spinnerMin; private Spinner m_spinnerMax; + private boolean m_newAlertShown; private class DictListAdapter extends BaseAdapter implements SectionIndexer { @@ -688,11 +689,25 @@ public class DictBrowseDelegate extends DelegateBase m_browseState.onFilterAccepted( m_dict, null ); initList( wrapper ); setFindPats( m_browseState.m_pats ); + + newFeatureAlert(); } } ); } } ); } + + private void newFeatureAlert() + { + if ( ! m_newAlertShown ) { + m_newAlertShown = true; + makeNotAgainBuilder( R.string.new_feature_filter, R.string.key_na_newFeatureFilter ) + .setActionPair( Action.SHOW_FAQ, R.string.button_faq ) + .setParams("filters", "intro") + .setTitle(R.string.new_feature_title) + .show(); + } + } private void initList( IterWrapper newIter ) { diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DlgDelegate.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DlgDelegate.java index 347d8d835..110595663 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DlgDelegate.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/DlgDelegate.java @@ -124,6 +124,7 @@ public class DlgDelegate { ASKED_PHONE_STATE, PERMS_QUERY, PERMS_BANNED_INFO, + SHOW_FAQ, } // Action enum public static class ActionPair implements Serializable { diff --git a/xwords4/android/app/src/main/res/values/common_rsrc.xml b/xwords4/android/app/src/main/res/values/common_rsrc.xml index 5a95ea407..97a9b9746 100644 --- a/xwords4/android/app/src/main/res/values/common_rsrc.xml +++ b/xwords4/android/app/src/main/res/values/common_rsrc.xml @@ -156,6 +156,7 @@ key_na_longtap_lookup key_na_perms_phonestate key_na_addBlankButton + key_na_newFeatureFilter key_na_dupstatus_host key_na_dupstatus_guest @@ -176,6 +177,8 @@ https://eehouse.org/xw4/relay.py https://liquidsugar.net/xw4/api/v1 + https://eehouse.org/xw4/faq.html#%1$s + 15x15 13x13 diff --git a/xwords4/android/app/src/main/res/values/strings.xml b/xwords4/android/app/src/main/res/values/strings.xml index 79377f1bf..2c0862d1e 100644 --- a/xwords4/android/app/src/main/res/values/strings.xml +++ b/xwords4/android/app/src/main/res/values/strings.xml @@ -732,13 +732,13 @@ Restore all Are you sure you want to - restore all color settings to their original values? + restore all color settings to their default values? Restore colors Are you sure you want to restore - all settings to their original values? + all settings to their default values? Processing %1$d words + + This wordlist browser now has + dramatically improved filtering abilities. As an example, you can + show all words containing \"QU\" and ending in \"ING\".\n\nAccess + filtering by tapping the Expander button at the upper-right corner + of the window.\n\nRead more on the FAQ by tapping the button + below. + Email author Comment about CrossWords @@ -2611,6 +2620,10 @@ language --> \"%1$s\" cannot be spelled with %2$s tiles. + New Feature Alert + + Show FAQ + Internet/MQTT MQTT Invitation