ym88659208ym87991671
SIDPreferencesELK | Документация для разработчиков

SIDPreferencesELK

Обновлено 30 января 2026

SIDPreferencesELK — глобальная модель настроек приложения для ЕЛК (ELK) SDK. Хранит все визуальные, текстовые и сетевые параметры, влияющие на отображение и поведение SDK по всей системе. Класс используется для централизованного управления настройками интерфейса ЕЛК. Разработан как стабильная (Stable) сущность для использования в Compose-архитектуре.

Конструктор

SIDPreferencesELK(
texts: SIDTextsELK,
themeColor: SIDColorELK,
primaryColor: SIDColorELK,
secondaryColor: SIDColorELK,
warningColor: SIDColorELK,
widgetBackgroundColor: SIDColorELK,
fonts: SIDFontsELK,
network: SIDNetworkELK,
elkErrorType: SIDErrorTypesELK
)

Поля

ПолеТипОписаниеДоступ
textsSIDTextsELKТекстовые сообщения для ошибокТолько чтение
themeColorSIDColorELKОсновной цвет темы интерфейсаТолько чтение
primaryColorSIDColorELKПервичный цвет для кнопок и акцентовТолько чтение
secondaryColorSIDColorELKВторичный цвет для дополнительных элементовТолько чтение
warningColorSIDColorELKЦвет для предупреждений и ошибокТолько чтение
widgetBackgroundColorSIDColorELKЦвет фона виджетовТолько чтение
fontsSIDFontsELKНастройки шрифтов приложенияТолько чтение
networkSIDErrorTypesELKСетевые заголовки для запросовТолько чтение
elkErrorTypeSIDNetworkELKСтратегия обработки ошибок ELKТолько чтение

Методы

copyNotNull()

fun copyNotNull(
texts: SIDTextsELK? = null,
themeColor: SIDColorELK? = null,
primaryColor: SIDColorELK? = null,
secondaryColor: SIDColorELK? = null,
widgetBackgroundColor: SIDColorELK? = null,
warningColor: SIDColorELK? = null,
fonts: SIDFontsELK? = null,
elkErrorType: SIDErrorTypesELK? = null,
network: SIDNetworkELK? = null
): SIDPreferencesELK

Создает глубокую копию текущего объекта с обновленными полями. Если значения совпадают с текущими, возвращает исходный объект.

ПараметрОбязательныйТипОписание
textsНетSIDTextsELKНовые текстовые настройки ошибок
themeColorНетSIDColorELKНовый основной цвет темы
primaryColorНетSIDColorELKНовый первичный цвет
secondaryColorНетSIDColorELKНовый вторичный цвет
widgetBackgroundColorНетSIDColorELKНовый цвет фона виджетов
warningColorНетSIDColorELKНовый цвет предупреждений
fontsНетSIDFontsELKНовые настройки шрифтов
elkErrorTypeНетSIDErrorTypesELKНовый тип обработки ошибок
networkНетSIDNetworkELKНовые сетевые настройки

Возвращаемое значение: SIDPreferencesELK — новый объект с обновленными полями или текущий, если изменения не требуются.

Пример использования:

val baseConfig = SIDPreferencesELK()

// Обновление только цветов предупреждений
val updatedConfig = baseConfig.copyNotNull(
warningColor = SIDColorELK(light = Color.RED, dark = Color.DARK_RED)
)

// Обновление нескольких параметров
val fullConfig = baseConfig.copyNotNull(
themeColor = SIDColorELK(light = Color.BLUE, dark = Color.DARK_BLUE),
fonts = SIDFontsELK(semiBoldResID = R.font.roboto_bold),
network = SIDNetworkELK(mapOf("Authorization" to "Bearer token123"))
)

merge()

fun merge(newPreferences: SIDPreferencesELK): SIDPreferencesELK

Объединяет текущие настройки с новыми, перезаписывая только измененные параметры. Используется для постепенного обновления конфигурации.

ПараметрОбязательныйТипОписание
newPreferencesДаSIDPreferencesELKОбъект с новыми настройками

Возвращаемое значение: SIDPreferencesELK — объединенный объект настроек.

Пример использования:

val baseConfig = SIDPreferencesELK(
themeColor = SIDColorELK(light = Color.BLUE),
fonts = SIDFontsELK(semiBoldResID = R.font.default_bold)
)

// Новые настройки для объединения
val newConfig = SIDPreferencesELK(
themeColor = SIDColorELK(light = Color.GREEN), // Заменит синий на зеленый
network = SIDNetworkELK(mapOf("Custom-Header" to "Value")) // Добавит новый заголовок
)

// Объединение настроек
val mergedConfig = baseConfig.merge(newConfig)
// mergedConfig содержит:
// - themeColor: GREEN (обновлено)
// - fonts: остался default_bold (не изменилось)
// - network: добавлен Custom-Header

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.