aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt28
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt2
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/internal/Internal.kt34
-rw-r--r--gradle.properties6
5 files changed, 16 insertions, 58 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 0cb401fb..23d26fd8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -253,8 +253,8 @@ dependencies {
//Reactive Libs
implementation "io.reactivex.rxjava2:rxjava:${RX_JAVA}"
- implementation "io.reactivex.rxjava2:rxkotlin:${RX_KOTLIN}"
- implementation "io.reactivex.rxjava2:rxandroid:${RX_ANDROID}"
+// implementation "io.reactivex.rxjava2:rxkotlin:${RX_KOTLIN}"
+// implementation "io.reactivex.rxjava2:rxandroid:${RX_ANDROID}"
implementation "com.github.pwittchen:reactivenetwork-rx2:${RX_NETWORK}"
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt b/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
index f7d97833..d7dd71ed 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
@@ -17,7 +17,7 @@
package com.pitchedapps.frost.dbflow
import android.os.Parcelable
-import com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork
+import com.pitchedapps.frost.dbflow.CookieModel_Table.cookie
import com.pitchedapps.frost.facebook.FbItem
import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.frostJsoup
@@ -34,11 +34,10 @@ import com.raizlabs.android.dbflow.kotlinextensions.save
import com.raizlabs.android.dbflow.kotlinextensions.select
import com.raizlabs.android.dbflow.kotlinextensions.where
import com.raizlabs.android.dbflow.structure.BaseModel
-import io.reactivex.disposables.Disposable
-import io.reactivex.schedulers.Schedulers
import kotlinx.android.parcel.Parcelize
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
+import kotlinx.coroutines.withTimeoutOrNull
import java.net.UnknownHostException
/**
@@ -98,25 +97,20 @@ fun removeCookie(id: Long) {
}
}
-inline fun CookieModel.fetchUsername(crossinline callback: (String) -> Unit): Disposable =
- ReactiveNetwork.checkInternetConnectivity().subscribeOn(Schedulers.io()).subscribe { yes, _ ->
- if (!yes) return@subscribe callback("")
- var result = ""
+suspend fun CookieModel.fetchUsername(): String? = withContext(Dispatchers.IO) {
+ withTimeoutOrNull(5000) {
+ var result: String? = null
try {
result = frostJsoup(cookie, FbItem.PROFILE.url).title()
L.d { "Fetch username found" }
} catch (e: Exception) {
if (e !is UnknownHostException)
e.logFrostEvent("Fetch username failed")
- } finally {
- if (result.isBlank() && (name?.isNotBlank() == true)) {
- callback(name!!)
- return@subscribe
- }
- if (name != result) {
- name = result
- saveFbCookie(this@fetchUsername)
- }
- callback(result)
}
+ if (name?.isNotBlank() == false && result != null && result != name) {
+ name = result
+ saveFbCookie(this@fetchUsername)
+ }
+ result
}
+} \ No newline at end of file
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
index ec765448..8610436a 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
@@ -84,7 +84,7 @@ class FbRequestTest {
val data = AUTH.getMenuData().invoke()
assertNotNull(data)
println(ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(data))
- assertTrue(data!!.data.isNotEmpty())
+ assertTrue(data.data.isNotEmpty())
assertTrue(data.footer.hasContent, "Footer may be badly parsed")
val items = data.flatMapValid()
assertTrue(items.size > 15, "Something may be badly parsed")
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/internal/Internal.kt b/app/src/test/kotlin/com/pitchedapps/frost/internal/Internal.kt
index 061e7c38..b8d9635a 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/internal/Internal.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/internal/Internal.kt
@@ -22,13 +22,10 @@ import com.pitchedapps.frost.facebook.get
import com.pitchedapps.frost.facebook.requests.RequestAuth
import com.pitchedapps.frost.facebook.requests.getAuth
import com.pitchedapps.frost.utils.frostJsoup
-import io.reactivex.Completable
import org.junit.Assume
-import org.junit.Test
import java.io.File
import java.io.FileInputStream
import java.util.Properties
-import java.util.concurrent.TimeUnit
import kotlin.reflect.full.starProjectedType
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@@ -97,34 +94,3 @@ fun Any.assertComponentsNotEmpty() {
fun <T : Comparable<T>> List<T>.assertDescending(tag: String) {
assertEquals(sortedDescending(), this, "$tag not sorted in descending order")
}
-
-interface CompletableCallback {
- fun onComplete()
- fun onError(message: String)
-}
-
-inline fun concurrentTest(crossinline caller: (callback: CompletableCallback) -> Unit) {
- val result = Completable.create { emitter ->
- caller(object : CompletableCallback {
- override fun onComplete() = emitter.onComplete()
- override fun onError(message: String) = emitter.onError(Throwable(message))
- })
- }.blockingGet(5, TimeUnit.SECONDS)
- if (result != null)
- throw RuntimeException("Concurrent fail: ${result.message}")
-}
-
-class InternalTest {
- @Test
- fun concurrentTest() = try {
- concurrentTest { result ->
- Thread().run {
- Thread.sleep(100)
- result.onError("Intentional fail")
- }
- }
- fail("Did not throw exception")
- } catch (e: Exception) {
- // pass
- }
-}
diff --git a/gradle.properties b/gradle.properties
index dcdb5630..691544bc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -14,7 +14,7 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro
APP_ID=Frost
APP_GROUP=com.pitchedapps
-KAU=af43e82
+KAU=72d6461
KOTLIN=1.3.11
# https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google
@@ -28,7 +28,7 @@ BUGSNAG=4.9.3
# https://github.com/bugsnag/bugsnag-android-gradle-plugin/releases
BUGSNAG_PLUGIN=3.6.0
# https://github.com/KeepSafe/dexcount-gradle-plugin/releases
-DEX_PLUGIN=0.8.4
+DEX_PLUGIN=0.8.5
# https://github.com/gladed/gradle-android-git-version/releases
GIT_PLUGIN=0.4.7
# https://mvnrepository.com/artifact/org.apache.commons/commons-text
@@ -59,8 +59,6 @@ OKHTTP=3.12.1
ROBOELECTRIC=4.1
# https://github.com/ReactiveX/RxAndroid/releases
RX_ANDROID=2.1.0
-# https://github.com/JakeWharton/RxBinding/releases
-RX_BINDING=2.2.0
# https://github.com/ReactiveX/RxJava/releases
RX_JAVA=2.2.4
# https://github.com/ReactiveX/RxKotlin/releases