aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/context/App.kt
diff options
context:
space:
mode:
authorpacien2018-02-24 01:37:36 +0100
committerpacien2018-02-24 01:37:36 +0100
commit3c1a29e2b8717a20948773bbc21abdc723ce5dee (patch)
treed802e31724a27ac8d9a1c9e0d2ab730a225d5031 /app/src/main/java/org/pacien/tincapp/context/App.kt
parentc29970d29bd3c4831fc2f80077d1d8548ed0fc15 (diff)
downloadtincapp-3c1a29e2b8717a20948773bbc21abdc723ce5dee.tar.gz
Handle daemon startup failures
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/context/App.kt')
-rw-r--r--app/src/main/java/org/pacien/tincapp/context/App.kt6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/context/App.kt b/app/src/main/java/org/pacien/tincapp/context/App.kt
index 9fb910b..4a4a475 100644
--- a/app/src/main/java/org/pacien/tincapp/context/App.kt
+++ b/app/src/main/java/org/pacien/tincapp/context/App.kt
@@ -4,6 +4,7 @@ import android.app.Application
4import android.content.Context 4import android.content.Context
5import android.content.Intent 5import android.content.Intent
6import android.net.Uri 6import android.net.Uri
7import android.os.Handler
7import android.support.annotation.StringRes 8import android.support.annotation.StringRes
8import android.support.v7.app.AlertDialog 9import android.support.v7.app.AlertDialog
9import android.view.WindowManager 10import android.view.WindowManager
@@ -16,20 +17,23 @@ class App : Application() {
16 override fun onCreate() { 17 override fun onCreate() {
17 super.onCreate() 18 super.onCreate()
18 appContext = applicationContext 19 appContext = applicationContext
20 handler = Handler()
19 } 21 }
20 22
21 companion object { 23 companion object {
22 private var appContext: Context? = null 24 private var appContext: Context? = null
25 private var handler: Handler? = null
23 26
24 fun getContext() = appContext!! 27 fun getContext() = appContext!!
25 fun getResources() = getContext().resources!! 28 fun getResources() = getContext().resources!!
26 29
27 fun alert(@StringRes title: Int, msg: String, manualLink: String? = null) = 30 fun alert(@StringRes title: Int, msg: String, manualLink: String? = null) = handler!!.post {
28 AlertDialog.Builder(getContext(), R.style.Theme_AppCompat_Dialog) 31 AlertDialog.Builder(getContext(), R.style.Theme_AppCompat_Dialog)
29 .setTitle(title).setMessage(msg) 32 .setTitle(title).setMessage(msg)
30 .apply { if (manualLink != null) setNeutralButton(R.string.action_open_manual) { _, _ -> openURL(manualLink) } } 33 .apply { if (manualLink != null) setNeutralButton(R.string.action_open_manual) { _, _ -> openURL(manualLink) } }
31 .setPositiveButton(R.string.action_close, { _, _ -> Unit }) 34 .setPositiveButton(R.string.action_close, { _, _ -> Unit })
32 .create().apply { window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR) }.show() 35 .create().apply { window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR) }.show()
36 }
33 37
34 fun openURL(url: String) = 38 fun openURL(url: String) =
35 appContext?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)) 39 appContext?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))