package com.shukria.kiosklauncher.util import android.content.Context object MQTTConfig { const val BROKER_HOST = "demo.ctrmv.com" const val BROKER_PORT = 1883 const val PRODUCT_KEY = "pFppbioOCKlo5c8E" const val VENDOR = "morefun" const val MODEL = "kiosk_launcher" const val DEFAULT_HEARTBEAT_INTERVAL_MS = 30_000L const val KEEPALIVE_SECONDS = 60 const val CONNECTION_TIMEOUT_SECONDS = 30 const val MAX_RECONNECT_DELAY_MS = 60_000L const val INITIAL_RECONNECT_DELAY_MS = 5_000L fun getHeartbeatIntervalMs(context: Context): Long { val prefs = context.getSharedPreferences("settings_prefs", Context.MODE_PRIVATE) val seconds = prefs.getInt("heartbeat_interval_seconds", -1) return if (seconds == -1) { DEFAULT_HEARTBEAT_INTERVAL_MS } else { seconds * 1000L } } fun clientId(serialNumber: String) = "kiosk-$serialNumber" fun commandTopic(serialNumber: String) = "/ota/$PRODUCT_KEY/$serialNumber/update" fun statusTopic(serialNumber: String) = "tms/status/$serialNumber" fun ackTopic(serialNumber: String) = "ota/ack/$serialNumber" fun logPushTopic(serialNumber: String) = "ota/$PRODUCT_KEY/$serialNumber/logpush" fun screenPushTopic(serialNumber: String) = "ota/$PRODUCT_KEY/$serialNumber/screenpush" }