diff options
author | pacien | 2018-08-26 02:33:35 +0200 |
---|---|---|
committer | pacien | 2018-08-26 02:33:35 +0200 |
commit | ebf0a5e4e23d94deb2b1b3eec1f647d67b6012d4 (patch) | |
tree | c9db3ef69ce7ff6c4a9bbb3f2fe9464edd1d99f3 /app/src/main/java/org/pacien/tincapp/activities/configure/tools | |
parent | ead3b3958744b5bea273f9562170d9c0ab7dbc10 (diff) | |
download | tincapp-ebf0a5e4e23d94deb2b1b3eec1f647d67b6012d4.tar.gz |
Separate configuration tools into fragments
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/configure/tools')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationToolDialogFragment.kt (renamed from app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationTool.kt) | 19 | ||||
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysToolDialogFragment.kt (renamed from app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysTool.kt) | 8 | ||||
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigToolDialogFragment.kt (renamed from app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigTool.kt) | 8 | ||||
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkToolDialogFragment.kt (renamed from app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkTool.kt) | 15 |
4 files changed, 24 insertions, 26 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationTool.kt b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationToolDialogFragment.kt index 4fa85f8..9c94bf1 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationTool.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/ConfigurationToolDialogFragment.kt | |||
@@ -18,13 +18,13 @@ | |||
18 | 18 | ||
19 | package org.pacien.tincapp.activities.configure.tools | 19 | package org.pacien.tincapp.activities.configure.tools |
20 | 20 | ||
21 | import android.app.AlertDialog | ||
22 | import android.support.annotation.LayoutRes | 21 | import android.support.annotation.LayoutRes |
23 | import android.support.annotation.StringRes | 22 | import android.support.annotation.StringRes |
23 | import android.support.v7.app.AlertDialog | ||
24 | import android.view.View | 24 | import android.view.View |
25 | import java8.util.concurrent.CompletableFuture | 25 | import java8.util.concurrent.CompletableFuture |
26 | import org.pacien.tincapp.R | 26 | import org.pacien.tincapp.R |
27 | import org.pacien.tincapp.activities.BaseActivity | 27 | import org.pacien.tincapp.activities.BaseDialogFragment |
28 | import org.pacien.tincapp.activities.common.ProgressModal | 28 | import org.pacien.tincapp.activities.common.ProgressModal |
29 | import org.pacien.tincapp.extensions.Java.exceptionallyAccept | 29 | import org.pacien.tincapp.extensions.Java.exceptionallyAccept |
30 | import java.util.regex.Pattern | 30 | import java.util.regex.Pattern |
@@ -32,23 +32,22 @@ import java.util.regex.Pattern | |||
32 | /** | 32 | /** |
33 | * @author pacien | 33 | * @author pacien |
34 | */ | 34 | */ |
35 | abstract class ConfigurationTool(private val parentActivity: BaseActivity) { | 35 | abstract class ConfigurationToolDialogFragment : BaseDialogFragment() { |
36 | private val networkNamePattern by lazy { Pattern.compile("^[^\\x00/]*$")!! } | 36 | private val networkNamePattern by lazy { Pattern.compile("^[^\\x00/]*$")!! } |
37 | 37 | ||
38 | protected fun showDialog(@LayoutRes layout: Int, @StringRes title: Int, @StringRes applyButton: Int, applyAction: (View) -> Unit) = | 38 | protected fun makeDialog(@LayoutRes layout: Int, @StringRes title: Int, @StringRes applyButton: Int, applyAction: (View) -> Unit) = |
39 | showDialog(parentActivity.inflate(layout), title, applyButton, applyAction) | 39 | makeDialog(inflate(layout), title, applyButton, applyAction) |
40 | 40 | ||
41 | protected fun showDialog(view: View, @StringRes title: Int, @StringRes applyButton: Int, applyAction: (View) -> Unit) { | 41 | protected fun makeDialog(view: View, @StringRes title: Int, @StringRes applyButton: Int, applyAction: (View) -> Unit) = |
42 | AlertDialog.Builder(parentActivity) | 42 | AlertDialog.Builder(parentActivity) |
43 | .setTitle(title) | 43 | .setTitle(title) |
44 | .setView(view) | 44 | .setView(view) |
45 | .setPositiveButton(applyButton) { _, _ -> applyAction(view) } | 45 | .setPositiveButton(applyButton) { _, _ -> applyAction(view) } |
46 | .setNegativeButton(R.string.generic_action_cancel) { _, _ -> Unit } | 46 | .setNegativeButton(R.string.generic_action_cancel) { _, _ -> Unit } |
47 | .show() | 47 | .create()!! |
48 | } | ||
49 | 48 | ||
50 | protected fun execAction(@StringRes label: Int, action: CompletableFuture<Unit>) { | 49 | protected fun execAction(@StringRes label: Int, action: CompletableFuture<Unit>) { |
51 | ProgressModal.show(parentActivity, parentActivity.getString(label)).let { progressDialog -> | 50 | ProgressModal.show(parentActivity, getString(label)).let { progressDialog -> |
52 | action | 51 | action |
53 | .whenComplete { _, _ -> progressDialog.dismiss() } | 52 | .whenComplete { _, _ -> progressDialog.dismiss() } |
54 | .thenAccept { parentActivity.notify(R.string.configure_tools_message_network_configuration_written) } | 53 | .thenAccept { parentActivity.notify(R.string.configure_tools_message_network_configuration_written) } |
@@ -60,5 +59,5 @@ abstract class ConfigurationTool(private val parentActivity: BaseActivity) { | |||
60 | if (networkNamePattern.matcher(netName).matches()) | 59 | if (networkNamePattern.matcher(netName).matches()) |
61 | CompletableFuture.completedFuture(Unit) | 60 | CompletableFuture.completedFuture(Unit) |
62 | else | 61 | else |
63 | CompletableFuture.failedFuture(IllegalArgumentException(parentActivity.getString(R.string.configure_tools_message_invalid_network_name))) | 62 | CompletableFuture.failedFuture(IllegalArgumentException(getString(R.string.configure_tools_message_invalid_network_name))) |
64 | } | 63 | } |
diff --git a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysTool.kt b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysToolDialogFragment.kt index cd55111..20f0b88 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysTool.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/EncryptDecryptPrivateKeysToolDialogFragment.kt | |||
@@ -18,17 +18,17 @@ | |||
18 | 18 | ||
19 | package org.pacien.tincapp.activities.configure.tools | 19 | package org.pacien.tincapp.activities.configure.tools |
20 | 20 | ||
21 | import android.os.Bundle | ||
21 | import kotlinx.android.synthetic.main.configure_tools_dialog_encrypt_decrypt_keys.view.* | 22 | import kotlinx.android.synthetic.main.configure_tools_dialog_encrypt_decrypt_keys.view.* |
22 | import org.pacien.tincapp.R | 23 | import org.pacien.tincapp.R |
23 | import org.pacien.tincapp.activities.BaseActivity | ||
24 | import org.pacien.tincapp.commands.TincApp | 24 | import org.pacien.tincapp.commands.TincApp |
25 | 25 | ||
26 | /** | 26 | /** |
27 | * @author pacien | 27 | * @author pacien |
28 | */ | 28 | */ |
29 | class EncryptDecryptPrivateKeysTool(parentActivity: BaseActivity) : ConfigurationTool(parentActivity) { | 29 | class EncryptDecryptPrivateKeysToolDialogFragment : ConfigurationToolDialogFragment() { |
30 | fun openEncryptDecryptPrivateKeyDialog() = | 30 | override fun onCreateDialog(savedInstanceState: Bundle?) = |
31 | showDialog( | 31 | makeDialog( |
32 | R.layout.configure_tools_dialog_encrypt_decrypt_keys, | 32 | R.layout.configure_tools_dialog_encrypt_decrypt_keys, |
33 | R.string.configure_tools_private_keys_encryption_title, | 33 | R.string.configure_tools_private_keys_encryption_title, |
34 | R.string.configure_tools_private_keys_encryption_action | 34 | R.string.configure_tools_private_keys_encryption_action |
diff --git a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigTool.kt b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigToolDialogFragment.kt index 2f0ef49..96e39ba 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigTool.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/GenerateConfigToolDialogFragment.kt | |||
@@ -18,18 +18,18 @@ | |||
18 | 18 | ||
19 | package org.pacien.tincapp.activities.configure.tools | 19 | package org.pacien.tincapp.activities.configure.tools |
20 | 20 | ||
21 | import android.os.Bundle | ||
21 | import kotlinx.android.synthetic.main.configure_tools_dialog_network_generate.view.* | 22 | import kotlinx.android.synthetic.main.configure_tools_dialog_network_generate.view.* |
22 | import org.pacien.tincapp.R | 23 | import org.pacien.tincapp.R |
23 | import org.pacien.tincapp.activities.BaseActivity | ||
24 | import org.pacien.tincapp.commands.Tinc | 24 | import org.pacien.tincapp.commands.Tinc |
25 | import org.pacien.tincapp.commands.TincApp | 25 | import org.pacien.tincapp.commands.TincApp |
26 | 26 | ||
27 | /** | 27 | /** |
28 | * @author pacien | 28 | * @author pacien |
29 | */ | 29 | */ |
30 | class GenerateConfigTool(parentActivity: BaseActivity) : ConfigurationTool(parentActivity) { | 30 | class GenerateConfigToolDialogFragment : ConfigurationToolDialogFragment() { |
31 | fun openGenerateConfDialog() = | 31 | override fun onCreateDialog(savedInstanceState: Bundle?) = |
32 | showDialog( | 32 | makeDialog( |
33 | R.layout.configure_tools_dialog_network_generate, | 33 | R.layout.configure_tools_dialog_network_generate, |
34 | R.string.configure_tools_generate_config_title, | 34 | R.string.configure_tools_generate_config_title, |
35 | R.string.configure_tools_generate_config_action | 35 | R.string.configure_tools_generate_config_action |
diff --git a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkTool.kt b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkToolDialogFragment.kt index 6656d86..25bdb15 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkTool.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/configure/tools/JoinNetworkToolDialogFragment.kt | |||
@@ -19,13 +19,12 @@ | |||
19 | package org.pacien.tincapp.activities.configure.tools | 19 | package org.pacien.tincapp.activities.configure.tools |
20 | 20 | ||
21 | import android.content.Intent | 21 | import android.content.Intent |
22 | import android.os.Bundle | ||
22 | import android.view.View | 23 | import android.view.View |
23 | import com.google.zxing.integration.android.IntentIntegrator | 24 | import com.google.zxing.integration.android.IntentIntegrator |
24 | import com.google.zxing.integration.android.IntentResult | 25 | import com.google.zxing.integration.android.IntentResult |
25 | import kotlinx.android.synthetic.main.configure_tools_dialog_network_join.view.* | 26 | import kotlinx.android.synthetic.main.configure_tools_dialog_network_join.view.* |
26 | import org.pacien.tincapp.R | 27 | import org.pacien.tincapp.R |
27 | import org.pacien.tincapp.activities.BaseActivity | ||
28 | import org.pacien.tincapp.activities.BaseFragment | ||
29 | import org.pacien.tincapp.commands.Tinc | 28 | import org.pacien.tincapp.commands.Tinc |
30 | import org.pacien.tincapp.commands.TincApp | 29 | import org.pacien.tincapp.commands.TincApp |
31 | import org.pacien.tincapp.databinding.ConfigureToolsDialogNetworkJoinBinding | 30 | import org.pacien.tincapp.databinding.ConfigureToolsDialogNetworkJoinBinding |
@@ -33,21 +32,21 @@ import org.pacien.tincapp.databinding.ConfigureToolsDialogNetworkJoinBinding | |||
33 | /** | 32 | /** |
34 | * @author pacien | 33 | * @author pacien |
35 | */ | 34 | */ |
36 | class JoinNetworkTool(parentFragment: BaseFragment, private val parentActivity: BaseActivity) : ConfigurationTool(parentActivity) { | 35 | class JoinNetworkToolDialogFragment : ConfigurationToolDialogFragment() { |
37 | private val scanner by |