mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-11-04 05:25:35 +00:00 
			
		
		
		
	option to show keyboard immediately on search, close #1261
This commit is contained in:
		
							parent
							
								
									bedae1804f
								
							
						
					
					
						commit
						256a2ae88d
					
				@ -1,5 +1,6 @@
 | 
			
		||||
package awais.instagrabber.fragments.search;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.text.Editable;
 | 
			
		||||
import android.text.TextUtils;
 | 
			
		||||
@ -7,6 +8,7 @@ import android.util.Log;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import android.view.inputmethod.InputMethodManager;
 | 
			
		||||
import android.widget.EditText;
 | 
			
		||||
 | 
			
		||||
import androidx.annotation.NonNull;
 | 
			
		||||
@ -36,6 +38,9 @@ import awais.instagrabber.models.enums.FavoriteType;
 | 
			
		||||
import awais.instagrabber.repositories.responses.search.SearchItem;
 | 
			
		||||
import awais.instagrabber.viewmodels.SearchFragmentViewModel;
 | 
			
		||||
 | 
			
		||||
import static awais.instagrabber.fragments.settings.PreferenceKeys.PREF_SEARCH_FOCUS_KEYBOARD;
 | 
			
		||||
import static awais.instagrabber.utils.Utils.settingsHelper;
 | 
			
		||||
 | 
			
		||||
public class SearchFragment extends Fragment implements SearchCategoryFragment.OnSearchItemClickListener {
 | 
			
		||||
    private static final String TAG = SearchFragment.class.getSimpleName();
 | 
			
		||||
    private static final String QUERY = "query";
 | 
			
		||||
@ -119,9 +124,11 @@ public class SearchFragment extends Fragment implements SearchCategoryFragment.O
 | 
			
		||||
        if (mainActivity != null) {
 | 
			
		||||
            mainActivity.showSearchView();
 | 
			
		||||
        }
 | 
			
		||||
        // if (searchInputLayout != null) {
 | 
			
		||||
        //     searchInputLayout.requestFocus();
 | 
			
		||||
        // }
 | 
			
		||||
        if (settingsHelper.getBoolean(PREF_SEARCH_FOCUS_KEYBOARD)) {
 | 
			
		||||
            searchInput.requestFocus();
 | 
			
		||||
            final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
 | 
			
		||||
            if (imm != null) imm.showSoftInput(searchInput, InputMethodManager.SHOW_IMPLICIT);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void init(@Nullable final Bundle savedInstanceState) {
 | 
			
		||||
@ -147,7 +154,11 @@ public class SearchFragment extends Fragment implements SearchCategoryFragment.O
 | 
			
		||||
            searchInput.setText(savedQuery);
 | 
			
		||||
            triggerEmptyQuery = false;
 | 
			
		||||
        }
 | 
			
		||||
        // searchInput.requestFocus();
 | 
			
		||||
        if (settingsHelper.getBoolean(PREF_SEARCH_FOCUS_KEYBOARD)) {
 | 
			
		||||
            searchInput.requestFocus();
 | 
			
		||||
            final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
 | 
			
		||||
            if (imm != null) imm.showSoftInput(searchInput, InputMethodManager.SHOW_IMPLICIT);
 | 
			
		||||
        }
 | 
			
		||||
        if (triggerEmptyQuery) {
 | 
			
		||||
            viewModel.submitQuery("");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -36,6 +36,7 @@ public class GeneralPreferencesFragment extends BasePreferencesFragment implemen
 | 
			
		||||
        }
 | 
			
		||||
        screen.addPreference(getUpdateCheckPreference(context));
 | 
			
		||||
        screen.addPreference(getFlagSecurePreference(context));
 | 
			
		||||
        screen.addPreference(getSearchFocusPreference(context));
 | 
			
		||||
        final List<Preference> preferences = FlavorSettings.getInstance()
 | 
			
		||||
                                                           .getPreferences(context,
 | 
			
		||||
                                                                           getChildFragmentManager(),
 | 
			
		||||
@ -101,6 +102,14 @@ public class GeneralPreferencesFragment extends BasePreferencesFragment implemen
 | 
			
		||||
                });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private Preference getSearchFocusPreference(@NonNull final Context context) {
 | 
			
		||||
        final SwitchPreferenceCompat preference = new SwitchPreferenceCompat(context);
 | 
			
		||||
        preference.setKey(PreferenceKeys.PREF_SEARCH_FOCUS_KEYBOARD);
 | 
			
		||||
        preference.setTitle(R.string.pref_search_focus_keyboard);
 | 
			
		||||
        preference.setIconSpaceReserved(false);
 | 
			
		||||
        return preference;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onSave(final boolean orderHasChanged) {
 | 
			
		||||
        if (!orderHasChanged) return;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
package awais.instagrabber.fragments.settings;
 | 
			
		||||
 | 
			
		||||
public final class PreferenceKeys {
 | 
			
		||||
    // new boolean prefs
 | 
			
		||||
    public static final String PREF_ENABLE_DM_NOTIFICATIONS = "enable_dm_notifications";
 | 
			
		||||
    public static final String PREF_ENABLE_DM_AUTO_REFRESH = "enable_dm_auto_refresh";
 | 
			
		||||
    public static final String PREF_ENABLE_DM_AUTO_REFRESH_FREQ_UNIT = "enable_dm_auto_refresh_freq_unit";
 | 
			
		||||
@ -8,6 +9,7 @@ public final class PreferenceKeys {
 | 
			
		||||
    public static final String PREF_ENABLE_SENTRY = "enable_sentry";
 | 
			
		||||
    public static final String PREF_TAB_ORDER = "tab_order";
 | 
			
		||||
    public static final String PREF_SHOWN_COUNT_TOOLTIP = "shown_count_tooltip";
 | 
			
		||||
    public static final String PREF_SEARCH_FOCUS_KEYBOARD = "search_focus_keyboard";
 | 
			
		||||
    // string prefs
 | 
			
		||||
    public static final String FOLDER_PATH = "custom_path";
 | 
			
		||||
    public static final String DATE_TIME_FORMAT = "date_time_format";
 | 
			
		||||
@ -18,12 +20,11 @@ public final class PreferenceKeys {
 | 
			
		||||
    public static final String STORY_SORT = "story_sort";
 | 
			
		||||
    // set string prefs
 | 
			
		||||
    public static final String KEYWORD_FILTERS = "keyword_filters";
 | 
			
		||||
    // boolean prefs
 | 
			
		||||
    // old boolean prefs
 | 
			
		||||
    public static final String DOWNLOAD_USER_FOLDER = "download_user_folder";
 | 
			
		||||
    public static final String TOGGLE_KEYWORD_FILTER = "toggle_keyword_filter";
 | 
			
		||||
    public static final String DOWNLOAD_PREPEND_USER_NAME = "download_user_name";
 | 
			
		||||
    public static final String PLAY_IN_BACKGROUND = "play_in_background";
 | 
			
		||||
    // deprecated: public static final String BOTTOM_TOOLBAR = "bottom_toolbar";
 | 
			
		||||
    public static final String FOLDER_SAVE_TO = "saved_to";
 | 
			
		||||
    public static final String AUTOPLAY_VIDEOS = "autoplay_videos";
 | 
			
		||||
    public static final String MUTED_VIDEOS = "muted_videos";
 | 
			
		||||
@ -33,10 +34,6 @@ public final class PreferenceKeys {
 | 
			
		||||
    public static final String MARK_AS_SEEN = "mark_as_seen";
 | 
			
		||||
    public static final String HIDE_MUTED_REELS = "hide_muted_reels";
 | 
			
		||||
    public static final String DM_MARK_AS_SEEN = "dm_mark_as_seen";
 | 
			
		||||
    // deprecated: public static final String INSTADP = "instadp";
 | 
			
		||||
    // deprecated: public static final String STORIESIG = "storiesig";
 | 
			
		||||
    // deprecated: public static final String STORY_VIEWER = "story_viewer";
 | 
			
		||||
    // deprecated: public static final String AMOLED_THEME = "amoled_theme";
 | 
			
		||||
    public static final String CHECK_ACTIVITY = "check_activity";
 | 
			
		||||
    public static final String CHECK_UPDATES = "check_updates";
 | 
			
		||||
    public static final String FLAG_SECURE = "flag_secure";
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ public final class Constants {
 | 
			
		||||
    public static final String APP_UA_CODE = "app_ua_code";
 | 
			
		||||
    // never Export
 | 
			
		||||
    public static final String COOKIE = "cookie";
 | 
			
		||||
    public static final String SHOW_QUICK_ACCESS_DIALOG = "show_quick_dlg";
 | 
			
		||||
    // deprecated: public static final String SHOW_QUICK_ACCESS_DIALOG = "show_quick_dlg";
 | 
			
		||||
    public static final String DEVICE_UUID = "device_uuid";
 | 
			
		||||
    public static final String BROWSER_UA = "browser_ua";
 | 
			
		||||
    public static final String APP_UA = "app_ua";
 | 
			
		||||
 | 
			
		||||
@ -58,8 +58,8 @@ import static awais.instagrabber.utils.Constants.PREF_SAVED_POSTS_LAYOUT;
 | 
			
		||||
import static awais.instagrabber.utils.Constants.PREF_TAGGED_POSTS_LAYOUT;
 | 
			
		||||
import static awais.instagrabber.utils.Constants.PREF_TOPIC_POSTS_LAYOUT;
 | 
			
		||||
import static awais.instagrabber.utils.Constants.PREV_INSTALL_VERSION;
 | 
			
		||||
import static awais.instagrabber.fragments.settings.PreferenceKeys.PREF_SEARCH_FOCUS_KEYBOARD;
 | 
			
		||||
import static awais.instagrabber.fragments.settings.PreferenceKeys.SHOW_CAPTIONS;
 | 
			
		||||
import static awais.instagrabber.utils.Constants.SHOW_QUICK_ACCESS_DIALOG;
 | 
			
		||||
import static awais.instagrabber.utils.Constants.SKIPPED_VERSION;
 | 
			
		||||
import static awais.instagrabber.fragments.settings.PreferenceKeys.STORY_SORT;
 | 
			
		||||
import static awais.instagrabber.fragments.settings.PreferenceKeys.SWAP_DATE_TIME_FORMAT_ENABLED;
 | 
			
		||||
@ -155,18 +155,18 @@ public final class SettingsHelper {
 | 
			
		||||
        return sharedPreferences != null && sharedPreferences.contains(key);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @StringDef(
 | 
			
		||||
            {APP_LANGUAGE, APP_THEME, APP_UA, BROWSER_UA, COOKIE, FOLDER_PATH, DATE_TIME_FORMAT, DATE_TIME_SELECTION,
 | 
			
		||||
    @StringDef({APP_LANGUAGE, APP_THEME, APP_UA, BROWSER_UA, COOKIE, FOLDER_PATH, DATE_TIME_FORMAT, DATE_TIME_SELECTION,
 | 
			
		||||
                    CUSTOM_DATE_TIME_FORMAT, DEVICE_UUID, SKIPPED_VERSION, DEFAULT_TAB, PREF_DARK_THEME, PREF_LIGHT_THEME,
 | 
			
		||||
                    PREF_POSTS_LAYOUT, PREF_PROFILE_POSTS_LAYOUT, PREF_TOPIC_POSTS_LAYOUT, PREF_HASHTAG_POSTS_LAYOUT,
 | 
			
		||||
                    PREF_LOCATION_POSTS_LAYOUT, PREF_LIKED_POSTS_LAYOUT, PREF_TAGGED_POSTS_LAYOUT, PREF_SAVED_POSTS_LAYOUT,
 | 
			
		||||
                    STORY_SORT, PREF_EMOJI_VARIANTS, PREF_REACTIONS, PREF_ENABLE_DM_AUTO_REFRESH_FREQ_UNIT, PREF_TAB_ORDER})
 | 
			
		||||
    public @interface StringSettings {}
 | 
			
		||||
 | 
			
		||||
    @StringDef({DOWNLOAD_USER_FOLDER, DOWNLOAD_PREPEND_USER_NAME, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, SHOW_QUICK_ACCESS_DIALOG, MUTED_VIDEOS,
 | 
			
		||||
    @StringDef({DOWNLOAD_USER_FOLDER, DOWNLOAD_PREPEND_USER_NAME, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, MUTED_VIDEOS,
 | 
			
		||||
                       SHOW_CAPTIONS, CUSTOM_DATE_TIME_FORMAT_ENABLED, MARK_AS_SEEN, DM_MARK_AS_SEEN, CHECK_ACTIVITY,
 | 
			
		||||
                       CHECK_UPDATES, SWAP_DATE_TIME_FORMAT_ENABLED, PREF_ENABLE_DM_NOTIFICATIONS, PREF_ENABLE_DM_AUTO_REFRESH,
 | 
			
		||||
                       FLAG_SECURE, TOGGLE_KEYWORD_FILTER, PREF_ENABLE_SENTRY, HIDE_MUTED_REELS, PLAY_IN_BACKGROUND, PREF_SHOWN_COUNT_TOOLTIP})
 | 
			
		||||
                       FLAG_SECURE, TOGGLE_KEYWORD_FILTER, PREF_ENABLE_SENTRY, HIDE_MUTED_REELS, PLAY_IN_BACKGROUND,
 | 
			
		||||
                       PREF_SHOWN_COUNT_TOOLTIP, PREF_SEARCH_FOCUS_KEYBOARD})
 | 
			
		||||
    public @interface BooleanSettings {}
 | 
			
		||||
 | 
			
		||||
    @StringDef({PREV_INSTALL_VERSION, BROWSER_UA_CODE, APP_UA_CODE, PREF_ENABLE_DM_AUTO_REFRESH_FREQ_NUMBER})
 | 
			
		||||
 | 
			
		||||
@ -269,6 +269,7 @@
 | 
			
		||||
    <string name="skip_update_checkbox">Do not show again until next update</string>
 | 
			
		||||
    <string name="version">Version</string>
 | 
			
		||||
    <string name="pref_start_screen">Start screen</string>
 | 
			
		||||
    <string name="pref_search_focus_keyboard" comment="basically bring up the keyboard immediately when someone does search">Show keyboard on search</string>
 | 
			
		||||
    <string name="pref_category_general">General</string>
 | 
			
		||||
    <string name="pref_category_theme">Theme</string>
 | 
			
		||||
    <string name="pref_category_downloads">Downloads</string>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user