Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca6fe92d authored by Anton Potapov's avatar Anton Potapov
Browse files

Improve app selector behaviour

 - Add outline to contrast to app previews;
 - Fix previews alignment;

Flag: com.android.systemui.new_screen_record_toolbar
Fixes: 442541204
Test: manual on foldable
Change-Id: Ia4f0b3c2a57c0cf4d94488f6e77667ed724a9a30
parent 39bf2614
Loading
Loading
Loading
Loading
+30 −12
Original line number Original line Diff line number Diff line
@@ -23,7 +23,11 @@ import androidx.compose.animation.fadeOut
import androidx.compose.animation.togetherWith
import androidx.compose.animation.togetherWith
import androidx.compose.foundation.Image
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.gestures.snapping.SnapPosition
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Row
@@ -37,14 +41,15 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.IconButtonDefaults
import androidx.compose.material3.IconButtonDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.stringResource
@@ -91,9 +96,10 @@ fun RecordDetailsAppSelector(
        val pagerState = rememberPagerState { tasks?.size ?: 1 }
        val pagerState = rememberPagerState { tasks?.size ?: 1 }
        HorizontalPager(
        HorizontalPager(
            state = pagerState,
            state = pagerState,
            contentPadding = PaddingValues(horizontal = 68.dp),
            pageSpacing = 22.dp,
            pageSpacing = 22.dp,
            modifier = Modifier,
            snapPosition = SnapPosition.Center,
            contentPadding = PaddingValues(horizontal = 68.dp),
            modifier = Modifier.fillMaxWidth(),
        ) { index ->
        ) { index ->
            val task = tasks?.getOrNull(index)
            val task = tasks?.getOrNull(index)
            val taskViewModel =
            val taskViewModel =
@@ -105,6 +111,7 @@ fun RecordDetailsAppSelector(
            AppPreview(
            AppPreview(
                viewModel = taskViewModel,
                viewModel = taskViewModel,
                onClick = { if (task != null) onTaskSelected(task) },
                onClick = { if (task != null) onTaskSelected(task) },
                modifier = Modifier.fillMaxWidth(),
            )
            )
        }
        }
    }
    }
@@ -132,14 +139,25 @@ private fun AppPreview(
            )
            )
        }
        }


        Card(
        val shape = RoundedCornerShape(20.dp)
            onClick = onClick,
        val shadowColor =
            shape = RoundedCornerShape(20.dp),
            if (isSystemInDarkTheme()) {
            colors =
                Color.White
                CardDefaults.cardColors(
            } else {
                    containerColor = MaterialTheme.colorScheme.surfaceContainer
                Color.Black
                ),
            }
            modifier = Modifier.aspectRatio(viewModel?.thumbnail?.getOrNull().aspectRatio),
        Box(
            modifier =
                Modifier.shadow(
                        elevation = 4.dp,
                        shape = shape,
                        spotColor = shadowColor,
                        ambientColor = shadowColor,
                    )
                    .clip(shape)
                    .clickable(onClick = onClick)
                    .background(MaterialTheme.colorScheme.surfaceContainer)
                    .aspectRatio(viewModel?.thumbnail?.getOrNull().aspectRatio)
        ) {
        ) {
            AnimatedContent(
            AnimatedContent(
                targetState = viewModel?.thumbnail?.getOrNull(),
                targetState = viewModel?.thumbnail?.getOrNull(),
+6 −1
Original line number Original line Diff line number Diff line
@@ -26,7 +26,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Surface
import androidx.compose.material3.Switch
import androidx.compose.material3.Switch
@@ -60,7 +62,10 @@ fun RecordDetailsSettings(
    ) {
    ) {
        Column(
        Column(
            horizontalAlignment = Alignment.CenterHorizontally,
            horizontalAlignment = Alignment.CenterHorizontally,
            modifier = Modifier.padding(vertical = 12.dp).fillMaxWidth(),
            modifier =
                Modifier.padding(vertical = 12.dp)
                    .fillMaxWidth()
                    .verticalScroll(rememberScrollState()),
        ) {
        ) {
            CaptureTargetSelector(
            CaptureTargetSelector(
                items = targetViewModel.items,
                items = targetViewModel.items,