mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 04:58:45 +00:00
@@ -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<Unit>() {
|
||||
class DozeBanner(private val context: Context, private val onDismissListener: () -> Unit) : Banner<Unit>() {
|
||||
|
||||
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<Unit>() {
|
||||
contentPadding = contentPadding,
|
||||
onDismissListener = {
|
||||
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
||||
onDismissListener.invoke()
|
||||
},
|
||||
onOkListener = {
|
||||
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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) -> {
|
||||
|
||||
Reference in New Issue
Block a user