Skip to content

Commit 7331197

Browse files
pshnicolas-raoul
andauthored
Convert wikidata/mwapi to kotlin (part 4) (commons-app#6010)
* Convert ImageDetails to kotlin * Convert MwException/MwServiceError to kotlin * Convert ListUserResponse to kotlin * Convert MwPostResponse to kotlin * Convert MwQueryResponse to kotlin * Convert MwQueryResult to kotlin * Convert MwQueryPage to kotlin --------- Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
1 parent 56ada36 commit 7331197

28 files changed

+474
-615
lines changed

app/src/main/java/fr/free/nrw/commons/auth/login/LoginClient.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ class LoginClient(
237237
.subscribe({ response: MwQueryResponse? ->
238238
loginResult.userId = response?.query()?.userInfo()?.id() ?: 0
239239
loginResult.groups =
240-
response?.query()?.getUserResponse(userName)?.groups ?: emptySet()
240+
response?.query()?.getUserResponse(userName)?.getGroups() ?: emptySet()
241241
cb.success(loginResult)
242242
}, { caught: Throwable ->
243243
Timber.e(caught, "Login succeeded but getting group information failed. ")

app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C
938938

939939
Observable.defer {
940940
thanksClient.thank(
941-
firstRevision.revisionId
941+
firstRevision.revisionId()
942942
)
943943
}
944944
.subscribeOn(Schedulers.io())

app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ class ReviewActivity : BaseActivity() {
201201
val caption = getString(
202202
R.string.review_is_uploaded_by,
203203
fileName,
204-
revision.user
204+
revision.user()
205205
)
206206
binding.tvImageCaption.text = caption
207207
binding.pbReviewImage.visibility = View.GONE

app/src/main/java/fr/free/nrw/commons/review/ReviewController.kt

+1-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import fr.free.nrw.commons.auth.csrf.InvalidLoginTokenException
1212
import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage
1313

1414
import java.util.ArrayList
15-
import java.util.concurrent.Callable
1615

1716
import javax.inject.Inject
1817
import javax.inject.Named
@@ -27,7 +26,6 @@ import fr.free.nrw.commons.delete.DeleteHelper
2726
import fr.free.nrw.commons.di.ApplicationlessInjection
2827
import fr.free.nrw.commons.utils.ViewUtil
2928
import io.reactivex.Observable
30-
import io.reactivex.ObservableSource
3129
import io.reactivex.android.schedulers.AndroidSchedulers
3230
import io.reactivex.schedulers.Schedulers
3331
import timber.log.Timber
@@ -175,7 +173,7 @@ class ReviewController @Inject constructor(
175173
if (firstRevision == null) return
176174

177175
Observable.defer {
178-
thanksClient.thank(firstRevision!!.revisionId)
176+
thanksClient.thank(firstRevision!!.revisionId())
179177
}
180178
.subscribeOn(Schedulers.io())
181179
.observeOn(AndroidSchedulers.mainThread())

app/src/main/java/fr/free/nrw/commons/review/ReviewHelper.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ReviewHelper
3434
reviewInterface
3535
.getRecentChanges()
3636
.map { it.query()?.pages() }
37-
.map(MutableList<MwQueryPage>::shuffled)
37+
.map { it.shuffled() }
3838
.flatMapIterable { changes: List<MwQueryPage>? -> changes }
3939
.filter { isChangeReviewable(it) }
4040

app/src/main/java/fr/free/nrw/commons/review/ReviewImageFragment.kt

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,15 @@ package fr.free.nrw.commons.review
33
import android.graphics.Color
44
import android.os.Bundle
55
import android.text.Html
6-
import android.text.TextUtils
76
import android.view.LayoutInflater
87
import android.view.View
98
import android.view.ViewGroup
109
import fr.free.nrw.commons.CommonsApplication
11-
import fr.free.nrw.commons.Media
1210
import fr.free.nrw.commons.R
1311
import fr.free.nrw.commons.auth.SessionManager
1412
import fr.free.nrw.commons.auth.csrf.InvalidLoginTokenException
1513
import fr.free.nrw.commons.databinding.FragmentReviewImageBinding
1614
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
17-
import java.util.ArrayList
1815
import javax.inject.Inject
1916

2017

@@ -126,7 +123,7 @@ class ReviewImageFragment : CommonsDaggerSupportFragment() {
126123
enableButtons()
127124
question = getString(R.string.review_thanks)
128125

129-
user = reviewActivity.reviewController.firstRevision?.user
126+
user = reviewActivity.reviewController.firstRevision?.user()
130127
?: savedInstanceState?.getString(SAVED_USER)
131128

132129
//if the user is null because of whatsoever reason, review will not be sent anyways

app/src/main/java/fr/free/nrw/commons/upload/UploadClient.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ class UploadClient
270270
if (uploadResult.upload == null) {
271271
val exception = gson.fromJson(uploadResponse, MwException::class.java)
272272
Timber.e(exception, "Error in uploading file from stash")
273-
throw Exception(exception.getErrorCode())
273+
throw Exception(exception.errorCode)
274274
}
275275
uploadResult.upload
276276
}

app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/ImageDetails.java

-17
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package fr.free.nrw.commons.wikidata.mwapi
2+
3+
class ImageDetails {
4+
val name: String? = null
5+
val title: String? = null
6+
}

app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/ListUserResponse.java

-26
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package fr.free.nrw.commons.wikidata.mwapi
2+
3+
class ListUserResponse {
4+
private val name: String? = null
5+
private val userid: Long = 0
6+
private val groups: List<String>? = null
7+
8+
fun name(): String? = name
9+
10+
fun getGroups(): Set<String> =
11+
groups?.toSet() ?: emptySet()
12+
}

app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwException.java

-44
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package fr.free.nrw.commons.wikidata.mwapi
2+
3+
class MwException(
4+
val error: MwServiceError?,
5+
private val errors: List<MwServiceError>?
6+
) : RuntimeException() {
7+
val errorCode: String?
8+
get() = error?.code ?: errors?.get(0)?.code
9+
10+
val title: String?
11+
get() = error?.title ?: errors?.get(0)?.title
12+
13+
override val message: String?
14+
get() = error?.details ?: errors?.get(0)?.details
15+
}

app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwPostResponse.java

-16
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package fr.free.nrw.commons.wikidata.mwapi
2+
3+
open class MwPostResponse : MwResponse() {
4+
val successVal: Int = 0
5+
6+
fun success(result: String?): Boolean =
7+
"success" == result
8+
}
9+

0 commit comments

Comments
 (0)