From cb6140f43d82e611498d755423c2d915a0c7ee7f Mon Sep 17 00:00:00 2001 From: Dustin Lam Date: Wed, 20 Oct 2021 21:14:41 -0700 Subject: [PATCH] Cleanup + bump paging to 3.1.0-beta01 --- BasicRxJavaSample/versions.gradle | 2 +- BasicRxJavaSampleKotlin/versions.gradle | 2 +- BasicSample/versions.gradle | 2 +- GithubBrowserSample/versions.gradle | 2 +- LiveDataSample/versions.gradle | 2 +- MADSkillsNavigationSample/versions.gradle | 2 +- NavigationAdvancedSample/versions.gradle | 2 +- NavigationBasicSample/versions.gradle | 2 +- PagingSample/versions.gradle | 2 +- .../reddit/ui/RedditActivity.kt | 2 +- .../reddit/ui/SubRedditViewModel.kt | 36 +++++++------------ PagingWithNetworkSample/versions.gradle | 2 +- .../versions.gradle | 2 +- PersistenceMigrationsSample/versions.gradle | 2 +- ViewBindingSample/versions.gradle | 2 +- WorkManagerMultiprocessSample/versions.gradle | 2 +- WorkManagerSample/versions.gradle | 2 +- versions.gradle | 2 +- 18 files changed, 29 insertions(+), 41 deletions(-) diff --git a/BasicRxJavaSample/versions.gradle b/BasicRxJavaSample/versions.gradle index 5dc8792..43897aa 100644 --- a/BasicRxJavaSample/versions.gradle +++ b/BasicRxJavaSample/versions.gradle @@ -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" diff --git a/BasicRxJavaSampleKotlin/versions.gradle b/BasicRxJavaSampleKotlin/versions.gradle index 5dc8792..43897aa 100644 --- a/BasicRxJavaSampleKotlin/versions.gradle +++ b/BasicRxJavaSampleKotlin/versions.gradle @@ -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" diff --git a/BasicSample/versions.gradle b/BasicSample/versions.gradle index 5dc8792..43897aa 100644 --- a/BasicSample/versions.gradle +++ b/BasicSample/versions.gradle @@ -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" diff --git a/GithubBrowserSample/versions.gradle b/GithubBrowserSample/versions.gradle index 5dc8792..43897aa 100644 --- a/GithubBrowserSample/versions.gradle +++ b/GithubBrowserSample/versions.gradle @@ -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" diff --git a/LiveDataSample/versions.gradle b/LiveDataSample/versions.gradle index 5dc8792..43897aa 100644 --- a/LiveDataSample/versions.gradle +++ b/LiveDataSample/versions.gradle @@ -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" diff --git a/MADSkillsNavigationSample/versions.gradle b/MADSkillsNavigationSample/versions.gradle index 5dc8792..43897aa 100644 --- a/MADSkillsNavigationSample/versions.gradle +++ b/MADSkillsNavigationSample/versions.gradle @@ -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" diff --git a/NavigationAdvancedSample/versions.gradle b/NavigationAdvancedSample/versions.gradle index 5dc8792..43897aa 100644 --- a/NavigationAdvancedSample/versions.gradle +++ b/NavigationAdvancedSample/versions.gradle @@ -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" diff --git a/NavigationBasicSample/versions.gradle b/NavigationBasicSample/versions.gradle index 5dc8792..43897aa 100644 --- a/NavigationBasicSample/versions.gradle +++ b/NavigationBasicSample/versions.gradle @@ -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" diff --git a/PagingSample/versions.gradle b/PagingSample/versions.gradle index 5dc8792..43897aa 100644 --- a/PagingSample/versions.gradle +++ b/PagingSample/versions.gradle @@ -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" diff --git a/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/RedditActivity.kt b/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/RedditActivity.kt index 33dfd96..47669ae 100644 --- a/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/RedditActivity.kt +++ b/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/RedditActivity.kt @@ -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) } } diff --git a/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/SubRedditViewModel.kt b/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/SubRedditViewModel.kt index 37811ff..f5074ae 100644 --- a/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/SubRedditViewModel.kt +++ b/PagingWithNetworkSample/app/src/main/java/com/android/example/paging/pagingwithnetwork/reddit/ui/SubRedditViewModel.kt @@ -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, @@ -44,28 +40,20 @@ class SubRedditViewModel( } } - private val clearListCh = Channel(Channel.CONFLATED) - - @OptIn(ExperimentalCoroutinesApi::class, FlowPreview::class) - val posts = flowOf( - clearListCh.receiveAsFlow().map { PagingData.empty() }, - savedStateHandle.getLiveData(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(KEY_SUBREDDIT) != subreddit + @OptIn(ExperimentalCoroutinesApi::class) + val posts = savedStateHandle.getLiveData(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(KEY_SUBREDDIT) != subreddit + } } diff --git a/PagingWithNetworkSample/versions.gradle b/PagingWithNetworkSample/versions.gradle index 5dc8792..43897aa 100644 --- a/PagingWithNetworkSample/versions.gradle +++ b/PagingWithNetworkSample/versions.gradle @@ -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" diff --git a/PersistenceContentProviderSample/versions.gradle b/PersistenceContentProviderSample/versions.gradle index 5dc8792..43897aa 100644 --- a/PersistenceContentProviderSample/versions.gradle +++ b/PersistenceContentProviderSample/versions.gradle @@ -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" diff --git a/PersistenceMigrationsSample/versions.gradle b/PersistenceMigrationsSample/versions.gradle index 5dc8792..43897aa 100644 --- a/PersistenceMigrationsSample/versions.gradle +++ b/PersistenceMigrationsSample/versions.gradle @@ -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" diff --git a/ViewBindingSample/versions.gradle b/ViewBindingSample/versions.gradle index 5dc8792..43897aa 100644 --- a/ViewBindingSample/versions.gradle +++ b/ViewBindingSample/versions.gradle @@ -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" diff --git a/WorkManagerMultiprocessSample/versions.gradle b/WorkManagerMultiprocessSample/versions.gradle index 5dc8792..43897aa 100644 --- a/WorkManagerMultiprocessSample/versions.gradle +++ b/WorkManagerMultiprocessSample/versions.gradle @@ -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" diff --git a/WorkManagerSample/versions.gradle b/WorkManagerSample/versions.gradle index e5cd59f..43c3312 100644 --- a/WorkManagerSample/versions.gradle +++ b/WorkManagerSample/versions.gradle @@ -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" diff --git a/versions.gradle b/versions.gradle index 5dc8792..43897aa 100644 --- a/versions.gradle +++ b/versions.gradle @@ -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" -- GitLab