aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-04-25 16:53:40 +0530
committerGitHub <noreply@github.com>2020-04-25 16:53:40 +0530
commitf89d5c282faf34234440a89d1765ac43baa54be9 (patch)
tree274a69b99f3b764b4acad26ee3a27974125c961e /app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt
parentf7dbac464969f6bff8ac1b4a16b57ecf5d95bd2e (diff)
downloadHardenedPass-f89d5c282faf34234440a89d1765ac43baa54be9.tar.gz
HardenedPass-f89d5c282faf34234440a89d1765ac43baa54be9.zip
Improve UX around settings items (#744)
Fixes #461
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt76
1 files changed, 0 insertions, 76 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt b/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt
deleted file mode 100644
index 169a1309..00000000
--- a/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeygenTask.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-package com.zeapo.pwdstore.sshkeygen
-
-import android.app.ProgressDialog
-import android.os.AsyncTask
-import android.widget.Toast
-import androidx.appcompat.app.AppCompatActivity
-import androidx.core.content.edit
-import androidx.fragment.app.DialogFragment
-import androidx.preference.PreferenceManager
-import com.google.android.material.dialog.MaterialAlertDialogBuilder
-import com.jcraft.jsch.JSch
-import com.jcraft.jsch.KeyPair
-import com.zeapo.pwdstore.R
-import java.io.File
-import java.io.FileOutputStream
-import java.lang.ref.WeakReference
-
-class KeyGenerateTask(activity: AppCompatActivity) : AsyncTask<String?, Void?, Exception?>() {
- private var pd: ProgressDialog? = null
- private val weakReference = WeakReference(activity)
- override fun onPreExecute() {
- super.onPreExecute()
- pd = ProgressDialog.show(weakReference.get(), "", "Generating keys")
- }
-
- override fun doInBackground(vararg strings: String?): Exception? {
- val length = strings[0]?.toInt()
- val passphrase = strings[1]
- val comment = strings[2]
- val jsch = JSch()
- try {
- val kp = length?.let { KeyPair.genKeyPair(jsch, KeyPair.RSA, it) }
- var file = File(weakReference.get()!!.filesDir.toString() + "/.ssh_key")
- var out = FileOutputStream(file, false)
- if (passphrase?.isNotEmpty()!!) {
- kp?.writePrivateKey(out, passphrase.toByteArray())
- } else {
- kp?.writePrivateKey(out)
- }
- file = File(weakReference.get()!!.filesDir.toString() + "/.ssh_key.pub")
- out = FileOutputStream(file, false)
- kp?.writePublicKey(out, comment)
- return null
- } catch (e: Exception) {
- e.printStackTrace()
- return e
- }
- }
-
- override fun onPostExecute(e: Exception?) {
- super.onPostExecute(e)
- val activity = weakReference.get()
- if (activity is AppCompatActivity) {
- pd!!.dismiss()
- if (e == null) {
- Toast.makeText(activity, "SSH-key generated", Toast.LENGTH_LONG).show()
- val df: DialogFragment = ShowSshKeyFragment()
- df.show(activity.supportFragmentManager, "public_key")
- val prefs = PreferenceManager.getDefaultSharedPreferences(weakReference.get())
- prefs.edit { putBoolean("use_generated_key", true) }
- } else {
- MaterialAlertDialogBuilder(activity)
- .setTitle(activity.getString(R.string.error_generate_ssh_key))
- .setMessage(activity.getString(R.string.ssh_key_error_dialog_text) + e.message)
- .setPositiveButton(activity.getString(R.string.dialog_ok), null)
- .show()
- }
- } else {
- // TODO: When activity is destroyed
- }
- }
-}