From 65d7fdbf7e1e960eda4f5901f64b431ede9db3e3 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 18 Jun 2023 10:33:58 +0200 Subject: [PATCH] fix: Resolve dependencies and small changes --- .../activities/AutofillLauncherActivity.kt | 4 +- .../keepass/activities/EntryActivity.kt | 2 +- .../keepass/activities/EntryEditActivity.kt | 2 +- .../EntrySelectionLauncherActivity.kt | 2 +- .../activities/FileDatabaseSelectActivity.kt | 2 +- .../keepass/activities/GroupActivity.kt | 10 +- .../keepass/activities/IconPickerActivity.kt | 4 +- .../keepass/activities/ImageViewerActivity.kt | 2 +- .../activities/MainCredentialActivity.kt | 4 +- .../dialogs/DatabaseChangedDialogFragment.kt | 2 +- .../dialogs/EntryCustomFieldDialogFragment.kt | 2 +- .../dialogs/FileTooBigDialogFragment.kt | 2 +- .../activities/dialogs/GroupDialogFragment.kt | 2 +- .../dialogs/GroupEditDialogFragment.kt | 2 +- .../dialogs/IconEditDialogFragment.kt | 2 +- .../dialogs/MainCredentialDialogFragment.kt | 2 +- .../dialogs/PasswordEncodingDialogFragment.kt | 2 +- .../ReplaceAttachmentDialogFragment.kt | 2 +- .../dialogs/SetOTPDialogFragment.kt | 2 +- .../activities/fragments/EntryEditFragment.kt | 4 +- .../helpers/EntrySelectionHelper.kt | 2 +- .../keepass/autofill/AutofillHelper.kt | 2 +- .../CompatInlineSuggestionsRequest.kt | 2 +- .../keepass/database/MainCredential.kt | 2 +- .../keepass/model/SnapFileDatabaseInfo.kt | 2 +- .../AttachmentFileNotificationService.kt | 2 +- .../ClipboardEntryNotificationService.kt | 6 +- .../DatabaseTaskNotificationService.kt | 6 +- .../KeyboardEntryNotificationService.kt | 2 +- .../NestedDatabaseSettingsFragment.kt | 4 +- ...BlocklistPreferenceDialogFragmentCompat.kt | 12 +- .../com/kunzisoft/keepass/utils/UriUtil.kt | 1 - .../keepass/view/KeyFileSelectionView.kt | 2 +- .../keepass/view/TemplateAbstractView.kt | 2 +- .../keepass/viewmodels/IconPickerViewModel.kt | 2 +- .../keepass/database/element/Attachment.kt | 2 +- .../keepass/database/element/CustomData.kt | 4 +- .../database/element/CustomDataItem.kt | 2 +- .../keepass/database/element/DateInstant.kt | 2 +- .../keepass/database/element/DeletedObject.kt | 2 +- .../keepass/database/element/Entry.kt | 2 +- .../keepass/database/element/Field.kt | 2 +- .../keepass/database/element/Group.kt | 2 +- .../database/element/entry/EntryKDB.kt | 2 +- .../database/element/entry/EntryKDBX.kt | 10 +- .../database/element/group/GroupKDB.kt | 2 +- .../database/element/group/GroupKDBX.kt | 4 +- .../database/element/icon/IconImage.kt | 2 +- .../database/element/icon/IconImageCustom.kt | 2 +- .../database/element/node/NodeIdUUID.kt | 2 +- .../database/element/node/NodeVersioned.kt | 2 +- .../database/element/template/Template.kt | 4 +- .../element/template/TemplateAttribute.kt | 2 +- .../template/TemplateAttributeOption.kt | 4 +- .../element/template/TemplateSection.kt | 2 +- .../keepass/model/CipherDecryptDatabase.kt | 2 +- .../keepass/model/CipherEncryptDatabase.kt | 2 +- .../com/kunzisoft/keepass/model/CreditCard.kt | 2 +- .../keepass/model/EntryAttachmentState.kt | 2 +- .../com/kunzisoft/keepass/model/EntryInfo.kt | 4 +- .../keepass/model/FocusedEditField.kt | 2 +- .../com/kunzisoft/keepass/model/GroupInfo.kt | 2 +- .../com/kunzisoft/keepass/model/NodeInfo.kt | 2 +- .../kunzisoft/keepass/model/RegisterInfo.kt | 2 +- .../kunzisoft/keepass/utils/ParcelableUtil.kt | 325 +++++++++--------- 65 files changed, 254 insertions(+), 252 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/AutofillLauncherActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/AutofillLauncherActivity.kt index 0fd0fc731..2e3f06492 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/AutofillLauncherActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/AutofillLauncherActivity.kt @@ -41,8 +41,8 @@ import com.kunzisoft.keepass.database.helper.SearchHelper import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.settings.PreferencesUtil -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.WebDomain @RequiresApi(api = Build.VERSION_CODES.O) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt index 8e8a16b4c..7f94da39f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt @@ -67,7 +67,7 @@ import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.tasks.AttachmentFileBinderManager import com.kunzisoft.keepass.timeout.TimeoutHelper -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.utils.UuidUtil import com.kunzisoft.keepass.view.changeControlColor 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 0637ac0f1..7408c9f89 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt @@ -90,7 +90,7 @@ import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.tasks.AttachmentFileBinderManager import com.kunzisoft.keepass.timeout.TimeoutHelper -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile import com.kunzisoft.keepass.view.ToolbarAction import com.kunzisoft.keepass.view.asError diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt index 45ed406ad..74af4eae9 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt @@ -31,7 +31,7 @@ import com.kunzisoft.keepass.database.helper.SearchHelper import com.kunzisoft.keepass.magikeyboard.MagikeyboardService import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.otp.OtpEntryFields -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.WebDomain /** diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt index 1f3c6d5a0..44de43b4d 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt @@ -68,7 +68,7 @@ import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.utils.DexUtil import com.kunzisoft.keepass.utils.MagikeyboardUtil import com.kunzisoft.keepass.utils.MenuUtil -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.UriHelper.parseUri import com.kunzisoft.keepass.utils.UriUtil.isContributingUser import com.kunzisoft.keepass.utils.UriUtil.openUrl diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 1c15f0c73..c766bf550 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -100,11 +100,11 @@ import com.kunzisoft.keepass.settings.SettingsActivity import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.timeout.TimeoutHelper import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableList -import com.kunzisoft.keepass.utils.ParcelableUtil.putParcelableList -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableList +import com.kunzisoft.keepass.utils.putParcelableList +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.view.AddNodeButtonView import com.kunzisoft.keepass.view.NavigationDatabaseView diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt index 7332f1c67..d2083ea37 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt @@ -46,8 +46,8 @@ import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.database.element.icon.IconImageCustom import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.BinaryDatabaseManager -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.view.asError diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/ImageViewerActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/ImageViewerActivity.kt index b72f1086d..6cd495a17 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/ImageViewerActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/ImageViewerActivity.kt @@ -36,7 +36,7 @@ import com.kunzisoft.keepass.activities.legacy.DatabaseLockActivity import com.kunzisoft.keepass.database.ContextualDatabase import com.kunzisoft.keepass.database.element.Attachment import com.kunzisoft.keepass.tasks.BinaryDatabaseManager -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import kotlin.math.max class ImageViewerActivity : DatabaseLockActivity() { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt index 05a58389b..4f26c8dfe 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt @@ -72,8 +72,8 @@ import com.kunzisoft.keepass.settings.SettingsAdvancedUnlockActivity import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION import com.kunzisoft.keepass.utils.MenuUtil -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriUtil.getUri import com.kunzisoft.keepass.view.MainCredentialView import com.kunzisoft.keepass.view.asError diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/DatabaseChangedDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/DatabaseChangedDialogFragment.kt index 260e83469..e646f7bd5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/DatabaseChangedDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/DatabaseChangedDialogFragment.kt @@ -25,7 +25,7 @@ import android.text.SpannableStringBuilder import androidx.appcompat.app.AlertDialog import com.kunzisoft.keepass.R import com.kunzisoft.keepass.model.SnapFileDatabaseInfo -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat class DatabaseChangedDialogFragment : DatabaseDialogFragment() { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/EntryCustomFieldDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/EntryCustomFieldDialogFragment.kt index 3308f7f17..c005fc62c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/EntryCustomFieldDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/EntryCustomFieldDialogFragment.kt @@ -35,7 +35,7 @@ import com.google.android.material.textfield.TextInputLayout import com.kunzisoft.keepass.R import com.kunzisoft.keepass.database.element.Field import com.kunzisoft.keepass.database.element.security.ProtectedString -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat class EntryCustomFieldDialogFragment: DatabaseDialogFragment() { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileTooBigDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileTooBigDialogFragment.kt index 60a980878..662f2fda2 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileTooBigDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileTooBigDialogFragment.kt @@ -27,7 +27,7 @@ import android.text.SpannableStringBuilder import androidx.appcompat.app.AlertDialog import androidx.fragment.app.DialogFragment import com.kunzisoft.keepass.R -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat /** * Custom Dialog to confirm big file to upload diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupDialogFragment.kt index 0ebcd38e0..31679f85d 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupDialogFragment.kt @@ -35,7 +35,7 @@ import com.kunzisoft.keepass.database.ContextualDatabase import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.model.GroupInfo import com.kunzisoft.keepass.settings.PreferencesUtil -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.TimeUtil.getDateTimeString import com.kunzisoft.keepass.utils.UuidUtil import com.kunzisoft.keepass.view.DateTimeFieldView diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt index 3121ea290..9ffc40d3d 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GroupEditDialogFragment.kt @@ -39,7 +39,7 @@ import com.kunzisoft.keepass.database.ContextualDatabase import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.model.GroupInfo -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.view.DateTimeEditFieldView import com.kunzisoft.keepass.view.InheritedCompletionView import com.kunzisoft.keepass.view.TagsCompletionView diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/IconEditDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/IconEditDialogFragment.kt index 8d99c68ed..84b881eac 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/IconEditDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/IconEditDialogFragment.kt @@ -31,7 +31,7 @@ import com.kunzisoft.keepass.database.ContextualDatabase import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.database.element.icon.IconImageCustom -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.viewmodels.IconPickerViewModel class IconEditDialogFragment : DatabaseDialogFragment() { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/MainCredentialDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/MainCredentialDialogFragment.kt index ec79a916f..1ea3d50da 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/MainCredentialDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/MainCredentialDialogFragment.kt @@ -28,7 +28,7 @@ import androidx.appcompat.app.AlertDialog import com.kunzisoft.keepass.R import com.kunzisoft.keepass.activities.helpers.ExternalFileHelper import com.kunzisoft.keepass.database.MainCredential -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile import com.kunzisoft.keepass.view.MainCredentialView diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/PasswordEncodingDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/PasswordEncodingDialogFragment.kt index d8a982577..03a311842 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/PasswordEncodingDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/PasswordEncodingDialogFragment.kt @@ -27,7 +27,7 @@ import androidx.appcompat.app.AlertDialog import androidx.fragment.app.DialogFragment import com.kunzisoft.keepass.R import com.kunzisoft.keepass.database.MainCredential -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat class PasswordEncodingDialogFragment : DialogFragment() { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/ReplaceAttachmentDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/ReplaceAttachmentDialogFragment.kt index 81367ad3b..90998b42c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/ReplaceAttachmentDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/ReplaceAttachmentDialogFragment.kt @@ -27,7 +27,7 @@ import android.text.SpannableStringBuilder import androidx.appcompat.app.AlertDialog import com.kunzisoft.keepass.R import com.kunzisoft.keepass.database.element.Attachment -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat /** * Custom Dialog to confirm big file to upload diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt index 6748b060a..560f1b7a1 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt @@ -44,7 +44,7 @@ import com.kunzisoft.keepass.otp.OtpElement.Companion.MIN_TOTP_PERIOD import com.kunzisoft.keepass.otp.OtpTokenType import com.kunzisoft.keepass.otp.OtpType import com.kunzisoft.keepass.otp.TokenCalculator -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.UriUtil.isContributingUser import com.kunzisoft.keepass.utils.UriUtil.openUrl import java.util.* diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/EntryEditFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/EntryEditFragment.kt index 5ad5313eb..5ba31059e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/EntryEditFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/EntryEditFragment.kt @@ -42,8 +42,8 @@ import com.kunzisoft.keepass.model.AttachmentState import com.kunzisoft.keepass.model.EntryAttachmentState import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.model.StreamDirection -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableList -import com.kunzisoft.keepass.utils.ParcelableUtil.putParcelableList +import com.kunzisoft.keepass.utils.getParcelableList +import com.kunzisoft.keepass.utils.putParcelableList import com.kunzisoft.keepass.view.TagsCompletionView import com.kunzisoft.keepass.view.TemplateEditView import com.kunzisoft.keepass.view.collapse diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/helpers/EntrySelectionHelper.kt b/app/src/main/java/com/kunzisoft/keepass/activities/helpers/EntrySelectionHelper.kt index f2f72ef44..31a988772 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/helpers/EntrySelectionHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/helpers/EntrySelectionHelper.kt @@ -26,7 +26,7 @@ import com.kunzisoft.keepass.autofill.AutofillComponent import com.kunzisoft.keepass.autofill.AutofillHelper import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.getEnumExtra import com.kunzisoft.keepass.utils.putEnumExtra diff --git a/app/src/main/java/com/kunzisoft/keepass/autofill/AutofillHelper.kt b/app/src/main/java/com/kunzisoft/keepass/autofill/AutofillHelper.kt index 6114be975..d53845854 100644 --- a/app/src/main/java/com/kunzisoft/keepass/autofill/AutofillHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/autofill/AutofillHelper.kt @@ -56,7 +56,7 @@ import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.settings.AutofillSettingsActivity import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.utils.LOCK_ACTION -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat @RequiresApi(api = Build.VERSION_CODES.O) diff --git a/app/src/main/java/com/kunzisoft/keepass/autofill/CompatInlineSuggestionsRequest.kt b/app/src/main/java/com/kunzisoft/keepass/autofill/CompatInlineSuggestionsRequest.kt index 3aa4a32dd..5705682b5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/autofill/CompatInlineSuggestionsRequest.kt +++ b/app/src/main/java/com/kunzisoft/keepass/autofill/CompatInlineSuggestionsRequest.kt @@ -26,7 +26,7 @@ import android.os.Parcelable import android.service.autofill.FillRequest import android.view.inputmethod.InlineSuggestionsRequest import androidx.annotation.RequiresApi -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat /** * Utility class only to prevent java.lang.NoClassDefFoundError for old Android version and new lib compilation diff --git a/app/src/main/java/com/kunzisoft/keepass/database/MainCredential.kt b/app/src/main/java/com/kunzisoft/keepass/database/MainCredential.kt index 1c783506f..d0ccb2eb9 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/MainCredential.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/MainCredential.kt @@ -24,7 +24,7 @@ import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.MasterCredential import com.kunzisoft.keepass.hardware.HardwareKey -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.UriHelper.getUriInputStream import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum diff --git a/app/src/main/java/com/kunzisoft/keepass/model/SnapFileDatabaseInfo.kt b/app/src/main/java/com/kunzisoft/keepass/model/SnapFileDatabaseInfo.kt index e99abe220..4ade3d85c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/model/SnapFileDatabaseInfo.kt +++ b/app/src/main/java/com/kunzisoft/keepass/model/SnapFileDatabaseInfo.kt @@ -24,7 +24,7 @@ import android.net.Uri import android.os.Parcel import android.os.Parcelable import android.text.format.Formatter -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.viewmodels.FileDatabaseInfo import java.text.DateFormat import java.util.Date diff --git a/app/src/main/java/com/kunzisoft/keepass/services/AttachmentFileNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/services/AttachmentFileNotificationService.kt index a274ad579..15575cf77 100644 --- a/app/src/main/java/com/kunzisoft/keepass/services/AttachmentFileNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/services/AttachmentFileNotificationService.kt @@ -36,7 +36,7 @@ import com.kunzisoft.keepass.model.AttachmentState import com.kunzisoft.keepass.model.EntryAttachmentState import com.kunzisoft.keepass.model.StreamDirection import com.kunzisoft.keepass.tasks.BinaryDatabaseManager -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/kunzisoft/keepass/services/ClipboardEntryNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/services/ClipboardEntryNotificationService.kt index c06893b95..0d8af6c35 100644 --- a/app/src/main/java/com/kunzisoft/keepass/services/ClipboardEntryNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/services/ClipboardEntryNotificationService.kt @@ -31,9 +31,9 @@ import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.timeout.ClipboardHelper import com.kunzisoft.keepass.timeout.TimeoutHelper.NEVER import com.kunzisoft.keepass.utils.LOCK_ACTION -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableList -import com.kunzisoft.keepass.utils.ParcelableUtil.putParcelableList +import com.kunzisoft.keepass.utils.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableList +import com.kunzisoft.keepass.utils.putParcelableList class ClipboardEntryNotificationService : LockNotificationService() { diff --git a/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt index 4f43a257c..a12bfb1d3 100644 --- a/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt @@ -57,9 +57,9 @@ import com.kunzisoft.keepass.timeout.TimeoutHelper import com.kunzisoft.keepass.utils.DATABASE_START_TASK_ACTION import com.kunzisoft.keepass.utils.DATABASE_STOP_TASK_ACTION import com.kunzisoft.keepass.utils.LOCK_ACTION -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableList -import com.kunzisoft.keepass.utils.ParcelableUtil.putParcelableList +import com.kunzisoft.keepass.utils.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableList +import com.kunzisoft.keepass.utils.putParcelableList import com.kunzisoft.keepass.utils.closeDatabase import com.kunzisoft.keepass.viewmodels.FileDatabaseInfo import kotlinx.coroutines.* diff --git a/app/src/main/java/com/kunzisoft/keepass/services/KeyboardEntryNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/services/KeyboardEntryNotificationService.kt index 1cddd7540..e37093774 100644 --- a/app/src/main/java/com/kunzisoft/keepass/services/KeyboardEntryNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/services/KeyboardEntryNotificationService.kt @@ -32,7 +32,7 @@ import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.timeout.TimeoutHelper import com.kunzisoft.keepass.utils.LOCK_ACTION -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat +import com.kunzisoft.keepass.utils.getParcelableExtraCompat class KeyboardEntryNotificationService : LockNotificationService() { diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/NestedDatabaseSettingsFragment.kt b/app/src/main/java/com/kunzisoft/keepass/settings/NestedDatabaseSettingsFragment.kt index bedd96d8a..36d4dfdaa 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/NestedDatabaseSettingsFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/NestedDatabaseSettingsFragment.kt @@ -43,8 +43,8 @@ import com.kunzisoft.keepass.services.DatabaseTaskNotificationService import com.kunzisoft.keepass.settings.preference.* import com.kunzisoft.keepass.settings.preferencedialogfragment.* import com.kunzisoft.keepass.tasks.ActionRunnable -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.getSerializableCompat +import com.kunzisoft.keepass.utils.getParcelableCompat +import com.kunzisoft.keepass.utils.getSerializableCompat import com.kunzisoft.keepass.viewmodels.DatabaseViewModel class NestedDatabaseSettingsFragment : NestedSettingsFragment(), DatabaseRetrieval { diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/AutofillBlocklistPreferenceDialogFragmentCompat.kt b/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/AutofillBlocklistPreferenceDialogFragmentCompat.kt index d811ba9b9..05fac58b2 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/AutofillBlocklistPreferenceDialogFragmentCompat.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/AutofillBlocklistPreferenceDialogFragmentCompat.kt @@ -28,7 +28,7 @@ import androidx.recyclerview.widget.RecyclerView import com.kunzisoft.keepass.R import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.settings.preferencedialogfragment.adapter.AutofillBlocklistAdapter -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableArrayCompat +import com.kunzisoft.keepass.utils.getParcelableArrayCompat import java.util.* import kotlin.Comparator import kotlin.collections.HashSet @@ -37,8 +37,9 @@ abstract class AutofillBlocklistPreferenceDialogFragmentCompat : InputPreferenceDialogFragmentCompat(), AutofillBlocklistAdapter.ItemDeletedCallback { - private var persistedItems = TreeSet( - Comparator { o1, o2 -> o1.toString().compareTo(o2.toString()) }) + private var persistedItems = TreeSet { o1, o2 -> + o1.toString().compareTo(o2.toString()) + } private var filterAdapter: AutofillBlocklistAdapter? = null @@ -65,7 +66,7 @@ abstract class AutofillBlocklistPreferenceDialogFragmentCompat override fun onBindDialogView(view: View) { super.onBindDialogView(view) - setOnInputTextEditorActionListener(TextView.OnEditorActionListener { _, actionId, _ -> + setOnInputTextEditorActionListener { _, actionId, _ -> when (actionId) { EditorInfo.IME_ACTION_DONE -> { if (inputText.isEmpty()) { @@ -77,9 +78,10 @@ abstract class AutofillBlocklistPreferenceDialogFragmentCompat false } } + else -> false } - }) + } val addItemButton = view.findViewById(R.id.add_item_button) addItemButton?.setOnClickListener { diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt index 2ba330978..eab8a2096 100644 --- a/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt @@ -32,7 +32,6 @@ import com.kunzisoft.keepass.BuildConfig import com.kunzisoft.keepass.R import com.kunzisoft.keepass.app.database.FileDatabaseHistoryAction import com.kunzisoft.keepass.education.Education -import com.kunzisoft.keepass.utils.ParcelableUtil.getParcelableExtraCompat import com.kunzisoft.keepass.utils.UriHelper.withContentScheme import com.kunzisoft.keepass.utils.UriHelper.withFileScheme import java.io.File diff --git a/app/src/main/java/com/kunzisoft/keepass/view/KeyFileSelectionView.kt b/app/src/main/java/com/kunzisoft/keepass/view/KeyFileSelectionView.kt index c3f47ce2d..74e117ca2 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/KeyFileSelectionView.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/KeyFileSelectionView.kt @@ -12,7 +12,7 @@ import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import com.google.android.material.textfield.TextInputLayout import com.kunzisoft.keepass.R -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile diff --git a/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt b/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt index ea8655367..19cfeb66a 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt @@ -26,7 +26,7 @@ import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.otp.OtpElement import com.kunzisoft.keepass.otp.OtpEntryFields import com.kunzisoft.keepass.settings.PreferencesUtil -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat abstract class TemplateAbstractView< diff --git a/app/src/main/java/com/kunzisoft/keepass/viewmodels/IconPickerViewModel.kt b/app/src/main/java/com/kunzisoft/keepass/viewmodels/IconPickerViewModel.kt index 5dbeb3f7b..6b37a9f33 100644 --- a/app/src/main/java/com/kunzisoft/keepass/viewmodels/IconPickerViewModel.kt +++ b/app/src/main/java/com/kunzisoft/keepass/viewmodels/IconPickerViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.kunzisoft.keepass.database.element.icon.IconImageCustom import com.kunzisoft.keepass.database.element.icon.IconImageStandard -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat class IconPickerViewModel: ViewModel() { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/Attachment.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/Attachment.kt index 939ee75c2..cb5692c3a 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/Attachment.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/Attachment.kt @@ -23,7 +23,7 @@ import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.binary.BinaryByte import com.kunzisoft.keepass.database.element.binary.BinaryData -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat data class Attachment(var name: String, diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt index fc23a28e7..bc1d2fd07 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt @@ -21,8 +21,8 @@ package com.kunzisoft.keepass.database.element import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readStringParcelableMap -import com.kunzisoft.keepass.utils.ParcelableUtil.writeStringParcelableMap +import com.kunzisoft.keepass.utils.readStringParcelableMap +import com.kunzisoft.keepass.utils.writeStringParcelableMap import java.util.* class CustomData : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/CustomDataItem.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/CustomDataItem.kt index 6d081ebc3..f2a130425 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/CustomDataItem.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/CustomDataItem.kt @@ -2,7 +2,7 @@ package com.kunzisoft.keepass.database.element import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat class CustomDataItem : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/DateInstant.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/DateInstant.kt index 449606d77..ad4c627ed 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/DateInstant.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/DateInstant.kt @@ -21,7 +21,7 @@ package com.kunzisoft.keepass.database.element import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readSerializableCompat +import com.kunzisoft.keepass.utils.readSerializableCompat import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum import org.joda.time.Duration diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/DeletedObject.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/DeletedObject.kt index f12dd789c..f070a08e8 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/DeletedObject.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/DeletedObject.kt @@ -23,7 +23,7 @@ import android.os.Parcel import android.os.ParcelUuid import android.os.Parcelable import com.kunzisoft.keepass.database.element.database.DatabaseVersioned -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* class DeletedObject : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/Entry.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/Entry.kt index adbd36b3a..cb4f90fc4 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/Entry.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/Entry.kt @@ -36,7 +36,7 @@ import com.kunzisoft.keepass.database.element.node.Type import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.otp.OtpElement import com.kunzisoft.keepass.otp.OtpEntryFields -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.StringUtil.toFormattedColorInt import com.kunzisoft.keepass.utils.StringUtil.toFormattedColorString import java.util.UUID diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/Field.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/Field.kt index 30fa77d85..9db72ae97 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/Field.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/Field.kt @@ -22,7 +22,7 @@ package com.kunzisoft.keepass.database.element import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.security.ProtectedString -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat class Field : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/Group.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/Group.kt index 04487280d..005c2dc27 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/Group.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/Group.kt @@ -29,7 +29,7 @@ import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.database.element.node.* import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.model.GroupInfo -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* import kotlin.collections.ArrayList diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDB.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDB.kt index 1b4c6969c..ba4986cbe 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDB.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDB.kt @@ -31,7 +31,7 @@ import com.kunzisoft.keepass.database.element.node.NodeId import com.kunzisoft.keepass.database.element.node.NodeIdUUID import com.kunzisoft.keepass.database.element.node.NodeKDBInterface import com.kunzisoft.keepass.database.element.node.Type -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* /** diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt index fe00021e8..8045a7ef8 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/entry/EntryKDBX.kt @@ -36,11 +36,11 @@ import com.kunzisoft.keepass.database.element.node.NodeIdUUID import com.kunzisoft.keepass.database.element.node.NodeKDBXInterface import com.kunzisoft.keepass.database.element.node.Type import com.kunzisoft.keepass.database.element.security.ProtectedString -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.readStringIntMap -import com.kunzisoft.keepass.utils.ParcelableUtil.readStringParcelableMap -import com.kunzisoft.keepass.utils.ParcelableUtil.writeStringIntMap -import com.kunzisoft.keepass.utils.ParcelableUtil.writeStringParcelableMap +import com.kunzisoft.keepass.utils.readParcelableCompat +import com.kunzisoft.keepass.utils.readStringIntMap +import com.kunzisoft.keepass.utils.readStringParcelableMap +import com.kunzisoft.keepass.utils.writeStringIntMap +import com.kunzisoft.keepass.utils.writeStringParcelableMap import com.kunzisoft.keepass.utils.UnsignedLong import java.util.Date import java.util.UUID diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt index ed2e73f98..e4d449889 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDB.kt @@ -27,7 +27,7 @@ import com.kunzisoft.keepass.database.element.node.NodeId import com.kunzisoft.keepass.database.element.node.NodeIdInt import com.kunzisoft.keepass.database.element.node.NodeKDBInterface import com.kunzisoft.keepass.database.element.node.Type -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* class GroupKDB : GroupVersioned, NodeKDBInterface { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt index ba2b29b88..eaff4f786 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/group/GroupKDBX.kt @@ -31,8 +31,8 @@ import com.kunzisoft.keepass.database.element.node.NodeId import com.kunzisoft.keepass.database.element.node.NodeIdUUID import com.kunzisoft.keepass.database.element.node.NodeKDBXInterface import com.kunzisoft.keepass.database.element.node.Type -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.readSerializableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat +import com.kunzisoft.keepass.utils.readSerializableCompat import com.kunzisoft.keepass.utils.UnsignedLong import java.util.* diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImage.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImage.kt index af0b213a6..f2cc3e636 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImage.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImage.kt @@ -21,7 +21,7 @@ package com.kunzisoft.keepass.database.element.icon import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat class IconImage() : IconImageDraw() { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImageCustom.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImageCustom.kt index a1bfc2a06..8b71515ed 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImageCustom.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/icon/IconImageCustom.kt @@ -24,7 +24,7 @@ import android.os.ParcelUuid import android.os.Parcelable import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.database.DatabaseVersioned -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.UUID class IconImageCustom : IconImageDraw { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeIdUUID.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeIdUUID.kt index 030abf9ee..f883851e1 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeIdUUID.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeIdUUID.kt @@ -22,7 +22,7 @@ package com.kunzisoft.keepass.database.element.node import android.os.Parcel import android.os.ParcelUuid import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.UuidUtil import java.util.* diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeVersioned.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeVersioned.kt index eadbf0c29..86044e411 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeVersioned.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/node/NodeVersioned.kt @@ -26,7 +26,7 @@ import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.entry.EntryVersionedInterface import com.kunzisoft.keepass.database.element.group.GroupVersionedInterface import com.kunzisoft.keepass.database.element.icon.IconImage -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat /** * Abstract class who manage Groups and Entries diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/template/Template.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/template/Template.kt index f8a59cb53..dd7910680 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/template/Template.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/template/Template.kt @@ -23,8 +23,8 @@ import android.os.ParcelUuid import android.os.Parcelable import com.kunzisoft.keepass.database.element.database.DatabaseVersioned import com.kunzisoft.keepass.database.element.icon.IconImage -import com.kunzisoft.keepass.utils.ParcelableUtil.readListCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readListCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* import kotlin.collections.ArrayList diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttribute.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttribute.kt index 733ee8ccb..ff776a8b2 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttribute.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttribute.kt @@ -20,7 +20,7 @@ package com.kunzisoft.keepass.database.element.template import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttributeOption.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttributeOption.kt index d8265560e..58692bb42 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttributeOption.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateAttributeOption.kt @@ -21,8 +21,8 @@ package com.kunzisoft.keepass.database.element.template import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.DateInstant -import com.kunzisoft.keepass.utils.ParcelableUtil.readStringStringMap -import com.kunzisoft.keepass.utils.ParcelableUtil.writeStringStringMap +import com.kunzisoft.keepass.utils.readStringStringMap +import com.kunzisoft.keepass.utils.writeStringStringMap class TemplateAttributeOption() : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateSection.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateSection.kt index b637ffcf5..2a3492164 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateSection.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/template/TemplateSection.kt @@ -20,7 +20,7 @@ package com.kunzisoft.keepass.database.element.template import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readListCompat +import com.kunzisoft.keepass.utils.readListCompat class TemplateSection: Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/model/CipherDecryptDatabase.kt b/database/src/main/java/com/kunzisoft/keepass/model/CipherDecryptDatabase.kt index cda7221b8..4499d2e23 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/CipherDecryptDatabase.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/CipherDecryptDatabase.kt @@ -22,7 +22,7 @@ package com.kunzisoft.keepass.model import android.net.Uri import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum diff --git a/database/src/main/java/com/kunzisoft/keepass/model/CipherEncryptDatabase.kt b/database/src/main/java/com/kunzisoft/keepass/model/CipherEncryptDatabase.kt index 608e5eca6..38dad92e1 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/CipherEncryptDatabase.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/CipherEncryptDatabase.kt @@ -22,7 +22,7 @@ package com.kunzisoft.keepass.model import android.net.Uri import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum diff --git a/database/src/main/java/com/kunzisoft/keepass/model/CreditCard.kt b/database/src/main/java/com/kunzisoft/keepass/model/CreditCard.kt index 56cc9892f..ecfb6a172 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/CreditCard.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/CreditCard.kt @@ -2,7 +2,7 @@ package com.kunzisoft.keepass.model import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readSerializableCompat +import com.kunzisoft.keepass.utils.readSerializableCompat import org.joda.time.DateTime data class CreditCard(val cardholder: String?, diff --git a/database/src/main/java/com/kunzisoft/keepass/model/EntryAttachmentState.kt b/database/src/main/java/com/kunzisoft/keepass/model/EntryAttachmentState.kt index 34957bcc0..07ac75eb6 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/EntryAttachmentState.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/EntryAttachmentState.kt @@ -23,7 +23,7 @@ import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.Attachment import com.kunzisoft.keepass.database.element.binary.BinaryByte -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import com.kunzisoft.keepass.utils.readEnum import com.kunzisoft.keepass.utils.writeEnum diff --git a/database/src/main/java/com/kunzisoft/keepass/model/EntryInfo.kt b/database/src/main/java/com/kunzisoft/keepass/model/EntryInfo.kt index acea7fd86..c78fd42a3 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/EntryInfo.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/EntryInfo.kt @@ -29,8 +29,8 @@ import com.kunzisoft.keepass.database.element.template.TemplateField import com.kunzisoft.keepass.otp.OtpElement import com.kunzisoft.keepass.otp.OtpEntryFields import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD -import com.kunzisoft.keepass.utils.ParcelableUtil.readListCompat -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readListCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* class EntryInfo : NodeInfo { diff --git a/database/src/main/java/com/kunzisoft/keepass/model/FocusedEditField.kt b/database/src/main/java/com/kunzisoft/keepass/model/FocusedEditField.kt index 3d1d7610d..cca59f01a 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/FocusedEditField.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/FocusedEditField.kt @@ -3,7 +3,7 @@ package com.kunzisoft.keepass.model import android.os.Parcel import android.os.Parcelable import com.kunzisoft.keepass.database.element.Field -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat class FocusedEditField : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/model/GroupInfo.kt b/database/src/main/java/com/kunzisoft/keepass/model/GroupInfo.kt index 4abc8464d..c23151a0e 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/GroupInfo.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/GroupInfo.kt @@ -6,7 +6,7 @@ import android.os.Parcelable import com.kunzisoft.keepass.database.element.Tags import com.kunzisoft.keepass.database.element.icon.IconImageStandard import com.kunzisoft.keepass.database.element.icon.IconImageStandard.Companion.FOLDER_ID -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat import java.util.* class GroupInfo : NodeInfo { diff --git a/database/src/main/java/com/kunzisoft/keepass/model/NodeInfo.kt b/database/src/main/java/com/kunzisoft/keepass/model/NodeInfo.kt index d68c5755e..fbe3b3982 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/NodeInfo.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/NodeInfo.kt @@ -5,7 +5,7 @@ import android.os.Parcelable import com.kunzisoft.keepass.database.element.CustomData import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.icon.IconImage -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat open class NodeInfo() : Parcelable { diff --git a/database/src/main/java/com/kunzisoft/keepass/model/RegisterInfo.kt b/database/src/main/java/com/kunzisoft/keepass/model/RegisterInfo.kt index c87a8fbc7..cc0e3ce94 100644 --- a/database/src/main/java/com/kunzisoft/keepass/model/RegisterInfo.kt +++ b/database/src/main/java/com/kunzisoft/keepass/model/RegisterInfo.kt @@ -2,7 +2,7 @@ package com.kunzisoft.keepass.model import android.os.Parcel import android.os.Parcelable -import com.kunzisoft.keepass.utils.ParcelableUtil.readParcelableCompat +import com.kunzisoft.keepass.utils.readParcelableCompat data class RegisterInfo(val searchInfo: SearchInfo, val username: String?, diff --git a/database/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt b/database/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt index 3f1feaa5a..bca2afa5b 100644 --- a/database/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt +++ b/database/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt @@ -27,180 +27,187 @@ import android.os.Parcelable import java.io.Serializable import java.util.* -object ParcelableUtil { +// -------- Intent -------- +inline fun Intent.getParcelableExtraCompat(key: String?): T? = when { + key == null -> null + SDK_INT >= 33 -> getParcelableExtra(key, T::class.java) + else -> @Suppress("DEPRECATION") getParcelableExtra(key) as? T +} - inline fun Intent.getParcelableExtraCompat(key: String?): T? = when { - key == null -> null - SDK_INT >= 33 -> getParcelableExtra(key, T::class.java) - else -> @Suppress("DEPRECATION") getParcelableExtra(key) as? T +inline fun Intent.getSerializableExtraCompat(key: String?): T? = when { + key == null -> null + SDK_INT >= 33 -> getSerializableExtra(key, T::class.java) + else -> @Suppress("DEPRECATION") getSerializableExtra(key) as? T +} + +inline fun Intent.putParcelableList(key: String?, list: MutableList) { + putExtra(key, list.toTypedArray()) +} + +inline fun Intent.getParcelableList(key: String?): MutableList? = when { + SDK_INT >= 33 -> getParcelableArrayExtra(key, E::class.java)?.toMutableList() + else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArrayExtra(key) as? Array)?.toMutableList() +} + +inline fun > Intent.getEnumExtra(key: String?) = + getStringExtra(key)?.let { enumValueOf(it) } + +fun > Intent.putEnumExtra(key: String?, value: T?) = + putExtra(key, value?.name) + +// -------- Bundle -------- +inline fun Bundle.getParcelableCompat(key: String?): T? = when { + key == null -> null + SDK_INT >= 33 -> getParcelable(key, T::class.java) + else -> @Suppress("DEPRECATION") getParcelable(key) as? T +} + +inline fun Bundle.getSerializableCompat(key: String?): T? = when { + SDK_INT >= 33 -> getSerializable(key, T::class.java) + else -> @Suppress("DEPRECATION") getSerializable(key) as? T +} + +inline fun Bundle.getParcelableArrayCompat(key: String?): Array? { + return when { + SDK_INT >= 33 -> getParcelableArray(key, T::class.java) + else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array) } +} - inline fun Intent.getSerializableExtraCompat(key: String?): T? = when { - key == null -> null - SDK_INT >= 33 -> getSerializableExtra(key, T::class.java) - else -> @Suppress("DEPRECATION") getSerializableExtra(key) as? T +inline fun Bundle.putParcelableList(key: String?, list: List) { + putParcelableArray(key, list.toTypedArray()) +} + +inline fun Bundle.getParcelableList(key: String?): MutableList? = when { + SDK_INT >= 33 -> getParcelableArray(key, E::class.java)?.toMutableList() + else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array)?.toMutableList() +} + +// -------- Parcel -------- + +inline fun Parcel.readParcelableCompat(): T? = when { + SDK_INT >= 33 -> readParcelable(T::class.java.classLoader, T::class.java) + else -> @Suppress("DEPRECATION") readParcelable(T::class.java.classLoader) as? T +} + +fun Parcel.readParcelableCompat(clazz: Class): T? = when { + SDK_INT >= 33 -> readParcelable(clazz.classLoader, clazz) + else -> @Suppress("DEPRECATION") readParcelable(clazz.classLoader) as? T +} + +inline fun Parcel.readSerializableCompat(): T? = when { + SDK_INT >= 33 -> readSerializable(T::class.java.classLoader, T::class.java) + else -> @Suppress("DEPRECATION") readSerializable() as? T +} + +inline fun Parcel.readListCompat(outVal: MutableList) { + when { + SDK_INT >= 33 -> readList(outVal, T::class.java.classLoader, T::class.java) + else -> @Suppress("DEPRECATION") readList(outVal, T::class.java.classLoader) } +} - inline fun Bundle.getParcelableCompat(key: String?): T? = when { - key == null -> null - SDK_INT >= 33 -> getParcelable(key, T::class.java) - else -> @Suppress("DEPRECATION") getParcelable(key) as? T +// For writing to a Parcel +fun Parcel.writeParcelableMap(map: Map, flags: Int) { + writeInt(map.size) + for ((key, value) in map) { + writeParcelable(key, flags) + writeParcelable(value, flags) } +} - inline fun Bundle.getSerializableCompat(key: String?): T? = when { - SDK_INT >= 33 -> getSerializable(key, T::class.java) - else -> @Suppress("DEPRECATION") getSerializable(key) as? T +// For reading from a Parcel +inline fun Parcel.readParcelableMap(): Map { + val size = readInt() + val map = HashMap(size) + for (i in 0 until size) { + val key: K? = try { + when { + SDK_INT >= 33 -> readParcelable(K::class.java.classLoader, K::class.java) + else -> @Suppress("DEPRECATION") readParcelable(K::class.java.classLoader) + } + } catch (e: Exception) { null } + val value: V? = try { + when { + SDK_INT >= 33 -> readParcelable(V::class.java.classLoader, V::class.java) + else -> @Suppress("DEPRECATION") readParcelable(V::class.java.classLoader) + } + } catch (e: Exception) { null } + if (key != null && value != null) + map[key] = value } + return map +} - inline fun Bundle.getParcelableArrayCompat(key: String?): Array? { - return when { - SDK_INT >= 33 -> getParcelableArray(key, T::class.java) - else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array) - } +// For writing map with string key to a Parcel +fun Parcel.writeStringParcelableMap(map: HashMap, flags: Int) { + writeInt(map.size) + for ((key, value) in map) { + writeString(key) + writeParcelable(value, flags) } +} - inline fun Intent.putParcelableList(key: String?, list: MutableList) { - putExtra(key, list.toTypedArray()) +// For reading map with string key from a Parcel +inline fun Parcel.readStringParcelableMap(): LinkedHashMap { + val size = readInt() + val map = LinkedHashMap(size) + for (i in 0 until size) { + val key: String? = readString() + val value: V? = try { + when { + SDK_INT >= 33 -> readParcelable(V::class.java.classLoader, V::class.java) + else -> @Suppress("DEPRECATION") readParcelable(V::class.java.classLoader) + } + } catch (e: Exception) { null } + if (key != null && value != null) + map[key] = value } + return map +} - inline fun Intent.getParcelableList(key: String?): MutableList? = when { - SDK_INT >= 33 -> getParcelableArrayExtra(key, E::class.java)?.toMutableList() - else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArrayExtra(key) as? Array)?.toMutableList() +// For writing map with string key and Int value to a Parcel +fun Parcel.writeStringIntMap(map: LinkedHashMap) { + writeInt(map.size) + for ((key, value) in map) { + writeString(key) + writeInt(value) } +} - inline fun Bundle.putParcelableList(key: String?, list: List) { - putParcelableArray(key, list.toTypedArray()) +// For reading map with string key and Int value from a Parcel +fun Parcel.readStringIntMap(): LinkedHashMap { + val size = readInt() + val map = LinkedHashMap(size) + for (i in 0 until size) { + val key: String? = readString() + val value: Int = readInt() + if (key != null) + map[key] = value } + return map +} - inline fun Bundle.getParcelableList(key: String?): MutableList? = when { - SDK_INT >= 33 -> getParcelableArray(key, E::class.java)?.toMutableList() - else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array)?.toMutableList() + +// For writing map with string key and string value to a Parcel +fun Parcel.writeStringStringMap(map: MutableMap) { + writeInt(map.size) + for ((key, value) in map) { + writeString(key) + writeString(value) } +} - inline fun Parcel.readParcelableCompat(): T? = when { - SDK_INT >= 33 -> readParcelable(T::class.java.classLoader, T::class.java) - else -> @Suppress("DEPRECATION") readParcelable(T::class.java.classLoader) as? T - } - - fun Parcel.readParcelableCompat(clazz: Class): T? = when { - SDK_INT >= 33 -> readParcelable(clazz.classLoader, clazz) - else -> @Suppress("DEPRECATION") readParcelable(clazz.classLoader) as? T - } - - inline fun Parcel.readSerializableCompat(): T? = when { - SDK_INT >= 33 -> readSerializable(T::class.java.classLoader, T::class.java) - else -> @Suppress("DEPRECATION") readSerializable() as? T - } - - inline fun Parcel.readListCompat(outVal: MutableList) { - when { - SDK_INT >= 33 -> readList(outVal, T::class.java.classLoader, T::class.java) - else -> @Suppress("DEPRECATION") readList(outVal, T::class.java.classLoader) - } - } - - // For writing to a Parcel - fun Parcel.writeParcelableMap(map: Map, flags: Int) { - writeInt(map.size) - for ((key, value) in map) { - writeParcelable(key, flags) - writeParcelable(value, flags) - } - } - - // For reading from a Parcel - inline fun Parcel.readParcelableMap(): Map { - val size = readInt() - val map = HashMap(size) - for (i in 0 until size) { - val key: K? = try { - when { - SDK_INT >= 33 -> readParcelable(K::class.java.classLoader, K::class.java) - else -> @Suppress("DEPRECATION") readParcelable(K::class.java.classLoader) - } - } catch (e: Exception) { null } - val value: V? = try { - when { - SDK_INT >= 33 -> readParcelable(V::class.java.classLoader, V::class.java) - else -> @Suppress("DEPRECATION") readParcelable(V::class.java.classLoader) - } - } catch (e: Exception) { null } - if (key != null && value != null) - map[key] = value - } - return map - } - - // For writing map with string key to a Parcel - fun Parcel.writeStringParcelableMap(map: HashMap, flags: Int) { - writeInt(map.size) - for ((key, value) in map) { - writeString(key) - writeParcelable(value, flags) - } - } - - // For reading map with string key from a Parcel - inline fun Parcel.readStringParcelableMap(): LinkedHashMap { - val size = readInt() - val map = LinkedHashMap(size) - for (i in 0 until size) { - val key: String? = readString() - val value: V? = try { - when { - SDK_INT >= 33 -> readParcelable(V::class.java.classLoader, V::class.java) - else -> @Suppress("DEPRECATION") readParcelable(V::class.java.classLoader) - } - } catch (e: Exception) { null } - if (key != null && value != null) - map[key] = value - } - return map - } - - // For writing map with string key and Int value to a Parcel - fun Parcel.writeStringIntMap(map: LinkedHashMap) { - writeInt(map.size) - for ((key, value) in map) { - writeString(key) - writeInt(value) - } - } - - // For reading map with string key and Int value from a Parcel - fun Parcel.readStringIntMap(): LinkedHashMap { - val size = readInt() - val map = LinkedHashMap(size) - for (i in 0 until size) { - val key: String? = readString() - val value: Int = readInt() - if (key != null) - map[key] = value - } - return map - } - - - // For writing map with string key and string value to a Parcel - fun Parcel.writeStringStringMap(map: MutableMap) { - writeInt(map.size) - for ((key, value) in map) { - writeString(key) - writeString(value) - } - } - - fun Parcel.readStringStringMap(): LinkedHashMap { - val size = readInt() - val map = LinkedHashMap(size) - for (i in 0 until size) { - val key: String? = readString() - val value: String? = readString() - if (key != null && value != null) - map[key] = value - } - return map +fun Parcel.readStringStringMap(): LinkedHashMap { + val size = readInt() + val map = LinkedHashMap(size) + for (i in 0 until size) { + val key: String? = readString() + val value: String? = readString() + if (key != null && value != null) + map[key] = value } + return map } fun Parcel.readByteArrayCompat(): ByteArray? { @@ -223,14 +230,8 @@ fun Parcel.writeByteArrayCompat(data: ByteArray?) { } } -inline fun > Intent.getEnumExtra(key: String?) = - getStringExtra(key)?.let { enumValueOf(it) } - -fun > Intent.putEnumExtra(key: String?, value: T?) = - putExtra(key, value?.name) - inline fun > Parcel.readEnum() = - readString()?.let { enumValueOf(it) } + readString()?.let { enumValueOf(it) } fun > Parcel.writeEnum(value: T?) = - writeString(value?.name) + writeString(value?.name) \ No newline at end of file