From da4d8629bdfbc60432c57a07443a9a021fe7aafe Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 9 May 2021 15:27:05 +0200 Subject: [PATCH] Remove unused credit card fragment --- .../keepass/activities/EntryEditActivity.kt | 37 ---- .../CreditCardDetailsDialogFragment.kt | 179 ------------------ .../drawable/ic_credit_card_white_24dp.xml | 9 - app/src/main/res/menu/entry_edit.xml | 6 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 6 files changed, 233 deletions(-) delete mode 100644 app/src/main/java/com/kunzisoft/keepass/activities/dialogs/CreditCardDetailsDialogFragment.kt delete mode 100644 app/src/main/res/drawable/ic_credit_card_white_24dp.xml diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt index 98679450b..287ac3b2d 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt @@ -85,7 +85,6 @@ import kotlin.collections.ArrayList class EntryEditActivity : LockingActivity(), EntryCustomFieldDialogFragment.EntryCustomFieldListener, GeneratePasswordDialogFragment.GeneratePasswordListener, - CreditCardDetailsDialogFragment.EntryCCFieldListener, SetOTPDialogFragment.CreateOtpListener, DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener, @@ -435,29 +434,6 @@ class EntryEditActivity : LockingActivity(), GeneratePasswordDialogFragment().show(supportFragmentManager, "PasswordGeneratorFragment") } - private fun addNewCreditCard() { - var cardholder: String? = null - var number: String? = null - var expiration: String? = null - var cvv: String? = null - - entryEditFragment?.getCustomFields()?.forEach { field -> - when (field.name) { - TemplatesCustomFields.CC_CARDHOLDER_FIELD_NAME -> - cardholder = field.protectedValue.stringValue - TemplatesCustomFields.CC_NUMBER_FIELD_NAME -> - number = field.protectedValue.stringValue - TemplatesCustomFields.CC_EXP_FIELD_NAME -> - expiration = field.protectedValue.stringValue - TemplatesCustomFields.CC_CVV_FIELD_NAME -> - cvv = field.protectedValue.stringValue - } - } - - val cc = CreditCard(cardholder, number, expiration, cvv) - CreditCardDetailsDialogFragment.build(cc).show(supportFragmentManager, "CreditCardDialog") - } - /** * Add a new customized field */ @@ -490,10 +466,6 @@ class EntryEditActivity : LockingActivity(), entryEditFragment?.removeCustomField(oldField) } - override fun onNewCCFieldsApproved(ccFields: ArrayList) { - // TODO Remove - } - /** * Add a new attachment */ @@ -655,11 +627,6 @@ class EntryEditActivity : LockingActivity(), isVisible = allowCustomField } - menu?.findItem(R.id.menu_add_credit_card)?.apply { - isEnabled = allowCustomField - isVisible = allowCustomField - } - // Attachment not compatible below KitKat if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { menu?.findItem(R.id.menu_add_attachment)?.isVisible = false @@ -727,10 +694,6 @@ class EntryEditActivity : LockingActivity(), addNewCustomField() return true } - R.id.menu_add_credit_card -> { - addNewCreditCard() - return true - } R.id.menu_add_attachment -> { addNewAttachment() return true diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/CreditCardDetailsDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/CreditCardDetailsDialogFragment.kt deleted file mode 100644 index 99f646681..000000000 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/CreditCardDetailsDialogFragment.kt +++ /dev/null @@ -1,179 +0,0 @@ -package com.kunzisoft.keepass.activities.dialogs - -import android.app.Dialog -import android.content.Context -import android.os.Bundle -import android.view.WindowManager -import android.widget.ArrayAdapter -import android.widget.Button -import android.widget.EditText -import android.widget.Spinner -import androidx.appcompat.app.AlertDialog -import androidx.fragment.app.DialogFragment -import com.kunzisoft.keepass.R -import com.kunzisoft.keepass.model.CreditCard -import com.kunzisoft.keepass.model.TemplatesCustomFields.buildAllFields -import com.kunzisoft.keepass.model.Field -import java.util.* - -class CreditCardDetailsDialogFragment : DialogFragment() { - private var mCreditCard: CreditCard? = null - private var entryCCFieldListener: EntryCCFieldListener? = null - - private var mCcCardholderName: EditText? = null - private var mCcCardNumber: EditText? = null - private var mCcSecurityCode: EditText? = null - - private var mCcExpirationMonthSpinner: Spinner? = null - private var mCcExpirationYearSpinner: Spinner? = null - - private var mPositiveButton: Button? = null - - override fun onAttach(context: Context) { - super.onAttach(context) - try { - entryCCFieldListener = context as EntryCCFieldListener - } catch (e: ClassCastException) { - // The activity doesn't implement the interface, throw exception - throw ClassCastException(context.toString() - + " must implement " + EntryCCFieldListener::class.java.name) - } - } - - override fun onDetach() { - entryCCFieldListener = null - super.onDetach() - } - - override fun onResume() { - super.onResume() - - // To prevent auto dismiss - val d = dialog as AlertDialog? - if (d != null) { - mPositiveButton = d.getButton(Dialog.BUTTON_POSITIVE) as Button - mPositiveButton?.run { - setOnClickListener { - submitDialog() - } - } - } - } - - override fun onSaveInstanceState(outState: Bundle) { - super.onSaveInstanceState(outState) - outState.putParcelable(KEY_CREDIT_CARD, mCreditCard) - } - - private fun submitDialog() { - val ccNumber = mCcCardNumber?.text?.toString() ?: "" - - val month = mCcExpirationMonthSpinner?.selectedItem?.toString() ?: "" - val year = mCcExpirationYearSpinner?.selectedItem?.toString()?.substring(2,4) ?: "" - - val cvv = mCcSecurityCode?.text?.toString() ?: "" - val ccName = mCcCardholderName?.text?.toString() ?: "" - - entryCCFieldListener?.onNewCCFieldsApproved(buildAllFields(ccName, ccNumber, month + year, cvv)) - - (dialog as AlertDialog?)?.dismiss() - } - - interface EntryCCFieldListener { - fun onNewCCFieldsApproved(ccFields: ArrayList) - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - // Retrieve credit card details if available - if (savedInstanceState != null) { - if (savedInstanceState.containsKey(KEY_CREDIT_CARD)) { - mCreditCard = savedInstanceState.getParcelable(KEY_CREDIT_CARD) - } - } else { - arguments?.apply { - if (containsKey(KEY_CREDIT_CARD)) { - mCreditCard = getParcelable(KEY_CREDIT_CARD) - } - } - } - - activity?.let { activity -> - val root = activity.layoutInflater.inflate(R.layout.entry_cc_details_dialog, null) - - root?.run { - mCcCardholderName = findViewById(R.id.creditCardholderNameField) - mCcCardNumber = findViewById(R.id.creditCardNumberField) - mCcSecurityCode = findViewById(R.id.creditCardSecurityCode) - mCcExpirationMonthSpinner = findViewById(R.id.expirationMonth) - mCcExpirationYearSpinner = findViewById(R.id.expirationYear) - - mCreditCard?.cardholder?.let { - mCcCardholderName?.setText(it) - } - mCreditCard?.number?.let { - mCcCardNumber?.setText(it) - } - mCreditCard?.cvv?.let { - mCcSecurityCode?.setText(it) - } - } - - val months = arrayOf("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12") - mCcExpirationMonthSpinner?.let { spinner -> - spinner.adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, months) - mCreditCard?.let { cc -> - spinner.setSelection(getIndex(spinner, cc.getExpirationMonth())) - } - } - - val years = arrayOfNulls(5) - val year = Calendar.getInstance()[Calendar.YEAR] - for (i in years.indices) { - years[i] = (year + i).toString() - } - mCcExpirationYearSpinner?.let { spinner -> - spinner.adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, years) - mCreditCard?.let { cc -> - spinner.setSelection(getIndex(spinner, "20" + cc.getExpirationYear())) - } - } - - val builder = AlertDialog.Builder(activity) - - builder.setView(root).setTitle(R.string.entry_setup_credit_card) - .setPositiveButton(android.R.string.ok, null) - .setNegativeButton(android.R.string.cancel) { _, _ -> } - - val dialogCreated = builder.create() - - dialogCreated.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE) - - return dialogCreated - } - return super.onCreateDialog(savedInstanceState) - } - - private fun getIndex(spinner: Spinner, value: String?): Int { - for (i in 0 until spinner.count) { - if (spinner.getItemAtPosition(i).toString() == value) { - return i - } - } - return 0 - } - - companion object { - private const val KEY_CREDIT_CARD = "KEY_CREDIT_CARD" - - fun build(creditCard: CreditCard? = null): CreditCardDetailsDialogFragment { - return CreditCardDetailsDialogFragment().apply { - if (creditCard != null) { - arguments = Bundle().apply { - putParcelable(KEY_CREDIT_CARD, creditCard) - } - } - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_credit_card_white_24dp.xml b/app/src/main/res/drawable/ic_credit_card_white_24dp.xml deleted file mode 100644 index 5f0fd240e..000000000 --- a/app/src/main/res/drawable/ic_credit_card_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/menu/entry_edit.xml b/app/src/main/res/menu/entry_edit.xml index fbff6f365..713c8335b 100644 --- a/app/src/main/res/menu/entry_edit.xml +++ b/app/src/main/res/menu/entry_edit.xml @@ -33,12 +33,6 @@ android:orderInCategory="93" app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" /> - Sicherheit Verlauf Einmalpasswort einrichten - Kreditkarte hinzufügen OTP-Typ Geheimnis Zeitraum (Sekunden) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9756f1108..d925c999a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -93,7 +93,6 @@ Save Title Set up one-time password - Edit credit card details OTP type Secret Period (seconds)