Rename custom_logo to onboarding_logo
This commit is contained in:
@@ -14,18 +14,18 @@ import io.element.android.libraries.di.AppScope
|
||||
import io.element.android.libraries.di.ApplicationContext
|
||||
import javax.inject.Inject
|
||||
|
||||
fun interface CustomLogoResIdProvider {
|
||||
fun interface OnBoardingLogoResIdProvider {
|
||||
fun get(): Int?
|
||||
}
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultCustomLogoResIdProvider @Inject constructor(
|
||||
class DefaultOnBoardingLogoResIdProvider @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
) : CustomLogoResIdProvider {
|
||||
) : OnBoardingLogoResIdProvider {
|
||||
@SuppressLint("DiscouragedApi")
|
||||
override fun get(): Int? {
|
||||
val resId = context.resources
|
||||
.getIdentifier("custom_logo", "drawable", context.packageName)
|
||||
.getIdentifier("onboarding_logo", "drawable", context.packageName)
|
||||
.takeIf { it != 0 }
|
||||
return resId
|
||||
}
|
||||
@@ -36,7 +36,7 @@ class OnBoardingPresenter @AssistedInject constructor(
|
||||
private val defaultAccountProviderAccessControl: DefaultAccountProviderAccessControl,
|
||||
private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
|
||||
private val loginHelper: LoginHelper,
|
||||
private val customLogoResIdProvider: CustomLogoResIdProvider,
|
||||
private val onBoardingLogoResIdProvider: OnBoardingLogoResIdProvider,
|
||||
) : Presenter<OnBoardingState> {
|
||||
@AssistedFactory
|
||||
interface Factory {
|
||||
@@ -82,8 +82,8 @@ class OnBoardingPresenter @AssistedInject constructor(
|
||||
}
|
||||
val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false)
|
||||
var showReportBug by rememberSaveable { mutableStateOf(false) }
|
||||
val customLogoResId = remember {
|
||||
customLogoResIdProvider.get()
|
||||
val onBoardingLogoResId = remember {
|
||||
onBoardingLogoResIdProvider.get()
|
||||
}
|
||||
|
||||
val loginMode by loginHelper.collectLoginMode()
|
||||
@@ -116,7 +116,7 @@ class OnBoardingPresenter @AssistedInject constructor(
|
||||
canReportBug = canReportBug && showReportBug,
|
||||
loginMode = loginMode,
|
||||
version = buildMeta.versionName,
|
||||
customLogoResId = customLogoResId,
|
||||
onBoardingLogoResId = onBoardingLogoResId,
|
||||
eventSink = ::handleEvent,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ data class OnBoardingState(
|
||||
val canReportBug: Boolean,
|
||||
val version: String,
|
||||
@DrawableRes
|
||||
val customLogoResId: Int?,
|
||||
val onBoardingLogoResId: Int?,
|
||||
val loginMode: AsyncData<LoginMode>,
|
||||
val eventSink: (OnBoardingEvents) -> Unit,
|
||||
) {
|
||||
|
||||
@@ -47,6 +47,6 @@ fun anOnBoardingState(
|
||||
canReportBug = canReportBug,
|
||||
version = version,
|
||||
loginMode = loginMode,
|
||||
customLogoResId = customLogoResId,
|
||||
onBoardingLogoResId = customLogoResId,
|
||||
eventSink = eventSink,
|
||||
)
|
||||
|
||||
@@ -70,11 +70,11 @@ fun OnBoardingView(
|
||||
) {
|
||||
OnBoardingPage(
|
||||
modifier = modifier,
|
||||
renderBackground = state.customLogoResId == null,
|
||||
renderBackground = state.onBoardingLogoResId == null,
|
||||
content = {
|
||||
if (state.customLogoResId != null) {
|
||||
OnBoardingSimpleLogo(
|
||||
customLogoResId = state.customLogoResId,
|
||||
if (state.onBoardingLogoResId != null) {
|
||||
OnBoardingLogo(
|
||||
onBoardingLogoResId = state.onBoardingLogoResId,
|
||||
)
|
||||
} else {
|
||||
OnBoardingContent(state = state)
|
||||
@@ -150,8 +150,8 @@ private fun OnBoardingContent(state: OnBoardingState) {
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun OnBoardingSimpleLogo(
|
||||
customLogoResId: Int,
|
||||
private fun OnBoardingLogo(
|
||||
onBoardingLogoResId: Int,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Box(
|
||||
@@ -161,7 +161,7 @@ private fun OnBoardingSimpleLogo(
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = customLogoResId),
|
||||
painter = painterResource(id = onBoardingLogoResId),
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
~ 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
|
||||
resource are not stripped out by the resource shrinker.
|
||||
Note: one or several onboarding_logo drawables can be added at build time. Ensure that these
|
||||
resources are not stripped out by the resource shrinker.
|
||||
-->
|
||||
<resources xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:keep="@drawable/custom_logo" />
|
||||
tools:keep="@drawable/onboarding_logo" />
|
||||
|
||||
@@ -85,14 +85,14 @@ class OnBoardingPresenterTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `present - custom logo`() = runTest {
|
||||
fun `present - on boarding logo`() = runTest {
|
||||
val presenter = createPresenter(
|
||||
customLogoResIdProvider = CustomLogoResIdProvider { 42 },
|
||||
onBoardingLogoResIdProvider = OnBoardingLogoResIdProvider { 42 },
|
||||
)
|
||||
presenter.test {
|
||||
skipItems(1)
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.customLogoResId).isEqualTo(42)
|
||||
assertThat(initialState.onBoardingLogoResId).isEqualTo(42)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,7 +236,7 @@ private fun createPresenter(
|
||||
wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(),
|
||||
rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) },
|
||||
loginHelper: LoginHelper = createLoginHelper(),
|
||||
customLogoResIdProvider: CustomLogoResIdProvider = CustomLogoResIdProvider { null },
|
||||
onBoardingLogoResIdProvider: OnBoardingLogoResIdProvider = OnBoardingLogoResIdProvider { null },
|
||||
) = OnBoardingPresenter(
|
||||
params = params,
|
||||
buildMeta = buildMeta,
|
||||
@@ -247,7 +247,7 @@ private fun createPresenter(
|
||||
),
|
||||
rageshakeFeatureAvailability = rageshakeFeatureAvailability,
|
||||
loginHelper = loginHelper,
|
||||
customLogoResIdProvider = customLogoResIdProvider,
|
||||
onBoardingLogoResIdProvider = onBoardingLogoResIdProvider,
|
||||
)
|
||||
|
||||
fun createLoginHelper(
|
||||
|
||||
Reference in New Issue
Block a user