mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 09:57:04 +05:30
fix(android): switch to LocalActivity
from activity-compose
This commit is contained in:
parent
925206a237
commit
37d0614830
2 changed files with 4 additions and 15 deletions
|
@ -7,9 +7,7 @@
|
||||||
package dev.msfjarvis.claw.android.ui
|
package dev.msfjarvis.claw.android.ui
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.ContextWrapper
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.activity.ComponentActivity
|
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import com.slack.eithernet.ApiResult
|
import com.slack.eithernet.ApiResult
|
||||||
import dev.msfjarvis.claw.android.ui.navigation.Comments
|
import dev.msfjarvis.claw.android.ui.navigation.Comments
|
||||||
|
@ -21,14 +19,6 @@ import dev.msfjarvis.claw.model.UIPost
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.net.HttpURLConnection
|
import java.net.HttpURLConnection
|
||||||
|
|
||||||
fun Context.getActivity(): ComponentActivity? {
|
|
||||||
return when (this) {
|
|
||||||
is ComponentActivity -> this
|
|
||||||
is ContextWrapper -> baseContext.getActivity()
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun PostActions(
|
fun PostActions(
|
||||||
context: Context,
|
context: Context,
|
||||||
urlLauncher: UrlLauncher,
|
urlLauncher: UrlLauncher,
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
package dev.msfjarvis.claw.android.ui.screens
|
package dev.msfjarvis.claw.android.ui.screens
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import androidx.activity.compose.LocalActivity
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.animation.fadeIn
|
import androidx.compose.animation.fadeIn
|
||||||
|
@ -66,7 +67,6 @@ import dev.msfjarvis.claw.android.ui.PostActions
|
||||||
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar
|
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar
|
||||||
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationRail
|
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationRail
|
||||||
import dev.msfjarvis.claw.android.ui.decorations.NavigationItem
|
import dev.msfjarvis.claw.android.ui.decorations.NavigationItem
|
||||||
import dev.msfjarvis.claw.android.ui.getActivity
|
|
||||||
import dev.msfjarvis.claw.android.ui.lists.DatabasePosts
|
import dev.msfjarvis.claw.android.ui.lists.DatabasePosts
|
||||||
import dev.msfjarvis.claw.android.ui.lists.NetworkPosts
|
import dev.msfjarvis.claw.android.ui.lists.NetworkPosts
|
||||||
import dev.msfjarvis.claw.android.ui.navigation.AboutLibraries
|
import dev.msfjarvis.claw.android.ui.navigation.AboutLibraries
|
||||||
|
@ -100,6 +100,7 @@ fun LobstersPostsScreen(
|
||||||
viewModel: ClawViewModel = injectedViewModel(),
|
viewModel: ClawViewModel = injectedViewModel(),
|
||||||
) {
|
) {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
val activity = LocalActivity.current
|
||||||
val hottestListState = rememberLazyListState()
|
val hottestListState = rememberLazyListState()
|
||||||
val newestListState = rememberLazyListState()
|
val newestListState = rememberLazyListState()
|
||||||
val savedListState = rememberLazyListState()
|
val savedListState = rememberLazyListState()
|
||||||
|
@ -117,7 +118,7 @@ fun LobstersPostsScreen(
|
||||||
|
|
||||||
val navigationType = ClawNavigationType.fromSize(windowSizeClass.widthSizeClass)
|
val navigationType = ClawNavigationType.fromSize(windowSizeClass.widthSizeClass)
|
||||||
|
|
||||||
val postIdOverride = context.getActivity()?.intent?.extras?.getString(MainActivity.NAVIGATION_KEY)
|
val postIdOverride = activity?.intent?.extras?.getString(MainActivity.NAVIGATION_KEY)
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
if (postIdOverride != null) {
|
if (postIdOverride != null) {
|
||||||
navController.navigate(Comments(postIdOverride))
|
navController.navigate(Comments(postIdOverride))
|
||||||
|
@ -165,9 +166,7 @@ fun LobstersPostsScreen(
|
||||||
if (
|
if (
|
||||||
navController.previousBackStackEntry != null && currentDestination.none(navDestinations)
|
navController.previousBackStackEntry != null && currentDestination.none(navDestinations)
|
||||||
) {
|
) {
|
||||||
IconButton(
|
IconButton(onClick = { if (!navController.popBackStack()) activity?.finish() }) {
|
||||||
onClick = { if (!navController.popBackStack()) context.getActivity()?.finish() }
|
|
||||||
) {
|
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
|
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
|
||||||
contentDescription = "Go back to previous screen",
|
contentDescription = "Go back to previous screen",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue