From 6d4a33e9ade6e07ad3b5ef0d864f85288c352423 Mon Sep 17 00:00:00 2001 From: shabinder Date: Mon, 8 Feb 2021 00:33:55 +0530 Subject: [PATCH] compose->build149 --- android/build.gradle.kts | 3 ++ buildSrc/buildSrc/src/main/kotlin/Versions.kt | 12 ++--- common/compose-ui/build.gradle.kts | 3 ++ .../shabinder/common/list/SpotiFlyerListUi.kt | 3 +- .../shabinder/common/main/SpotiFlyerMainUi.kt | 50 +++++++++++-------- 5 files changed, 43 insertions(+), 28 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 09047061..7f36506c 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -53,6 +53,7 @@ android { } dependencies { implementation(compose.material) + implementation(compose.materialIconsExtended) implementation(project(":common:database")) implementation(project(":common:compose-ui")) implementation(project(":common:dependency-injection")) @@ -68,9 +69,11 @@ dependencies { implementation(Koin.android) implementation(Koin.androidViewModel) + //DECOMPOSE implementation(Decompose.decompose) implementation(Decompose.extensionsCompose) + //Lifecycle Versions.androidLifecycle.let{ implementation("androidx.lifecycle:lifecycle-runtime-ktx:$it") diff --git a/buildSrc/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/buildSrc/src/main/kotlin/Versions.kt index 7915e2c9..38f0fc8f 100644 --- a/buildSrc/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/buildSrc/src/main/kotlin/Versions.kt @@ -2,20 +2,20 @@ object Versions { const val versionName = "2.2" - const val kotlinVersion = "1.4.21" + const val kotlinVersion = "1.4.30" const val coroutinesVersion = "1.4.2" - const val composeVersion = "1.0.0-alpha10" + const val composeVersion = "1.0.0-alpha11" const val coilVersion = "0.4.1" //DI const val kodein = "7.2.0" - const val koin = "3.0.0-alpha-4" + const val koin = "3.0.1-alpha-1" //Logger const val kermit = "0.1.8" //Internet - const val ktor = "1.5.0" + const val ktor = "1.5.1" const val kotlinxSerialization = "1.0.1" //Database @@ -41,7 +41,7 @@ object Androidx{ const val appCompat = "androidx.appcompat:appcompat:1.2.0" const val core = "androidx.core:core-ktx:1.5.0-beta01" const val palette = "androidx.palette:palette-ktx:1.0.0" - const val composeNavigation = "androidx.navigation:navigation-compose:1.0.0-alpha05" + const val composeNavigation = "androidx.navigation:navigation-compose:1.0.0-alpha06" const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutinesVersion}" const val junit = "androidx.test.ext:junit:1.1.2" @@ -58,7 +58,7 @@ object JetBrains { object Compose { // __LATEST_COMPOSE_RELEASE_VERSION__ - private const val VERSION = "0.3.0-build140" + private const val VERSION = "0.3.0-build149" const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION" const val materialIcon = "androidx.compose.material:material-icons-extended:${Versions.composeVersion}" } diff --git a/common/compose-ui/build.gradle.kts b/common/compose-ui/build.gradle.kts index 1c926d66..a71fbaaf 100644 --- a/common/compose-ui/build.gradle.kts +++ b/common/compose-ui/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.compose.compose + plugins { id("multiplatform-compose-setup") id("android-setup") @@ -7,6 +9,7 @@ kotlin { sourceSets { commonMain { dependencies { + implementation(compose.materialIconsExtended) implementation(project(":common:dependency-injection")) implementation(project(":common:data-models")) implementation(project(":common:database")) diff --git a/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/list/SpotiFlyerListUi.kt b/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/list/SpotiFlyerListUi.kt index c487a2cc..74f5b3aa 100644 --- a/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/list/SpotiFlyerListUi.kt +++ b/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/list/SpotiFlyerListUi.kt @@ -3,6 +3,7 @@ package com.shabinder.common.list import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.material.* import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -149,7 +150,7 @@ fun DownloadAllButton(onClick: () -> Unit, modifier: Modifier = Modifier) { ExtendedFloatingActionButton( text = { Text("Download All") }, onClick = onClick, - icon = { Icon(imageVector = DownloadAllImage(),tint = Color.Black) }, + icon = { Icon(imageVector = DownloadAllImage(),"Download All Button",tint = Color.Black) }, backgroundColor = colorAccent, modifier = modifier ) diff --git a/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/main/SpotiFlyerMainUi.kt b/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/main/SpotiFlyerMainUi.kt index 8ef2b797..b1f3f197 100644 --- a/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/main/SpotiFlyerMainUi.kt +++ b/common/compose-ui/src/commonMain/kotlin/com/shabinder/common/main/SpotiFlyerMainUi.kt @@ -3,19 +3,17 @@ package com.shabinder.common.main import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.* -import androidx.compose.material.AmbientTextStyle import androidx.compose.material.Icon -import androidx.compose.material.TabDefaults.tabIndicatorOffset +import androidx.compose.material.TabRowDefaults.tabIndicatorOffset import androidx.compose.material.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.DateRange import androidx.compose.material.icons.outlined.Info -import androidx.compose.material.icons.rounded.Edit -import androidx.compose.material.icons.rounded.Info -import androidx.compose.material.icons.rounded.Share +import androidx.compose.material.icons.rounded.* import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -99,8 +97,8 @@ fun HomeTabBar( }, icon = { when (category) { - HomeCategory.About -> Icon(Icons.Outlined.Info) - HomeCategory.History -> Icon(Icons.Outlined.DateRange) + HomeCategory.About -> Icon(Icons.Outlined.Info,"Info Tab") + HomeCategory.History -> Icon(Icons.Outlined.DateRange,"History Tab") } } ) @@ -120,24 +118,24 @@ fun SearchPanel( modifier = modifier.padding(top = 16.dp) ){ TextField( + value = link, + onValueChange = updateLink , leadingIcon = { - Icon(Icons.Rounded.Edit,tint = Color.LightGray) + Icon(Icons.Rounded.AddLink,"Link Text Box",tint = Color.LightGray) }, label = { Text(text = "Paste Link Here...",color = Color.LightGray) }, - value = link, - onValueChange = { updateLink(it) }, singleLine = true, + textStyle = LocalTextStyle.current.merge(TextStyle(fontSize = 18.sp,color = Color.White)), keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Uri), - modifier = Modifier.padding(12.dp).fillMaxWidth() + modifier = modifier.padding(12.dp).fillMaxWidth() .border( BorderStroke(2.dp, Brush.horizontalGradient(listOf(colorPrimary, colorAccent))), RoundedCornerShape(30.dp) ), backgroundColor = Color.Black, - textStyle = AmbientTextStyle.current.merge(TextStyle(fontSize = 18.sp,color = Color.White)), shape = RoundedCornerShape(size = 30.dp), activeColor = Color.Transparent, - inactiveColor = Color.Transparent + inactiveColor = Color.Transparent, ) OutlinedButton( modifier = Modifier.padding(12.dp).wrapContentWidth(), @@ -157,7 +155,8 @@ fun SearchPanel( @Composable fun AboutColumn(modifier: Modifier = Modifier) { - ScrollableColumn(modifier.fillMaxSize(),contentPadding = PaddingValues(16.dp)) { + //TODO Make Scrollable + Column(modifier.fillMaxSize()) { Card( modifier = modifier.fillMaxWidth(), border = BorderStroke(1.dp,Color.Gray) @@ -171,22 +170,30 @@ fun AboutColumn(modifier: Modifier = Modifier) { Spacer(modifier = Modifier.padding(top = 12.dp)) Row(horizontalArrangement = Arrangement.Center,modifier = modifier.fillMaxWidth()) { Icon( - imageVector = SpotifyLogo(), tint = Color.Unspecified, + imageVector = SpotifyLogo(), + "Open Spotify", + tint = Color.Unspecified, modifier = Modifier.clickable( onClick = { openPlatform("com.spotify.music","http://open.spotify.com") }) ) Spacer(modifier = modifier.padding(start = 16.dp)) - Icon(imageVector = GaanaLogo(),tint = Color.Unspecified, + Icon(imageVector = GaanaLogo(), + "Open Gaana", + tint = Color.Unspecified, modifier = Modifier.clickable( onClick = { openPlatform("com.gaana","http://gaana.com") }) ) Spacer(modifier = modifier.padding(start = 16.dp)) - Icon(imageVector = YoutubeLogo(),tint = Color.Unspecified, + Icon(imageVector = YoutubeLogo(), + "Open Youtube", + tint = Color.Unspecified, modifier = Modifier.clickable( onClick = { openPlatform("com.google.android.youtube","http://m.youtube.com") }) ) Spacer(modifier = modifier.padding(start = 12.dp)) - Icon(imageVector = YoutubeMusicLogo(),tint = Color.Unspecified, + Icon(imageVector = YoutubeMusicLogo(), + "Open Youtube Music", + tint = Color.Unspecified, modifier = Modifier.clickable( onClick = { openPlatform("com.google.android.apps.youtube.music","https://music.youtube.com/") }) ) @@ -210,7 +217,7 @@ fun AboutColumn(modifier: Modifier = Modifier) { onClick = { openPlatform("","http://github.com/Shabinder/SpotiFlyer") }) .padding(vertical = 6.dp) ) { - Icon(imageVector = GithubLogo(),tint = Color.LightGray) + Icon(imageVector = GithubLogo(),"Open Project Repo",tint = Color.LightGray) Spacer(modifier = Modifier.padding(start = 16.dp)) Column { Text( @@ -228,7 +235,7 @@ fun AboutColumn(modifier: Modifier = Modifier) { .clickable(onClick = { openPlatform("","http://github.com/Shabinder/SpotiFlyer") }), verticalAlignment = Alignment.CenterVertically ) { - Icon(Icons.Rounded.Info.copy(defaultHeight = 32.dp,defaultWidth = 32.dp)) + Icon(Icons.Rounded.Flag,"Help Translate",Modifier.preferredSize(32.dp)) Spacer(modifier = Modifier.padding(start = 16.dp)) Column { Text( @@ -337,6 +344,7 @@ fun DownloadRecordItem( } Image( imageVector = Icons.Rounded.Share, + "Share App", modifier = Modifier.clickable(onClick = { //if(!isOnline(ctx)) showDialog("Check Your Internet Connection") else onItemClicked(item.link) @@ -354,6 +362,6 @@ fun HomeCategoryTabIndicator( Spacer( modifier.padding(horizontal = 24.dp) .preferredHeight(4.dp) - .background(color, RoundedCornerShape(topLeftPercent = 100, topRightPercent = 100)) + .background(color, RoundedCornerShape(topStartPercent = 100, topEndPercent = 100)) ) } \ No newline at end of file