diff options
| author | Aditya Wasan <adityawasan55@gmail.com> | 2019-11-13 00:55:56 +0530 |
|---|---|---|
| committer | Harsh Shandilya <msfjarvis@gmail.com> | 2019-11-13 00:55:56 +0530 |
| commit | 9acad2abf68b64d3ca70b5263a72dfe3d5ff0081 (patch) | |
| tree | aa84fe70cc5fc4906db89e42bb90e6463ad6c2ec /app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt | |
| parent | 5749c97d7c597b01ecfc483ad5d387fc025e4653 (diff) | |
| download | HardenedPass-9acad2abf68b64d3ca70b5263a72dfe3d5ff0081.tar.gz HardenedPass-9acad2abf68b64d3ca70b5263a72dfe3d5ff0081.zip | |
Convert java files to kotlin (#570)
* Break SshKeyGen into multiple files
* Use tinted material button
* Convert PasswordStore to kotlin
* Remove SshKeyGen
* Remove explicit imports and other tweaks
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt b/app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt new file mode 100644 index 00000000..5f27090f --- /dev/null +++ b/app/src/main/java/com/zeapo/pwdstore/sshkeygen/ShowSshKeyFragment.kt @@ -0,0 +1,69 @@ +/* + * Copyright © 2014-2019 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ +package com.zeapo.pwdstore.sshkeygen + +import android.annotation.SuppressLint +import android.app.Dialog +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.os.Bundle +import android.view.View +import android.widget.TextView +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.zeapo.pwdstore.R +import java.io.File +import java.nio.charset.StandardCharsets +import org.apache.commons.io.FileUtils + +class ShowSshKeyFragment : DialogFragment() { + + private lateinit var activity: SshKeyGenActivity + private lateinit var builder: MaterialAlertDialogBuilder + private lateinit var publicKey: TextView + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + activity = requireActivity() as SshKeyGenActivity + builder = MaterialAlertDialogBuilder(activity) + } + + @SuppressLint("InflateParams") + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val view = activity.layoutInflater.inflate(R.layout.fragment_show_ssh_key, null) + publicKey = view.findViewById(R.id.public_key) + readKeyFromFile() + createMaterialDialog(view) + val ad = builder.create() + ad.setOnShowListener { + val b = ad.getButton(AlertDialog.BUTTON_NEUTRAL) + b.setOnClickListener { + val clipboard = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clip = ClipData.newPlainText("public key", publicKey.text.toString()) + clipboard.setPrimaryClip(clip) + } + } + return ad + } + + private fun createMaterialDialog(view: View) { + builder.setView(view) + builder.setTitle(getString(R.string.your_public_key)) + builder.setPositiveButton(getString(R.string.dialog_ok)) { _, _ -> activity.finish() } + builder.setNegativeButton(getString(R.string.dialog_cancel), null) + builder.setNeutralButton(resources.getString(R.string.ssh_keygen_copy), null) + } + + private fun readKeyFromFile() { + val file = File(activity.filesDir.toString() + "/.ssh_key.pub") + try { + publicKey.text = FileUtils.readFileToString(file, StandardCharsets.UTF_8) + } catch (e: Exception) { + e.printStackTrace() + } + } +} |
