aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt')
-rw-r--r--app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt29
1 files changed, 14 insertions, 15 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt b/app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt
index 3163f0a..5926561 100644
--- a/app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt
+++ b/app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt
@@ -16,7 +16,6 @@ import org.pacien.tincapp.R
16import org.pacien.tincapp.context.AppPaths 16import org.pacien.tincapp.context.AppPaths
17import org.pacien.tincapp.extensions.Android.setElements 17import org.pacien.tincapp.extensions.Android.setElements
18import org.pacien.tincapp.service.TincVpnService 18import org.pacien.tincapp.service.TincVpnService
19import org.pacien.tincapp.utils.FileObserver
20 19
21/** 20/**
22 * @author pacien 21 * @author pacien
@@ -24,14 +23,10 @@ import org.pacien.tincapp.utils.FileObserver
24class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefreshLayout.OnRefreshListener { 23class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefreshLayout.OnRefreshListener {
25 24
26 private var networkListAdapter: ArrayAdapter<String>? = null 25 private var networkListAdapter: ArrayAdapter<String>? = null
27 private var confChangeObserver: FileObserver? = null
28 26
29 override fun onCreate(savedInstanceState: Bundle?) { 27 override fun onCreate(savedInstanceState: Bundle?) {
30 super.onCreate(savedInstanceState) 28 super.onCreate(savedInstanceState)
31 29 networkListAdapter = ArrayAdapter(this, R.layout.fragment_list_item)
32 networkListAdapter = ArrayAdapter<String>(this, R.layout.fragment_list_item)
33 confChangeObserver = FileObserver(AppPaths.confDir().absolutePath, FileObserver.CHANGE, { _, _ -> onRefresh() })
34
35 layoutInflater.inflate(R.layout.fragment_list_view, main_content) 30 layoutInflater.inflate(R.layout.fragment_list_view, main_content)
36 list_wrapper.setOnRefreshListener(this) 31 list_wrapper.setOnRefreshListener(this)
37 list.addHeaderView(layoutInflater.inflate(R.layout.fragment_network_list_header, list, false), null, false) 32 list.addHeaderView(layoutInflater.inflate(R.layout.fragment_network_list_header, list, false), null, false)
@@ -46,7 +41,6 @@ class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefr
46 } 41 }
47 42
48 override fun onDestroy() { 43 override fun onDestroy() {
49 confChangeObserver = null
50 networkListAdapter = null 44 networkListAdapter = null
51 super.onDestroy() 45 super.onDestroy()
52 } 46 }
@@ -54,12 +48,6 @@ class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefr
54 override fun onStart() { 48 override fun onStart() {
55 super.onRestart() 49 super.onRestart()
56 onRefresh() 50 onRefresh()
57 confChangeObserver?.startWatching()
58 }
59
60 override fun onStop() {
61 super.onStop()
62 confChangeObserver?.stopWatching()
63 } 51 }
64 52
65 override fun onResume() { 53 override fun onResume() {
@@ -68,10 +56,10 @@ class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefr
68 } 56 }
69 57
70 override fun onRefresh() { 58 override fun onRefresh() {
71 val networks = AppPaths.confDir().list()?.toList() ?: emptyList() 59 val networks = AppPaths.confDir()?.list()?.toList() ?: emptyList()
72 runOnUiThread { 60 runOnUiThread {
73 networkListAdapter?.setElements(networks) 61 networkListAdapter?.setElements(networks)
74 network_list_placeholder.visibility = if (networkListAdapter?.isEmpty ?: true) View.VISIBLE else View.GONE 62 setPlaceholderVisibility()
75 list_wrapper.isRefreshing = false 63 list_wrapper.isRefreshing = false
76 } 64 }
77 } 65 }
@@ -86,4 +74,15 @@ class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefr
86 startActivity(Intent(this, StatusActivity::class.java) 74 startActivity(Intent(this, StatusActivity::class.java)
87 .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)) 75 .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK))
88 76
77 private fun setPlaceholderVisibility() = if (networkListAdapter?.isEmpty != false) {
78 network_list_placeholder.text = getListPlaceholderText()
79 network_list_placeholder.visibility = View.VISIBLE
80 } else {
81 network_list_placeholder.visibility = View.GONE
82 }
83
84 private fun getListPlaceholderText() =
85 if (!AppPaths.storageAvailable()) getText(R.string.message_storage_unavailable)
86 else getText(R.string.message_no_network_configuration_found)
87
89} 88}