Skip to content

Commit 07a8505

Browse files
authored
Merge pull request #1277 from maxrave-dev/v0.2.21/library
V0.2.21: New library screen, fixed some bugs
2 parents 7b4ec68 + 858d8e3 commit 07a8505

34 files changed

Lines changed: 1094 additions & 642 deletions

File tree

app/src/main/java/com/maxrave/simpmusic/extension/UIExt.kt

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ import androidx.compose.foundation.background
1818
import androidx.compose.foundation.gestures.animateScrollBy
1919
import androidx.compose.foundation.layout.Box
2020
import androidx.compose.foundation.layout.Column
21+
import androidx.compose.foundation.layout.PaddingValues
2122
import androidx.compose.foundation.layout.Row
23+
import androidx.compose.foundation.layout.calculateEndPadding
24+
import androidx.compose.foundation.layout.calculateStartPadding
2225
import androidx.compose.foundation.layout.fillMaxWidth
2326
import androidx.compose.foundation.lazy.LazyListItemInfo
2427
import androidx.compose.foundation.lazy.LazyListState
@@ -57,9 +60,11 @@ import androidx.compose.ui.layout.onGloballyPositioned
5760
import androidx.compose.ui.platform.LocalConfiguration
5861
import androidx.compose.ui.platform.LocalContext
5962
import androidx.compose.ui.platform.LocalDensity
63+
import androidx.compose.ui.platform.LocalLayoutDirection
6064
import androidx.compose.ui.platform.LocalResources
6165
import androidx.compose.ui.platform.LocalView
6266
import androidx.compose.ui.text.TextStyle
67+
import androidx.compose.ui.unit.Dp
6368
import androidx.compose.ui.unit.IntSize
6469
import androidx.compose.ui.unit.dp
6570
import androidx.core.app.PictureInPictureModeChangedInfo
@@ -589,4 +594,20 @@ fun Modifier.drawBackdropCustomShape(
589594
height = 12.dp.toPx(),
590595
amount = 24.dp.toPx(),
591596
)
592-
}
597+
}
598+
599+
@Composable
600+
fun PaddingValues.copy(
601+
start: Dp? = null,
602+
top: Dp? = null,
603+
end: Dp? = null,
604+
bottom: Dp? = null,
605+
): PaddingValues {
606+
val layoutDirection = LocalLayoutDirection.current
607+
return PaddingValues(
608+
start = start ?: this.calculateStartPadding(layoutDirection),
609+
top = top ?: this.calculateTopPadding(),
610+
end = end ?: this.calculateEndPadding(layoutDirection),
611+
bottom = bottom ?: this.calculateBottomPadding(),
612+
)
613+
}

app/src/main/java/com/maxrave/simpmusic/ui/component/AdapterItems.kt

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import androidx.compose.foundation.layout.Box
1717
import androidx.compose.foundation.layout.Column
1818
import androidx.compose.foundation.layout.Row
1919
import androidx.compose.foundation.layout.Spacer
20+
import androidx.compose.foundation.layout.aspectRatio
2021
import androidx.compose.foundation.layout.fillMaxSize
2122
import androidx.compose.foundation.layout.fillMaxWidth
2223
import androidx.compose.foundation.layout.height
@@ -128,6 +129,7 @@ fun HomeItem(
128129
} else {
129130
Modifier
130131
},
132+
verticalAlignment = Alignment.CenterVertically,
131133
) {
132134
AnimatedVisibility(
133135
visible = (data.thumbnail?.lastOrNull() != null),
@@ -147,36 +149,32 @@ fun HomeItem(
147149
error = painterResource(R.drawable.holder),
148150
modifier =
149151
Modifier
150-
.size(45.dp)
152+
.size(36.dp)
151153
.clip(
152154
CircleShape,
153155
),
154156
)
155157
}
156158
Column(
157159
Modifier
158-
.padding(vertical = 8.dp)
159160
.padding(start = 10.dp),
160161
) {
161162
AnimatedVisibility(visible = (data.subtitle != null && data.subtitle != "")) {
162163
Text(
163164
text = data.subtitle ?: "",
164-
style = typo.bodyMedium,
165+
style = typo.bodySmall,
165166
)
166167
}
167168
Text(
168169
text = data.title,
169170
style = typo.headlineMedium,
171+
color = Color.White,
170172
maxLines = 1,
171173
modifier = Modifier.fillMaxWidth(),
172174
)
173175
}
174176
}
175177
LazyRow(
176-
modifier =
177-
Modifier.padding(
178-
vertical = 15.dp,
179-
),
180178
state = lazyListState,
181179
flingBehavior = snapperFlingBehavior,
182180
) {
@@ -281,7 +279,7 @@ fun HomeItem(
281279
fun HomeItemContentPlaylist(
282280
onClick: () -> Unit,
283281
data: HomeContentType,
284-
thumbSize: Dp = 180.dp,
282+
thumbSize: Dp = 160.dp,
285283
) {
286284
Box(
287285
Modifier
@@ -356,7 +354,7 @@ fun HomeItemContentPlaylist(
356354
Modifier
357355
.width(thumbSize)
358356
.wrapContentHeight(align = Alignment.CenterVertically)
359-
.padding(top = 10.dp)
357+
.padding(top = 8.dp)
360358
.basicMarquee(
361359
iterations = Int.MAX_VALUE,
362360
animationMode = MarqueeAnimationMode.Immediately,
@@ -402,7 +400,7 @@ fun HomeItemContentPlaylist(
402400
Modifier
403401
.width(thumbSize)
404402
.wrapContentHeight(align = Alignment.CenterVertically)
405-
.padding(top = 10.dp)
403+
.padding(top = 4.dp)
406404
.basicMarquee(
407405
iterations = Int.MAX_VALUE,
408406
animationMode = MarqueeAnimationMode.Immediately,
@@ -433,7 +431,7 @@ fun HomeItemContentPlaylist(
433431
Modifier
434432
.width(thumbSize)
435433
.wrapContentHeight(align = Alignment.CenterVertically)
436-
.padding(top = 10.dp)
434+
.padding(top = 4.dp)
437435
.basicMarquee(
438436
iterations = Int.MAX_VALUE,
439437
animationMode = MarqueeAnimationMode.Immediately,
@@ -482,15 +480,15 @@ fun QuickPicksItem(
482480
modifier =
483481
Modifier
484482
.align(Alignment.CenterVertically)
485-
.size(50.dp)
483+
.size(44.dp)
486484
.clip(
487485
RoundedCornerShape(10),
488486
),
489487
)
490488
Column(
491489
Modifier
492490
.padding(
493-
start = 20.dp,
491+
start = 16.dp,
494492
).align(Alignment.CenterVertically),
495493
verticalArrangement = Arrangement.SpaceEvenly,
496494
) {
@@ -593,7 +591,7 @@ fun HomeItemSong(
593591
modifier =
594592
Modifier
595593
.align(Alignment.CenterHorizontally)
596-
.size(180.dp)
594+
.size(160.dp)
597595
.clip(
598596
RoundedCornerShape(10.dp),
599597
),
@@ -605,7 +603,7 @@ fun HomeItemSong(
605603
maxLines = 1,
606604
modifier =
607605
Modifier
608-
.width(180.dp)
606+
.width(160.dp)
609607
.wrapContentHeight(align = Alignment.CenterVertically)
610608
.padding(top = 10.dp)
611609
.basicMarquee(
@@ -629,7 +627,7 @@ fun HomeItemSong(
629627
maxLines = 1,
630628
modifier =
631629
Modifier
632-
.width(180.dp)
630+
.width(160.dp)
633631
.wrapContentHeight(align = Alignment.CenterVertically)
634632
.basicMarquee(
635633
iterations = Int.MAX_VALUE,
@@ -644,7 +642,7 @@ fun HomeItemSong(
644642
maxLines = 1,
645643
modifier =
646644
Modifier
647-
.width(180.dp)
645+
.width(160.dp)
648646
.wrapContentHeight(align = Alignment.CenterVertically)
649647
.basicMarquee(
650648
iterations = Int.MAX_VALUE,
@@ -696,8 +694,8 @@ fun HomeItemVideo(
696694
modifier =
697695
Modifier
698696
.align(Alignment.CenterHorizontally)
699-
.width(320.dp)
700-
.height(180.dp)
697+
.height(160.dp)
698+
.aspectRatio(16f / 9f)
701699
.clip(
702700
RoundedCornerShape(10.dp),
703701
),
@@ -709,9 +707,9 @@ fun HomeItemVideo(
709707
maxLines = 1,
710708
modifier =
711709
Modifier
712-
.width(320.dp)
710+
.width(284.5.dp)
713711
.wrapContentHeight(align = Alignment.CenterVertically)
714-
.padding(top = 10.dp)
712+
.padding(top = 8.dp)
715713
.basicMarquee(
716714
iterations = Int.MAX_VALUE,
717715
animationMode = MarqueeAnimationMode.Immediately,
@@ -723,21 +721,21 @@ fun HomeItemVideo(
723721
maxLines = 1,
724722
modifier =
725723
Modifier
726-
.width(320.dp)
724+
.width(284.5.dp)
727725
.wrapContentHeight(align = Alignment.CenterVertically)
728726
.basicMarquee(
729727
iterations = Int.MAX_VALUE,
730728
animationMode = MarqueeAnimationMode.Immediately,
731729
).focusable()
732-
.padding(vertical = 3.dp),
730+
.padding(vertical = 2.dp),
733731
)
734732
Text(
735733
text = data.views ?: stringResource(id = R.string.videos),
736734
style = typo.bodySmall,
737735
maxLines = 1,
738736
modifier =
739737
Modifier
740-
.width(320.dp)
738+
.width(284.5.dp)
741739
.wrapContentHeight(align = Alignment.CenterVertically)
742740
.basicMarquee(
743741
iterations = Int.MAX_VALUE,
@@ -785,7 +783,7 @@ fun HomeItemArtist(
785783
modifier =
786784
Modifier
787785
.align(Alignment.CenterHorizontally)
788-
.size(180.dp)
786+
.size(160.dp)
789787
.clip(
790788
CircleShape,
791789
),
@@ -798,9 +796,9 @@ fun HomeItemArtist(
798796
textAlign = TextAlign.Center,
799797
modifier =
800798
Modifier
801-
.width(180.dp)
799+
.width(160.dp)
802800
.wrapContentHeight(align = Alignment.CenterVertically)
803-
.padding(top = 10.dp)
801+
.padding(top = 8.dp)
804802
.basicMarquee(
805803
iterations = Int.MAX_VALUE,
806804
animationMode = MarqueeAnimationMode.Immediately,
@@ -813,7 +811,7 @@ fun HomeItemArtist(
813811
textAlign = TextAlign.Center,
814812
modifier =
815813
Modifier
816-
.width(180.dp)
814+
.width(160.dp)
817815
.wrapContentHeight(align = Alignment.CenterVertically)
818816
.basicMarquee(
819817
iterations = Int.MAX_VALUE,
@@ -828,7 +826,7 @@ fun HomeItemArtist(
828826
textAlign = TextAlign.Center,
829827
modifier =
830828
Modifier
831-
.width(180.dp)
829+
.width(160.dp)
832830
.wrapContentHeight(align = Alignment.CenterVertically)
833831
.basicMarquee(
834832
iterations = Int.MAX_VALUE,
@@ -853,7 +851,7 @@ fun MoodMomentAndGenreHomeItem(
853851
shape = RoundedCornerShape(5.dp),
854852
modifier =
855853
Modifier
856-
.width(180.dp)
854+
.width(160.dp)
857855
.height(50.dp)
858856
.padding(8.dp),
859857
) {
@@ -1044,7 +1042,7 @@ fun ItemArtistChart(
10441042
Column(
10451043
Modifier
10461044
.padding(start = 15.dp)
1047-
.width(180.dp)
1045+
.width(160.dp)
10481046
.align(Alignment.CenterVertically),
10491047
) {
10501048
Text(
@@ -1210,19 +1208,19 @@ fun MoodAndGenresContentItem(
12101208
is Item -> (data).header
12111209
else -> ""
12121210
},
1213-
style = typo.titleLarge,
1211+
style = typo.titleMedium,
12141212
color = Color.White,
12151213
modifier =
12161214
Modifier
1215+
.padding(top = 8.dp)
12171216
.padding(
1218-
vertical = 13.dp,
12191217
horizontal = 15.dp,
12201218
).fillMaxWidth(),
12211219
)
12221220
LazyRow(
12231221
modifier =
12241222
Modifier.padding(
1225-
15.dp,
1223+
10.dp,
12261224
),
12271225
) {
12281226
val itemList =

0 commit comments

Comments
 (0)