Skip to content

Commit b93f81a

Browse files
authored
Merge pull request #43 from davcres/feature/improve-onboarding-screen
Feature/improve onboarding screen
2 parents d0900c7 + 83946cf commit b93f81a

4 files changed

Lines changed: 31 additions & 6 deletions

File tree

app/detekt-baseline.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
<ID>MagicNumber:OWInvestmentWidget.kt$0xFFE8F5EC</ID>
6868
<ID>MagicNumber:OWInvestmentWidget.kt$100.0</ID>
6969
<ID>MagicNumber:OnboardingScreen.kt$0.95f</ID>
70+
<ID>MagicNumber:OnboardingScreen.kt$20</ID>
7071
<ID>MagicNumber:OnboardingScreen.kt$500</ID>
7172
<ID>MagicNumber:PercentageVarianceSwitcher.kt$100</ID>
7273
<ID>MagicNumber:PercentageVarianceSwitcher.kt$5000</ID>

app/src/main/java/com/davidcrespo/onewallet/presentation/onboarding/OnboardingScreen.kt

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.davidcrespo.onewallet.presentation.onboarding
22

3+
import android.os.Build
34
import androidx.compose.animation.core.LinearEasing
45
import androidx.compose.animation.core.animateDpAsState
56
import androidx.compose.animation.core.tween
@@ -10,26 +11,30 @@ import androidx.compose.foundation.layout.Box
1011
import androidx.compose.foundation.layout.Column
1112
import androidx.compose.foundation.layout.Row
1213
import androidx.compose.foundation.layout.Spacer
14+
import androidx.compose.foundation.layout.WindowInsets
15+
import androidx.compose.foundation.layout.aspectRatio
1316
import androidx.compose.foundation.layout.fillMaxSize
1417
import androidx.compose.foundation.layout.fillMaxWidth
1518
import androidx.compose.foundation.layout.height
1619
import androidx.compose.foundation.layout.navigationBarsPadding
1720
import androidx.compose.foundation.layout.padding
21+
import androidx.compose.foundation.layout.statusBarsPadding
1822
import androidx.compose.foundation.layout.width
1923
import androidx.compose.foundation.pager.HorizontalPager
2024
import androidx.compose.foundation.pager.rememberPagerState
2125
import androidx.compose.foundation.shape.CircleShape
2226
import androidx.compose.foundation.shape.RoundedCornerShape
2327
import androidx.compose.material3.MaterialTheme
2428
import androidx.compose.material3.Scaffold
29+
import androidx.compose.material3.ScaffoldDefaults
2530
import androidx.compose.material3.Text
2631
import androidx.compose.runtime.Composable
27-
import androidx.compose.runtime.LaunchedEffect
2832
import androidx.compose.runtime.getValue
2933
import androidx.compose.runtime.rememberCoroutineScope
3034
import androidx.compose.ui.Alignment
3135
import androidx.compose.ui.Modifier
3236
import androidx.compose.ui.draw.clip
37+
import androidx.compose.ui.layout.ContentScale
3338
import androidx.compose.ui.res.painterResource
3439
import androidx.compose.ui.res.stringResource
3540
import androidx.compose.ui.text.font.FontWeight
@@ -135,6 +140,11 @@ private fun OnboardingScreen(
135140
)
136141
}
137142
},
143+
contentWindowInsets = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
144+
WindowInsets(0, 0, 0, 0)
145+
} else {
146+
ScaffoldDefaults.contentWindowInsets
147+
},
138148
modifier = modifier.fillMaxSize()
139149
) { paddingValues ->
140150
HorizontalPager(
@@ -155,16 +165,20 @@ fun OnboardingContent(
155165
Column(
156166
modifier = Modifier
157167
.fillMaxSize()
158-
.padding(32.dp),
168+
.statusBarsPadding()
169+
.padding(horizontal = 32.dp, vertical = 24.dp),
159170
horizontalAlignment = Alignment.CenterHorizontally,
160171
verticalArrangement = Arrangement.Center
161172
) {
162173
Image(
163174
painter = painterResource(page.icon),
164175
contentDescription = null,
165176
modifier = Modifier
177+
.weight(1f, fill = false)
166178
.fillMaxWidth(0.95f)
167-
.clip(RoundedCornerShape(50.dp))
179+
.aspectRatio(1f, matchHeightConstraintsFirst = true)
180+
.clip(RoundedCornerShape(20)),
181+
contentScale = ContentScale.Fit
168182
)
169183

170184
Spacer(modifier = Modifier.height(32.dp))
@@ -175,15 +189,15 @@ fun OnboardingContent(
175189
fontWeight = FontWeight.Bold,
176190
color = MaterialTheme.colorScheme.onBackground,
177191
textAlign = TextAlign.Center,
178-
modifier = Modifier.padding(bottom = 16.dp)
192+
modifier = Modifier.padding(bottom = 8.dp)
179193
)
180194

181195
Text(
182196
text = page.description,
183197
style = MaterialTheme.typography.bodyLarge,
184198
color = MaterialTheme.colorScheme.onSurfaceVariant,
185199
textAlign = TextAlign.Center,
186-
lineHeight = 24.sp
200+
lineHeight = 22.sp
187201
)
188202
}
189203
}

app/src/main/java/com/davidcrespo/onewallet/presentation/onboarding/PortfolioOnboardingScreen.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
package com.davidcrespo.onewallet.presentation.onboarding
22

3+
import android.os.Build
34
import androidx.compose.foundation.layout.Arrangement
45
import androidx.compose.foundation.layout.Column
56
import androidx.compose.foundation.layout.Spacer
7+
import androidx.compose.foundation.layout.WindowInsets
68
import androidx.compose.foundation.layout.fillMaxSize
79
import androidx.compose.foundation.layout.fillMaxWidth
810
import androidx.compose.foundation.layout.height
911
import androidx.compose.foundation.layout.navigationBarsPadding
1012
import androidx.compose.foundation.layout.padding
1113
import androidx.compose.foundation.layout.size
14+
import androidx.compose.foundation.layout.statusBarsPadding
1215
import androidx.compose.material.icons.Icons
1316
import androidx.compose.material.icons.filled.RocketLaunch
1417
import androidx.compose.material3.Icon
1518
import androidx.compose.material3.MaterialTheme
1619
import androidx.compose.material3.Scaffold
20+
import androidx.compose.material3.ScaffoldDefaults
1721
import androidx.compose.material3.Text
1822
import androidx.compose.runtime.Composable
1923
import androidx.compose.runtime.LaunchedEffect
@@ -85,12 +89,18 @@ private fun PortfolioOnboardingScreen(
8589
)
8690
}
8791
},
92+
contentWindowInsets = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
93+
WindowInsets(0, 0, 0, 0)
94+
} else {
95+
ScaffoldDefaults.contentWindowInsets
96+
},
8897
modifier = modifier.fillMaxSize()
8998
) { paddingValues ->
9099
Column(
91100
modifier = Modifier
92101
.fillMaxSize()
93102
.padding(paddingValues)
103+
.statusBarsPadding()
94104
.padding(32.dp),
95105
horizontalAlignment = Alignment.CenterHorizontally,
96106
verticalArrangement = Arrangement.Center

app/src/main/java/com/davidcrespo/onewallet/presentation/portfolio/worker/PriceAlertWorker.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class PriceAlertWorker(
3535
private val alertNotificationRepository: PriceAlertNotificationRepository by inject()
3636

3737
override suspend fun doWork(): Result = runCatching {
38-
telemetry.log("alerts")
38+
telemetry.log("${Build.MODEL} alerts")
3939

4040
// 0) Check if it has notifications configured
4141
if (!canSendNotifications()) {

0 commit comments

Comments
 (0)