Skip to content

Commit

Permalink
Cleanup + bump paging to 3.1.0-beta01
Browse files Browse the repository at this point in the history
  • Loading branch information
dlam committed Oct 27, 2021
1 parent efe4f71 commit cb6140f
Show file tree
Hide file tree
Showing 18 changed files with 29 additions and 41 deletions.
2 changes: 1 addition & 1 deletion BasicRxJavaSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion BasicRxJavaSampleKotlin/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion BasicSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion GithubBrowserSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion LiveDataSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion MADSkillsNavigationSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion NavigationAdvancedSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion NavigationBasicSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion PagingSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ class RedditActivity : AppCompatActivity() {

private fun updatedSubredditFromInput() {
binding.input.text.trim().toString().let {
if (it.isNotBlank() && model.shouldShowSubreddit(it)) {
if (it.isNotBlank()) {
model.showSubreddit(it)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,10 @@ import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asFlow
import androidx.lifecycle.viewModelScope
import androidx.paging.PagingData
import androidx.paging.cachedIn
import com.android.example.paging.pagingwithnetwork.reddit.repository.RedditPostRepository
import com.android.example.paging.pagingwithnetwork.reddit.vo.RedditPost
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.flow.flatMapLatest

class SubRedditViewModel(
private val repository: RedditPostRepository,
Expand All @@ -44,28 +40,20 @@ class SubRedditViewModel(
}
}

private val clearListCh = Channel<Unit>(Channel.CONFLATED)

@OptIn(ExperimentalCoroutinesApi::class, FlowPreview::class)
val posts = flowOf(
clearListCh.receiveAsFlow().map { PagingData.empty<RedditPost>() },
savedStateHandle.getLiveData<String>(KEY_SUBREDDIT)
.asFlow()
.flatMapLatest { repository.postsOfSubreddit(it, 30) }
// cachedIn() shares the paging state across multiple consumers of posts,
// e.g. different generations of UI across rotation config change
.cachedIn(viewModelScope)
).flattenMerge(2)

fun shouldShowSubreddit(
subreddit: String
) = savedStateHandle.get<String>(KEY_SUBREDDIT) != subreddit
@OptIn(ExperimentalCoroutinesApi::class)
val posts = savedStateHandle.getLiveData<String>(KEY_SUBREDDIT)
.asFlow()
.flatMapLatest { repository.postsOfSubreddit(it, 30) }
// cachedIn() shares the paging state across multiple consumers of posts,
// e.g. different generations of UI across rotation config change
.cachedIn(viewModelScope)

fun showSubreddit(subreddit: String) {
if (!shouldShowSubreddit(subreddit)) return

clearListCh.offer(Unit)

savedStateHandle.set(KEY_SUBREDDIT, subreddit)
}

private fun shouldShowSubreddit(subreddit: String): Boolean {
return savedStateHandle.get<String>(KEY_SUBREDDIT) != subreddit
}
}
2 changes: 1 addition & 1 deletion PagingWithNetworkSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion PersistenceContentProviderSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion PersistenceMigrationsSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion ViewBindingSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion WorkManagerMultiprocessSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion WorkManagerSample/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down
2 changes: 1 addition & 1 deletion versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ versions.mockito_android = "2.25.0"
versions.mockwebserver = "3.8.1"
versions.navigation = "2.3.0-alpha01"
versions.okhttp_logging_interceptor = "3.9.0"
versions.paging = "3.1.0-alpha04"
versions.paging = "3.1.0-beta01"
versions.recyclerview = "1.2.0-beta01"
versions.retrofit = "2.9.0"
versions.robolectric = "4.2"
Expand Down

0 comments on commit cb6140f

Please sign in to comment.