| DefaultLanguageScreenInteractor.kt |
The default implementation of the interactor for the language selection screen.
This class is responsible for handling user interactions and communicating them to the store.
@param languageScreenStore The store responsible for managing the state of the language screen.
|
1236 |
- |
| Language.kt |
Data class for Language that comes from the LanguageStorage
@property displayName of the Language the will be shown in the GUI
@property tag of the Language that will be saved in SharePref if the element is selected
@property index of the Language in the list .It is used for auto-scrolling to the current selected
Language
|
676 |
- |
| LanguageFragment.kt |
A [BaseComposeFragment] responsible for displaying and managing the language selection screen.
|
3678 |
- |
| LanguageListItem.kt |
Data class for the LanguageListItem that goes to the compose ListView
@property language item to be display in ListView
@property onClick Callback when the user taps on Language Item
|
544 |
- |
| LanguageMiddleware.kt |
[Middleware] responsible for handling actions related to language selection and updates in the
language settings screen. It interacts with [LanguageStorage] to persist the selected language and
[LocaleUseCases] to apply the selected language to the system.
This middleware intercepts [LanguageScreenAction]s, updates the stored language preference, and triggers
a locale change that affects the application's displayed language. It also handles the initial population
of available languages when the language screen is first displayed.
@param activity The current activity. Used for accessing resources and triggering activity recreation.
@param localeUseCase Use cases for interacting with locales, provided by [LocaleUseCases].
@param storage The storage for managing language preferences, provided by [LanguageStorage].
@param getSystemDefault A lambda that returns the system's default locale.
|
4410 |
- |
| LanguageScreenStore.kt |
A store for managing the state of the language selection screen.
This store is responsible for handling the state ([LanguageScreenState]) and actions
([LanguageScreenAction]) related to the language selection UI. It manages the list
of available languages and the currently selected language.
On initialization, it automatically dispatches [LanguageScreenAction.InitLanguages]. This
action is intended to be intercepted by a [Middleware] to trigger the loading of language
data from a repository.
@param initialState The initial state for the language screen.
@param middlewares A list of [Middleware]s to intercept actions and perform side effects,
such as fetching the language list.
|
3695 |
- |
| LanguageStorage.kt |
A storage class responsible for managing the application's language settings.
It provides access to the list of available languages, the currently selected language,
and methods for persisting the user's language choice in SharedPreferences.
@param context The application context, used to access resources and SharedPreferences.
|
3463 |
- |
| LocaleDescriptor.kt |
Represents a locale and its native name.
|
5299 |
- |
| LocaleFragmentCompose.kt |
Displays a lazily-loaded list of languages.
This composable is optimized for performance by processing each language item only when it's
about to be displayed. It also handles the special case for the "System Default" language
by resolving its display name from string resources.
@param languages The list of [Language] data to display.
@param selectedTag The tag of the currently selected language, used to highlight the correct item.
@param onLanguageSelected A callback invoked with the selected [Language] object when an item is clicked.
@param listState The [LazyListState] for controlling and observing the scroll state of the list.
|
6141 |
- |