diff options
author | Allan Wang <me@allanwang.ca> | 2018-01-18 23:23:56 -0500 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2018-01-20 16:42:37 -0500 |
commit | d766100c297bc094491de150f24c04719ffa8f4e (patch) | |
tree | b69863dace2fcb45d5fd25c276ca450e07305c44 /app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt | |
parent | 78b3cc41e4c9f8d141ad46ee75e476fa2d177f19 (diff) | |
download | frost-d766100c297bc094491de150f24c04719ffa8f4e.tar.gz frost-d766100c297bc094491de150f24c04719ffa8f4e.tar.bz2 frost-d766100c297bc094491de150f24c04719ffa8f4e.zip |
Enhancement/speed up (#650)
* Revert back to m.facebook
* Add initial speedup
* Update theme
* Fix link press for event status
* Move web states to fb const
* Fix images and email
* Fix up flyweight for requests
* Ensure frost request is synchronous
* Prepare diff utils
* Improve speed and fix blank overlay
* Update comments
* Add debugger and fix searchview
* Theme discover pages. Resolves #654
* Fix duplicate reload
* Fix image loading
* Update changelog
* Update tests
* Rename test
Update dependencies
Update gitignore
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt index 3b37d1c3..df0fdef2 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt @@ -1,5 +1,6 @@ package com.pitchedapps.frost.settings +import android.content.Context import ca.allanwang.kau.kpref.activity.KPrefAdapterBuilder import ca.allanwang.kau.utils.materialDialog import ca.allanwang.kau.utils.startActivityForResult @@ -11,6 +12,7 @@ import com.pitchedapps.frost.activities.SettingsActivity.Companion.ACTIVITY_REQU import com.pitchedapps.frost.debugger.OfflineWebsite import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.facebook.FbItem +import com.pitchedapps.frost.parsers.FrostParser import com.pitchedapps.frost.parsers.MessageParser import com.pitchedapps.frost.parsers.NotifParser import com.pitchedapps.frost.parsers.SearchParser @@ -21,6 +23,7 @@ import org.jetbrains.anko.doAsync import org.jetbrains.anko.toast import org.jetbrains.anko.uiThread import java.io.File +import java.util.concurrent.Future /** * Created by Allan Wang on 2017-06-30. @@ -49,7 +52,29 @@ fun SettingsActivity.getDebugPrefs(): KPrefAdapterBuilder.() -> Unit = { items(parsers.map { string(it.nameRes) }) itemsCallback { dialog, _, position, _ -> dialog.dismiss() - // todo add debugging + val parser = parsers[position] + var attempt: Future<Unit>? = null + val loading = materialDialog { + content(parser.nameRes) + progress(true, 100) + negativeText(R.string.kau_cancel) + onNegative { dialog, _ -> + attempt?.cancel(true) + dialog.dismiss() + } + canceledOnTouchOutside(false) + } + + attempt = loading.doAsync({ + createEmail(parser, "Error: ${it.message}") + }) { + val data = parser.parse(FbCookie.webCookie) + uiThread { + if (it.isCancelled) return@uiThread + it.dismiss() + createEmail(parser, data?.data) + } + } } } @@ -57,6 +82,12 @@ fun SettingsActivity.getDebugPrefs(): KPrefAdapterBuilder.() -> Unit = { } } +private fun Context.createEmail(parser: FrostParser<*>, content: Any?) = + sendFrostEmail("${string(R.string.debug_report)}: ${parser::class.java.simpleName}") { + addItem("Url", parser.url) + addItem("Contents", "$content") + } + private const val ZIP_NAME = "debug" fun SettingsActivity.sendDebug(urlOrig: String) { |