package com.shukria.kiosklauncher.network import android.util.Log import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import java.security.SecureRandom import java.security.cert.X509Certificate import javax.net.ssl.SSLContext import javax.net.ssl.X509TrustManager object RetrofitClient { const val BASE_URL = "http://demo.ctrmv.com:4017/" private val trustAll = object : X509TrustManager { override fun checkClientTrusted(chain: Array, authType: String) {} override fun checkServerTrusted(chain: Array, authType: String) {} override fun getAcceptedIssuers(): Array = arrayOf() } private val okhttp: OkHttpClient by lazy { try { val sslCtx = SSLContext.getInstance("TLS").apply { init(null, arrayOf(trustAll), SecureRandom()) } OkHttpClient.Builder() .sslSocketFactory(sslCtx.socketFactory, trustAll) .hostnameVerifier { _, _ -> true } .build() } catch (e: Exception) { Log.w("RetrofitClient", "Could not configure trust-all TLS: ${e.message}") OkHttpClient.Builder().build() } } val okHttpClient: OkHttpClient by lazy { okhttp } val marketplaceApi: MarketplaceApi = Retrofit.Builder() .baseUrl(BASE_URL) .client(okhttp) .addConverterFactory(GsonConverterFactory.create()) .build() .create(MarketplaceApi::class.java) }