diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..f00f334afa --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +[*] +indent_size = 4 +tab_width = 4 +max_line_length = 120 + +[*.{kt,kts}] +disabled_rules=import-ordering,package-name,no-multi-spaces,final-newline +max_line_length=off \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 036be1d61d..16e0362d94 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,6 @@ apply from: '../code_quality_tools/jacoco.gradle' //apply from: '../code_quality_tools/findbugs.gradle' apply from: '../code_quality_tools/checkstyle.gradle' apply from: '../code_quality_tools/pmd.gradle' -apply from: '../code_quality_tools/ktlint.gradle' android { compileSdkVersion versions.compileSdk @@ -259,6 +258,12 @@ dependencies { stageImplementation libraries.flipperNoop releaseImplementation libraries.flipperNoop + + ktlintRuleset libraries.ktlintRules +} + +ktlint { + android = true } apply plugin: 'com.google.gms.google-services' diff --git a/app/src/debug/java/org/stepic/droid/configuration/EndpointInfoFactory.kt b/app/src/debug/java/org/stepic/droid/configuration/EndpointInfoFactory.kt index fcfd42846d..90d82329e9 100644 --- a/app/src/debug/java/org/stepic/droid/configuration/EndpointInfoFactory.kt +++ b/app/src/debug/java/org/stepic/droid/configuration/EndpointInfoFactory.kt @@ -30,7 +30,7 @@ constructor( EndpointConfig.RELEASE -> ENDPOINT_RELEASE_CONFIG } - return context.assets.open("configs/${fileName}").use { + return context.assets.open("configs/$fileName").use { gson.fromJson(InputStreamReader(it, Charset.defaultCharset()), EndpointInfo::class.java) } } diff --git a/app/src/debug/java/org/stepik/android/view/debug/ui/fragment/DebugMenu.kt b/app/src/debug/java/org/stepik/android/view/debug/ui/fragment/DebugMenu.kt index 860d3d8407..fa42b07151 100644 --- a/app/src/debug/java/org/stepik/android/view/debug/ui/fragment/DebugMenu.kt +++ b/app/src/debug/java/org/stepik/android/view/debug/ui/fragment/DebugMenu.kt @@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment interface DebugMenu { companion object { const val TAG = "DebugFragment" - fun newInstance(): Fragment = DebugFragment.newInstance() + fun newInstance(): Fragment = + DebugFragment.newInstance() } } \ No newline at end of file diff --git a/app/src/debug/java/org/stepik/android/view/injection/debug/DebugComponent.kt b/app/src/debug/java/org/stepik/android/view/injection/debug/DebugComponent.kt index 5f3be89477..f7e215d7a6 100644 --- a/app/src/debug/java/org/stepik/android/view/injection/debug/DebugComponent.kt +++ b/app/src/debug/java/org/stepik/android/view/injection/debug/DebugComponent.kt @@ -3,9 +3,11 @@ package org.stepik.android.view.injection.debug import dagger.Subcomponent import org.stepik.android.view.debug.ui.fragment.DebugFragment -@Subcomponent(modules = [ - DebugPresentationModule::class -]) +@Subcomponent( + modules = [ + DebugPresentationModule::class + ] +) interface DebugComponent { @Subcomponent.Builder interface Builder { diff --git a/app/src/debug/java/org/stepik/android/view/injection/debug/SplitTestsComponent.kt b/app/src/debug/java/org/stepik/android/view/injection/debug/SplitTestsComponent.kt index e0e00ecece..4214d5324a 100644 --- a/app/src/debug/java/org/stepik/android/view/injection/debug/SplitTestsComponent.kt +++ b/app/src/debug/java/org/stepik/android/view/injection/debug/SplitTestsComponent.kt @@ -3,9 +3,11 @@ package org.stepik.android.view.injection.debug import dagger.Subcomponent import org.stepik.android.view.debug.ui.dialog.SplitTestsDialogFragment -@Subcomponent(modules = [ - SplitTestsPresentationModule::class -]) +@Subcomponent( + modules = [ + SplitTestsPresentationModule::class + ] +) interface SplitTestsComponent { @Subcomponent.Builder interface Builder { diff --git a/app/src/main/java/org/stepik/android/view/step_quiz/resolver/StepQuizFormResolver.kt b/app/src/main/java/org/stepik/android/view/step_quiz/resolver/StepQuizFormResolver.kt index c6ec21f8fa..31e6fa1513 100644 --- a/app/src/main/java/org/stepik/android/view/step_quiz/resolver/StepQuizFormResolver.kt +++ b/app/src/main/java/org/stepik/android/view/step_quiz/resolver/StepQuizFormResolver.kt @@ -8,29 +8,29 @@ import org.stepik.android.presentation.step_quiz.StepQuizFeature object StepQuizFormResolver { fun isQuizEnabled(state: StepQuizFeature.State.AttemptLoaded): Boolean = state.submissionState is StepQuizFeature.SubmissionState.Empty || - state.submissionState is StepQuizFeature.SubmissionState.Loaded && - state.submissionState.submission.status == Submission.Status.LOCAL + state.submissionState is StepQuizFeature.SubmissionState.Loaded && + state.submissionState.submission.status == Submission.Status.LOCAL fun isQuizActionEnabled(state: StepQuizFeature.State.AttemptLoaded): Boolean = isQuizEnabled(state) || - isSubmissionInTerminalState(state) && - with(state.restrictions) { maxSubmissionCount < 0 || maxSubmissionCount > submissionCount } + isSubmissionInTerminalState(state) && + with(state.restrictions) { maxSubmissionCount < 0 || maxSubmissionCount > submissionCount } fun canMoveToNextStep(step: Step, stepQuizLessonData: StepQuizLessonData, state: StepQuizFeature.State.AttemptLoaded): Boolean = isQuizActionEnabled(state) && - isCorrect((state.submissionState as? StepQuizFeature.SubmissionState.Loaded)?.submission?.status) && - step.position < stepQuizLessonData.stepCount + isCorrect((state.submissionState as? StepQuizFeature.SubmissionState.Loaded)?.submission?.status) && + step.position < stepQuizLessonData.stepCount fun canOnlyRetry(step: Step, stepQuizLessonData: StepQuizLessonData, state: StepQuizFeature.State.AttemptLoaded): Boolean = isSubmissionInTerminalState(state) && - !canMoveToNextStep(step, stepQuizLessonData, state) && - with(state.restrictions) { maxSubmissionCount < 0 || maxSubmissionCount > submissionCount } + !canMoveToNextStep(step, stepQuizLessonData, state) && + with(state.restrictions) { maxSubmissionCount < 0 || maxSubmissionCount > submissionCount } fun isSubmissionInTerminalState(state: StepQuizFeature.State.AttemptLoaded): Boolean = state.submissionState is StepQuizFeature.SubmissionState.Loaded && - state.submissionState.submission.status.let { it == Submission.Status.CORRECT || it == Submission.Status.PARTIALLY_CORRECT || it == Submission.Status.WRONG } + state.submissionState.submission.status.let { it == Submission.Status.CORRECT || it == Submission.Status.PARTIALLY_CORRECT || it == Submission.Status.WRONG } private fun isCorrect(submissionStatus: Submission.Status?) = submissionStatus == Submission.Status.PARTIALLY_CORRECT || - submissionStatus == Submission.Status.CORRECT + submissionStatus == Submission.Status.CORRECT } \ No newline at end of file diff --git a/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrapperFrom68To69.kt b/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrapperFrom68To69.kt index bb0c9d8a2f..ff83af39a7 100644 --- a/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrapperFrom68To69.kt +++ b/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrapperFrom68To69.kt @@ -7,10 +7,16 @@ import androidx.sqlite.db.SupportSQLiteDatabase import com.google.gson.Gson import org.stepic.droid.storage.migration.MigrationFrom68To69 import org.stepic.droid.storage.structure.DbStructureCourse -import org.stepic.droid.util.* +import org.stepic.droid.util.DbParseHelper +import org.stepic.droid.util.getLong +import org.stepic.droid.util.getBoolean +import org.stepic.droid.util.getString +import org.stepic.droid.util.getDouble +import org.stepic.droid.util.getDate +import org.stepic.droid.util.toObject import org.stepik.android.model.Course import org.stepik.android.model.Video -import java.util.* +import java.util.Date class MigrationWrapperFrom68To69(migration: MigrationFrom68To69) : MigrationWrapper(migration) { @@ -26,8 +32,6 @@ class MigrationWrapperFrom68To69(migration: MigrationFrom68To69) : MigrationWrap val cursor = db.query("SELECT * FROM ${DbStructureCourse.TABLE_NAME}") cursor.moveToFirst() val retrievedCourse = parsePersistentObject(cursor) - println("Before: $beforeCourse") - println("After: $retrievedCourse") assert(beforeCourse == retrievedCourse) { "Objects not equal" } } diff --git a/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrappers.kt b/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrappers.kt index 0372282a74..482aa37c41 100644 --- a/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrappers.kt +++ b/app/src/sharedTest/java/org/stepik/android/migration_wrapper/MigrationWrappers.kt @@ -1,6 +1,17 @@ package org.stepik.android.migration_wrapper -import org.stepic.droid.storage.migration.* +import org.stepic.droid.storage.migration.Migrations +import org.stepic.droid.storage.migration.MigrationFrom62To63 +import org.stepic.droid.storage.migration.MigrationFrom63To64 +import org.stepic.droid.storage.migration.MigrationFrom64To65 +import org.stepic.droid.storage.migration.MigrationFrom65To66 +import org.stepic.droid.storage.migration.MigrationFrom66To67 +import org.stepic.droid.storage.migration.MigrationFrom67To68 +import org.stepic.droid.storage.migration.MigrationFrom68To69 +import org.stepic.droid.storage.migration.MigrationFrom69To70 +import org.stepic.droid.storage.migration.MigrationFrom70To71 +import org.stepic.droid.storage.migration.MigrationFrom71To72 +import org.stepic.droid.storage.migration.MigrationFrom72To73 object MigrationWrappers { private const val LAST_TESTED_DATABASE_VERSION = 63 @@ -10,19 +21,18 @@ object MigrationWrappers { .slice(0 until LAST_TESTED_DATABASE_VERSION - 1) .map { object : MigrationWrapper(it) {} } as List - val allMigration = oldMigrations + MigrationWrapperFrom62To63(MigrationFrom62To63) + - listOf( - object : MigrationWrapper(MigrationFrom63To64) {}, - object : MigrationWrapper(MigrationFrom64To65) {}, - object : MigrationWrapper(MigrationFrom65To66) {}, - object : MigrationWrapper(MigrationFrom66To67) {}, - object : MigrationWrapper(MigrationFrom67To68) {}, - MigrationWrapperFrom68To69(MigrationFrom68To69), - object : MigrationWrapper(MigrationFrom69To70) {}, - // TODO Multiple tests on a single table fail, must research - object : MigrationWrapper(MigrationFrom70To71) {}, - object : MigrationWrapper(MigrationFrom71To72) {}, - object : MigrationWrapper(MigrationFrom72To73) {} - ) + listOf( + object : MigrationWrapper(MigrationFrom63To64) {}, + object : MigrationWrapper(MigrationFrom64To65) {}, + object : MigrationWrapper(MigrationFrom65To66) {}, + object : MigrationWrapper(MigrationFrom66To67) {}, + object : MigrationWrapper(MigrationFrom67To68) {}, + MigrationWrapperFrom68To69(MigrationFrom68To69), + object : MigrationWrapper(MigrationFrom69To70) {}, + // TODO Multiple tests on a single table fail, must research + object : MigrationWrapper(MigrationFrom70To71) {}, + object : MigrationWrapper(MigrationFrom71To72) {}, + object : MigrationWrapper(MigrationFrom72To73) {} + ) } \ No newline at end of file diff --git a/app/src/stageDebuggable/java/org/stepic/droid/configuration/EndpointInfoFactory.kt b/app/src/stageDebuggable/java/org/stepic/droid/configuration/EndpointInfoFactory.kt index fcfd42846d..90d82329e9 100644 --- a/app/src/stageDebuggable/java/org/stepic/droid/configuration/EndpointInfoFactory.kt +++ b/app/src/stageDebuggable/java/org/stepic/droid/configuration/EndpointInfoFactory.kt @@ -30,7 +30,7 @@ constructor( EndpointConfig.RELEASE -> ENDPOINT_RELEASE_CONFIG } - return context.assets.open("configs/${fileName}").use { + return context.assets.open("configs/$fileName").use { gson.fromJson(InputStreamReader(it, Charset.defaultCharset()), EndpointInfo::class.java) } } diff --git a/app/src/stageDebuggable/java/org/stepik/android/view/debug/ui/dialog/SplitTestsDialogFragment.kt b/app/src/stageDebuggable/java/org/stepik/android/view/debug/ui/dialog/SplitTestsDialogFragment.kt index 346e17e1ec..656408d382 100644 --- a/app/src/stageDebuggable/java/org/stepik/android/view/debug/ui/dialog/SplitTestsDialogFragment.kt +++ b/app/src/stageDebuggable/java/org/stepik/android/view/debug/ui/dialog/SplitTestsDialogFragment.kt @@ -62,7 +62,7 @@ class SplitTestsDialogFragment : DialogFragment(R.layout.dialog_split_tests), Re super.onViewCreated(view, savedInstanceState) splitTestsBinding.appBarLayoutBinding.viewCenteredToolbarBinding.centeredToolbarTitle.setText(R.string.debug_ab_group_subtitle) splitTestsViewModel.onNewMessage(SplitTestsFeature.Message.InitMessage) - splitTestGroupsAdapter += SplitTestDataAdapterDelegate{ splitTestName, splitTestGroupName, groups -> + splitTestGroupsAdapter += SplitTestDataAdapterDelegate { splitTestName, splitTestGroupName, groups -> val chosenPosition = groups.indexOf(splitTestGroupName) MaterialAlertDialogBuilder(requireContext()) .setTitle(R.string.debug_choose_ab_test) @@ -82,9 +82,11 @@ class SplitTestsDialogFragment : DialogFragment(R.layout.dialog_split_tests), Re with(splitTestsBinding.splitTestsRecycler) { adapter = splitTestGroupsAdapter layoutManager = LinearLayoutManager(requireContext()) - addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL).apply { - AppCompatResources.getDrawable(context, R.drawable.bg_divider_vertical)?.let(::setDrawable) - }) + addItemDecoration( + DividerItemDecoration(context, DividerItemDecoration.VERTICAL).apply { + AppCompatResources.getDrawable(context, R.drawable.bg_divider_vertical)?.let(::setDrawable) + } + ) } } diff --git a/billing/src/main/java/org/stepik/android/domain/billing/extension/CheckoutRxExtensions.kt b/billing/src/main/java/org/stepik/android/domain/billing/extension/CheckoutRxExtensions.kt index d9e373950d..ecd0160339 100644 --- a/billing/src/main/java/org/stepik/android/domain/billing/extension/CheckoutRxExtensions.kt +++ b/billing/src/main/java/org/stepik/android/domain/billing/extension/CheckoutRxExtensions.kt @@ -11,19 +11,23 @@ import org.solovyev.android.checkout.UiCheckout fun UiCheckout.startPurchaseFlowRx(sku: Sku, payload: String?): Single = Single.create { emitter -> - startPurchaseFlow(sku, payload, object : RequestListener { - override fun onSuccess(purchase: Purchase) { - if (!emitter.isDisposed) { - emitter.onSuccess(purchase) + startPurchaseFlow( + sku, + payload, + object : RequestListener { + override fun onSuccess(purchase: Purchase) { + if (!emitter.isDisposed) { + emitter.onSuccess(purchase) + } } - } - override fun onError(response: Int, exception: Exception) { - if (!emitter.isDisposed) { - emitter.onError(exception) + override fun onError(response: Int, exception: Exception) { + if (!emitter.isDisposed) { + emitter.onError(exception) + } } } - }) + ) } fun Checkout.onReady(): Single = @@ -39,17 +43,20 @@ fun Checkout.onReady(): Single = fun BillingRequests.consumeRx(token: String): Completable = Completable.create { emitter -> - consume(token, object : RequestListener { - override fun onSuccess(result: Any) { - if (!emitter.isDisposed) { - emitter.onComplete() + consume( + token, + object : RequestListener { + override fun onSuccess(result: Any) { + if (!emitter.isDisposed) { + emitter.onComplete() + } } - } - override fun onError(response: Int, exception: Exception) { - if (!emitter.isDisposed) { - emitter.onError(exception) + override fun onError(response: Int, exception: Exception) { + if (!emitter.isDisposed) { + emitter.onError(exception) + } } } - }) + ) } \ No newline at end of file diff --git a/billing/src/main/java/org/stepik/android/remote/billing/BillingRemoteDataSourceImpl.kt b/billing/src/main/java/org/stepik/android/remote/billing/BillingRemoteDataSourceImpl.kt index 36144cce79..6b8b803555 100644 --- a/billing/src/main/java/org/stepik/android/remote/billing/BillingRemoteDataSourceImpl.kt +++ b/billing/src/main/java/org/stepik/android/remote/billing/BillingRemoteDataSourceImpl.kt @@ -51,7 +51,8 @@ constructor( billing .newRequestsBuilder() .create() - .getAllPurchases(productType, object : RequestListener { + .getAllPurchases( + productType, object : RequestListener { override fun onSuccess(purchases: Purchases) { if (!emitter.isDisposed) { emitter.onSuccess(purchases.list) @@ -63,7 +64,8 @@ constructor( emitter.onError(e) } } - }) + } + ) } override fun consumePurchase(purchase: Purchase): Completable = diff --git a/billing/src/main/java/org/stepik/android/view/injection/billing/BillingModule.kt b/billing/src/main/java/org/stepik/android/view/injection/billing/BillingModule.kt index 9a6bfc535e..87764b3425 100644 --- a/billing/src/main/java/org/stepik/android/view/injection/billing/BillingModule.kt +++ b/billing/src/main/java/org/stepik/android/view/injection/billing/BillingModule.kt @@ -16,10 +16,13 @@ class BillingModule { @PublicLicenseKey appPublicLicenseKey: String ): Billing = - Billing(context, object : Billing.DefaultConfiguration() { - override fun getPublicKey(): String = - appPublicLicenseKey - }) + Billing( + context, + object : Billing.DefaultConfiguration() { + override fun getPublicKey(): String = + appPublicLicenseKey + } + ) /** * Provides system checkout that can be used for querying inventory & etc. diff --git a/billing/src/test/java/org/stepik/android/domain/billing/model/SkuSerializableWrapperTest.kt b/billing/src/test/java/org/stepik/android/domain/billing/model/SkuSerializableWrapperTest.kt index bc65aedde0..5d8a990112 100644 --- a/billing/src/test/java/org/stepik/android/domain/billing/model/SkuSerializableWrapperTest.kt +++ b/billing/src/test/java/org/stepik/android/domain/billing/model/SkuSerializableWrapperTest.kt @@ -19,7 +19,8 @@ class SkuSerializableWrapperTest { Sku.Price(0, "USD"), "title", "description", "introductoryPrice", Sku.Price(0, "USD"), - "subscriptionPeriod", "freeTrialPeriod", "introductoryPricePeriod", 0) + "subscriptionPeriod", "freeTrialPeriod", "introductoryPricePeriod", 0 + ) outputStream.writeObject( SkuSerializableWrapper( diff --git a/build.gradle b/build.gradle index db43a7937a..6fe2db21fe 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,7 @@ buildscript { google() jcenter() maven { url "https://jitpack.io" } + gradlePluginPortal() } dependencies { classpath gradlePlugins.android @@ -19,9 +20,14 @@ buildscript { classpath gradlePlugins.firebasePerfPlugin classpath gradlePlugins.kotlin classpath gradlePlugins.dexcount + classpath gradlePlugins.ktlint } } +subprojects { + apply plugin: 'org.jlleitschuh.gradle.ktlint' +} + allprojects { repositories { google() diff --git a/code_quality_tools/ktlint.gradle b/code_quality_tools/ktlint.gradle deleted file mode 100644 index 49e705c8d9..0000000000 --- a/code_quality_tools/ktlint.gradle +++ /dev/null @@ -1,33 +0,0 @@ -repositories { - jcenter() -} - -configurations { - ktlint -} - -dependencies { - ktlint libraries.ktlint - ktlint libraries.ktlintRules - // additional 3rd party ruleset(s) can be specified here - // just add them to the classpath (ktlint 'groupId:artifactId:version') and - // ktlint will pick them up -} - -task ktlint(type: JavaExec, group: "verification") { - description = "Check Kotlin code style." - main = "com.pinterest.ktlint.Main" - classpath = configurations.ktlint - args = ["--disabled_rules=no-multi-spaces,package-name,final-newline,import-ordering", "src/main/java/org/stepik/**/*.kt"] -} -check.dependsOn ktlint - -task ktlintFormat(type: JavaExec, group: "verification") { - description = "Format Kotlin code style." - main = "com.pinterest.ktlint.Main" - classpath = configurations.ktlint - args = ["-F", "--disabled_rules=no-multi-spaces,package-name,final-newline,import-ordering", "src/main/java/org/stepik/**/*.kt"] - // to generate report in checkstyle format prepend following args: - // "--reporter=plain", "--reporter=checkstyle,output=${buildDir}/ktlint.xml" - // see https://github.com/shyiko/ktlint#usage for more -} \ No newline at end of file diff --git a/dependencies.gradle b/dependencies.gradle index 63aed1bf95..626d1a377d 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -115,7 +115,8 @@ ext.gradlePlugins = [ kotlin : "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin", android : "com.android.tools.build:gradle:$versions.androidGradlePlugin", dexcount : "com.getkeepsafe.dexcount:dexcount-gradle-plugin:$versions.dexcount", - firebasePerfPlugin: "com.google.firebase:perf-plugin:$versions.firebasePerfPlugin" + firebasePerfPlugin: "com.google.firebase:perf-plugin:$versions.firebasePerfPlugin", + ktlint : "org.jlleitschuh.gradle:ktlint-gradle:10.2.0" ] ext.libraries = [ diff --git a/model/src/main/java/org/stepik/android/model/Assignment.kt b/model/src/main/java/org/stepik/android/model/Assignment.kt index b8fd93af29..08b0befd82 100644 --- a/model/src/main/java/org/stepik/android/model/Assignment.kt +++ b/model/src/main/java/org/stepik/android/model/Assignment.kt @@ -2,7 +2,7 @@ package org.stepik.android.model import com.google.gson.annotations.SerializedName import ru.nobird.android.core.model.Identifiable -import java.util.* +import java.util.Date class Assignment( @SerializedName("id") diff --git a/model/src/main/java/org/stepik/android/model/Block.kt b/model/src/main/java/org/stepik/android/model/Block.kt index 673f697987..83ce53ea5d 100644 --- a/model/src/main/java/org/stepik/android/model/Block.kt +++ b/model/src/main/java/org/stepik/android/model/Block.kt @@ -7,14 +7,14 @@ import com.google.gson.annotations.SerializedName import org.stepik.android.model.code.CodeOptions -//more fields look at stepik.org/api/steps/14671 +// more fields look at stepik.org/api/steps/14671 data class Block( @SerializedName("name") val name: String? = null, @SerializedName("text") val text: String? = null, @SerializedName("video") - var video: Video? = null, //always external video + var video: Video? = null, // always external video @SerializedName("options") val options: CodeOptions? = null, @@ -49,7 +49,7 @@ data class Block( dest.writeParcelable(this.options, flags) } - companion object CREATOR: Parcelable.Creator { + companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): Block = Block( parcel.readString(), @@ -62,5 +62,3 @@ data class Block( arrayOfNulls(size) } } - - diff --git a/model/src/main/java/org/stepik/android/model/DiscountingPolicyType.kt b/model/src/main/java/org/stepik/android/model/DiscountingPolicyType.kt index ffc85d65e2..c25c70b313 100644 --- a/model/src/main/java/org/stepik/android/model/DiscountingPolicyType.kt +++ b/model/src/main/java/org/stepik/android/model/DiscountingPolicyType.kt @@ -13,9 +13,9 @@ enum class DiscountingPolicyType { FirstThree; fun numberOfTries(): Int = - when (this) { - NoDiscount, Inverse -> Int.MAX_VALUE - FirstOne -> 1 - FirstThree -> 3 - } + when (this) { + NoDiscount, Inverse -> Int.MAX_VALUE + FirstOne -> 1 + FirstThree -> 3 + } } diff --git a/model/src/main/java/org/stepik/android/model/achievements/AchievementProgress.kt b/model/src/main/java/org/stepik/android/model/achievements/AchievementProgress.kt index 57ce1e0a2e..6ab14a0c72 100644 --- a/model/src/main/java/org/stepik/android/model/achievements/AchievementProgress.kt +++ b/model/src/main/java/org/stepik/android/model/achievements/AchievementProgress.kt @@ -1,21 +1,21 @@ package org.stepik.android.model.achievements import com.google.gson.annotations.SerializedName -import java.util.* +import java.util.Date class AchievementProgress( - val id: Long, - val user: Long, - val achievement: Long, - val score: Int, - val kind: String, + val id: Long, + val user: Long, + val achievement: Long, + val score: Int, + val kind: String, - @SerializedName("create_date") - val createDate: Date, - @SerializedName("update_date") - val updateDate: Date, - @SerializedName("obtain_date") - val obtainDate: Date? + @SerializedName("create_date") + val createDate: Date, + @SerializedName("update_date") + val updateDate: Date, + @SerializedName("obtain_date") + val obtainDate: Date? ) { companion object { val EmptyStub = AchievementProgress(0, 0, 0, 0, "", Date(0), Date(0), null) diff --git a/model/src/main/java/org/stepik/android/model/adaptive/RatingItem.kt b/model/src/main/java/org/stepik/android/model/adaptive/RatingItem.kt index 18869aaf79..75a70e3535 100644 --- a/model/src/main/java/org/stepik/android/model/adaptive/RatingItem.kt +++ b/model/src/main/java/org/stepik/android/model/adaptive/RatingItem.kt @@ -3,10 +3,10 @@ package org.stepik.android.model.adaptive import com.google.gson.annotations.SerializedName data class RatingItem( - val rank: Int, - val name: String?, - val exp: Long, - val user: Long, - @SerializedName("is_not_fake") - val isNotFake: Boolean = false + val rank: Int, + val name: String?, + val exp: Long, + val user: Long, + @SerializedName("is_not_fake") + val isNotFake: Boolean = false ) \ No newline at end of file diff --git a/model/src/main/java/org/stepik/android/model/adaptive/Recommendation.kt b/model/src/main/java/org/stepik/android/model/adaptive/Recommendation.kt index a58cc39784..e54218d021 100644 --- a/model/src/main/java/org/stepik/android/model/adaptive/Recommendation.kt +++ b/model/src/main/java/org/stepik/android/model/adaptive/Recommendation.kt @@ -1,7 +1,7 @@ package org.stepik.android.model.adaptive class Recommendation( - val id: Long, - val lesson: Long, - val reasons: List? + val id: Long, + val lesson: Long, + val reasons: List? ) \ No newline at end of file diff --git a/model/src/main/java/org/stepik/android/model/adaptive/RecommendationReaction.kt b/model/src/main/java/org/stepik/android/model/adaptive/RecommendationReaction.kt index 2f58579c8d..3dae80c911 100644 --- a/model/src/main/java/org/stepik/android/model/adaptive/RecommendationReaction.kt +++ b/model/src/main/java/org/stepik/android/model/adaptive/RecommendationReaction.kt @@ -1,8 +1,5 @@ package org.stepik.android.model.adaptive -import org.stepik.android.model.adaptive.Reaction - - class RecommendationReaction(val lesson: Long, reaction: Reaction, var user: Long = 0) { private val reaction = reaction.value } \ No newline at end of file diff --git a/model/src/main/java/org/stepik/android/model/code/CodeLimit.kt b/model/src/main/java/org/stepik/android/model/code/CodeLimit.kt index 7f316fb1d2..b1d6b5e479 100644 --- a/model/src/main/java/org/stepik/android/model/code/CodeLimit.kt +++ b/model/src/main/java/org/stepik/android/model/code/CodeLimit.kt @@ -6,9 +6,9 @@ import com.google.gson.annotations.SerializedName data class CodeLimit( @SerializedName("time") - val time: Int, //in seconds + val time: Int, // in seconds @SerializedName("memory") - val memory: Int //in Mb + val memory: Int // in Mb ) : Parcelable { override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeInt(time) diff --git a/model/src/main/java/org/stepik/android/model/code/UserCodeRun.kt b/model/src/main/java/org/stepik/android/model/code/UserCodeRun.kt index 5fd0f77084..d9a9a5903c 100644 --- a/model/src/main/java/org/stepik/android/model/code/UserCodeRun.kt +++ b/model/src/main/java/org/stepik/android/model/code/UserCodeRun.kt @@ -3,7 +3,7 @@ package org.stepik.android.model.code import android.os.Parcelable import com.google.gson.annotations.SerializedName import kotlinx.android.parcel.Parcelize -import java.util.* +import java.util.Date @Parcelize data class UserCodeRun( diff --git a/model/src/main/java/org/stepik/android/model/comments/Comment.kt b/model/src/main/java/org/stepik/android/model/comments/Comment.kt index 103fa6a3a7..93f3082fb0 100644 --- a/model/src/main/java/org/stepik/android/model/comments/Comment.kt +++ b/model/src/main/java/org/stepik/android/model/comments/Comment.kt @@ -5,7 +5,7 @@ import com.google.gson.annotations.SerializedName import kotlinx.android.parcel.Parcelize import org.stepik.android.model.Actions import org.stepik.android.model.UserRole -import java.util.* +import java.util.Date @Parcelize data class Comment( @@ -41,9 +41,9 @@ data class Comment( @SerializedName("actions") val actions: Actions? = null, @SerializedName("target") - val target: Long = 0, //for example, id of Step. + val target: Long = 0, // for example, id of Step. @SerializedName("replies") - val replies: List? = null, //oldList of all replies, but in query only 20. + val replies: List? = null, // oldList of all replies, but in query only 20. @SerializedName("tonality_auto") val tonalityAuto: Int? = null, diff --git a/model/src/test/java/org/stepik/android/model/ProgressTest.kt b/model/src/test/java/org/stepik/android/model/ProgressTest.kt index 877787a4c5..4d19b13194 100644 --- a/model/src/test/java/org/stepik/android/model/ProgressTest.kt +++ b/model/src/test/java/org/stepik/android/model/ProgressTest.kt @@ -4,7 +4,6 @@ import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import org.stepik.android.model.util.assertThatObjectParcelable -import org.stepik.android.model.Progress @RunWith(RobolectricTestRunner::class) class ProgressTest { diff --git a/model/src/test/java/org/stepik/android/model/StepStatusTest.kt b/model/src/test/java/org/stepik/android/model/StepStatusTest.kt index e2b5892ac7..2c7e38b8a8 100644 --- a/model/src/test/java/org/stepik/android/model/StepStatusTest.kt +++ b/model/src/test/java/org/stepik/android/model/StepStatusTest.kt @@ -35,10 +35,10 @@ class StepStatusTest { @Test fun byNameAllValuesResolvedByName() { assertThat>( - Step.Status.values() - .map { Step.Status.byName(it.name) } - .toList(), - everyItem(notNullValue(Step.Status::class.java)) + Step.Status.values() + .map { Step.Status.byName(it.name) } + .toList(), + everyItem(notNullValue(Step.Status::class.java)) ) } @@ -56,5 +56,4 @@ class StepStatusTest { fun saveOrderOfError() { assertEquals("backward compatibility", 2, Step.Status.ERROR.ordinal) } - } \ No newline at end of file diff --git a/model/src/test/java/org/stepik/android/model/code/CodeLimitTest.kt b/model/src/test/java/org/stepik/android/model/code/CodeLimitTest.kt index 85cd17d295..b0cc042738 100644 --- a/model/src/test/java/org/stepik/android/model/code/CodeLimitTest.kt +++ b/model/src/test/java/org/stepik/android/model/code/CodeLimitTest.kt @@ -4,7 +4,6 @@ import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import org.stepik.android.model.util.assertThatObjectParcelable -import org.stepik.android.model.code.CodeLimit @RunWith(RobolectricTestRunner::class) class CodeLimitTest { diff --git a/model/src/test/java/org/stepik/android/model/code/CodeOptionsTest.kt b/model/src/test/java/org/stepik/android/model/code/CodeOptionsTest.kt index ad28ae8eea..03bb9522c3 100644 --- a/model/src/test/java/org/stepik/android/model/code/CodeOptionsTest.kt +++ b/model/src/test/java/org/stepik/android/model/code/CodeOptionsTest.kt @@ -17,27 +17,26 @@ class CodeOptionsTest { addAll(listOf("1", "2", "3", "4")) } val codeOptions = CodeOptions( - limits = mapOf("java" to CodeLimit(3, 256)), - executionMemoryLimit = 120, - executionTimeLimit = 5, - codeTemplates = hashMapOf("java" to "public static etc"), - samples = listOf(sample1, sample2), - isRunUserCodeAllowed = true + limits = mapOf("java" to CodeLimit(3, 256)), + executionMemoryLimit = 120, + executionTimeLimit = 5, + codeTemplates = hashMapOf("java" to "public static etc"), + samples = listOf(sample1, sample2), + isRunUserCodeAllowed = true ) codeOptions.assertThatObjectParcelable() } - @Test fun emptyListsAndMapsSuccess() { val codeOptions = CodeOptions( - limits = emptyMap(), - executionTimeLimit = 0, - executionMemoryLimit = 0, - codeTemplates = emptyMap(), - samples = emptyList(), - isRunUserCodeAllowed = false + limits = emptyMap(), + executionTimeLimit = 0, + executionMemoryLimit = 0, + codeTemplates = emptyMap(), + samples = emptyList(), + isRunUserCodeAllowed = false ) codeOptions.assertThatObjectParcelable()