refactor(parcel): migrate to type-safe Parcel read methods#16488
refactor(parcel): migrate to type-safe Parcel read methods#16488joshtrichards wants to merge 7 commits intomasterfrom
Conversation
Signed-off-by: Josh <josh.t.richards@gmail.com>
Add readSerializableCompat to ParcableExtensions.kt for type-safe Serializable deserialization using AndroidX ParcelCompat, maintaining consistency with existing readParcelableCompat function. Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
|
APK file: https://www.kaminsky.me/nc-dev/android-artifacts/16488.apk |
|
blue-Light-Screenshot test failed, but no output was generated. Maybe a preliminary stage failed. |
There was a problem hiding this comment.
Hello
Thank you for the PR, this is a valuable addition and much appreciated.
Given the scope of the changes, I would suggest splitting this into smaller, more focused PRs. For example:
- One PR for
Request.kt - One PR for
Server.kt - Additional PRs for other affected components as needed
Breaking the changes down this way will make the review process more manageable, allow us to test each part thoroughly, and help identify any unforeseen edge cases early. It will also reduce risk and make merging safer and more incremental.
Thank you again for your effort and contribution.

Summary
Migrates deprecated
readSerializable()andreadParcelable()calls to their type-safe variants using AndroidXParcelCompatfor backward compatibility with Android 9+.Addresses lint warnings such as these:
Changes
readSerializableCompatextension function to existingParcableExtensions.ktServer.ktto use extension functionsRequest.kt(DownloadRequest & UploadRequest) to use extension functionsRegisteredUser.ktto use extension functionsOCFile.javato useParcelCompatdirectlyConflictDialogData.ktfor consistency with type parametersWhy
Testing
🖼️ Screenshots
🏁 Checklist