diff --git a/app/src/main/java/org/thoughtcrime/securesms/banner/banners/DozeBanner.kt b/app/src/main/java/org/thoughtcrime/securesms/banner/banners/DozeBanner.kt index 04bf44b84d..2a965e5c6a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/banner/banners/DozeBanner.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/banner/banners/DozeBanner.kt @@ -24,7 +24,7 @@ import org.thoughtcrime.securesms.util.PowerManagerCompat import org.thoughtcrime.securesms.util.ServiceUtil import org.thoughtcrime.securesms.util.TextSecurePreferences -class DozeBanner(private val context: Context) : Banner() { +class DozeBanner(private val context: Context, private val onDismissListener: () -> Unit) : Banner() { override val enabled: Boolean get() = Build.VERSION.SDK_INT >= 23 && !SignalStore.account.fcmEnabled && !TextSecurePreferences.hasPromptedOptimizeDoze(context) && !ServiceUtil.getPowerManager(context).isIgnoringBatteryOptimizations(context.packageName) @@ -42,6 +42,7 @@ class DozeBanner(private val context: Context) : Banner() { contentPadding = contentPadding, onDismissListener = { TextSecurePreferences.setPromptedOptimizeDoze(context, true) + onDismissListener.invoke() }, onOkListener = { TextSecurePreferences.setPromptedOptimizeDoze(context, true) diff --git a/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt b/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt index 9e6c34e75f..5abc9c998b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt @@ -28,10 +28,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.colorResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import org.signal.core.ui.Previews import org.signal.core.ui.SignalPreview @@ -147,8 +148,12 @@ fun DefaultBanner( modifier = Modifier.size(48.dp) ) { Icon( - painter = painterResource(id = R.drawable.symbol_x_24), - contentDescription = stringResource(id = R.string.InviteActivity_cancel) + imageVector = ImageVector.vectorResource(id = R.drawable.symbol_x_24), + contentDescription = stringResource(id = R.string.InviteActivity_cancel), + tint = when (importance) { + Importance.NORMAL -> MaterialTheme.colorScheme.onSurfaceVariant + Importance.ERROR -> colorResource(id = R.color.signal_light_colorOnSurface) + } ) } } @@ -200,6 +205,7 @@ private fun BubblesOptOutPreview() { Action(R.string.BubbleOptOutTooltip__turn_off) {}, Action(R.string.BubbleOptOutTooltip__not_now) {} ), + onDismissListener = { }, paddingValues = PaddingValues(horizontal = 12.dp, vertical = 8.dp) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index a7581d96cc..cb920dc5bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -903,7 +903,10 @@ public class ConversationListFragment extends MainFragment implements ActionMode new UnauthorizedBanner(requireContext()), new ServiceOutageBanner(requireContext()), new OutdatedBuildBanner(), - new DozeBanner(requireContext()), + new DozeBanner(requireContext(), () -> { + bannerManager.updateContent(bannerView.get()); + return Unit.INSTANCE; + }), new CdsTemporaryErrorBanner(getChildFragmentManager()), new CdsPermanentErrorBanner(getChildFragmentManager()), new UsernameOutOfSyncBanner((usernameSyncState) -> {