From 1aa0b48b0a34a6bdb324e16951c3d37bc4a22901 Mon Sep 17 00:00:00 2001 From: Gergely Hegedus Date: Sat, 18 Sep 2021 17:07:41 +0300 Subject: [PATCH] Fix codeAnalysis errors --- .github/workflows/pull-request-jobs.yml | 16 ++++++++++------ app/build.gradle | 1 + .../test/showcase/ui/home/MainActivity.kt | 4 +++- .../core/content/GetAllContentUseCase.kt | 19 +++++++++++++++---- .../test/showcase/core/shared/AnswerUtils.kt | 1 + detekt/detekt.yml | 2 +- .../network/session/SessionAuthenticator.kt | 6 +++++- .../network/shared/ExceptionWrapper.kt | 1 + 8 files changed, 37 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pull-request-jobs.yml b/.github/workflows/pull-request-jobs.yml index 7aa4d80..2b4d0af 100644 --- a/.github/workflows/pull-request-jobs.yml +++ b/.github/workflows/pull-request-jobs.yml @@ -27,15 +27,17 @@ jobs: - name: Run detekt run: ./gradlew detekt - name: Upload Detekt Results - - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v2 + if: always() with: name: Detekt Results - path: build/reports/detekt/detekt.html + path: build/reports/detekt.html retention-days: 1 - name: Run ktlint run: ./gradlew ktlintCheck - name: Upload ktLint Results - - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v2 + if: always() with: name: ktLint Results path: ./**/build/reports/ktlint/**/*ktlint*Check.txt @@ -43,7 +45,8 @@ jobs: - name: Run Lint run: ./gradlew lint - name: Upload Lint Results - - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v2 + if: always() with: name: Lint Results path: ./**/build/reports/*lint-results*.html @@ -62,9 +65,10 @@ jobs: distribution: 'adopt' java-version: '11' - name: Run Unit Tests - run: ./gradlew testReleaseUnit + run: ./gradlew unitTests - name: Upload Test Results - - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v2 + if: always() with: name: Unit Test Results path: ./**/build/reports/tests/**/index.html diff --git a/app/build.gradle b/app/build.gradle index b227cb4..a390928 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,6 +10,7 @@ android { defaultConfig { applicationId "org.fnives.test.showcase" minSdkVersion 21 + //noinspection OldTargetApi // todo targetSdkVersion 30 versionCode 1 versionName "1.0" diff --git a/app/src/main/java/org/fnives/test/showcase/ui/home/MainActivity.kt b/app/src/main/java/org/fnives/test/showcase/ui/home/MainActivity.kt index aef19a9..187304a 100644 --- a/app/src/main/java/org/fnives/test/showcase/ui/home/MainActivity.kt +++ b/app/src/main/java/org/fnives/test/showcase/ui/home/MainActivity.kt @@ -32,7 +32,9 @@ class MainActivity : AppCompatActivity() { val adapter = FavouriteContentAdapter(viewModel.mapToAdapterListener()) binding.recycler.layoutManager = LinearLayoutManager(this) - binding.recycler.addItemDecoration(VerticalSpaceItemDecoration(resources.getDimensionPixelOffset(R.dimen.padding))) + binding.recycler.addItemDecoration( + VerticalSpaceItemDecoration(resources.getDimensionPixelOffset(R.dimen.padding)) + ) binding.recycler.adapter = adapter viewModel.content.observe(this) { diff --git a/core/src/main/java/org/fnives/test/showcase/core/content/GetAllContentUseCase.kt b/core/src/main/java/org/fnives/test/showcase/core/content/GetAllContentUseCase.kt index d078d68..24a4b63 100644 --- a/core/src/main/java/org/fnives/test/showcase/core/content/GetAllContentUseCase.kt +++ b/core/src/main/java/org/fnives/test/showcase/core/content/GetAllContentUseCase.kt @@ -14,7 +14,10 @@ class GetAllContentUseCase internal constructor( ) { fun get(): Flow>> = - contentRepository.contents.combine(favouriteContentLocalStorage.observeFavourites(), ::combineContentWithFavourites) + contentRepository.contents.combine( + favouriteContentLocalStorage.observeFavourites(), + ::combineContentWithFavourites + ) companion object { private fun combineContentWithFavourites( @@ -24,10 +27,18 @@ class GetAllContentUseCase internal constructor( when (contentResource) { is Resource.Error -> Resource.Error(contentResource.error) is Resource.Loading -> Resource.Loading() - is Resource.Success -> Resource.Success(combineContentWithFavourites(contentResource.data, favouriteContents)) + is Resource.Success -> + Resource.Success( + combineContentWithFavourites(contentResource.data, favouriteContents) + ) } - private fun combineContentWithFavourites(content: List, favourite: List): List = - content.map { FavouriteContent(content = it, isFavourite = favourite.contains(it.id)) } + private fun combineContentWithFavourites( + content: List, + favourite: List + ): List = + content.map { + FavouriteContent(content = it, isFavourite = favourite.contains(it.id)) + } } } diff --git a/core/src/main/java/org/fnives/test/showcase/core/shared/AnswerUtils.kt b/core/src/main/java/org/fnives/test/showcase/core/shared/AnswerUtils.kt index cf7bad0..90d406e 100644 --- a/core/src/main/java/org/fnives/test/showcase/core/shared/AnswerUtils.kt +++ b/core/src/main/java/org/fnives/test/showcase/core/shared/AnswerUtils.kt @@ -6,6 +6,7 @@ import org.fnives.test.showcase.model.shared.Resource import org.fnives.test.showcase.network.shared.exceptions.NetworkException import org.fnives.test.showcase.network.shared.exceptions.ParsingException +@Suppress("RethrowCaughtException") internal suspend fun wrapIntoAnswer(callback: suspend () -> T): Answer = try { Answer.Success(callback()) diff --git a/detekt/detekt.yml b/detekt/detekt.yml index 0fd7e71..6e6c0df 100644 --- a/detekt/detekt.yml +++ b/detekt/detekt.yml @@ -714,7 +714,7 @@ style: active: false ReturnCount: active: true - max: 2 + max: 5 excludedFunctions: 'equals' excludeLabeled: false excludeReturnFromLambda: true diff --git a/network/src/main/java/org/fnives/test/showcase/network/session/SessionAuthenticator.kt b/network/src/main/java/org/fnives/test/showcase/network/session/SessionAuthenticator.kt index a5a2cf2..df1c411 100644 --- a/network/src/main/java/org/fnives/test/showcase/network/session/SessionAuthenticator.kt +++ b/network/src/main/java/org/fnives/test/showcase/network/session/SessionAuthenticator.kt @@ -14,11 +14,15 @@ internal class SessionAuthenticator( private val networkSessionExpirationListener: NetworkSessionExpirationListener ) : Authenticator { + @Suppress("SwallowedException") override fun authenticate(route: Route?, response: Response): Request? { if (authenticationHeaderUtils.hasToken(response.request)) { return runBlocking { try { - val newSession = loginRemoteSource.refresh(networkSessionLocalStorage.session?.refreshToken.orEmpty()) + val refreshToken = networkSessionLocalStorage.session + ?.refreshToken + .orEmpty() + val newSession = loginRemoteSource.refresh(refreshToken) networkSessionLocalStorage.session = newSession return@runBlocking authenticationHeaderUtils.attachToken(response.request) } catch (throwable: Throwable) { diff --git a/network/src/main/java/org/fnives/test/showcase/network/shared/ExceptionWrapper.kt b/network/src/main/java/org/fnives/test/showcase/network/shared/ExceptionWrapper.kt index fd9cf74..8e60f8b 100644 --- a/network/src/main/java/org/fnives/test/showcase/network/shared/ExceptionWrapper.kt +++ b/network/src/main/java/org/fnives/test/showcase/network/shared/ExceptionWrapper.kt @@ -8,6 +8,7 @@ import java.io.EOFException internal object ExceptionWrapper { + @Suppress("RethrowCaughtException") @Throws(NetworkException::class, ParsingException::class) suspend fun wrap(request: suspend () -> T) = try { request()