nextcloud / nextcloud/Android-SingleSignOn
Kotlin coroutine support missing
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 74
- Forks
- 36
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 17
Description
I always get an exception on line 124 of NextcloudRetrofitServiceMethod.invoke():
// Build/parse dynamic parameters
for(int i = 0; i < parameterAnnotationsArray.length; i++) {
Annotation annotation = parameterAnnotationsArray[i][0]; // <----- Blows up
I tried debugging this method, but every time it hits a breakpoint in here the app crashes.
Here's my Retrofit:
interface BookmarkService {
@GET("bookmark")
suspend fun getBookmarks(
@Query("folder") folderId: Int,
@Query("page") page: Int,
@Query("tags") tags: List<String>
): DtoBookmarks
@GET("folder?layers=1")
suspend fun getFolders(
@Query("root") parentFolderId: Int
): DtoFolders
}
These are my dependencies:
implementation 'com.github.nextcloud:Android-SingleSignOn:0.5.0-rc4'
implementation 'com.squareup.retrofit2:retrofit:2.6.4'
implementation 'com.squareup.retrofit2:converter-gson:2.6.4'
Let me know if you need any more info.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the crash from NextcloudRetrofitServiceMethod.invoke() at line 124 with the suspend methods in the shown BookmarkService interface. Compare the parameter annotations and coroutine-generated method shape with the Retrofit 2.6.4 dependencies. Done means both suspend calls work without the exception while preserving their query parameters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- api, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100