SeslAppPickerSelectLayout
A custom layout class for displaying a list of apps and that also supports showing a secondary list for displaying list of selected items either at the top or at the side which is enabled usingenableSelectedAppPickerView.
Key Features:
Dynamic Layout: Automatically adjusts layout between portrait and landscape, and based on whether the selected apps view is visible.
Selected Apps View: Can display a separate list of currently selected apps, either horizontally at the top (portrait) or vertically on the side (landscape).
Header Support: Allows for a custom header view to be displayed above the selected apps view.
Search Filtering: Supports filtering the main app list via setSearchFilter.
State Management: Manages the selection state of apps through its internal
CheckStateManager
and interfaces with the underlying appPickerStateView.Customization:
Main view title can be customized using setMainViewTitle.
Selected view title can be set using setSelectedViewTitle.
Layout orientation can be forced using the
app:layoutType
XML attribute or programmatically viaselectLayoutType
.
Custom XML Attributes:
app:layoutType
(enum): Defines the layout orientation behavior for the selected app list. Can beauto
,port
, orland
. Defaults toauto
. See SelectLayoutType for more details.
Parameters
The Context the view is running in, through which it can access the current theme, resources, etc.
The attributes of the XML tag that is inflating the view.
An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.
Constructors
Types
Manages the state of checked (selected) apps.
Enum representing the different layout configurations for the SeslAppPickerSelectLayout.
Defines the layout orientation behavior of the selected app list.
Properties
Functions
Adds an item to the checked list.
Adds items from a GroupAppData to the checked items list.
Adds an app to the selected items list.
Adds a category app data item to the selected list.
Clears the list of checked items.
Converts an AppInfoData object representing a checkbox item to an AppInfoData object suitable for a "remove" action.
Enables or disables showing the secondary app picker view for selected items.
Retrieves the list of AppData currently managed by the the appPickerStateView's ViewDataController.
Retrieves an AppInfoData object from a list based on its AppInfo.
Finds a CategoryAppData in a list that contains a specific AppInfo.
Extracts a list of CategoryAppData from a given list of AppData.
Refreshes the selected appPickerStateView.
Removes an item from the selected list.
Removes an item from the selected list.
Sets the title of the main app list view.
Sets the listener to be called when an action button in an item is clicked.
Sets the listener to be called when an item in the list is clicked.
Sets the listener to be notified when the state of an app or all apps changes.
Sets a search filter for the app list.
Sets the title text for the selected view.
Sets the selection state of all applications in the app picker.
Smoothly scrolls the selected app list to the specified app.
Submits a new list of AppData to be displayed.
Updates the checked app list based on the provided list of AppData.
Updates an item in the app list with new data.