SettingsManagementService

interface SettingsManagementService

Service responsible for managing settings. SettingScope defines two types of settings:

  • application settings, which are applicable to the entire application and all user profiles

  • user profile-specific settings, which are linked to the user profile

Before a setting can be accessed, it must be created through createSetting.

For efficiency, setting value types are limited to primitive types, including lists. Other types can be serialized into a string, or decomposed into primitive types.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val sessionToken: SettingsManagementSessionToken

A session token identifies the state of settings visible to clients. It changes when the settings have been modified by this service, due to user profile switching, factory reset or other reasons that are not caused by setting owning services.

Functions

Link copied to clipboard
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: BooleanListSettingKey,     defaultValue: ParcelableBooleanList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: DoubleListSettingKey,     defaultValue: ParcelableDoubleList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: DoubleSettingKey,     defaultValue: Double,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: EnumSettingKey,     defaultValue: ParcelableEnum,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: FloatListSettingKey,     defaultValue: ParcelableFloatList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: FloatSettingKey,     defaultValue: Float,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: IntListSettingKey,     defaultValue: ParcelableIntList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: IntSettingKey,     defaultValue: Int,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: LongListSettingKey,     defaultValue: ParcelableLongList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: LongSettingKey,     defaultValue: Long,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: StringListSettingKey,     defaultValue: ParcelableStringList,     updateStrategy: SettingUpdateStrategy)
abstract suspend fun createSetting(    ownerId: IviServiceId,     key: StringSettingKey,     defaultValue: String,     updateStrategy: SettingUpdateStrategy)

abstract suspend fun createSetting(    ownerId: IviServiceId,     key: BooleanSettingKey,     defaultValue: Boolean,     updateStrategy: SettingUpdateStrategy)

Creates a setting with key and defaultValue. The method must be called when this service or a client service becomes available.

Link copied to clipboard
abstract suspend fun getSetting(key: BooleanListSettingKey): ParcelableBooleanList
abstract suspend fun getSetting(key: DoubleListSettingKey): ParcelableDoubleList
abstract suspend fun getSetting(key: DoubleSettingKey): Double
abstract suspend fun getSetting(key: EnumSettingKey): ParcelableEnum
abstract suspend fun getSetting(key: FloatListSettingKey): ParcelableFloatList
abstract suspend fun getSetting(key: FloatSettingKey): Float
abstract suspend fun getSetting(key: IntListSettingKey): ParcelableIntList
abstract suspend fun getSetting(key: IntSettingKey): Int
abstract suspend fun getSetting(key: LongListSettingKey): ParcelableLongList
abstract suspend fun getSetting(key: LongSettingKey): Long
abstract suspend fun getSetting(key: StringListSettingKey): ParcelableStringList
abstract suspend fun getSetting(key: StringSettingKey): String

abstract suspend fun getSetting(key: BooleanSettingKey): Boolean

Returns the value of the setting with key.

Link copied to clipboard
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: BooleanListSettingKey,     value: ParcelableBooleanList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: DoubleListSettingKey,     value: ParcelableDoubleList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: DoubleSettingKey,     value: Double): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: EnumSettingKey,     value: ParcelableEnum): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: FloatListSettingKey,     value: ParcelableFloatList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: FloatSettingKey,     value: Float): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: IntListSettingKey,     value: ParcelableIntList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: IntSettingKey,     value: Int): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: LongListSettingKey,     value: ParcelableLongList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: LongSettingKey,     value: Long): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: StringListSettingKey,     value: ParcelableStringList): Boolean
abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: StringSettingKey,     value: String): Boolean

abstract suspend fun putSetting(    sessionToken: SettingsManagementSessionToken,     key: BooleanSettingKey,     value: Boolean): Boolean

Updates the value of the setting with key with value for a session with sessionToken.

Link copied to clipboard
abstract suspend fun revertAllSettingsToDefault()

Reverts values of all settings to their defaults. It is effectively a "factory reset" for all settings.

Link copied to clipboard
abstract suspend fun revertSettingToDefault(sessionToken: SettingsManagementSessionToken, key: SettingKey): Boolean

Reverts the value of the setting with key for a session with sessionToken to its default value.