Skip to content

Commit eae3a32

Browse files
authored
Merge pull request #24 from tuuhin/bug-fixes
Bug Fixes in media player with visualization issues
2 parents c0388f5 + 24d88a0 commit eae3a32

44 files changed

Lines changed: 860 additions & 586 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ playing stuff.
7676

7777
## :new: What's new
7878

79-
The latest update to the **RecorderApp** contains a new onboarding screen added with some settings
80-
route improvements
79+
The latest update to the **RecorderApp** contains some improvements with the media player
8180

8281
## :next_track_button: What's next
8382

@@ -124,5 +123,5 @@ GitHub. Your feedback is invaluable!
124123

125124
### :end: Conclusion
126125

127-
The app can be marked as finished for now.A significant amount of time and effort has been invested
126+
The app can be marked as finished for now. A significant amount of time and effort has been invested
128127
in this project hope you all love it.

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ android {
1717
applicationId = "com.eva.recorderapp"
1818
minSdk = libs.versions.minSdk.get().toInt()
1919
targetSdk = libs.versions.compileSdk.get().toInt()
20-
versionCode = 12
21-
versionName = "1.4.2"
20+
versionCode = 13
21+
versionName = "1.4.3"
2222

2323
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2424
vectorDrawables {

app/src/main/java/com/eva/recorderapp/RecorderApp.kt

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package com.eva.recorderapp
33
import android.app.Application
44
import android.app.NotificationChannel
55
import android.app.NotificationManager
6+
import android.os.StrictMode
67
import androidx.compose.runtime.Composer
78
import androidx.compose.runtime.ExperimentalComposeRuntimeApi
9+
import androidx.compose.runtime.tooling.ComposeStackTraceMode
810
import androidx.core.app.NotificationCompat
911
import androidx.core.content.getSystemService
1012
import androidx.hilt.work.HiltWorkerFactory
@@ -37,8 +39,8 @@ class RecorderApp : Application(), Configuration.Provider {
3739
override fun onCreate() {
3840
super.onCreate()
3941

40-
// enabled compose stack-trace
41-
Composer.setDiagnosticStackTraceEnabled(enabled = BuildConfig.DEBUG)
42+
enableComposeStackTrace()
43+
enableStrictMode()
4244

4345
createNotificationChannels()
4446

@@ -86,4 +88,28 @@ class RecorderApp : Application(), Configuration.Provider {
8688

8789
notificationManager?.createNotificationChannels(channels)
8890
}
91+
92+
93+
private fun enableComposeStackTrace() {
94+
if (!BuildConfig.DEBUG) return
95+
Composer.setDiagnosticStackTraceMode(ComposeStackTraceMode.SourceInformation)
96+
}
97+
98+
private fun enableStrictMode() {
99+
if (!BuildConfig.DEBUG) return
100+
// thread policy
101+
StrictMode.setThreadPolicy(
102+
StrictMode.ThreadPolicy.Builder()
103+
.detectAll() // Detect all thread violations
104+
.penaltyLog() // Log to console
105+
.build()
106+
)
107+
108+
StrictMode.setVmPolicy(
109+
StrictMode.VmPolicy.Builder()
110+
.detectAll() // Detect all VM violations
111+
.penaltyLog()
112+
.build()
113+
)
114+
}
89115
}

core/ui/src/main/java/com/eva/ui/animation/SharedElementModifiers.kt

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
1-
@file:OptIn(ExperimentalSharedTransitionApi::class)
2-
31
package com.eva.ui.animation
42

53
import androidx.compose.animation.BoundsTransform
64
import androidx.compose.animation.EnterTransition
75
import androidx.compose.animation.ExitTransition
8-
import androidx.compose.animation.ExperimentalSharedTransitionApi
96
import androidx.compose.animation.SharedTransitionScope
10-
import androidx.compose.animation.SharedTransitionScope.ResizeMode
11-
import androidx.compose.animation.SharedTransitionScope.ResizeMode.Companion.ScaleToBounds
127
import androidx.compose.animation.core.Spring.StiffnessMediumLow
138
import androidx.compose.animation.core.VisibilityThreshold
149
import androidx.compose.animation.core.spring
1510
import androidx.compose.animation.fadeIn
1611
import androidx.compose.animation.fadeOut
12+
import androidx.compose.runtime.Composable
1713
import androidx.compose.ui.Alignment.Companion.Center
1814
import androidx.compose.ui.Modifier
1915
import androidx.compose.ui.composed
2016
import androidx.compose.ui.geometry.Rect
17+
import androidx.compose.ui.graphics.RectangleShape
18+
import androidx.compose.ui.graphics.Shape
2119
import androidx.compose.ui.layout.ContentScale
2220
import com.eva.ui.utils.LocalSharedTransitionScopeProvider
2321
import com.eva.ui.utils.LocalSharedTransitionVisibilityScopeProvider
@@ -32,8 +30,9 @@ fun Modifier.sharedElementWrapper(
3230
key: Any,
3331
renderInOverlayDuringTransition: Boolean = true,
3432
zIndexInOverlay: Float = 0f,
35-
placeHolderSize: SharedTransitionScope.PlaceHolderSize = SharedTransitionScope.PlaceHolderSize.contentSize,
33+
placeHolderSize: SharedTransitionScope.PlaceholderSize = SharedTransitionScope.PlaceholderSize.ContentSize,
3634
boundsTransform: BoundsTransform = BoundsTransform { _, _ -> NormalSpring },
35+
clipShape: Shape = RectangleShape,
3736
) = composed {
3837
val transitionScope = LocalSharedTransitionScopeProvider.current ?: return@composed Modifier
3938
val visibilityScope =
@@ -47,8 +46,9 @@ fun Modifier.sharedElementWrapper(
4746
animatedVisibilityScope = visibilityScope,
4847
renderInOverlayDuringTransition = renderInOverlayDuringTransition,
4948
zIndexInOverlay = zIndexInOverlay,
50-
placeHolderSize = placeHolderSize,
51-
boundsTransform = boundsTransform
49+
placeholderSize = placeHolderSize,
50+
boundsTransform = boundsTransform,
51+
clipInOverlayDuringTransition = OverlayClip(clipShape)
5252
)
5353
}
5454
}
@@ -58,10 +58,14 @@ fun Modifier.sharedBoundsWrapper(
5858
enter: EnterTransition = fadeIn(),
5959
exit: ExitTransition = fadeOut(),
6060
renderInOverlayDuringTransition: Boolean = true,
61-
resizeMode: ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center),
61+
resizeMode: SharedTransitionScope.ResizeMode = SharedTransitionScope.ResizeMode.scaleToBounds(
62+
ContentScale.FillWidth,
63+
Center
64+
),
6265
zIndexInOverlay: Float = 0f,
63-
placeHolderSize: SharedTransitionScope.PlaceHolderSize = SharedTransitionScope.PlaceHolderSize.contentSize,
66+
placeHolderSize: SharedTransitionScope.PlaceholderSize = SharedTransitionScope.PlaceholderSize.ContentSize,
6467
boundsTransform: BoundsTransform = BoundsTransform { _, _ -> NormalSpring },
68+
clipShape: Shape = RectangleShape,
6569
) = composed {
6670

6771
val transitionScope = LocalSharedTransitionScopeProvider.current ?: return@composed Modifier
@@ -79,8 +83,38 @@ fun Modifier.sharedBoundsWrapper(
7983
boundsTransform = boundsTransform,
8084
renderInOverlayDuringTransition = renderInOverlayDuringTransition,
8185
zIndexInOverlay = zIndexInOverlay,
82-
placeHolderSize = placeHolderSize,
86+
placeholderSize = placeHolderSize,
8387
resizeMode = resizeMode,
88+
clipInOverlayDuringTransition = OverlayClip(clipShape)
8489
)
8590
}
91+
}
92+
93+
@Composable
94+
fun Modifier.sharedTransitionSkipChildSize(): Modifier {
95+
val transitionScope = LocalSharedTransitionScopeProvider.current ?: return this
96+
97+
return with(transitionScope) {
98+
this@sharedTransitionSkipChildSize.skipToLookaheadSize()
99+
}
100+
}
101+
102+
@Composable
103+
fun Modifier.sharedTransitionSkipChildPosition(): Modifier {
104+
val transitionScope = LocalSharedTransitionScopeProvider.current ?: return this
105+
106+
return with(transitionScope) {
107+
this@sharedTransitionSkipChildPosition
108+
.skipToLookaheadPosition()
109+
}
110+
}
111+
112+
113+
@Composable
114+
fun Modifier.sharedTransitionRenderInOverlay(zIndexInOverlay: Float): Modifier {
115+
val transitionScope = LocalSharedTransitionScopeProvider.current ?: return this
116+
return with(transitionScope) {
117+
this@sharedTransitionRenderInOverlay
118+
.renderInSharedTransitionScopeOverlay(zIndexInOverlay = zIndexInOverlay)
119+
}
86120
}

core/ui/src/main/java/com/eva/ui/navigation/AnimatedComposable.kt

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import androidx.compose.animation.AnimatedContentTransitionScope
55
import androidx.compose.animation.EnterTransition
66
import androidx.compose.animation.ExitTransition
77
import androidx.compose.animation.SizeTransform
8-
import androidx.compose.animation.core.EaseIn
9-
import androidx.compose.animation.core.EaseInCubic
10-
import androidx.compose.animation.core.EaseOut
11-
import androidx.compose.animation.core.EaseOutCubic
8+
import androidx.compose.animation.core.FastOutLinearInEasing
9+
import androidx.compose.animation.core.LinearEasing
10+
import androidx.compose.animation.core.LinearOutSlowInEasing
11+
import androidx.compose.animation.core.Spring
1212
import androidx.compose.animation.core.spring
1313
import androidx.compose.animation.core.tween
1414
import androidx.compose.animation.fadeIn
@@ -25,30 +25,40 @@ inline fun <reified T : Any> NavGraphBuilder.animatedComposable(
2525
typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
2626
deepLinks: List<NavDeepLink> = emptyList(),
2727
noinline sizeTransform: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards SizeTransform?)? = {
28-
SizeTransform(clip = false) { _, _ -> spring() }
28+
SizeTransform(clip = false) { _, _ -> spring(stiffness = Spring.StiffnessMediumLow) }
2929
},
3030
noinline content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit,
3131
) = composable<T>(
3232
typeMap = typeMap,
3333
deepLinks = deepLinks,
34-
enterTransition = { slideIntoContainerAndFadeIn },
35-
exitTransition = { slideOutOfContainerAndFadeOut },
36-
popEnterTransition = { slideIntoContainerAndFadeIn },
37-
popExitTransition = { slideOutOfContainerAndFadeOut },
34+
enterTransition = { slideInFromRightAndFadeIn },
35+
exitTransition = { slideOutToLeftAndFadeOut },
36+
popEnterTransition = { slideInFromLeftAndFadeIn },
37+
popExitTransition = { slideOutToRightAndFadeOut },
3838
sizeTransform = sizeTransform,
3939
content = content
4040
)
4141

42-
val AnimatedContentTransitionScope<NavBackStackEntry>.slideIntoContainerAndFadeIn: EnterTransition
42+
val AnimatedContentTransitionScope<NavBackStackEntry>.slideInFromRightAndFadeIn: EnterTransition
4343
get() = slideIntoContainer(
4444
AnimatedContentTransitionScope.SlideDirection.Up,
45-
animationSpec = tween(durationMillis = 300, easing = EaseInCubic)
46-
) + fadeIn(animationSpec = tween(easing = EaseIn, durationMillis = 300))
45+
animationSpec = tween(durationMillis = 300, easing = LinearEasing)
46+
) + fadeIn(animationSpec = tween(easing = LinearOutSlowInEasing, durationMillis = 300))
4747

48-
49-
val AnimatedContentTransitionScope<NavBackStackEntry>.slideOutOfContainerAndFadeOut: ExitTransition
48+
val AnimatedContentTransitionScope<NavBackStackEntry>.slideOutToLeftAndFadeOut: ExitTransition
5049
get() = slideOutOfContainer(
5150
AnimatedContentTransitionScope.SlideDirection.Up,
52-
animationSpec = tween(durationMillis = 300, easing = EaseOutCubic)
53-
) + fadeOut(animationSpec = tween(easing = EaseOut, durationMillis = 300))
51+
animationSpec = tween(durationMillis = 300, easing = LinearEasing)
52+
) + fadeOut(animationSpec = tween(easing = FastOutLinearInEasing, durationMillis = 300))
53+
54+
val AnimatedContentTransitionScope<NavBackStackEntry>.slideInFromLeftAndFadeIn: EnterTransition
55+
get() = slideIntoContainer(
56+
AnimatedContentTransitionScope.SlideDirection.Down,
57+
animationSpec = tween(durationMillis = 300, easing = LinearEasing)
58+
) + fadeIn(animationSpec = tween(easing = LinearOutSlowInEasing, durationMillis = 300))
5459

60+
val AnimatedContentTransitionScope<NavBackStackEntry>.slideOutToRightAndFadeOut: ExitTransition
61+
get() = slideOutOfContainer(
62+
AnimatedContentTransitionScope.SlideDirection.Down,
63+
animationSpec = tween(durationMillis = 300, easing = LinearEasing)
64+
) + fadeOut(animationSpec = tween(easing = FastOutLinearInEasing, durationMillis = 300))
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
package com.eva.ui.navigation
22

3+
import kotlinx.serialization.SerialName
34
import kotlinx.serialization.Serializable
45

56
@Serializable
67
sealed interface PlayerSubGraph {
78

89
// we need audio id to mark to get the route data from saved state handle
910
@Serializable
10-
data class NavGraph(val audioId: Long) : PlayerSubGraph
11+
data class NavGraph(@SerialName("audioId") val audioId: Long) : PlayerSubGraph
1112

1213
// we need the audio id to let deep links work
1314
@Serializable
14-
data class AudioPlayerRoute(val audioId: Long) : PlayerSubGraph
15+
data class AudioPlayerRoute(@SerialName("audioId") val audioId: Long) : PlayerSubGraph
1516

17+
// we are using the audio id to set up the player again so audio id
1618
@Serializable
17-
data object AudioEditorRoute : PlayerSubGraph
19+
data class AudioEditorRoute(@SerialName("audioId") val audioId: Long) : PlayerSubGraph
1820
}
Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,9 @@
11
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2-
android:width="200dp"
3-
android:height="200dp"
4-
android:viewportWidth="32"
5-
android:viewportHeight="32">
6-
2+
android:width="110dp"
3+
android:height="135dp"
4+
android:viewportWidth="110"
5+
android:viewportHeight="135">
76
<path
8-
android:fillColor="#000000"
9-
android:pathData="M26.41,7l3.59,-3.59l-1.41,-1.41l-3.59,3.59l-3.59,-3.59l-1.41,1.41l3.59,3.59l-3.59,3.59l1.41,1.41l3.59,-3.59l3.59,3.59l1.41,-1.41l-3.59,-3.59z" />
10-
11-
<path
12-
android:fillColor="#000000"
13-
android:pathData="M24,15v7.556A3.955,3.955 0,0 0,22 22a4,4 0,1 0,4 4V15ZM22,28a2,2 0,1 1,2 -2A2.003,2.003 0,0 1,22 28Z" />
14-
15-
<path
16-
android:fillColor="#000000"
17-
android:pathData="M17,6H10A2.002,2.002 0,0 0,8 8V22.556A3.956,3.956 0,0 0,6 22a4,4 0,1 0,4 4V8h7ZM6,28a2,2 0,1 1,2 -2A2.002,2.002 0,0 1,6 28Z" />
18-
7+
android:fillColor="#FF000000"
8+
android:pathData="m51.09,45.16c1.69,0.44 3.41,0.7 5.16,0.78 1.46,0.07 2.92,-0.26 4.22,-0.94 0.48,-0.31 0.77,-0.84 0.78,-1.41v-9.06c-0.01,-0.57 -0.3,-1.1 -0.78,-1.41 -0.47,-0.32 -1.09,-0.32 -1.56,0 -2.19,1.09 -4.38,0.47 -7.03,-0.16s-6.09,-1.72 -9.38,0.16c-0.53,0.26 -0.84,0.82 -0.78,1.41v18.28c-1.79,-1.75 -4.21,-2.7 -6.72,-2.66 -4,0 -7.59,2.42 -9.11,6.11 -1.51,3.7 -0.64,7.95 2.21,10.75 2.85,2.8 7.11,3.61 10.78,2.03 3.68,-1.57 6.03,-5.21 5.97,-9.2v-15.31c1.88,-0.63 3.91,0 6.25,0.63zM35,66.56c-2.72,0 -5.17,-1.64 -6.21,-4.15 -1.04,-2.51 -0.46,-5.4 1.46,-7.32s4.81,-2.5 7.32,-1.46c2.51,1.04 4.15,3.49 4.15,6.21 0.04,1.79 -0.65,3.53 -1.92,4.8s-3,1.96 -4.8,1.92zM44.84,41.41v-5.94c2.09,-0.46 4.26,-0.29 6.25,0.47 2.25,0.81 4.66,1.08 7.03,0.78v5.78c-1.88,0.78 -3.91,0.16 -6.25,-0.47 -1.69,-0.44 -3.41,-0.7 -5.16,-0.78zM86.25,73.44v-25c0.03,-0.5 -0.21,-0.97 -0.63,-1.25 -0.36,-0.26 -0.81,-0.38 -1.25,-0.31l-25,6.25c-0.71,0.2 -1.21,0.83 -1.25,1.56v18.75c-1.36,-1 -3,-1.55 -4.69,-1.56 -4.28,0.08 -7.73,3.53 -7.81,7.81 0,2.07 0.82,4.06 2.29,5.52 1.46,1.46 3.45,2.29 5.52,2.29s4.06,-0.82 5.52,-2.29c1.46,-1.46 2.29,-3.45 2.29,-5.52 0.01,-0.37 -0.04,-0.74 -0.16,-1.09 0.11,-0.13 0.17,-0.3 0.16,-0.47v-14.38l21.88,-5.47v8.91c-1.36,-1 -3,-1.55 -4.69,-1.56 -4.28,0.08 -7.73,3.53 -7.81,7.81 0,2.07 0.82,4.06 2.29,5.52 1.46,1.46 3.45,2.29 5.52,2.29 4.32,0 7.81,-3.5 7.81,-7.81zM53.44,84.38c-2.59,0 -4.69,-2.1 -4.69,-4.69 0.08,-2.55 2.13,-4.61 4.69,-4.69 2.59,0 4.69,2.1 4.69,4.69 0.04,1.26 -0.44,2.47 -1.32,3.36 -0.89,0.89 -2.11,1.37 -3.36,1.32zM61.25,60.47v-4.53l21.88,-5.47v4.53zM73.75,73.44c0.08,-2.55 2.13,-4.61 4.69,-4.69 2.59,0 4.69,2.1 4.69,4.69 0.04,1.26 -0.44,2.47 -1.32,3.36 -0.89,0.89 -2.11,1.37 -3.36,1.32 -2.59,0 -4.69,-2.1 -4.69,-4.69zM88.59,32.5h0.47c0.65,-0.04 1.21,-0.47 1.41,-1.09 0.44,-1.36 1.02,-2.66 1.72,-3.91 0.17,0.47 0.43,0.89 0.78,1.25 0.76,1.38 2.18,2.27 3.75,2.34 1.16,0.07 2.28,-0.46 2.97,-1.41 0.65,-0.85 0.98,-1.9 0.94,-2.97 0,-2.97 -2.03,-6.09 -5.16,-6.09 -0.78,-0.04 -1.55,0.18 -2.19,0.63 -0.32,-1.6 -0.32,-3.25 0,-4.84 0.15,-0.39 0.14,-0.83 -0.04,-1.21 -0.18,-0.38 -0.5,-0.68 -0.9,-0.82 -0.41,-0.14 -0.87,-0.11 -1.26,0.1 -0.39,0.21 -0.67,0.57 -0.77,1 -0.59,2.74 -0.48,5.59 0.31,8.28 -1.32,2.04 -2.37,4.25 -3.13,6.56 -0.15,0.43 -0.12,0.91 0.09,1.32 0.21,0.41 0.57,0.72 1,0.87zM95.47,23.91c1.09,0 2.03,1.56 2.03,2.97 0.01,0.39 -0.1,0.77 -0.31,1.09h-0.47c-0.31,0 -0.78,-0.31 -1.25,-0.94 -0.51,-0.79 -0.93,-1.62 -1.25,-2.5 0.3,-0.39 0.76,-0.63 1.25,-0.63zM26.72,39.06c1.56,-1.72 1.09,-4.06 -0.78,-5.78s-6.09,-2.66 -8.13,-0.16c-0.5,0.57 -0.82,1.28 -0.94,2.03 -1.45,-0.71 -2.69,-1.79 -3.59,-3.13 -0.22,-0.36 -0.58,-0.61 -1,-0.7 -0.41,-0.09 -0.84,-0.01 -1.19,0.23 -0.71,0.41 -0.98,1.29 -0.63,2.03 1.79,2.27 4.09,4.09 6.72,5.31 0.66,2.32 1.66,4.54 2.97,6.56 0.26,0.45 0.73,0.75 1.25,0.78h0.94c0.68,-0.52 0.88,-1.44 0.47,-2.19 -0.75,-1.18 -1.38,-2.44 -1.88,-3.75l1.41,0.31c1.63,0.26 3.28,-0.33 4.38,-1.56zM20,36.72c-0.19,-0.54 -0.07,-1.14 0.31,-1.56 0.63,-0.94 2.5,-0.47 3.59,0.47s0.78,0.94 0.47,1.41l-1.72,0.31zM15.16,92.97c-2.53,0 -4.81,1.52 -5.77,3.86 -0.97,2.34 -0.43,5.02 1.36,6.81 1.79,1.79 4.47,2.32 6.81,1.36 2.34,-0.96 3.86,-3.25 3.86,-5.77 0,-1.66 -0.66,-3.25 -1.83,-4.42s-2.76,-1.83 -4.42,-1.83zM15.16,102.34c-1.27,0 -2.4,-0.76 -2.89,-1.93 -0.48,-1.17 -0.21,-2.51 0.68,-3.41 0.89,-0.89 2.24,-1.16 3.41,-0.68 1.17,0.48 1.93,1.62 1.93,2.89 0,0.83 -0.33,1.63 -0.91,2.21 -0.59,0.59 -1.38,0.91 -2.21,0.91zM96.41,55.47c-2.59,0 -4.69,2.1 -4.69,4.69s2.1,4.69 4.69,4.69 4.69,-2.1 4.69,-4.69 -2.1,-4.69 -4.69,-4.69zM96.41,61.72c-0.43,0.05 -0.86,-0.1 -1.16,-0.4 -0.3,-0.3 -0.45,-0.73 -0.4,-1.16 0,-0.86 0.7,-1.56 1.56,-1.56s1.56,0.7 1.56,1.56c0.05,0.43 -0.1,0.86 -0.4,1.16 -0.3,0.3 -0.73,0.45 -1.16,0.4zM84.22,92.81c-3.13,-4.22 -8.91,-6.09 -9.22,-6.25 -0.37,-0.15 -0.79,-0.13 -1.15,0.05 -0.36,0.18 -0.62,0.5 -0.73,0.89 -0.15,0.39 -0.14,0.83 0.04,1.21 0.18,0.38 0.5,0.68 0.9,0.82 2,0.79 3.89,1.84 5.63,3.13 -2.66,0.31 -5,1.41 -5.63,3.59s0.63,4.38 2.81,6.25c1.43,1.29 3.24,2.05 5.16,2.19 0.65,-0.01 1.29,-0.17 1.88,-0.47 1.09,-0.47 2.5,-1.72 2.5,-4.84 0.06,-0.85 -0.04,-1.7 -0.31,-2.5 2.08,0.89 3.48,2.89 3.59,5.16 -0.05,0.43 0.1,0.86 0.4,1.16 0.3,0.3 0.73,0.45 1.16,0.4 0.83,-0.07 1.49,-0.73 1.56,-1.56 -0.31,-5.47 -4.53,-8.28 -8.59,-9.22zM82.5,101.41c-1.32,0.13 -2.64,-0.33 -3.59,-1.25 -1.41,-1.25 -2.03,-2.5 -1.88,-3.13s1.88,-1.41 4.06,-1.41h1.25c0.64,1.09 0.96,2.33 0.94,3.59 0,0.78 -0.16,1.88 -0.78,2.19zM40.31,88.75c0,0.41 -0.16,0.81 -0.46,1.11s-0.69,0.46 -1.11,0.46h-2.97v2.97c0,0.41 -0.16,0.81 -0.46,1.11s-0.69,0.46 -1.11,0.46c-0.83,-0.07 -1.49,-0.73 -1.56,-1.56v-2.97h-2.81c-0.43,0.05 -0.86,-0.1 -1.16,-0.4 -0.3,-0.3 -0.45,-0.73 -0.4,-1.16 0,-0.86 0.7,-1.56 1.56,-1.56h2.81v-2.81c0,-0.86 0.7,-1.56 1.56,-1.56 0.43,-0.05 0.86,0.1 1.16,0.4 0.3,0.3 0.45,0.73 0.4,1.16v2.81h2.97c0.83,0.07 1.49,0.73 1.56,1.56zM52.5,23.13c-0.22,-0.37 -0.28,-0.82 -0.16,-1.23 0.12,-0.41 0.4,-0.76 0.79,-0.96l2.5,-1.41 -1.56,-2.5c-0.22,-0.37 -0.28,-0.82 -0.16,-1.23 0.12,-0.41 0.4,-0.76 0.79,-0.96 0.74,-0.36 1.62,-0.08 2.03,0.63l1.56,2.5 2.34,-1.56c0.37,-0.22 0.82,-0.28 1.23,-0.16 0.41,0.12 0.76,0.4 0.96,0.79 0.38,0.7 0.18,1.57 -0.47,2.03l-2.5,1.56 1.41,2.5c0.23,0.32 0.3,0.73 0.21,1.12 -0.09,0.39 -0.34,0.71 -0.68,0.91l-0.78,0.31c-0.57,-0.01 -1.1,-0.3 -1.41,-0.78l-1.41,-2.5 -2.5,1.41 -0.78,0.31c-0.56,-0.04 -1.08,-0.32 -1.41,-0.78z" />
199
</vector>

core/ui/src/main/res/values-bn/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,5 @@
235235
<string name="action_previous">আগের</string>
236236
<string name="action_continue">শুরু করুন</string>
237237
<string name="onboarding_page_welcome_message">%s এ স্বাগত</string>
238+
<string name="move_back_to_list">লিস্টে ফিরে যান</string>
238239
</resources>

core/ui/src/main/res/values-hi/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,5 @@
235235
<string name="action_previous">पिछला</string>
236236
<string name="action_continue">जारी रखें</string>
237237
<string name="onboarding_page_welcome_message">%s में आपका स्वागत है</string>
238+
<string name="move_back_to_list">लिस्ट पर वापस जाएँ</string>
238239
</resources>

core/ui/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,4 +268,5 @@
268268
<string name="action_previous">Previous</string>
269269
<string name="action_continue">Continue</string>
270270
<string name="onboarding_page_welcome_message">Welcome to %s</string>
271+
<string name="move_back_to_list">Go back to List</string>
271272
</resources>

0 commit comments

Comments
 (0)