103: Dependency updates r=msfjarvis a=msfjarvis

bors r+

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
bors[bot]
2021-02-08 08:45:46 +00:00
committed by GitHub
co-authored by Harsh Shandilya
10 changed files with 55 additions and 18 deletions
@@ -4,10 +4,10 @@ import dev.msfjarvis.lobsters.injection.ApiModule
import dev.msfjarvis.lobsters.injection.MoshiModule
import dev.msfjarvis.lobsters.util.TestUtils
import kotlinx.coroutines.runBlocking
import okhttp3.mockwebserver.Dispatcher
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import mockwebserver3.Dispatcher
import mockwebserver3.MockResponse
import mockwebserver3.MockWebServer
import mockwebserver3.RecordedRequest
import org.junit.AfterClass
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -1,6 +1,7 @@
package dev.msfjarvis.lobsters.data.remote
import androidx.paging.PagingSource
import androidx.paging.PagingState
import dev.msfjarvis.lobsters.data.local.LobstersPost
import dev.msfjarvis.lobsters.data.repo.LobstersRepository
import javax.inject.Inject
@@ -26,4 +27,8 @@ class LobstersPagingSource @Inject constructor(
LoadResult.Error(e)
}
}
override fun getRefreshKey(state: PagingState<Int, LobstersPost>): Int {
return state.pages.size + 1
}
}
@@ -106,7 +106,12 @@ fun LobstersBottomNav(
navBackStackEntry?.arguments?.getString(KEY_ROUTE) ?: Destination.startDestination.route
Destination.values().forEach { screen ->
BottomNavigationItem(
icon = { IconResource(resourceId = screen.badgeRes) },
icon = {
IconResource(
resourceId = screen.badgeRes,
contentDescription = stringResource(screen.labelRes),
)
},
label = { Text(stringResource(id = screen.labelRes)) },
selected = currentRoute == screen.route,
alwaysShowLabels = false,
@@ -25,11 +25,16 @@ fun EmptyList(saved: Boolean) {
IconResource(
R.drawable.ic_favorite_border_24px,
tint = Color(0xFFD97373),
modifier = Modifier.padding(16.dp)
modifier = Modifier.padding(16.dp),
contentDescription = stringResource(R.string.add_to_saved_posts),
)
Text(stringResource(R.string.no_saved_posts))
} else {
IconResource(R.drawable.ic_sync_problem_24px, modifier = Modifier.padding(16.dp))
IconResource(
R.drawable.ic_sync_problem_24px,
modifier = Modifier.padding(16.dp),
contentDescription = stringResource(R.string.remove_from_saved_posts),
)
Text(stringResource(R.string.loading))
}
}
@@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.IconToggleButton
import androidx.compose.material.Surface
@@ -99,6 +100,10 @@ fun LobstersItem(
)
CoilImage(
data = "${LobstersApi.BASE_URL}/${post.submitter_user.avatarUrl}",
contentDescription = stringResource(
R.string.avatar_content_description,
post.submitter_user.username
),
fadeIn = true,
requestBuilder = {
transformations(CircleCropTransformation())
@@ -132,9 +137,17 @@ fun LobstersItem(
) {
Crossfade(current = isSaved) {
if (it) {
IconResource(resourceId = R.drawable.ic_favorite_24px, tint = Color(0xFFD97373))
IconResource(
resourceId = R.drawable.ic_favorite_24px,
tint = Color(0xFFD97373),
contentDescription = stringResource(R.string.remove_from_saved_posts),
)
} else {
IconResource(resourceId = R.drawable.ic_favorite_border_24px, tint = Color(0xFFD97373))
IconResource(
resourceId = R.drawable.ic_favorite_border_24px,
tint = Color(0xFFD97373),
contentDescription = stringResource(R.string.add_to_saved_posts),
)
}
}
}
@@ -1,6 +1,7 @@
package dev.msfjarvis.lobsters.ui.posts
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -27,12 +27,18 @@ import androidx.compose.ui.res.loadVectorResource
@Composable
fun IconResource(
@DrawableRes resourceId: Int,
contentDescription: String,
modifier: Modifier = Modifier,
tint: Color = AmbientContentColor.current
) {
val deferredResource = loadVectorResource(resourceId)
deferredResource.onLoadRun { vector ->
Icon(imageVector = vector, modifier = modifier, tint = tint)
Icon(
imageVector = vector,
modifier = modifier,
tint = tint,
contentDescription = contentDescription,
)
}
}
+3
View File
@@ -5,4 +5,7 @@
<string name="hottest_posts">Hottest</string>
<string name="saved_posts">Saved</string>
<string name="submitted_by">submitted by %1$s</string>
<string name="avatar_content_description">%1$s\'s avatar</string>
<string name="add_to_saved_posts">Add to saved posts</string>
<string name="remove_from_saved_posts">Remove from saved posts</string>
</resources>
-1
View File
@@ -1,4 +1,3 @@
plugins {
id("com.github.ben-manes.versions") version "0.36.0"
`lobsters-plugin`
}
+7 -7
View File
@@ -9,13 +9,13 @@ object Plugins {
const val androidGradlePlugin = "com.android.tools.build:gradle:7.0.0-alpha05"
const val androidGradlePlugin_lintModel = "com.android.tools.lint:lint-model:30.0.0-alpha05"
const val daggerGradlePlugin = "com.google.dagger:hilt-android-gradle-plugin:${DAGGER_HILT_VERSION}"
const val kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.21"
const val kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.21-2"
const val jsemver = "com.github.zafarkhaja:java-semver:0.9.0"
const val sqldelightGradlePlugin = "com.squareup.sqldelight:gradle-plugin:1.4.4"
}
object Dependencies {
const val COMPOSE_VERSION = "1.0.0-alpha10"
const val COMPOSE_VERSION = "1.0.0-alpha11"
object Kotlin {
@@ -39,8 +39,8 @@ object Dependencies {
const val foundation = "androidx.compose.foundation:foundation:$COMPOSE_VERSION"
const val foundationLayout = "androidx.compose.foundation:foundation-layout:$COMPOSE_VERSION"
const val material = "androidx.compose.material:material:$COMPOSE_VERSION"
const val navigation = "androidx.navigation:navigation-compose:1.0.0-alpha05"
const val paging = "androidx.paging:paging-compose:1.0.0-alpha05"
const val navigation = "androidx.navigation:navigation-compose:1.0.0-alpha06"
const val paging = "androidx.paging:paging-compose:1.0.0-alpha06"
const val runtime = "androidx.compose.runtime:runtime:$COMPOSE_VERSION"
const val ui = "androidx.compose.ui:ui:$COMPOSE_VERSION"
const val uiUnit = "androidx.compose.ui:ui-unit:$COMPOSE_VERSION"
@@ -62,13 +62,13 @@ object Dependencies {
object ThirdParty {
const val accompanist = "dev.chrisbanes.accompanist:accompanist-coil:0.4.2"
const val accompanist = "dev.chrisbanes.accompanist:accompanist-coil:0.5.0"
object Moshi {
private const val version = "1.11.0"
const val lib = "com.squareup.moshi:moshi:$version"
const val moshiMetadataReflect = "dev.zacsweers.moshix:moshi-metadata-reflect:0.7.1"
const val moshiMetadataReflect = "dev.zacsweers.moshix:moshi-metadata-reflect:0.8.0"
}
object Retrofit {
@@ -90,7 +90,7 @@ object Dependencies {
const val daggerHilt = "com.google.dagger:hilt-android-testing:$DAGGER_HILT_VERSION"
const val junit = "junit:junit:4.13.1"
const val mockWebServer = "com.squareup.okhttp3:mockwebserver:4.6.0"
const val mockWebServer = "com.squareup.okhttp3:mockwebserver3-junit4:5.0.0-alpha.2"
const val uiTest = "androidx.compose.ui:ui-test:$COMPOSE_VERSION"
object AndroidX {