Use correct retrofit rxjava adapter and update okhttp timeout (#790)

diff --git a/LottieSample/build.gradle b/LottieSample/build.gradle
index 24a642c..a36fc3a 100644
--- a/LottieSample/build.gradle
+++ b/LottieSample/build.gradle
@@ -70,7 +70,6 @@
   implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
   implementation 'com.jakewharton:butterknife:8.8.1'
   kapt 'com.jakewharton:butterknife-compiler:8.8.1'
-  implementation 'com.squareup.okhttp3:okhttp:3.10.0'
   implementation 'com.matthew-tamlin:sliding-intro-screen:3.2.0'
   implementation 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.2'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
@@ -96,9 +95,10 @@
   androidTestImplementation('com.android.support.test:rules:0.5', {
     exclude group: 'com.android.support', module: 'support-annotations'
   })
-  implementation 'com.squareup.retrofit2:retrofit:2.3.0'
   implementation 'com.google.code.gson:gson:2.8.2'
-  implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
+  implementation 'com.squareup.okhttp3:okhttp:3.10.0'
+  implementation 'com.squareup.retrofit2:retrofit:2.3.0'
+  implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
   implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
   implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
   implementation 'com.github.bumptech.glide:glide:4.6.1'
diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottieApplication.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottieApplication.kt
index df07b87..84ee79f 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottieApplication.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottieApplication.kt
@@ -3,13 +3,17 @@
 import android.support.multidex.MultiDexApplication
 import com.google.gson.FieldNamingPolicy
 import com.google.gson.GsonBuilder
-import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
 import okhttp3.OkHttpClient
 import retrofit2.Retrofit
+import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
 import retrofit2.converter.gson.GsonConverterFactory
+import java.util.concurrent.TimeUnit
 
 class LottieApplication : MultiDexApplication() {
-    val okHttpClient by lazy { OkHttpClient.Builder().build() }
+    val okHttpClient by lazy {
+        OkHttpClient.Builder()
+            .connectTimeout(30, TimeUnit.SECONDS)
+            .build() }
 
     val gson by lazy {
         GsonBuilder()
diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesViewModel.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesViewModel.kt
index ccee8c5..53607c5 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesViewModel.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/LottiefilesViewModel.kt
@@ -53,6 +53,7 @@
         disposables.add(observable
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
+                .retry(3)
                 .doOnSubscribe { loading.value = true }
                 .subscribe({
                     responses.add(it)
diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseViewModel.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseViewModel.kt
index 586962d..cf74c72 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseViewModel.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/ShowcaseViewModel.kt
@@ -24,6 +24,7 @@
         disposables.add(lottiefilesService.getCollection(COLLECTION)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
+                .retry(3)
                 .doOnSubscribe { loading.value = true }
                 .subscribe({
                     collection.value = it