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 interfacestatic interfaceInterface to notify when filters are changed.static interfaceCallback 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.voidAuto-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.voidonViewCreated(View view, Bundle savedInstanceState) voidsetAllowUserSearch(boolean allowUserSearch) voidSets a listener to be notified when the filter changes.voidRegisters a listener for receiving user search results.abstract voidsetupKeyboardHiding(View view) Abstract method that MUST be implemented by subclasses.voidAllows 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:
onAttachin 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:
onCreateViewin classandroidx.fragment.app.Fragment
-
onViewCreated
- Overrides:
onViewCreatedin 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.
-