1 package com.airbnb.lottie.samples 2 3 import androidx.multidex.MultiDexApplication 4 import com.airbnb.lottie.L 5 import com.airbnb.lottie.samples.api.LottiefilesApi 6 import com.google.gson.FieldNamingPolicy 7 import com.google.gson.GsonBuilder 8 import okhttp3.OkHttpClient 9 import retrofit2.Retrofit 10 import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory 11 import retrofit2.converter.gson.GsonConverterFactory 12 import java.util.concurrent.TimeUnit 13 14 class LottieApplication : MultiDexApplication() { <lambda>null15 private val okHttpClient by lazy { 16 OkHttpClient.Builder() 17 .connectTimeout(30, TimeUnit.SECONDS) 18 .build() 19 } 20 <lambda>null21 private val gson by lazy { 22 GsonBuilder() 23 .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) 24 .create() 25 } 26 <lambda>null27 private val retrofit by lazy { 28 Retrofit.Builder() 29 .client(okHttpClient) 30 .baseUrl("https://api.lottiefiles.com/") 31 .addConverterFactory(GsonConverterFactory.create(gson)) 32 .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) 33 .build() 34 } 35 <lambda>null36 val lottiefilesService: LottiefilesApi by lazy { retrofit.create(LottiefilesApi::class.java) } 37 onCreatenull38 override fun onCreate() { 39 super.onCreate() 40 L.DBG = true 41 @Suppress("RestrictedApi") 42 L.setTraceEnabled(true) 43 } 44 }