Settings Management

Complete guide to working with settings operations in the Zync SDK.

Table of contents

  1. Enable Offline Mode
  2. Disable Offline Mode
  3. Get Offline State
  4. Check Offline Status

The Zync SDK provides settings management through the ZyncSettingsManager. Settings control user preferences and behavior across the SDK, including offline mode management.

Enable Offline Mode

Enable offline mode for the current user:

val result = zync.settings.enableOfflineMode()

when (result) {
    is ToggleOfflineModeResult.Success -> {
        val state = result.data
        println("Offline mode enabled: ${state.isOfflineEnabled}")
    }
    is ToggleOfflineModeResult.Failure -> {
        println("Error: ${result.error.message}")
        when (result.error) {
            is ZyncError.Network -> {
                println("Check your internet connection")
            }
            is ZyncError.Error -> {
                println("Error: ${result.error.message}")
            }
        }
    }
}
let result = try await zync.settings.enableOfflineMode()

switch onEnum(of: result) {
case .success(let success):
    let state = success.data
    print("Offline mode enabled: \(state.isOfflineEnabled)")
case .failure(let failure):
    print("Error: \(failure.error.message)")
    switch onEnum(of: failure.error) {
    case .network:
        print("Check your internet connection")
    case .error(let error):
        print("Error: \(error.message)")
    }
}

Disable Offline Mode

Disable offline mode for the current user:

val result = zync.settings.disableOfflineMode()

when (result) {
    is ToggleOfflineModeResult.Success -> {
        val state = result.data
        println("Offline mode disabled: ${state.isOfflineEnabled}")
    }
    is ToggleOfflineModeResult.Failure -> {
        println("Error: ${result.error.message}")
        when (result.error) {
            is ZyncError.Network -> {
                println("Check your internet connection")
            }
            is ZyncError.Error -> {
                println("Error: ${result.error.message}")
            }
        }
    }
}
let result = try await zync.settings.disableOfflineMode()

switch onEnum(of: result) {
case .success(let success):
    let state = success.data
    print("Offline mode disabled: \(state.isOfflineEnabled)")
case .failure(let failure):
    print("Error: \(failure.error.message)")
    switch onEnum(of: failure.error) {
    case .network:
        print("Check your internet connection")
    case .error(let error):
        print("Error: \(error.message)")
    }
}

Get Offline State

Get the current offline state:

val state = zync.settings.getOfflineState()
println("Offline mode enabled: ${state.isOfflineEnabled}")
let state = zync.settings.getOfflineState()
print("Offline mode enabled: \(state.isOfflineEnabled)")

Check Offline Status

Quick check for offline mode status:

val isOfflineEnabled = zync.isOfflineEnabled
println("Offline mode enabled: $isOfflineEnabled")
let isOfflineEnabled = zync.isOfflineEnabled
print("Offline mode enabled: \(isOfflineEnabled)")

Copyright © 2025 Zuper Inc. All rights reserved. This software is proprietary and confidential.