diff --git a/CHANGELOG b/CHANGELOG index 5319696b9..4e340fcee 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +KeePassDX(2.10.1) + * Fix parcelable with custom data #986 + KeePassDX(2.10.0) * Manage new database format 4.1 #956 * Fix show button consistency #980 diff --git a/app/build.gradle b/app/build.gradle index 88e432686..df9640179 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 15 targetSdkVersion 30 - versionCode = 76 - versionName = "2.10.0" + versionCode = 78 + versionName = "2.10.1" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt index 596641f32..4264e682f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/CustomData.kt @@ -17,7 +17,7 @@ class CustomData : Parcelable { } constructor(parcel: Parcel) { - ParcelableUtil.readStringParcelableMap(parcel, CustomData::class.java) + ParcelableUtil.readStringParcelableMap(parcel, CustomDataItem::class.java) } fun get(key: String): CustomDataItem? { diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt index d0d1654e9..d578df6ca 100644 --- a/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/utils/ParcelableUtil.kt @@ -42,8 +42,12 @@ object ParcelableUtil { val size = parcel.readInt() val map = HashMap(size) for (i in 0 until size) { - val key: K? = kClass.cast(parcel.readParcelable(kClass.classLoader)) - val value: V? = vClass.cast(parcel.readParcelable(vClass.classLoader)) + val key: K? = try { + parcel.readParcelable(kClass.classLoader) + } catch (e: Exception) { null } + val value: V? = try { + parcel.readParcelable(vClass.classLoader) + } catch (e: Exception) { null } if (key != null && value != null) map[key] = value } @@ -76,7 +80,9 @@ object ParcelableUtil { val map = LinkedHashMap(size) for (i in 0 until size) { val key: String? = parcel.readString() - val value: V? = vClass.cast(parcel.readParcelable(vClass.classLoader)) + val value: V? = try { + parcel.readParcelable(vClass.classLoader) + } catch (e: Exception) { null } if (key != null && value != null) map[key] = value } diff --git a/fastlane/metadata/android/en-US/changelogs/77.txt b/fastlane/metadata/android/en-US/changelogs/77.txt new file mode 100644 index 000000000..42780ecb1 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/77.txt @@ -0,0 +1 @@ + * \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/77.txt b/fastlane/metadata/android/fr-FR/changelogs/77.txt new file mode 100644 index 000000000..42780ecb1 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/77.txt @@ -0,0 +1 @@ + * \ No newline at end of file