Skip to content

Commit

Permalink
Convert few model classes to kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
maskaravivek committed Dec 6, 2019
1 parent f7cca31 commit 6265efa
Show file tree
Hide file tree
Showing 86 changed files with 661 additions and 1,301 deletions.
13 changes: 10 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,20 @@ dependencies {
kapt "com.google.dagger:dagger-android-processor:$DAGGER_VERSION"
kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
implementation "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION"

//Mocking
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0'
testImplementation 'org.mockito:mockito-inline:2.8.47'
testImplementation 'org.mockito:mockito-core:2.23.0'
testImplementation "org.powermock:powermock-module-junit4:2.0.0-beta.5"
testImplementation "org.powermock:powermock-api-mockito2:2.0.0-beta.5"

// Unit testing
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
testImplementation "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION"
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'androidx.test:core:1.2.0'
testImplementation 'com.nhaarman:mockito-kotlin:1.5.0'
testImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1'
testImplementation "org.powermock:powermock-module-junit4:2.0.0-beta.5"
testImplementation "org.powermock:powermock-api-mockito2:2.0.0-beta.5"
Expand Down
103 changes: 0 additions & 103 deletions app/src/main/java/fr/free/nrw/commons/achievements/Achievements.java

This file was deleted.

98 changes: 98 additions & 0 deletions app/src/main/java/fr/free/nrw/commons/achievements/Achievements.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package fr.free.nrw.commons.achievements

/**
* Represents Achievements class and stores all the parameters
*/
class Achievements {
/**
* getter function to get count of unique images used by wiki
* @return
*/
/**
* setter function to set count of uniques images used by wiki
* @param uniqueUsedImages
*/
var uniqueUsedImages = 0
private var articlesUsingImages = 0
/**
* getter function to get count of thanks received
* @return
*/
/**
* setter function to set count of thanks received
* @param thanksReceived
*/
var thanksReceived = 0
/**
* getter function to get count of featured images
* @return
*/
/**
* setter function to set count of featured images
* @param featuredImages
*/
var featuredImages = 0
/**
* getter function to get count of images uploaded
* @return
*/
/**
* setter function to count of images uploaded
* @param imagesUploaded
*/
var imagesUploaded = 0
private var revertCount = 0

constructor() {}
/**
* constructor for achievements class to set its data members
* @param uniqueUsedImages
* @param articlesUsingImages
* @param thanksReceived
* @param featuredImages
* @param imagesUploaded
* @param revertCount
*/
constructor(uniqueUsedImages: Int,
articlesUsingImages: Int,
thanksReceived: Int,
featuredImages: Int,
imagesUploaded: Int,
revertCount: Int) {
this.uniqueUsedImages = uniqueUsedImages
this.articlesUsingImages = articlesUsingImages
this.thanksReceived = thanksReceived
this.featuredImages = featuredImages
this.imagesUploaded = imagesUploaded
this.revertCount = revertCount
}

/**
* used to calculate the percentages of images that haven't been reverted
* @return
*/
val notRevertPercentage: Int
get() = try {
(imagesUploaded - revertCount) * 100 / imagesUploaded
} catch (divideByZero: ArithmeticException) {
100
}

companion object {
/**
* Get Achievements object from FeedbackResponse
*
* @param response
* @return
*/
@JvmStatic
fun from(response: FeedbackResponse): Achievements {
return Achievements(response.uniqueUsedImages,
response.articlesUsingImages,
response.thanksReceived,
response.featuredImages.qualityImages
+ response.featuredImages.featuredPicturesOnWikimediaCommons, 0,
response.deletedUploads)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ private void setImageRevertPercentage(int notRevertPercentage){
private void inflateAchievements(Achievements achievements) {
thanksReceived.setText(String.valueOf(achievements.getThanksReceived()));
imagesUsedByWikiProgressBar.setProgress
(100*achievements.getUniqueUsedImages()/levelInfo.getMaxUniqueImages() );
(100 * achievements.getUniqueUsedImages() / levelInfo.getMaxUniqueImages());
imagesUsedByWikiProgressBar.setProgressTextFormatPattern
(achievements.getUniqueUsedImages() + "/" + levelInfo.getMaxUniqueImages());
imagesFeatured.setText(String.valueOf(achievements.getFeaturedImages()));
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package fr.free.nrw.commons.achievements

import com.google.gson.annotations.SerializedName

class FeaturedImages(@field:SerializedName("Quality_images") val qualityImages: Int, @field:SerializedName("Featured_pictures_on_Wikimedia_Commons") val featuredPicturesOnWikimediaCommons: Int)

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package fr.free.nrw.commons.achievements

data class FeedbackResponse(val uniqueUsedImages: Int,
val articlesUsingImages: Int,
val deletedUploads: Int,
val featuredImages: FeaturedImages,
val thanksReceived: Int,
val user: String)
Loading

0 comments on commit 6265efa

Please sign in to comment.