diff options
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/configure')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/configure/ToolsFragment.kt | 27 | ||||
-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 |
5 files changed, 36 insertions, 41 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/configure/ToolsFragment.kt b/app/src/main/java/org/pacien/tincapp/activities/configure/ToolsFragment.kt index 714a7ae..2135f59 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/configure/ToolsFragment.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/configure/ToolsFragment.kt | |||
@@ -18,36 +18,33 @@ | |||
18 | 18 | ||
19 | package org.pacien.tincapp.activities.configure | 19 | package org.pacien.tincapp.activities.configure |
20 | 20 | ||
21 | import android.content.Intent | ||
22 | import android.os.Bundle | 21 | import android.os.Bundle |
23 | import android.view.LayoutInflater | 22 | import android.view.LayoutInflater |
24 | import android.view.View | 23 | import android.view.View |
25 | import android.view.ViewGroup | 24 | import android.view.ViewGroup |
26 | import org.pacien.tincapp.activities.BaseActivity | ||
27 | import org.pacien.tincapp.activities.BaseFragment | 25 | import org.pacien.tincapp.activities.BaseFragment |
28 | import org.pacien.tincapp.activities.configure.tools.EncryptDecryptPrivateKeysTool | 26 | import org.pacien.tincapp.activities.configure.tools.ConfigurationToolDialogFragment |
29 | import org.pacien.tincapp.activities.configure.tools.GenerateConfigTool | 27 | import org.pacien.tincapp.activities.configure.tools.EncryptDecryptPrivateKeysToolDialogFragment |
30 | import org.pacien.tincapp.activities.configure.tools.JoinNetworkTool | 28 | import org.pacien.tincapp.activities.configure.tools.GenerateConfigToolDialogFragment |
29 | import org.pacien.tincapp.activities.configure.tools.JoinNetworkToolDialogFragment | ||
31 | import org.pacien.tincapp.databinding.ConfigureToolsFragmentBinding | 30 | import org.pacien.tincapp.databinding.ConfigureToolsFragmentBinding |
32 | 31 | ||
33 | /** | 32 | /** |
34 | * @author pacien | 33 | * @author pacien |
35 | */ | 34 | */ |
36 | class ToolsFragment : BaseFragment() { | 35 | class ToolsFragment : BaseFragment() { |
37 | private val parentActivity by lazy { activity as BaseActivity } | 36 | private val generateConfigTool by lazy { GenerateConfigToolDialogFragment() } |
38 | private val generateConfigTool by lazy { GenerateConfigTool(parentActivity) } | 37 | private val joinNetworkTool by lazy { JoinNetworkToolDialogFragment() } |
39 | private val joinNetworkTool by lazy { JoinNetworkTool(this, parentActivity) } | 38 | private val encryptDecryptPrivateKeysTool by lazy { EncryptDecryptPrivateKeysToolDialogFragment() } |
40 | private val encryptDecryptPrivateKeysTool by lazy { EncryptDecryptPrivateKeysTool(parentActivity) } | ||
41 | 39 | ||
42 | override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { | 40 | override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { |
43 | val binding = ConfigureToolsFragmentBinding.inflate(inflater, container, false) | 41 | val binding = ConfigureToolsFragmentBinding.inflate(inflater, container, false) |
44 | binding.generateConfigAction = generateConfigTool::openGenerateConfDialog | 42 | binding.generateConfigAction = openDialog(generateConfigTool) |
45 | binding.joinNetworkAction = joinNetworkTool::openJoinNetworkDialog | 43 | binding.joinNetworkAction = openDialog(joinNetworkTool) |
46 | binding.encryptDecryptPrivateKeysAction = encryptDecryptPrivateKeysTool::openEncryptDecryptPrivateKeyDialog | 44 | binding.encryptDecryptPrivateKeysAction = openDialog(encryptDecryptPrivateKeysTool) |
47 | return binding.root | 45 | return binding.root |
48 | } | 46 | } |
49 | 47 | ||
50 | override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { | 48 | private fun openDialog(tool: ConfigurationToolDialogFragment) = |
51 | joinNetworkTool.onActivityResult(requestCode, resultCode, data) | 49 | { tool.show(fragmentManager, tool.javaClass.simpleName) } |
52 | } | ||
53 | } | 50 | } |
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.* |