Class FilterBarFragment
java.lang.Object
androidx.fragment.app.Fragment
com.kernelcrew.moodapp.ui.components.FilterBarFragment
- All Implemented Interfaces:
ComponentCallbacks
,View.OnCreateContextMenuListener
,androidx.activity.result.ActivityResultCaller
,androidx.lifecycle.HasDefaultViewModelProviderFactory
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
- Direct Known Subclasses:
DefaultFilterBarFragment
public abstract class FilterBarFragment
extends androidx.fragment.app.Fragment
A fragment that interfaces the filtering options for mood events.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static interface
Interface to notify when filters are changed.static interface
Callback interface for delivering user search results to whoever is listening (e.g., HomeFeed).Nested classes/interfaces inherited from class androidx.fragment.app.Fragment
androidx.fragment.app.Fragment.InstantiationException, androidx.fragment.app.Fragment.SavedState
-
Field Summary
Fields inherited from class androidx.fragment.app.Fragment
mPreviousWho
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapplyLocalSearch
(List<MoodEvent> allMoods) Filters a list of MoodEvents locally based on the user’s current reasonSearchActive state.Retrieves (or creates) the current mood event filter.void
Auto-wire the listener from parent Activity or Fragment if available.onCreateView
(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) Inflates the filter bar layout and initializes filter options.void
onViewCreated
(View view, Bundle savedInstanceState) void
setAllowUserSearch
(boolean allowUserSearch) void
Sets a listener to be notified when the filter changes.void
Registers a listener for receiving user search results.abstract void
setupKeyboardHiding
(View view) Abstract method that MUST be implemented by subclasses.void
Allows external code to update the current MoodEventFilter.Methods inherited from class androidx.fragment.app.Fragment
dump, equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getDefaultViewModelCreationExtras, getDefaultViewModelProviderFactory, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLayoutInflater, getLifecycle, getLoaderManager, getParentFragment, getParentFragmentManager, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSavedStateRegistry, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, getViewLifecycleOwner, getViewLifecycleOwnerLiveData, getViewModelStore, hashCode, hasOptionsMenu, instantiate, instantiate, isAdded, isDetached, isHidden, isInLayout, isMenuVisible, isRemoving, isResumed, isStateSaved, isVisible, onActivityCreated, onActivityResult, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreate, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroy, onDestroyOptionsMenu, onDestroyView, onDetach, onGetLayoutInflater, onHiddenChanged, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsMenu, onPrimaryNavigationFragmentChanged, onRequestPermissionsResult, onResume, onSaveInstanceState, onStart, onStop, onViewStateRestored, postponeEnterTransition, postponeEnterTransition, registerForActivityResult, registerForActivityResult, registerForContextMenu, requestPermissions, requireActivity, requireArguments, requireContext, requireFragmentManager, requireHost, requireParentFragment, requireView, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivity, startActivityForResult, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu
-
Constructor Details
-
FilterBarFragment
public FilterBarFragment()
-
-
Method Details
-
setAllowUserSearch
public void setAllowUserSearch(boolean allowUserSearch) -
onAttach
Auto-wire the listener from parent Activity or Fragment if available.- Overrides:
onAttach
in classandroidx.fragment.app.Fragment
-
setOnUserSearchListener
Registers a listener for receiving user search results.- Parameters:
listener
- The listener to receive those results.
-
updateFilter
Allows external code to update the current MoodEventFilter. After the update, notifyFilterChanged() is automatically called to refresh the filter state. Usage: filterBarFragment.updateFilter(new FilterUpdater() { public void update(MoodEventFilter filter) { filter.setLimit(10); } }); Or, if using Java 8 lambdas: filterBarFragment.updateFilter(filter -> filter.setLimit(10));- Parameters:
updater
- The updater that modifies the MoodEventFilter.
-
onCreateView
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) Inflates the filter bar layout and initializes filter options.- Overrides:
onCreateView
in classandroidx.fragment.app.Fragment
-
onViewCreated
- Overrides:
onViewCreated
in classandroidx.fragment.app.Fragment
-
setupKeyboardHiding
Abstract method that MUST be implemented by subclasses. -
getMoodEventFilter
Retrieves (or creates) the current mood event filter. -
setOnFilterChangedListener
Sets a listener to be notified when the filter changes. -
applyLocalSearch
Filters a list of MoodEvents locally based on the user’s current reasonSearchActive state.
-