package com.fclivelike import android.app.Application import android.os.Handler import android.os.Looper import android.util.Log import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactMethod import com.livelike.engagementsdk.EngagementSDK import com.livelike.engagementsdk.utils.registerLogsHandler object LiveLikeManager { lateinit var engagementSDK: EngagementSDK; var userAccessToken: String? = null; val LIVE_LIKE_LOG: String = "FCLiveLike"; @ReactMethod fun initializeSDK(application: Application, clientId: String, userAccessToken: String?, promise: Promise) { if (application != null) { if (userAccessToken != null || LiveLikeManager.userAccessToken != null) { val accessToken = if (userAccessToken != null) userAccessToken else LiveLikeManager.userAccessToken engagementSDK = EngagementSDK(clientId, application, accessToken) promise.resolve("Success") } else { engagementSDK = EngagementSDK(clientId, application) engagementSDK.userStream.subscribe("_") { it?.let { LiveLikeManager.userAccessToken = it.accessToken } } promise.resolve("Success") } registerLogsHandler(object : (String) -> Unit { override fun invoke(text: String) { Handler(Looper.getMainLooper()).post { Log.v(LIVE_LIKE_LOG,text) } } }) } else { promise.reject("ERR103", "Application Context Can't be Null") } } }