Skip to content

Commit 54da9ac

Browse files
committed
adding highlighting to the bubble setting
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
1 parent f9c2d71 commit 54da9ac

1 file changed

Lines changed: 32 additions & 8 deletions

File tree

app/src/main/java/com/nextcloud/talk/conversationinfo/ui/ConversationInfoScreen.kt

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ package com.nextcloud.talk.conversationinfo.ui
1212
import android.content.res.Configuration
1313
import android.widget.ImageView
1414
import androidx.annotation.DrawableRes
15+
import androidx.compose.animation.animateColorAsState
16+
import androidx.compose.animation.core.tween
1517
import androidx.compose.foundation.background
18+
import androidx.compose.foundation.border
1619
import androidx.compose.foundation.clickable
1720
import androidx.compose.foundation.isSystemInDarkTheme
1821
import androidx.compose.foundation.layout.Arrangement
@@ -32,9 +35,11 @@ import androidx.compose.foundation.layout.padding
3235
import androidx.compose.foundation.layout.safeDrawing
3336
import androidx.compose.foundation.layout.size
3437
import androidx.compose.foundation.layout.width
38+
import androidx.compose.foundation.layout.wrapContentSize
3539
import androidx.compose.foundation.lazy.LazyColumn
3640
import androidx.compose.foundation.lazy.items
3741
import androidx.compose.foundation.shape.CircleShape
42+
import androidx.compose.foundation.shape.RoundedCornerShape
3843
import androidx.compose.material.icons.Icons
3944
import androidx.compose.material.icons.automirrored.outlined.ArrowBack
4045
import androidx.compose.material3.Card
@@ -53,6 +58,7 @@ import androidx.compose.material3.TopAppBarDefaults
5358
import androidx.compose.material3.darkColorScheme
5459
import androidx.compose.material3.lightColorScheme
5560
import androidx.compose.runtime.Composable
61+
import androidx.compose.runtime.getValue
5662
import androidx.compose.runtime.remember
5763
import androidx.compose.ui.Alignment
5864
import androidx.compose.ui.Modifier
@@ -485,15 +491,33 @@ private fun NotificationSettingsSection(state: ConversationInfoUiState, callback
485491
else -> R.string.nc_conversation_notification_bubble_desc
486492
}
487493

488-
// TODO - grey this out when global bubbles aren't enabled
489-
// TODO - focusedBubbleSetting should cause this to be focused and highlighted
490-
491-
SettingsRow(
492-
title = stringResource(R.string.nc_notification_settings_bubbles),
493-
subtitle = stringResource(bubbleSummaryText),
494-
checked = state.shouldBubble,
495-
onClick = callbacks.onBubbleClick
494+
val highlightColor by animateColorAsState(
495+
targetValue = if (state.focusBubbleSetting) {
496+
MaterialTheme.colorScheme.primary
497+
} else {
498+
Color.Transparent
499+
},
500+
animationSpec = tween(durationMillis = 500)
496501
)
502+
503+
Box(
504+
modifier = Modifier
505+
.wrapContentSize()
506+
.alpha(if (state.globalBubblesEnabled && !state.forceAllBubbles) 1.0f else 0.5f)
507+
.border(
508+
width = 2.dp,
509+
color = highlightColor,
510+
shape = RoundedCornerShape(8.dp)
511+
)
512+
.padding(2.dp)
513+
) {
514+
SettingsRow(
515+
title = stringResource(R.string.nc_notification_settings_bubbles),
516+
subtitle = stringResource(bubbleSummaryText),
517+
checked = state.shouldBubble,
518+
onClick = callbacks.onBubbleClick
519+
)
520+
}
497521
}
498522
if (state.showSensitiveConversation) {
499523
SettingsRow(

0 commit comments

Comments
 (0)