mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 11:20:47 +01:00
@@ -24,7 +24,7 @@ import org.thoughtcrime.securesms.util.PowerManagerCompat
|
|||||||
import org.thoughtcrime.securesms.util.ServiceUtil
|
import org.thoughtcrime.securesms.util.ServiceUtil
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences
|
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
|
override val enabled: Boolean
|
||||||
get() = Build.VERSION.SDK_INT >= 23 && !SignalStore.account.fcmEnabled && !TextSecurePreferences.hasPromptedOptimizeDoze(context) && !ServiceUtil.getPowerManager(context).isIgnoringBatteryOptimizations(context.packageName)
|
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,
|
contentPadding = contentPadding,
|
||||||
onDismissListener = {
|
onDismissListener = {
|
||||||
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
||||||
|
onDismissListener.invoke()
|
||||||
},
|
},
|
||||||
onOkListener = {
|
onOkListener = {
|
||||||
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
TextSecurePreferences.setPromptedOptimizeDoze(context, true)
|
||||||
|
|||||||
@@ -28,10 +28,11 @@ 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.clip
|
||||||
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.colorResource
|
import androidx.compose.ui.res.colorResource
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.res.pluralStringResource
|
import androidx.compose.ui.res.pluralStringResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import org.signal.core.ui.Previews
|
import org.signal.core.ui.Previews
|
||||||
import org.signal.core.ui.SignalPreview
|
import org.signal.core.ui.SignalPreview
|
||||||
@@ -147,8 +148,12 @@ fun DefaultBanner(
|
|||||||
modifier = Modifier.size(48.dp)
|
modifier = Modifier.size(48.dp)
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = R.drawable.symbol_x_24),
|
imageVector = ImageVector.vectorResource(id = R.drawable.symbol_x_24),
|
||||||
contentDescription = stringResource(id = R.string.InviteActivity_cancel)
|
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__turn_off) {},
|
||||||
Action(R.string.BubbleOptOutTooltip__not_now) {}
|
Action(R.string.BubbleOptOutTooltip__not_now) {}
|
||||||
),
|
),
|
||||||
|
onDismissListener = { },
|
||||||
paddingValues = PaddingValues(horizontal = 12.dp, vertical = 8.dp)
|
paddingValues = PaddingValues(horizontal = 12.dp, vertical = 8.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -903,7 +903,10 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
|||||||
new UnauthorizedBanner(requireContext()),
|
new UnauthorizedBanner(requireContext()),
|
||||||
new ServiceOutageBanner(requireContext()),
|
new ServiceOutageBanner(requireContext()),
|
||||||
new OutdatedBuildBanner(),
|
new OutdatedBuildBanner(),
|
||||||
new DozeBanner(requireContext()),
|
new DozeBanner(requireContext(), () -> {
|
||||||
|
bannerManager.updateContent(bannerView.get());
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
}),
|
||||||
new CdsTemporaryErrorBanner(getChildFragmentManager()),
|
new CdsTemporaryErrorBanner(getChildFragmentManager()),
|
||||||
new CdsPermanentErrorBanner(getChildFragmentManager()),
|
new CdsPermanentErrorBanner(getChildFragmentManager()),
|
||||||
new UsernameOutOfSyncBanner((usernameSyncState) -> {
|
new UsernameOutOfSyncBanner((usernameSyncState) -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user