Refacto a bit for clarity
This commit is contained in:
parent
9502b92dc4
commit
faaa94860b
4 changed files with 98 additions and 182 deletions
|
|
@ -41,8 +41,7 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.features.verifysession.impl.emoji.toEmojiDrawableRes
|
import io.element.android.features.verifysession.impl.emoji.toEmojiResource
|
||||||
import io.element.android.features.verifysession.impl.emoji.toEmojiStringRes
|
|
||||||
import io.element.android.libraries.architecture.Async
|
import io.element.android.libraries.architecture.Async
|
||||||
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
||||||
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
||||||
|
|
@ -161,15 +160,16 @@ private fun ContentVerifying(verificationFlowStep: FlowStep.Verifying, modifier:
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun EmojiItemView(emoji: VerificationEmoji, modifier: Modifier = Modifier) {
|
private fun EmojiItemView(emoji: VerificationEmoji, modifier: Modifier = Modifier) {
|
||||||
|
val emojiResource = emoji.code.toEmojiResource()
|
||||||
Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier) {
|
Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier) {
|
||||||
Image(
|
Image(
|
||||||
modifier = Modifier.size(48.dp),
|
modifier = Modifier.size(48.dp),
|
||||||
painter = painterResource(id = emoji.code.toEmojiDrawableRes()),
|
painter = painterResource(id = emojiResource.drawableRes),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
Spacer(modifier = Modifier.height(16.dp))
|
Spacer(modifier = Modifier.height(16.dp))
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(id = emoji.code.toEmojiStringRes()),
|
text = stringResource(id = emojiResource.nameRes),
|
||||||
style = ElementTheme.typography.fontBodyMdRegular,
|
style = ElementTheme.typography.fontBodyMdRegular,
|
||||||
color = MaterialTheme.colorScheme.secondary,
|
color = MaterialTheme.colorScheme.secondary,
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
|
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2023 New Vector Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package io.element.android.features.verifysession.impl.emoji
|
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
|
||||||
import io.element.android.features.verifysession.impl.R
|
|
||||||
|
|
||||||
@DrawableRes
|
|
||||||
internal fun Int.toEmojiDrawableRes(): Int {
|
|
||||||
return when (this % 64) {
|
|
||||||
0 -> R.drawable.ic_verification_dog
|
|
||||||
1 -> R.drawable.ic_verification_cat
|
|
||||||
2 -> R.drawable.ic_verification_lion
|
|
||||||
3 -> R.drawable.ic_verification_horse
|
|
||||||
4 -> R.drawable.ic_verification_unicorn
|
|
||||||
5 -> R.drawable.ic_verification_pig
|
|
||||||
6 -> R.drawable.ic_verification_elephant
|
|
||||||
7 -> R.drawable.ic_verification_rabbit
|
|
||||||
8 -> R.drawable.ic_verification_panda
|
|
||||||
9 -> R.drawable.ic_verification_rooster
|
|
||||||
10 -> R.drawable.ic_verification_penguin
|
|
||||||
11 -> R.drawable.ic_verification_turtle
|
|
||||||
12 -> R.drawable.ic_verification_fish
|
|
||||||
13 -> R.drawable.ic_verification_octopus
|
|
||||||
14 -> R.drawable.ic_verification_butterfly
|
|
||||||
15 -> R.drawable.ic_verification_flower
|
|
||||||
16 -> R.drawable.ic_verification_tree
|
|
||||||
17 -> R.drawable.ic_verification_cactus
|
|
||||||
18 -> R.drawable.ic_verification_mushroom
|
|
||||||
19 -> R.drawable.ic_verification_globe
|
|
||||||
20 -> R.drawable.ic_verification_moon
|
|
||||||
21 -> R.drawable.ic_verification_cloud
|
|
||||||
22 -> R.drawable.ic_verification_fire
|
|
||||||
23 -> R.drawable.ic_verification_banana
|
|
||||||
24 -> R.drawable.ic_verification_apple
|
|
||||||
25 -> R.drawable.ic_verification_strawberry
|
|
||||||
26 -> R.drawable.ic_verification_corn
|
|
||||||
27 -> R.drawable.ic_verification_pizza
|
|
||||||
28 -> R.drawable.ic_verification_cake
|
|
||||||
29 -> R.drawable.ic_verification_heart
|
|
||||||
30 -> R.drawable.ic_verification_smiley
|
|
||||||
31 -> R.drawable.ic_verification_robot
|
|
||||||
32 -> R.drawable.ic_verification_hat
|
|
||||||
33 -> R.drawable.ic_verification_glasses
|
|
||||||
34 -> R.drawable.ic_verification_spanner
|
|
||||||
35 -> R.drawable.ic_verification_santa
|
|
||||||
36 -> R.drawable.ic_verification_thumbs_up
|
|
||||||
37 -> R.drawable.ic_verification_umbrella
|
|
||||||
38 -> R.drawable.ic_verification_hourglass
|
|
||||||
39 -> R.drawable.ic_verification_clock
|
|
||||||
40 -> R.drawable.ic_verification_gift
|
|
||||||
41 -> R.drawable.ic_verification_light_bulb
|
|
||||||
42 -> R.drawable.ic_verification_book
|
|
||||||
43 -> R.drawable.ic_verification_pencil
|
|
||||||
44 -> R.drawable.ic_verification_paperclip
|
|
||||||
45 -> R.drawable.ic_verification_scissors
|
|
||||||
46 -> R.drawable.ic_verification_lock
|
|
||||||
47 -> R.drawable.ic_verification_key
|
|
||||||
48 -> R.drawable.ic_verification_hammer
|
|
||||||
49 -> R.drawable.ic_verification_phone
|
|
||||||
50 -> R.drawable.ic_verification_flag
|
|
||||||
51 -> R.drawable.ic_verification_train
|
|
||||||
52 -> R.drawable.ic_verification_bicycle
|
|
||||||
53 -> R.drawable.ic_verification_aeroplane
|
|
||||||
54 -> R.drawable.ic_verification_rocket
|
|
||||||
55 -> R.drawable.ic_verification_trophy
|
|
||||||
56 -> R.drawable.ic_verification_ball
|
|
||||||
57 -> R.drawable.ic_verification_guitar
|
|
||||||
58 -> R.drawable.ic_verification_trumpet
|
|
||||||
59 -> R.drawable.ic_verification_bell
|
|
||||||
60 -> R.drawable.ic_verification_anchor
|
|
||||||
61 -> R.drawable.ic_verification_headphones
|
|
||||||
62 -> R.drawable.ic_verification_folder
|
|
||||||
/* 63 */ else -> R.drawable.ic_verification_pin
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package io.element.android.features.verifysession.impl.emoji
|
||||||
|
|
||||||
|
import androidx.annotation.DrawableRes
|
||||||
|
import androidx.annotation.StringRes
|
||||||
|
import io.element.android.features.verifysession.impl.R
|
||||||
|
|
||||||
|
internal data class EmojiResource(
|
||||||
|
@DrawableRes val drawableRes: Int,
|
||||||
|
@StringRes val nameRes: Int
|
||||||
|
)
|
||||||
|
|
||||||
|
internal fun Int.toEmojiResource(): EmojiResource {
|
||||||
|
return when (this % 64) {
|
||||||
|
0 -> EmojiResource(R.drawable.ic_verification_dog, R.string.verification_emoji_dog)
|
||||||
|
1 -> EmojiResource(R.drawable.ic_verification_cat, R.string.verification_emoji_cat)
|
||||||
|
2 -> EmojiResource(R.drawable.ic_verification_lion, R.string.verification_emoji_lion)
|
||||||
|
3 -> EmojiResource(R.drawable.ic_verification_horse, R.string.verification_emoji_horse)
|
||||||
|
4 -> EmojiResource(R.drawable.ic_verification_unicorn, R.string.verification_emoji_unicorn)
|
||||||
|
5 -> EmojiResource(R.drawable.ic_verification_pig, R.string.verification_emoji_pig)
|
||||||
|
6 -> EmojiResource(R.drawable.ic_verification_elephant, R.string.verification_emoji_elephant)
|
||||||
|
7 -> EmojiResource(R.drawable.ic_verification_rabbit, R.string.verification_emoji_rabbit)
|
||||||
|
8 -> EmojiResource(R.drawable.ic_verification_panda, R.string.verification_emoji_panda)
|
||||||
|
9 -> EmojiResource(R.drawable.ic_verification_rooster, R.string.verification_emoji_rooster)
|
||||||
|
10 -> EmojiResource(R.drawable.ic_verification_penguin, R.string.verification_emoji_penguin)
|
||||||
|
11 -> EmojiResource(R.drawable.ic_verification_turtle, R.string.verification_emoji_turtle)
|
||||||
|
12 -> EmojiResource(R.drawable.ic_verification_fish, R.string.verification_emoji_fish)
|
||||||
|
13 -> EmojiResource(R.drawable.ic_verification_octopus, R.string.verification_emoji_octopus)
|
||||||
|
14 -> EmojiResource(R.drawable.ic_verification_butterfly, R.string.verification_emoji_butterfly)
|
||||||
|
15 -> EmojiResource(R.drawable.ic_verification_flower, R.string.verification_emoji_flower)
|
||||||
|
16 -> EmojiResource(R.drawable.ic_verification_tree, R.string.verification_emoji_tree)
|
||||||
|
17 -> EmojiResource(R.drawable.ic_verification_cactus, R.string.verification_emoji_cactus)
|
||||||
|
18 -> EmojiResource(R.drawable.ic_verification_mushroom, R.string.verification_emoji_mushroom)
|
||||||
|
19 -> EmojiResource(R.drawable.ic_verification_globe, R.string.verification_emoji_globe)
|
||||||
|
20 -> EmojiResource(R.drawable.ic_verification_moon, R.string.verification_emoji_moon)
|
||||||
|
21 -> EmojiResource(R.drawable.ic_verification_cloud, R.string.verification_emoji_cloud)
|
||||||
|
22 -> EmojiResource(R.drawable.ic_verification_fire, R.string.verification_emoji_fire)
|
||||||
|
23 -> EmojiResource(R.drawable.ic_verification_banana, R.string.verification_emoji_banana)
|
||||||
|
24 -> EmojiResource(R.drawable.ic_verification_apple, R.string.verification_emoji_apple)
|
||||||
|
25 -> EmojiResource(R.drawable.ic_verification_strawberry, R.string.verification_emoji_strawberry)
|
||||||
|
26 -> EmojiResource(R.drawable.ic_verification_corn, R.string.verification_emoji_corn)
|
||||||
|
27 -> EmojiResource(R.drawable.ic_verification_pizza, R.string.verification_emoji_pizza)
|
||||||
|
28 -> EmojiResource(R.drawable.ic_verification_cake, R.string.verification_emoji_cake)
|
||||||
|
29 -> EmojiResource(R.drawable.ic_verification_heart, R.string.verification_emoji_heart)
|
||||||
|
30 -> EmojiResource(R.drawable.ic_verification_smiley, R.string.verification_emoji_smiley)
|
||||||
|
31 -> EmojiResource(R.drawable.ic_verification_robot, R.string.verification_emoji_robot)
|
||||||
|
32 -> EmojiResource(R.drawable.ic_verification_hat, R.string.verification_emoji_hat)
|
||||||
|
33 -> EmojiResource(R.drawable.ic_verification_glasses, R.string.verification_emoji_glasses)
|
||||||
|
34 -> EmojiResource(R.drawable.ic_verification_spanner, R.string.verification_emoji_spanner)
|
||||||
|
35 -> EmojiResource(R.drawable.ic_verification_santa, R.string.verification_emoji_santa)
|
||||||
|
36 -> EmojiResource(R.drawable.ic_verification_thumbs_up, R.string.verification_emoji_thumbs_up)
|
||||||
|
37 -> EmojiResource(R.drawable.ic_verification_umbrella, R.string.verification_emoji_umbrella)
|
||||||
|
38 -> EmojiResource(R.drawable.ic_verification_hourglass, R.string.verification_emoji_hourglass)
|
||||||
|
39 -> EmojiResource(R.drawable.ic_verification_clock, R.string.verification_emoji_clock)
|
||||||
|
40 -> EmojiResource(R.drawable.ic_verification_gift, R.string.verification_emoji_gift)
|
||||||
|
41 -> EmojiResource(R.drawable.ic_verification_light_bulb, R.string.verification_emoji_light_bulb)
|
||||||
|
42 -> EmojiResource(R.drawable.ic_verification_book, R.string.verification_emoji_book)
|
||||||
|
43 -> EmojiResource(R.drawable.ic_verification_pencil, R.string.verification_emoji_pencil)
|
||||||
|
44 -> EmojiResource(R.drawable.ic_verification_paperclip, R.string.verification_emoji_paperclip)
|
||||||
|
45 -> EmojiResource(R.drawable.ic_verification_scissors, R.string.verification_emoji_scissors)
|
||||||
|
46 -> EmojiResource(R.drawable.ic_verification_lock, R.string.verification_emoji_lock)
|
||||||
|
47 -> EmojiResource(R.drawable.ic_verification_key, R.string.verification_emoji_key)
|
||||||
|
48 -> EmojiResource(R.drawable.ic_verification_hammer, R.string.verification_emoji_hammer)
|
||||||
|
49 -> EmojiResource(R.drawable.ic_verification_phone, R.string.verification_emoji_telephone)
|
||||||
|
50 -> EmojiResource(R.drawable.ic_verification_flag, R.string.verification_emoji_flag)
|
||||||
|
51 -> EmojiResource(R.drawable.ic_verification_train, R.string.verification_emoji_train)
|
||||||
|
52 -> EmojiResource(R.drawable.ic_verification_bicycle, R.string.verification_emoji_bicycle)
|
||||||
|
53 -> EmojiResource(R.drawable.ic_verification_aeroplane, R.string.verification_emoji_aeroplane)
|
||||||
|
54 -> EmojiResource(R.drawable.ic_verification_rocket, R.string.verification_emoji_rocket)
|
||||||
|
55 -> EmojiResource(R.drawable.ic_verification_trophy, R.string.verification_emoji_trophy)
|
||||||
|
56 -> EmojiResource(R.drawable.ic_verification_ball, R.string.verification_emoji_ball)
|
||||||
|
57 -> EmojiResource(R.drawable.ic_verification_guitar, R.string.verification_emoji_guitar)
|
||||||
|
58 -> EmojiResource(R.drawable.ic_verification_trumpet, R.string.verification_emoji_trumpet)
|
||||||
|
59 -> EmojiResource(R.drawable.ic_verification_bell, R.string.verification_emoji_bell)
|
||||||
|
60 -> EmojiResource(R.drawable.ic_verification_anchor, R.string.verification_emoji_anchor)
|
||||||
|
61 -> EmojiResource(R.drawable.ic_verification_headphones, R.string.verification_emoji_headphones)
|
||||||
|
62 -> EmojiResource(R.drawable.ic_verification_folder, R.string.verification_emoji_folder)
|
||||||
|
/* 63 */ else -> EmojiResource(R.drawable.ic_verification_pin, R.string.verification_emoji_pin)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2023 New Vector Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package io.element.android.features.verifysession.impl.emoji
|
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
|
||||||
import io.element.android.features.verifysession.impl.R
|
|
||||||
|
|
||||||
@StringRes
|
|
||||||
internal fun Int.toEmojiStringRes(): Int {
|
|
||||||
return when (this % 64) {
|
|
||||||
0 -> R.string.verification_emoji_dog
|
|
||||||
1 -> R.string.verification_emoji_cat
|
|
||||||
2 -> R.string.verification_emoji_lion
|
|
||||||
3 -> R.string.verification_emoji_horse
|
|
||||||
4 -> R.string.verification_emoji_unicorn
|
|
||||||
5 -> R.string.verification_emoji_pig
|
|
||||||
6 -> R.string.verification_emoji_elephant
|
|
||||||
7 -> R.string.verification_emoji_rabbit
|
|
||||||
8 -> R.string.verification_emoji_panda
|
|
||||||
9 -> R.string.verification_emoji_rooster
|
|
||||||
10 -> R.string.verification_emoji_penguin
|
|
||||||
11 -> R.string.verification_emoji_turtle
|
|
||||||
12 -> R.string.verification_emoji_fish
|
|
||||||
13 -> R.string.verification_emoji_octopus
|
|
||||||
14 -> R.string.verification_emoji_butterfly
|
|
||||||
15 -> R.string.verification_emoji_flower
|
|
||||||
16 -> R.string.verification_emoji_tree
|
|
||||||
17 -> R.string.verification_emoji_cactus
|
|
||||||
18 -> R.string.verification_emoji_mushroom
|
|
||||||
19 -> R.string.verification_emoji_globe
|
|
||||||
20 -> R.string.verification_emoji_moon
|
|
||||||
21 -> R.string.verification_emoji_cloud
|
|
||||||
22 -> R.string.verification_emoji_fire
|
|
||||||
23 -> R.string.verification_emoji_banana
|
|
||||||
24 -> R.string.verification_emoji_apple
|
|
||||||
25 -> R.string.verification_emoji_strawberry
|
|
||||||
26 -> R.string.verification_emoji_corn
|
|
||||||
27 -> R.string.verification_emoji_pizza
|
|
||||||
28 -> R.string.verification_emoji_cake
|
|
||||||
29 -> R.string.verification_emoji_heart
|
|
||||||
30 -> R.string.verification_emoji_smiley
|
|
||||||
31 -> R.string.verification_emoji_robot
|
|
||||||
32 -> R.string.verification_emoji_hat
|
|
||||||
33 -> R.string.verification_emoji_glasses
|
|
||||||
34 -> R.string.verification_emoji_spanner
|
|
||||||
35 -> R.string.verification_emoji_santa
|
|
||||||
36 -> R.string.verification_emoji_thumbs_up
|
|
||||||
37 -> R.string.verification_emoji_umbrella
|
|
||||||
38 -> R.string.verification_emoji_hourglass
|
|
||||||
39 -> R.string.verification_emoji_clock
|
|
||||||
40 -> R.string.verification_emoji_gift
|
|
||||||
41 -> R.string.verification_emoji_light_bulb
|
|
||||||
42 -> R.string.verification_emoji_book
|
|
||||||
43 -> R.string.verification_emoji_pencil
|
|
||||||
44 -> R.string.verification_emoji_paperclip
|
|
||||||
45 -> R.string.verification_emoji_scissors
|
|
||||||
46 -> R.string.verification_emoji_lock
|
|
||||||
47 -> R.string.verification_emoji_key
|
|
||||||
48 -> R.string.verification_emoji_hammer
|
|
||||||
49 -> R.string.verification_emoji_telephone
|
|
||||||
50 -> R.string.verification_emoji_flag
|
|
||||||
51 -> R.string.verification_emoji_train
|
|
||||||
52 -> R.string.verification_emoji_bicycle
|
|
||||||
53 -> R.string.verification_emoji_aeroplane
|
|
||||||
54 -> R.string.verification_emoji_rocket
|
|
||||||
55 -> R.string.verification_emoji_trophy
|
|
||||||
56 -> R.string.verification_emoji_ball
|
|
||||||
57 -> R.string.verification_emoji_guitar
|
|
||||||
58 -> R.string.verification_emoji_trumpet
|
|
||||||
59 -> R.string.verification_emoji_bell
|
|
||||||
60 -> R.string.verification_emoji_anchor
|
|
||||||
61 -> R.string.verification_emoji_headphones
|
|
||||||
62 -> R.string.verification_emoji_folder
|
|
||||||
/* 63 */ else -> R.string.verification_emoji_pin
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue