aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2018-04-12 18:50:58 -0400
committerGitHub <noreply@github.com>2018-04-12 18:50:58 -0400
commitd9e2562267e549ee407e683262406581f2c4888e (patch)
tree0dc063913b00a9dc4f10d0d5c7085218c2cc17c3 /app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt
parent42e57597bcc3216778e9f14389f751eb62da1bd5 (diff)
downloadfrost-d9e2562267e549ee407e683262406581f2c4888e.tar.gz
frost-d9e2562267e549ee407e683262406581f2c4888e.tar.bz2
frost-d9e2562267e549ee407e683262406581f2c4888e.zip
Misc (#865)
* Clean up git code * Update download link * Update theme * Reorder settings, resolvees #856 * Do not log undeliverable exception * Handle potential lack of webview * Set notification epoch default to now, resolves #857 * Fix notification epoch time init * Update changelog * Update theme * Add slack url, resolves #880 * Prepare for image update
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt61
1 files changed, 37 insertions, 24 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt
index 54a48112..034dabe2 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt
@@ -10,6 +10,7 @@ import ca.allanwang.kau.internal.KauBaseActivity
import ca.allanwang.kau.utils.buildIsLollipopAndUp
import ca.allanwang.kau.utils.setIcon
import ca.allanwang.kau.utils.startActivity
+import ca.allanwang.kau.utils.string
import com.mikepenz.google_material_typeface_library.GoogleMaterial
import com.pitchedapps.frost.activities.LoginActivity
import com.pitchedapps.frost.activities.MainActivity
@@ -35,37 +36,49 @@ class StartActivity : KauBaseActivity() {
return
}
- FbCookie.switchBackUser {
- loadFbCookiesAsync {
- val cookies = ArrayList(it)
- L.i { "Cookies loaded at time ${System.currentTimeMillis()}" }
- L._d { "Cookies: ${cookies.joinToString("\t")}" }
- if (cookies.isNotEmpty()) {
- if (Prefs.userId != -1L)
- startActivity<MainActivity>(intentBuilder = {
- putParcelableArrayListExtra(EXTRA_COOKIES, cookies)
- flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
- })
- else
- launchNewTask<SelectorActivity>(cookies)
- } else
- launchNewTask<LoginActivity>()
+ try {
+ FbCookie.switchBackUser {
+ loadFbCookiesAsync {
+ val cookies = ArrayList(it)
+ L.i { "Cookies loaded at time ${System.currentTimeMillis()}" }
+ L._d { "Cookies: ${cookies.joinToString("\t")}" }
+ if (cookies.isNotEmpty()) {
+ if (Prefs.userId != -1L)
+ startActivity<MainActivity>(intentBuilder = {
+ putParcelableArrayListExtra(EXTRA_COOKIES, cookies)
+ flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
+ })
+ else
+ launchNewTask<SelectorActivity>(cookies)
+ } else
+ launchNewTask<LoginActivity>()
+ }
}
+ } catch (e: Exception) {
+ showInvalidWebView()
}
}
+ private fun showInvalidWebView() =
+ showInvalidView(R.string.error_webview)
+
private fun showInvalidSdkView() {
- setContentView(R.layout.activity_invalid_sdk)
+ val text = try {
+ String.format(getString(R.string.error_sdk), Build.VERSION.SDK_INT)
+ } catch (e: IllegalFormatException) {
+ string(R.string.error_sdk)
+ }
+ showInvalidView(text)
+ }
+
+ private fun showInvalidView(textRes: Int) =
+ showInvalidView(string(textRes))
+
+ private fun showInvalidView(text: String) {
+ setContentView(R.layout.activity_invalid)
findViewById<ImageView>(R.id.invalid_icon)
.setIcon(GoogleMaterial.Icon.gmd_adb, -1, Color.WHITE)
-
- findViewById<TextView>(R.id.invalid_text).apply {
- try {
- text = String.format(getString(R.string.error_sdk), Build.VERSION.SDK_INT)
- } catch (e: IllegalFormatException) {
- setText(R.string.error_sdk)
- }
- }
+ findViewById<TextView>(R.id.invalid_text).text = text
}
} \ No newline at end of file