Show deprecation notice for API 21.

This commit is contained in:
Greyson Parrelli
2025-10-29 10:20:38 -04:00
committed by jeffrey-signal
parent 6d84ea984d
commit 5640e9c9b8
3 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.banner.banners
import android.os.Build
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOf
import org.signal.core.ui.compose.DayNightPreviews
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.banner.Banner
import org.thoughtcrime.securesms.banner.ui.compose.DefaultBanner
import org.thoughtcrime.securesms.banner.ui.compose.Importance
class DeprecatedSdkBanner() : Banner<Unit>() {
override val enabled: Boolean
get() = Build.VERSION.SDK_INT < 23
override val dataFlow: Flow<Unit> = flowOf(Unit)
@Composable
override fun DisplayBanner(model: Unit, contentPadding: PaddingValues) = Banner(contentPadding)
}
@Composable
private fun Banner(contentPadding: PaddingValues) {
DefaultBanner(
title = null,
body = stringResource(id = R.string.DeprecatedSdkBanner_body),
importance = Importance.ERROR,
paddingValues = contentPadding
)
}
@DayNightPreviews
@Composable
private fun BannerPreview() {
Previews.Preview {
Banner(contentPadding = PaddingValues(0.dp))
}
}

View File

@@ -89,6 +89,7 @@ import org.thoughtcrime.securesms.banner.BannerManager;
import org.thoughtcrime.securesms.banner.banners.CdsPermanentErrorBanner;
import org.thoughtcrime.securesms.banner.banners.CdsTemporaryErrorBanner;
import org.thoughtcrime.securesms.banner.banners.DeprecatedBuildBanner;
import org.thoughtcrime.securesms.banner.banners.DeprecatedSdkBanner;
import org.thoughtcrime.securesms.banner.banners.DozeBanner;
import org.thoughtcrime.securesms.banner.banners.MediaRestoreProgressBanner;
import org.thoughtcrime.securesms.banner.banners.OutdatedBuildBanner;
@@ -712,6 +713,7 @@ public class ConversationListFragment extends MainFragment implements Conversati
private void initializeBanners() {
List<Banner<?>> bannerRepositories = List.of(
new DeprecatedSdkBanner(),
new DeprecatedBuildBanner(),
new UnauthorizedBanner(requireContext()),
new ServiceOutageBanner(requireContext()),