'Implement interface with suspend function from kotlin in java class

I have kotlin Interface with name MediaBucketProvider. this interface have 1 suspend functuion that return entity list

interface MediaBucketProvider {

    suspend fun getMediaBuckets(bucketType: BucketType): List<MediaBucket>

}

When implementing this interface into kotlin class it worked fine. but when i want to implement this interface in java class like this

class BucketProviderImpl implements MediaBucketProvider {

    @Nullable
    @Override
    public Object getMediaBuckets(@NotNull BucketType bucketType, @NotNull Continuation<? super List<? extends MediaBucket>> $completion) {
      //return buckets
    }
}

build failed with below error

BucketProviderImpl.java:14: error: BucketProviderImpl is not abstract and does not override abstract method getMediaBuckets(BucketType,Continuation<? super List<MediaBucket>>) in MediaBucketProvider
class CustomLoaderJavaClass implements MediaBucketProvider {
^

When i remove suspend modifier from interface function build not failed anymore.

I see the kotlin-to-java implementation of Kotlin class that implement MediaBucketProvider interface its not different between BucketProviderImpl and java code of KotlinBucketProviderImpl



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source