Skip to content

Commit

Permalink
State and animation fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
jumpiniasty committed Nov 30, 2023
1 parent cb21c0f commit 3b98b2c
Show file tree
Hide file tree
Showing 11 changed files with 31 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import android.content.SharedPreferences
/** Provides access to SharedPreferences in a more convenient way.
*
* List of all keys:
* - "notifications_enabled"
* - "notifications_days"
* */
object PrefsManager {
Expand Down
10 changes: 9 additions & 1 deletion app/src/main/java/io/fixmyride/ui/components/ResultsBar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
Expand All @@ -30,8 +32,14 @@ fun ResultsBar(
animationSpec: AnimationSpec<Dp> = Measurements.scrollAnimation(),
scrollState: ScrollState,
) {
val shouldBeShown = remember {
derivedStateOf {
scrollState.value > Measurements.scrollPositionToShowToolbar()
}
}

val offsetY = animateDpAsState(
targetValue = when (scrollState.value > Measurements.scrollPositionToShowToolbar()) {
targetValue = when (shouldBeShown.value) {
true -> 0.dp
false -> 150.dp
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import androidx.compose.material.icons.rounded.Notifications
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ fun NotificationItem(notification: Notification) {
) {
Row {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier.background(
contentAlignment = Alignment.Center, modifier = Modifier.background(
color = ColorPalette.primary,
shape = Measurements.roundedShape,
)
Expand All @@ -79,9 +78,7 @@ fun NotificationItem(notification: Notification) {
Text(
text = when {
vehicle.value.model.length > 12 -> {
vehicle.value.model
.substring(0, 11)
.trim().plus("...")
vehicle.value.model.substring(0, 11).trim().plus("...")
}

else -> vehicle.value.model
Expand Down Expand Up @@ -116,8 +113,7 @@ fun NotificationItem(notification: Notification) {
@Composable
fun TextWithBackground(text: String) {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier.background(
contentAlignment = Alignment.Center, modifier = Modifier.background(
color = ColorPalette.tertiary,
shape = RoundedCornerShape(7.5.dp),
)
Expand Down Expand Up @@ -218,11 +214,10 @@ fun WarningsAndExpand(
) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
modifier = Modifier.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
) {
Text(
text = "$expired ${if (hasOnlyExpirationsOrWarnings) stringResource(R.string.expirations) else ""}".trim(),
Expand Down Expand Up @@ -256,11 +251,10 @@ fun WarningsAndExpand(
) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
modifier = Modifier.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
) {
Text(
text = "$warnings ${if (hasOnlyExpirationsOrWarnings) stringResource(R.string.warnings) else ""}".trim(),
Expand Down Expand Up @@ -288,8 +282,7 @@ fun WarningsAndExpand(
@Composable
fun StatusLabel(status: ExpirationStatus) {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier
contentAlignment = Alignment.Center, modifier = Modifier
.background(
color = when (status) {
ExpirationStatus.EXPIRED -> ColorPalette.lightRed.copy(alpha = 0.1f)
Expand All @@ -314,11 +307,10 @@ fun StatusLabel(status: ExpirationStatus) {
ExpirationStatus.ACTIVE -> Typing.activeText
ExpirationStatus.NOT_SET -> Typing.notSetText
},
modifier = Modifier
.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
modifier = Modifier.padding(
horizontal = 5.dp,
vertical = 2.dp,
),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Done
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ fun NotificationsScreen(viewModel: NotificationsViewModel) {
ResultsBar(
results = viewModel.notifications.value.size,
alignment = Alignment.BottomStart,
animationSpec = Measurements.scrollAnimation(delay = 250),
animationSpec = Measurements.scrollAnimation(delay = 120),
scrollState = scrollState,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import io.fixmyride.R
import io.fixmyride.utils.DateConverter
import io.fixmyride.ui.components.FloatingButton
import io.fixmyride.ui.components.UniversalHeader
import io.fixmyride.ui.components.previewvehicle.DataDisplayField
import io.fixmyride.ui.theme.ColorPalette
import io.fixmyride.ui.theme.Measurements
import io.fixmyride.ui.viewmodels.PreviewVehicleViewModel
import io.fixmyride.utils.DateConverter
import io.fixmyride.utils.Routes

@RequiresApi(Build.VERSION_CODES.O)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import io.fixmyride.utils.DateConverter
import io.fixmyride.data.models.Vehicle
import io.fixmyride.data.repositories.VehicleRepository
import io.fixmyride.utils.DateConverter
import io.fixmyride.utils.ValidationUtils
import kotlinx.coroutines.launch

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import io.fixmyride.data.enums.Decision
import io.fixmyride.data.models.Vehicle
import io.fixmyride.utils.DateConverter
import io.fixmyride.data.repositories.VehicleRepository
import io.fixmyride.utils.DateConverter
import io.fixmyride.utils.ValidationUtils
import kotlinx.coroutines.launch

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class NotifWidgetProvider : AppWidgetProvider() {
) {
super.onUpdate(context, appWidgetManager, appWidgetIds)
PrefsManager.initialize(context)

val dao = Room.databaseBuilder(
context.applicationContext,
Database::class.java,
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/xml/notif_widget_info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
android:minWidth="40dp"
android:minHeight="40dp"
android:resizeMode="none"
android:updatePeriodMillis="64800000"
android:updatePeriodMillis="86400000"
android:widgetCategory="home_screen" />

0 comments on commit 3b98b2c

Please sign in to comment.