Rename custom_logo to onboarding_logo

This commit is contained in:
Benoit Marty 2025-08-26 09:33:07 +02:00
parent d9dde270b2
commit dbc511ba1b
7 changed files with 25 additions and 25 deletions

View file

@ -14,18 +14,18 @@ import io.element.android.libraries.di.AppScope
import io.element.android.libraries.di.ApplicationContext import io.element.android.libraries.di.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
fun interface CustomLogoResIdProvider { fun interface OnBoardingLogoResIdProvider {
fun get(): Int? fun get(): Int?
} }
@ContributesBinding(AppScope::class) @ContributesBinding(AppScope::class)
class DefaultCustomLogoResIdProvider @Inject constructor( class DefaultOnBoardingLogoResIdProvider @Inject constructor(
@ApplicationContext private val context: Context, @ApplicationContext private val context: Context,
) : CustomLogoResIdProvider { ) : OnBoardingLogoResIdProvider {
@SuppressLint("DiscouragedApi") @SuppressLint("DiscouragedApi")
override fun get(): Int? { override fun get(): Int? {
val resId = context.resources val resId = context.resources
.getIdentifier("custom_logo", "drawable", context.packageName) .getIdentifier("onboarding_logo", "drawable", context.packageName)
.takeIf { it != 0 } .takeIf { it != 0 }
return resId return resId
} }

View file

@ -36,7 +36,7 @@ class OnBoardingPresenter @AssistedInject constructor(
private val defaultAccountProviderAccessControl: DefaultAccountProviderAccessControl, private val defaultAccountProviderAccessControl: DefaultAccountProviderAccessControl,
private val rageshakeFeatureAvailability: RageshakeFeatureAvailability, private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
private val loginHelper: LoginHelper, private val loginHelper: LoginHelper,
private val customLogoResIdProvider: CustomLogoResIdProvider, private val onBoardingLogoResIdProvider: OnBoardingLogoResIdProvider,
) : Presenter<OnBoardingState> { ) : Presenter<OnBoardingState> {
@AssistedFactory @AssistedFactory
interface Factory { interface Factory {
@ -82,8 +82,8 @@ class OnBoardingPresenter @AssistedInject constructor(
} }
val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false) val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false)
var showReportBug by rememberSaveable { mutableStateOf(false) } var showReportBug by rememberSaveable { mutableStateOf(false) }
val customLogoResId = remember { val onBoardingLogoResId = remember {
customLogoResIdProvider.get() onBoardingLogoResIdProvider.get()
} }
val loginMode by loginHelper.collectLoginMode() val loginMode by loginHelper.collectLoginMode()
@ -116,7 +116,7 @@ class OnBoardingPresenter @AssistedInject constructor(
canReportBug = canReportBug && showReportBug, canReportBug = canReportBug && showReportBug,
loginMode = loginMode, loginMode = loginMode,
version = buildMeta.versionName, version = buildMeta.versionName,
customLogoResId = customLogoResId, onBoardingLogoResId = onBoardingLogoResId,
eventSink = ::handleEvent, eventSink = ::handleEvent,
) )
} }

View file

@ -20,7 +20,7 @@ data class OnBoardingState(
val canReportBug: Boolean, val canReportBug: Boolean,
val version: String, val version: String,
@DrawableRes @DrawableRes
val customLogoResId: Int?, val onBoardingLogoResId: Int?,
val loginMode: AsyncData<LoginMode>, val loginMode: AsyncData<LoginMode>,
val eventSink: (OnBoardingEvents) -> Unit, val eventSink: (OnBoardingEvents) -> Unit,
) { ) {

View file

@ -47,6 +47,6 @@ fun anOnBoardingState(
canReportBug = canReportBug, canReportBug = canReportBug,
version = version, version = version,
loginMode = loginMode, loginMode = loginMode,
customLogoResId = customLogoResId, onBoardingLogoResId = customLogoResId,
eventSink = eventSink, eventSink = eventSink,
) )

View file

@ -70,11 +70,11 @@ fun OnBoardingView(
) { ) {
OnBoardingPage( OnBoardingPage(
modifier = modifier, modifier = modifier,
renderBackground = state.customLogoResId == null, renderBackground = state.onBoardingLogoResId == null,
content = { content = {
if (state.customLogoResId != null) { if (state.onBoardingLogoResId != null) {
OnBoardingSimpleLogo( OnBoardingLogo(
customLogoResId = state.customLogoResId, onBoardingLogoResId = state.onBoardingLogoResId,
) )
} else { } else {
OnBoardingContent(state = state) OnBoardingContent(state = state)
@ -150,8 +150,8 @@ private fun OnBoardingContent(state: OnBoardingState) {
} }
@Composable @Composable
private fun OnBoardingSimpleLogo( private fun OnBoardingLogo(
customLogoResId: Int, onBoardingLogoResId: Int,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
Box( Box(
@ -161,7 +161,7 @@ private fun OnBoardingSimpleLogo(
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
) { ) {
Image( Image(
painter = painterResource(id = customLogoResId), painter = painterResource(id = onBoardingLogoResId),
contentDescription = null contentDescription = null
) )
} }

View file

@ -5,8 +5,8 @@
~ Please see LICENSE files in the repository root for full details. ~ Please see LICENSE files in the repository root for full details.
--> -->
<!-- <!--
Note: one or several custom_logo drawable can be added at build time. Ensure that these Note: one or several onboarding_logo drawables can be added at build time. Ensure that these
resource are not stripped out by the resource shrinker. resources are not stripped out by the resource shrinker.
--> -->
<resources xmlns:tools="http://schemas.android.com/tools" <resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/custom_logo" /> tools:keep="@drawable/onboarding_logo" />

View file

@ -85,14 +85,14 @@ class OnBoardingPresenterTest {
} }
@Test @Test
fun `present - custom logo`() = runTest { fun `present - on boarding logo`() = runTest {
val presenter = createPresenter( val presenter = createPresenter(
customLogoResIdProvider = CustomLogoResIdProvider { 42 }, onBoardingLogoResIdProvider = OnBoardingLogoResIdProvider { 42 },
) )
presenter.test { presenter.test {
skipItems(1) skipItems(1)
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.customLogoResId).isEqualTo(42) assertThat(initialState.onBoardingLogoResId).isEqualTo(42)
} }
} }
@ -236,7 +236,7 @@ private fun createPresenter(
wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(), wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(),
rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) }, rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) },
loginHelper: LoginHelper = createLoginHelper(), loginHelper: LoginHelper = createLoginHelper(),
customLogoResIdProvider: CustomLogoResIdProvider = CustomLogoResIdProvider { null }, onBoardingLogoResIdProvider: OnBoardingLogoResIdProvider = OnBoardingLogoResIdProvider { null },
) = OnBoardingPresenter( ) = OnBoardingPresenter(
params = params, params = params,
buildMeta = buildMeta, buildMeta = buildMeta,
@ -247,7 +247,7 @@ private fun createPresenter(
), ),
rageshakeFeatureAvailability = rageshakeFeatureAvailability, rageshakeFeatureAvailability = rageshakeFeatureAvailability,
loginHelper = loginHelper, loginHelper = loginHelper,
customLogoResIdProvider = customLogoResIdProvider, onBoardingLogoResIdProvider = onBoardingLogoResIdProvider,
) )
fun createLoginHelper( fun createLoginHelper(