From 2f68110ab6f751f48da21881ff8ef3adb0b2bb1d Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Fri, 30 Jun 2023 23:07:36 +0200 Subject: [PATCH 1/6] Revert SwipeBackComments feature --- app/src/main/java/com/jerboa/MainActivity.kt | 30 +++++++++----------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/jerboa/MainActivity.kt b/app/src/main/java/com/jerboa/MainActivity.kt index 124826bc3..e12458858 100644 --- a/app/src/main/java/com/jerboa/MainActivity.kt +++ b/app/src/main/java/com/jerboa/MainActivity.kt @@ -423,22 +423,20 @@ class MainActivity : AppCompatActivity() { ), ) { val args = Route.PostArgs(it) - SwipeToNavigateBack(navController = navController) { - PostActivity( - id = Either.Left(args.id), - accountViewModel = accountViewModel, - navController = navController, - showCollapsedCommentContent = appSettings.showCollapsedCommentContent, - showActionBarByDefault = appSettings.showCommentActionBarByDefault, - showVotingArrowsInListView = appSettings.showVotingArrowsInListView, - showParentCommentNavigationButtons = appSettings.showParentCommentNavigationButtons, - navigateParentCommentsWithVolumeButtons = appSettings.navigateParentCommentsWithVolumeButtons, - siteViewModel = siteViewModel, - useCustomTabs = appSettings.useCustomTabs, - usePrivateTabs = appSettings.usePrivateTabs, - blurNSFW = appSettings.blurNSFW, - ) - } + PostActivity( + id = Either.Left(args.id), + accountViewModel = accountViewModel, + navController = navController, + showCollapsedCommentContent = appSettings.showCollapsedCommentContent, + showActionBarByDefault = appSettings.showCommentActionBarByDefault, + showVotingArrowsInListView = appSettings.showVotingArrowsInListView, + showParentCommentNavigationButtons = appSettings.showParentCommentNavigationButtons, + navigateParentCommentsWithVolumeButtons = appSettings.navigateParentCommentsWithVolumeButtons, + siteViewModel = siteViewModel, + useCustomTabs = appSettings.useCustomTabs, + usePrivateTabs = appSettings.usePrivateTabs, + blurNSFW = appSettings.blurNSFW, + ) } composable( From 6eae89fc1d5c09c937034f534690b12e58de07d8 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sat, 1 Jul 2023 05:31:42 +0200 Subject: [PATCH 2/6] Upgrade to compose 1.5.0-beta03 and fix depreciations --- app/build.gradle.kts | 27 +++++++------ app/src/main/java/com/jerboa/MainActivity.kt | 40 ++++++++++--------- .../ui/components/inbox/InboxActivity.kt | 8 +++- .../person/PersonProfileActivity.kt | 3 +- build.gradle.kts | 3 ++ 5 files changed, 46 insertions(+), 35 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1b436db25..59025b2cc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -89,6 +89,8 @@ android { } dependencies { + val composeVersion = rootProject.extra["compose_version"] + implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.github.alorma:compose-settings-ui-m3:0.27.0") @@ -103,11 +105,12 @@ dependencies { implementation("io.noties.markwon:linkify:4.6.2") // Accompanist - implementation("com.google.accompanist:accompanist-pager:0.30.1") - implementation("com.google.accompanist:accompanist-pager-indicators:0.30.1") - implementation("com.google.accompanist:accompanist-flowlayout:0.30.1") - implementation("com.google.accompanist:accompanist-permissions:0.30.1") - implementation("com.google.accompanist:accompanist-navigation-animation:0.30.1") + val accompanistVersion = "0.31.4-beta" + implementation("com.google.accompanist:accompanist-pager:$accompanistVersion") + implementation("com.google.accompanist:accompanist-pager-indicators:$accompanistVersion") + implementation("com.google.accompanist:accompanist-flowlayout:$accompanistVersion") + implementation("com.google.accompanist:accompanist-permissions:$accompanistVersion") + implementation("com.google.accompanist:accompanist-navigation-animation:$accompanistVersion") // LiveData implementation("androidx.compose.runtime:runtime-livedata:1.4.3") @@ -136,24 +139,24 @@ dependencies { // Unfortunately, ui tooling, and the markdown thing, still brings in the other material2 dependencies implementation("androidx.compose.material3:material3:1.1.1") implementation("androidx.compose.material3:material3-window-size-class:1.1.1") - implementation("androidx.compose.material:material-icons-extended:1.4.3") + implementation("androidx.compose.material:material-icons-extended:$composeVersion") implementation("org.ocpsoft.prettytime:prettytime:5.0.6.Final") implementation("io.coil-kt:coil-compose:2.4.0") - implementation("androidx.navigation:navigation-compose:2.5.3") + implementation("androidx.navigation:navigation-compose:2.7.0-beta01") testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1") testImplementation("androidx.arch.core:core-testing:2.2.0") implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") - implementation("androidx.compose.ui:ui:1.4.3") - implementation("androidx.compose.ui:ui-tooling-preview:1.4.3") + implementation("androidx.compose.ui:ui:$composeVersion") + implementation("androidx.compose.ui:ui-tooling-preview:$composeVersion") implementation("androidx.activity:activity-compose:1.7.2") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") - androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.4.3") - debugImplementation("androidx.compose.ui:ui-tooling:1.4.3") - debugImplementation("androidx.compose.ui:ui-test-manifest:1.4.3") + androidTestImplementation("androidx.compose.ui:ui-test-junit4:$composeVersion") + debugImplementation("androidx.compose.ui:ui-tooling:$composeVersion") + debugImplementation("androidx.compose.ui:ui-test-manifest:$composeVersion") implementation("net.engawapg.lib:zoomable:1.4.3") implementation("androidx.browser:browser:1.5.0") diff --git a/app/src/main/java/com/jerboa/MainActivity.kt b/app/src/main/java/com/jerboa/MainActivity.kt index e12458858..46ad72b3a 100644 --- a/app/src/main/java/com/jerboa/MainActivity.kt +++ b/app/src/main/java/com/jerboa/MainActivity.kt @@ -21,13 +21,13 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.viewmodel.compose.viewModel +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import androidx.navigation.navArgument import androidx.navigation.navDeepLink import androidx.navigation.navigation import arrow.core.Either -import com.google.accompanist.navigation.animation.AnimatedNavHost -import com.google.accompanist.navigation.animation.composable -import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.jerboa.api.API import com.jerboa.api.ApiState import com.jerboa.api.MINIMUM_API_VERSION @@ -124,7 +124,7 @@ class MainActivity : AppCompatActivity() { JerboaTheme( appSettings = appSettings, ) { - val navController = rememberAnimatedNavController() + val navController = rememberNavController() val serverVersionOutdatedViewed = remember { mutableStateOf(false) } MarkdownHelper.init( @@ -148,7 +148,7 @@ class MainActivity : AppCompatActivity() { else -> {} } - AnimatedNavHost( + NavHost( route = Route.Graph.ROOT, navController = navController, startDestination = Route.HOME, @@ -423,20 +423,22 @@ class MainActivity : AppCompatActivity() { ), ) { val args = Route.PostArgs(it) - PostActivity( - id = Either.Left(args.id), - accountViewModel = accountViewModel, - navController = navController, - showCollapsedCommentContent = appSettings.showCollapsedCommentContent, - showActionBarByDefault = appSettings.showCommentActionBarByDefault, - showVotingArrowsInListView = appSettings.showVotingArrowsInListView, - showParentCommentNavigationButtons = appSettings.showParentCommentNavigationButtons, - navigateParentCommentsWithVolumeButtons = appSettings.navigateParentCommentsWithVolumeButtons, - siteViewModel = siteViewModel, - useCustomTabs = appSettings.useCustomTabs, - usePrivateTabs = appSettings.usePrivateTabs, - blurNSFW = appSettings.blurNSFW, - ) + SwipeToNavigateBack(navController = navController) { + PostActivity( + id = Either.Left(args.id), + accountViewModel = accountViewModel, + navController = navController, + showCollapsedCommentContent = appSettings.showCollapsedCommentContent, + showActionBarByDefault = appSettings.showCommentActionBarByDefault, + showVotingArrowsInListView = appSettings.showVotingArrowsInListView, + showParentCommentNavigationButtons = appSettings.showParentCommentNavigationButtons, + navigateParentCommentsWithVolumeButtons = appSettings.navigateParentCommentsWithVolumeButtons, + siteViewModel = siteViewModel, + useCustomTabs = appSettings.useCustomTabs, + usePrivateTabs = appSettings.usePrivateTabs, + blurNSFW = appSettings.blurNSFW, + ) + } } composable( diff --git a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt index 1c4454a4b..d3a30278a 100644 --- a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt @@ -194,7 +194,12 @@ fun InboxTabs( val transferCommentReplyDepsViaRoot = navController.rootChannel() val tabTitles = InboxTab.values().map { getLocalizedStringForInboxTab(ctx, it) } - val pagerState = rememberPagerState() + val pagerState = rememberPagerState( + initialPage = 0, + initialPageOffsetFraction = 0f, + ) { + tabTitles.size + } Column( modifier = Modifier.padding(padding), @@ -224,7 +229,6 @@ fun InboxTabs( }, ) HorizontalPager( - pageCount = tabTitles.size, state = pagerState, verticalAlignment = Alignment.Top, modifier = Modifier.fillMaxSize(), diff --git a/app/src/main/java/com/jerboa/ui/components/person/PersonProfileActivity.kt b/app/src/main/java/com/jerboa/ui/components/person/PersonProfileActivity.kt index 46ab30bc5..16f29e1e5 100644 --- a/app/src/main/java/com/jerboa/ui/components/person/PersonProfileActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/person/PersonProfileActivity.kt @@ -263,7 +263,7 @@ fun UserTabs( } else { UserTab.values().map { getLocalizedStringForUserTab(ctx, it) } } - val pagerState = rememberPagerState() + val pagerState = rememberPagerState { tabTitles.size } val loading = personProfileViewModel.personDetailsRes == ApiState.Loading @@ -315,7 +315,6 @@ fun UserTabs( } } HorizontalPager( - pageCount = tabTitles.size, state = pagerState, verticalAlignment = Alignment.Top, modifier = Modifier.fillMaxSize(), diff --git a/build.gradle.kts b/build.gradle.kts index 3a6d6ca35..5cf30f638 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,9 @@ buildscript { google() mavenCentral() } + extra.apply{ + set("compose_version", "1.5.0-beta03") + } }// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { From 2318de2d670e5db35c3d5be37a03e8fd348fb271 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sat, 1 Jul 2023 05:34:12 +0200 Subject: [PATCH 3/6] Smoll change --- .../jerboa/ui/components/inbox/InboxActivity.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt index d3a30278a..3a91be424 100644 --- a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt @@ -194,12 +194,7 @@ fun InboxTabs( val transferCommentReplyDepsViaRoot = navController.rootChannel() val tabTitles = InboxTab.values().map { getLocalizedStringForInboxTab(ctx, it) } - val pagerState = rememberPagerState( - initialPage = 0, - initialPageOffsetFraction = 0f, - ) { - tabTitles.size - } + val pagerState = rememberPagerState { tabTitles.size } Column( modifier = Modifier.padding(padding), @@ -459,7 +454,9 @@ fun InboxTabs( } }, ) - Box(modifier = Modifier.pullRefresh(refreshState).fillMaxSize()) { + Box(modifier = Modifier + .pullRefresh(refreshState) + .fillMaxSize()) { PullRefreshIndicator(loading, refreshState, Modifier.align(Alignment.TopCenter)) when (val mentionsRes = inboxViewModel.mentionsRes) { ApiState.Empty -> ApiEmptyText() @@ -625,7 +622,9 @@ fun InboxTabs( } }, ) - Box(modifier = Modifier.pullRefresh(refreshState).fillMaxSize()) { + Box(modifier = Modifier + .pullRefresh(refreshState) + .fillMaxSize()) { PullRefreshIndicator(loading, refreshState, Modifier.align(Alignment.TopCenter)) when (val messagesRes = inboxViewModel.messagesRes) { ApiState.Empty -> ApiEmptyText() From 7bf2e0eba257c16aef9e65a884fd67d48ab32f52 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sat, 1 Jul 2023 05:42:06 +0200 Subject: [PATCH 4/6] Fix formatting --- .../jerboa/ui/components/inbox/InboxActivity.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt index 3a91be424..8b51201f3 100644 --- a/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/inbox/InboxActivity.kt @@ -454,9 +454,11 @@ fun InboxTabs( } }, ) - Box(modifier = Modifier - .pullRefresh(refreshState) - .fillMaxSize()) { + Box( + modifier = Modifier + .pullRefresh(refreshState) + .fillMaxSize(), + ) { PullRefreshIndicator(loading, refreshState, Modifier.align(Alignment.TopCenter)) when (val mentionsRes = inboxViewModel.mentionsRes) { ApiState.Empty -> ApiEmptyText() @@ -622,9 +624,11 @@ fun InboxTabs( } }, ) - Box(modifier = Modifier - .pullRefresh(refreshState) - .fillMaxSize()) { + Box( + modifier = Modifier + .pullRefresh(refreshState) + .fillMaxSize(), + ) { PullRefreshIndicator(loading, refreshState, Modifier.align(Alignment.TopCenter)) when (val messagesRes = inboxViewModel.messagesRes) { ApiState.Empty -> ApiEmptyText() From 91cd64cade84a9222f4990ceb79f7c5f62b12975 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sat, 1 Jul 2023 05:49:17 +0200 Subject: [PATCH 5/6] Trigger woodpecker From a5c893f14595d043ed7a667268d492314c2c0584 Mon Sep 17 00:00:00 2001 From: "maarten.vercruysse" Date: Sat, 1 Jul 2023 06:01:06 +0200 Subject: [PATCH 6/6] Updates slight changes --- app/build.gradle.kts | 2 +- build.gradle.kts | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 59025b2cc..348c0fec8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -89,7 +89,7 @@ android { } dependencies { - val composeVersion = rootProject.extra["compose_version"] + val composeVersion = "1.5.0-beta03" implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.github.alorma:compose-settings-ui-m3:0.27.0") diff --git a/build.gradle.kts b/build.gradle.kts index 5cf30f638..3a6d6ca35 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,9 +5,6 @@ buildscript { google() mavenCentral() } - extra.apply{ - set("compose_version", "1.5.0-beta03") - } }// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins {