diff options
author | pacien | 2017-11-07 20:38:57 +0100 |
---|---|---|
committer | pacien | 2017-11-07 20:38:57 +0100 |
commit | 807a1008cad5c9d100dd7038f3872553576c7be6 (patch) | |
tree | 328b5a22a79bd03b53cdd6aecfa62bd2503feabc /app/src/main/java/org/pacien/tincapp/activities/StartActivity.kt | |
parent | 24dbee4690fd102d9b723765fba5799c5790b001 (diff) | |
download | tincapp-807a1008cad5c9d100dd7038f3872553576c7be6.tar.gz |
Handle unavailable "external" storage ;
Remove network list observer
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.kt | 29 |
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 | |||
16 | import org.pacien.tincapp.context.AppPaths | 16 | import org.pacien.tincapp.context.AppPaths |
17 | import org.pacien.tincapp.extensions.Android.setElements | 17 | import org.pacien.tincapp.extensions.Android.setElements |
18 | import org.pacien.tincapp.service.TincVpnService | 18 | import org.pacien.tincapp.service.TincVpnService |
19 | import 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 | |||
24 | class StartActivity : BaseActivity(), AdapterView.OnItemClickListener, SwipeRefreshLayout.OnRefreshListener { | 23 | class 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 | } |