mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-08 20:12:39 +01:00
Remove unused dependencies and remove reactivex from username fetcher
This commit is contained in:
parent
a1cf58e0ee
commit
5d2722b220
@ -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}"
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
}
|
@ -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")
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user