Fix samplejava compilation error and migrate non-deprecated methods #75
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part 1 (commit: 680c838)
There is currently a compile-time error in the
samplejava
project in theImgurAttachmentFactory.java
:error: ImgurAttachmentFactory is not abstract and does not override abstract method createViewHolder(Message,MessageListListeners,ViewGroup) in AttachmentFactory
The problem origin is that the interface
AttachmentFactory
has default implementations for its methods, however those are not recognised when the interface is implemented by ajava
class, and an implementation must be provided for all such methods.There was already an existing workaround for this case: Use the
BaseAttachmentFactory
abstract class as a base, instead of directly implementing theAttachmentFactory
-> extending this class solves the issue and we don't need to provide an implementation for all methods.Part 2 (commit: 3cdeb97)
Additionally, the
ImgurAttachmentFactory
was still using the now deprecated method:createViewHolder(message: Message, listeners: MessageListListenerContainer?, parent: ViewGroup): InnerAttachmentViewHolder
. This method is now replaced with the newcreateViewHolder(message: Message, listeners: MessageListListeners?, parent: ViewGroup): InnerAttachmentViewHolder