From 4b64d63d70b57d7d7e1fc9c5ad13c839923db7b9 Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 15:27:10 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[#28=20feature]=20save=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/save/.gitignore | 1 + feature/save/build.gradle.kts | 78 +++++++++++++++++++ feature/save/consumer-rules.pro | 0 feature/save/proguard-rules.pro | 21 +++++ .../feature/save/ExampleInstrumentedTest.kt | 22 ++++++ feature/save/src/main/AndroidManifest.xml | 4 + .../dorabangs/feature/save/ExampleUnitTest.kt | 16 ++++ save/.gitignore | 1 + save/build.gradle.kts | 43 ++++++++++ save/consumer-rules.pro | 0 save/proguard-rules.pro | 21 +++++ .../feature/save/ExampleInstrumentedTest.kt | 24 ++++++ save/src/main/AndroidManifest.xml | 4 + .../dorabangs/feature/save/ExampleUnitTest.kt | 17 ++++ settings.gradle.kts | 1 + 15 files changed, 253 insertions(+) create mode 100644 feature/save/.gitignore create mode 100644 feature/save/build.gradle.kts create mode 100644 feature/save/consumer-rules.pro create mode 100644 feature/save/proguard-rules.pro create mode 100644 feature/save/src/androidTest/java/com/dorabangs/feature/save/ExampleInstrumentedTest.kt create mode 100644 feature/save/src/main/AndroidManifest.xml create mode 100644 feature/save/src/test/java/com/dorabangs/feature/save/ExampleUnitTest.kt create mode 100644 save/.gitignore create mode 100644 save/build.gradle.kts create mode 100644 save/consumer-rules.pro create mode 100644 save/proguard-rules.pro create mode 100644 save/src/androidTest/java/com/mashup/dorabangs/feature/save/ExampleInstrumentedTest.kt create mode 100644 save/src/main/AndroidManifest.xml create mode 100644 save/src/test/java/com/mashup/dorabangs/feature/save/ExampleUnitTest.kt diff --git a/feature/save/.gitignore b/feature/save/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/feature/save/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/save/build.gradle.kts b/feature/save/build.gradle.kts new file mode 100644 index 00000000..cd08517c --- /dev/null +++ b/feature/save/build.gradle.kts @@ -0,0 +1,78 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.com.android.library) + alias(libs.plugins.org.jetbrains.kotlin.android) + alias(libs.plugins.hilt) + alias(libs.plugins.kotlin.kapt) +} + +android { + namespace = "com.dorabangs.feature.save" + compileSdk = 34 + + defaultConfig { + minSdk = 24 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro", + ) + } + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.4.3" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_18 + targetCompatibility = JavaVersion.VERSION_18 + } + kotlinOptions { + jvmTarget = "18" + } +} + +dependencies { + implementation(project(":domain")) + implementation(project(":core:coroutine")) + implementation(project(":core:designsystem")) + implementation(project(":core:navigation")) + + // Compose + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(platform(libs.compose.bom)) + implementation(libs.material) + implementation(libs.lifecycle.compose.ktx) + + // Test + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + androidTestImplementation(platform(libs.compose.bom)) + androidTestImplementation(libs.ui.test.junit4) + debugImplementation(libs.ui.tooling) + debugImplementation(libs.ui.test.manifest) + testImplementation(libs.junit) + + // Hilt + implementation(libs.hilt.android) + kapt(libs.hilt.compiler) + implementation(libs.hilt.navigation.compose) + + // Orbit + implementation(libs.orbit.core) + implementation(libs.orbit.viewmodel) + implementation(libs.orbit.compose) +} diff --git a/feature/save/consumer-rules.pro b/feature/save/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/feature/save/proguard-rules.pro b/feature/save/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/feature/save/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/feature/save/src/androidTest/java/com/dorabangs/feature/save/ExampleInstrumentedTest.kt b/feature/save/src/androidTest/java/com/dorabangs/feature/save/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..045506bd --- /dev/null +++ b/feature/save/src/androidTest/java/com/dorabangs/feature/save/ExampleInstrumentedTest.kt @@ -0,0 +1,22 @@ +package com.dorabangs.feature.save + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import junit.framework.TestCase.assertEquals +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.dorabangs.feature.save.test", appContext.packageName) + } +} diff --git a/feature/save/src/main/AndroidManifest.xml b/feature/save/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/feature/save/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/save/src/test/java/com/dorabangs/feature/save/ExampleUnitTest.kt b/feature/save/src/test/java/com/dorabangs/feature/save/ExampleUnitTest.kt new file mode 100644 index 00000000..e9092e9e --- /dev/null +++ b/feature/save/src/test/java/com/dorabangs/feature/save/ExampleUnitTest.kt @@ -0,0 +1,16 @@ +package com.dorabangs.feature.save + +import junit.framework.TestCase.assertEquals +import org.junit.Test + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} diff --git a/save/.gitignore b/save/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/save/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/save/build.gradle.kts b/save/build.gradle.kts new file mode 100644 index 00000000..61127e9f --- /dev/null +++ b/save/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + alias(libs.plugins.com.android.library) + alias(libs.plugins.org.jetbrains.kotlin.android) +} + +android { + namespace = "com.mashup.dorabangs.feature.save" + compileSdk = 34 + + defaultConfig { + minSdk = 24 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/save/consumer-rules.pro b/save/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/save/proguard-rules.pro b/save/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/save/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/save/src/androidTest/java/com/mashup/dorabangs/feature/save/ExampleInstrumentedTest.kt b/save/src/androidTest/java/com/mashup/dorabangs/feature/save/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..51614f40 --- /dev/null +++ b/save/src/androidTest/java/com/mashup/dorabangs/feature/save/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.mashup.dorabangs.feature.save + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.mashup.dorabangs.feature.save.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/save/src/main/AndroidManifest.xml b/save/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/save/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/save/src/test/java/com/mashup/dorabangs/feature/save/ExampleUnitTest.kt b/save/src/test/java/com/mashup/dorabangs/feature/save/ExampleUnitTest.kt new file mode 100644 index 00000000..492db8ae --- /dev/null +++ b/save/src/test/java/com/mashup/dorabangs/feature/save/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.mashup.dorabangs.feature.save + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index c1374270..dfc08aa5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,3 +23,4 @@ include(":feature:home") include(":core:coroutine") include(":core:designsystem") include(":core:navigation") +include(":feature:save") From c1aa3772ea7b8da79d161d3f578c1a16c04aa76d Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 20:38:34 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[#28=20feature]=20=ED=85=8D=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=ED=95=84=EB=93=9C=20=EB=A7=8C=EB=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/textfield/DoraTextField.kt | 128 ++++++++++++++++++ .../core/designsystem/theme/Colors.kt | 5 + .../src/main/res/values/strings.xml | 1 + 3 files changed, 134 insertions(+) create mode 100644 core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt new file mode 100644 index 00000000..dcbbccb2 --- /dev/null +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -0,0 +1,128 @@ +package com.mashup.dorabangs.core.designsystem.component.textfield + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.TextRange +import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.mashup.dorabangs.core.designsystem.R +import com.mashup.dorabangs.core.designsystem.component.snackbar.doraiconclose.CloseCircle +import com.mashup.dorabangs.core.designsystem.component.snackbar.doraiconclose.DoraIconClose +import com.mashup.dorabangs.core.designsystem.theme.ClipBoardColorTokens +import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens +import com.mashup.dorabangs.core.designsystem.theme.TextFieldColorTokens + +@Composable +fun DoraTextField( + modifier: Modifier = Modifier, + text: String = "", + hintText: String = "", +) { + var textFieldValue by remember { + mutableStateOf( + TextFieldValue( + text = text, + selection = TextRange(text.length), + ), + ) + } + + Column( + modifier = modifier + .size(width = 350.dp, height = 48.dp) + .background(TextFieldColorTokens.TextFieldBackGroundColor), + ) { + BasicTextField( + modifier = Modifier + .fillMaxHeight() + .padding(horizontal = 12.dp, vertical = 13.dp), + value = textFieldValue, + singleLine = true, + textStyle = DoraTypoTokens.caption1Medium, + onValueChange = { + textFieldValue = it + }, + decorationBox = { innerTextField -> + Box( + modifier = Modifier.width(326.dp), + contentAlignment = Alignment.CenterStart, + ) { + if (textFieldValue.text.isBlank()) { + Text( + modifier = Modifier.fillMaxWidth(), + text = hintText, + maxLines = 1, + color = TextFieldColorTokens.TextFieldHintTextColor, + style = DoraTypoTokens.caption1Medium, + textAlign = TextAlign.Start, + ) + } else { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, // 양끝 배치 + ) { + Box( + modifier = Modifier.weight(1f), // innerTextField가 가로로 확장되지 않도록 설정 + ) { + innerTextField() + } + Spacer(modifier = Modifier.width(width = 4.dp)) + IconButton( + modifier = Modifier.size(size = 24.dp), + onClick = { textFieldValue = TextFieldValue("") }, + ) { + Icon( + imageVector = DoraIconClose.CloseCircle, + contentDescription = stringResource(id = R.string.url_text_clear), + tint = ClipBoardColorTokens.UrlLinkSubColor1, + ) + } + } + } + } + }, + ) + } +} + +@Composable +@Preview +fun DoraTextFieldPreview() { + DoraTextField( + text = "테스트용 이다 어쩔래 ? ? ? asogihasio gasiofhgaioshgioashgaosighoasihg", + hintText = "URL을 입력해주세요.", + ) +} + +@Composable +@Preview +fun DoraTextFieldPreviewWithHint() { + DoraTextField( + text = "", + hintText = "URL을 입력해주세요.", + ) +} diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt index ee33d1e7..01058da0 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt @@ -40,6 +40,11 @@ object ClipBoardColorTokens { val ArrowColor = DoraColorTokens.G3 } +object TextFieldColorTokens { + val TextFieldBackGroundColor = DoraColorTokens.G1 + val TextFieldHintTextColor = DoraColorTokens.G4 +} + object TopBarColorTokens { val isDarkMode = false // 임시 다크모드 체크 val ContainerColor diff --git a/core/designsystem/src/main/res/values/strings.xml b/core/designsystem/src/main/res/values/strings.xml index 4b37ce2c..6e6bf29a 100644 --- a/core/designsystem/src/main/res/values/strings.xml +++ b/core/designsystem/src/main/res/values/strings.xml @@ -4,4 +4,5 @@ 보관함 클립보드에 복사한 링크 저장 스낵바 취소 + url 모두 지우기 \ No newline at end of file From ae84283d191c4c91c5d38257001817fdb04f7abb Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 20:52:13 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[#28=20feature]=20=EB=9D=BC=EB=B2=A8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/textfield/DoraLabel.kt | 20 +++ .../component/textfield/DoraTextField.kt | 118 ++++++++++-------- .../core/designsystem/theme/Colors.kt | 5 + .../{DorabansTheme.kt => DorabangsTheme.kt} | 0 4 files changed, 91 insertions(+), 52 deletions(-) create mode 100644 core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt rename core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/{DorabansTheme.kt => DorabangsTheme.kt} (100%) diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt new file mode 100644 index 00000000..a1ea2bb1 --- /dev/null +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt @@ -0,0 +1,20 @@ +package com.mashup.dorabangs.core.designsystem.component.textfield + +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens +import com.mashup.dorabangs.core.designsystem.theme.LabelColorTokens + +@Composable +fun DoraLabel( + labelText: String, + modifier: Modifier = Modifier, +) { + Text( + modifier = modifier, + text = labelText, + style = DoraTypoTokens.caption1Medium, + color = LabelColorTokens.LabelColor, + ) +} \ No newline at end of file diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index dcbbccb2..4378d720 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width @@ -22,6 +23,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue @@ -31,15 +33,16 @@ import androidx.compose.ui.unit.dp import com.mashup.dorabangs.core.designsystem.R import com.mashup.dorabangs.core.designsystem.component.snackbar.doraiconclose.CloseCircle import com.mashup.dorabangs.core.designsystem.component.snackbar.doraiconclose.DoraIconClose -import com.mashup.dorabangs.core.designsystem.theme.ClipBoardColorTokens +import com.mashup.dorabangs.core.designsystem.theme.DoraRoundTokens import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens import com.mashup.dorabangs.core.designsystem.theme.TextFieldColorTokens @Composable fun DoraTextField( + text: String, + hintText: String, + labelText: String, modifier: Modifier = Modifier, - text: String = "", - hintText: String = "", ) { var textFieldValue by remember { mutableStateOf( @@ -51,62 +54,71 @@ fun DoraTextField( } Column( - modifier = modifier - .size(width = 350.dp, height = 48.dp) - .background(TextFieldColorTokens.TextFieldBackGroundColor), + modifier = modifier.padding(horizontal = 20.dp) ) { - BasicTextField( + DoraLabel(labelText = labelText) + Spacer(modifier = Modifier.height(height = 8.dp)) + Column( modifier = Modifier - .fillMaxHeight() - .padding(horizontal = 12.dp, vertical = 13.dp), - value = textFieldValue, - singleLine = true, - textStyle = DoraTypoTokens.caption1Medium, - onValueChange = { - textFieldValue = it - }, - decorationBox = { innerTextField -> - Box( - modifier = Modifier.width(326.dp), - contentAlignment = Alignment.CenterStart, - ) { - if (textFieldValue.text.isBlank()) { - Text( - modifier = Modifier.fillMaxWidth(), - text = hintText, - maxLines = 1, - color = TextFieldColorTokens.TextFieldHintTextColor, - style = DoraTypoTokens.caption1Medium, - textAlign = TextAlign.Start, - ) - } else { - Row( - modifier = Modifier.fillMaxWidth(), - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.SpaceBetween, // 양끝 배치 - ) { - Box( - modifier = Modifier.weight(1f), // innerTextField가 가로로 확장되지 않도록 설정 + .size(width = 350.dp, height = 48.dp) + .clip(DoraRoundTokens.Round8) + .background(TextFieldColorTokens.TextFieldBackGroundColor), + ) { + BasicTextField( + modifier = Modifier + .fillMaxHeight() + .padding(horizontal = 12.dp, vertical = 13.dp), + value = textFieldValue, + singleLine = true, + textStyle = DoraTypoTokens.caption1Medium, + onValueChange = { + textFieldValue = it + }, + decorationBox = { innerTextField -> + Box( + modifier = Modifier.width(326.dp), + contentAlignment = Alignment.CenterStart, + ) { + if (textFieldValue.text.isBlank()) { + Text( + modifier = Modifier.fillMaxWidth(), + text = hintText, + maxLines = 1, + color = TextFieldColorTokens.TextFieldHintTextColor, + style = DoraTypoTokens.caption1Medium, + textAlign = TextAlign.Start, + ) + } else { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, // 양끝 배치 ) { - innerTextField() - } - Spacer(modifier = Modifier.width(width = 4.dp)) - IconButton( - modifier = Modifier.size(size = 24.dp), - onClick = { textFieldValue = TextFieldValue("") }, - ) { - Icon( - imageVector = DoraIconClose.CloseCircle, - contentDescription = stringResource(id = R.string.url_text_clear), - tint = ClipBoardColorTokens.UrlLinkSubColor1, - ) + Box( + modifier = Modifier.weight(1f), // innerTextField가 가로로 확장되지 않도록 설정 + ) { + innerTextField() + } + Spacer(modifier = Modifier.width(width = 4.dp)) + IconButton( + modifier = Modifier.size(size = 24.dp), + onClick = { textFieldValue = TextFieldValue("") }, + ) { + Icon( + imageVector = DoraIconClose.CloseCircle, + contentDescription = stringResource(id = R.string.url_text_clear), + tint = TextFieldColorTokens.TextFieldClearButtonColor, + ) + } } } } - } - }, - ) + }, + ) + } } + + } @Composable @@ -115,6 +127,7 @@ fun DoraTextFieldPreview() { DoraTextField( text = "테스트용 이다 어쩔래 ? ? ? asogihasio gasiofhgaioshgioashgaosighoasihg", hintText = "URL을 입력해주세요.", + labelText = "바보", ) } @@ -124,5 +137,6 @@ fun DoraTextFieldPreviewWithHint() { DoraTextField( text = "", hintText = "URL을 입력해주세요.", + labelText = "링크", ) } diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt index 01058da0..1ca186ee 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt @@ -43,6 +43,11 @@ object ClipBoardColorTokens { object TextFieldColorTokens { val TextFieldBackGroundColor = DoraColorTokens.G1 val TextFieldHintTextColor = DoraColorTokens.G4 + val TextFieldClearButtonColor = DoraColorTokens.G4 +} + +object LabelColorTokens { + val LabelColor = DoraColorTokens.G9 } object TopBarColorTokens { diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/DorabansTheme.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/DorabangsTheme.kt similarity index 100% rename from core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/DorabansTheme.kt rename to core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/DorabangsTheme.kt From 41a3b8502d1d97f921ca3cc5613e7525697bf440 Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 20:57:39 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[#28=20feature]=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/textfield/DoraErrorLabel.kt | 20 +++++++++++++++++++ .../component/textfield/DoraLabel.kt | 2 +- .../component/textfield/DoraTextField.kt | 10 +++++++--- .../core/designsystem/theme/Colors.kt | 4 ++++ 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt new file mode 100644 index 00000000..f87ac7eb --- /dev/null +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt @@ -0,0 +1,20 @@ +package com.mashup.dorabangs.core.designsystem.component.textfield + +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens +import com.mashup.dorabangs.core.designsystem.theme.ErrorLabelColorTokens + +@Composable +fun DoraErrorLabel( + errorText: String, + modifier: Modifier = Modifier, +) { + Text( + modifier = modifier, + text = errorText, + color = ErrorLabelColorTokens.LabelColor, + style = DoraTypoTokens.SMedium, + ) +} diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt index a1ea2bb1..46ad655c 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt @@ -17,4 +17,4 @@ fun DoraLabel( style = DoraTypoTokens.caption1Medium, color = LabelColorTokens.LabelColor, ) -} \ No newline at end of file +} diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index 4378d720..6bb2a7c4 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -43,6 +43,7 @@ fun DoraTextField( hintText: String, labelText: String, modifier: Modifier = Modifier, + errorText: String = "", ) { var textFieldValue by remember { mutableStateOf( @@ -54,7 +55,7 @@ fun DoraTextField( } Column( - modifier = modifier.padding(horizontal = 20.dp) + modifier = modifier.padding(horizontal = 20.dp), ) { DoraLabel(labelText = labelText) Spacer(modifier = Modifier.height(height = 8.dp)) @@ -116,9 +117,11 @@ fun DoraTextField( }, ) } + Spacer(modifier = Modifier.height(height = 8.dp)) + if (errorText.isNotBlank()) { + DoraErrorLabel(errorText = errorText) + } } - - } @Composable @@ -128,6 +131,7 @@ fun DoraTextFieldPreview() { text = "테스트용 이다 어쩔래 ? ? ? asogihasio gasiofhgaioshgioashgaosighoasihg", hintText = "URL을 입력해주세요.", labelText = "바보", + errorText = "유효한 링크를 입력해주세요.", ) } diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt index 1ca186ee..d817a847 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt @@ -50,6 +50,10 @@ object LabelColorTokens { val LabelColor = DoraColorTokens.G9 } +object ErrorLabelColorTokens { + val LabelColor = DoraColorTokens.Alert +} + object TopBarColorTokens { val isDarkMode = false // 임시 다크모드 체크 val ContainerColor From 1405166b240c009f8662815f2a9a499d82826ea4 Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 20:58:38 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[#28=20feature]=20short=20preview=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/textfield/DoraTextField.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index 6bb2a7c4..0b264379 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -126,7 +126,7 @@ fun DoraTextField( @Composable @Preview -fun DoraTextFieldPreview() { +fun DoraTextFieldLongPreview() { DoraTextField( text = "테스트용 이다 어쩔래 ? ? ? asogihasio gasiofhgaioshgioashgaosighoasihg", hintText = "URL을 입력해주세요.", @@ -135,6 +135,17 @@ fun DoraTextFieldPreview() { ) } +@Composable +@Preview +fun DoraTextFieldShortPreview() { + DoraTextField( + text = "테스트용 이다 어쩔래 ? ? ?", + hintText = "URL을 입력해주세요.", + labelText = "바보", + errorText = "유효한 링크를 입력해주세요.", + ) +} + @Composable @Preview fun DoraTextFieldPreviewWithHint() { From e5d91738e3c50205c347749cf1d822d85d7edc82 Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 21:01:46 +0900 Subject: [PATCH 6/9] =?UTF-8?q?[#28=20feature]=20focus=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designsystem/component/textfield/DoraTextField.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index 0b264379..183c9534 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -17,6 +17,7 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -24,6 +25,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue @@ -53,6 +56,10 @@ fun DoraTextField( ), ) } + val focusRequester = remember { FocusRequester() } + LaunchedEffect(key1 = Unit) { + focusRequester.requestFocus() + } Column( modifier = modifier.padding(horizontal = 20.dp), @@ -67,6 +74,7 @@ fun DoraTextField( ) { BasicTextField( modifier = Modifier + .focusRequester(focusRequester) .fillMaxHeight() .padding(horizontal = 12.dp, vertical = 13.dp), value = textFieldValue, From 7626d3150768e1fc7a9114a3fcde0b2cf2d80a62 Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 21:22:22 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[#28=20refactoring]=20=EB=A6=AC=EB=B7=B0=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designsystem/component/textfield/DoraTextField.kt | 10 +++++----- .../{DoraErrorLabel.kt => DoraTextFieldErrorLabel.kt} | 6 +++--- .../textfield/{DoraLabel.kt => DoraTextFieldLabel.kt} | 6 +++--- .../mashup/dorabangs/core/designsystem/theme/Colors.kt | 10 +++++----- core/designsystem/src/main/res/values/string.xml | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) rename core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/{DoraErrorLabel.kt => DoraTextFieldErrorLabel.kt} (72%) rename core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/{DoraLabel.kt => DoraTextFieldLabel.kt} (74%) diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index 183c9534..cb042966 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -64,13 +64,13 @@ fun DoraTextField( Column( modifier = modifier.padding(horizontal = 20.dp), ) { - DoraLabel(labelText = labelText) + DoraTextFieldLabel(labelText = labelText) Spacer(modifier = Modifier.height(height = 8.dp)) Column( modifier = Modifier .size(width = 350.dp, height = 48.dp) .clip(DoraRoundTokens.Round8) - .background(TextFieldColorTokens.TextFieldBackGroundColor), + .background(TextFieldColorTokens.BackGroundColor), ) { BasicTextField( modifier = Modifier @@ -93,7 +93,7 @@ fun DoraTextField( modifier = Modifier.fillMaxWidth(), text = hintText, maxLines = 1, - color = TextFieldColorTokens.TextFieldHintTextColor, + color = TextFieldColorTokens.HintTextColor, style = DoraTypoTokens.caption1Medium, textAlign = TextAlign.Start, ) @@ -116,7 +116,7 @@ fun DoraTextField( Icon( imageVector = DoraIconClose.CloseCircle, contentDescription = stringResource(id = R.string.url_text_clear), - tint = TextFieldColorTokens.TextFieldClearButtonColor, + tint = TextFieldColorTokens.ClearButtonColor, ) } } @@ -127,7 +127,7 @@ fun DoraTextField( } Spacer(modifier = Modifier.height(height = 8.dp)) if (errorText.isNotBlank()) { - DoraErrorLabel(errorText = errorText) + DoraTextFieldErrorLabel(errorText = errorText) } } } diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldErrorLabel.kt similarity index 72% rename from core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt rename to core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldErrorLabel.kt index f87ac7eb..13db38b3 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraErrorLabel.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldErrorLabel.kt @@ -4,17 +4,17 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens -import com.mashup.dorabangs.core.designsystem.theme.ErrorLabelColorTokens +import com.mashup.dorabangs.core.designsystem.theme.TextFieldErrorLabelColorTokens @Composable -fun DoraErrorLabel( +fun DoraTextFieldErrorLabel( errorText: String, modifier: Modifier = Modifier, ) { Text( modifier = modifier, text = errorText, - color = ErrorLabelColorTokens.LabelColor, + color = TextFieldErrorLabelColorTokens.LabelColor, style = DoraTypoTokens.SMedium, ) } diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldLabel.kt similarity index 74% rename from core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt rename to core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldLabel.kt index 46ad655c..3134e964 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraLabel.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextFieldLabel.kt @@ -4,10 +4,10 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.mashup.dorabangs.core.designsystem.theme.DoraTypoTokens -import com.mashup.dorabangs.core.designsystem.theme.LabelColorTokens +import com.mashup.dorabangs.core.designsystem.theme.TextFieldLabelColorTokens @Composable -fun DoraLabel( +fun DoraTextFieldLabel( labelText: String, modifier: Modifier = Modifier, ) { @@ -15,6 +15,6 @@ fun DoraLabel( modifier = modifier, text = labelText, style = DoraTypoTokens.caption1Medium, - color = LabelColorTokens.LabelColor, + color = TextFieldLabelColorTokens.LabelColor, ) } diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt index 4a8fe1e5..31ab3b06 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/theme/Colors.kt @@ -44,16 +44,16 @@ object ClipBoardColorTokens { } object TextFieldColorTokens { - val TextFieldBackGroundColor = DoraColorTokens.G1 - val TextFieldHintTextColor = DoraColorTokens.G4 - val TextFieldClearButtonColor = DoraColorTokens.G4 + val BackGroundColor = DoraColorTokens.G1 + val HintTextColor = DoraColorTokens.G4 + val ClearButtonColor = DoraColorTokens.G4 } -object LabelColorTokens { +object TextFieldLabelColorTokens { val LabelColor = DoraColorTokens.G9 } -object ErrorLabelColorTokens { +object TextFieldErrorLabelColorTokens { val LabelColor = DoraColorTokens.Alert } diff --git a/core/designsystem/src/main/res/values/string.xml b/core/designsystem/src/main/res/values/string.xml index 7ef84878..76420138 100644 --- a/core/designsystem/src/main/res/values/string.xml +++ b/core/designsystem/src/main/res/values/string.xml @@ -7,5 +7,5 @@ 테스트 테스트 테스트 테스트 클립보드에 복사한 링크 저장 스낵바 취소 - url 모두 지우기 + url 모두 지우기 \ No newline at end of file From 072316eae5182ae211df136b59f1666316462fae Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 21:25:32 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[#28=20refactoring]=20=EB=A6=AC=EB=B7=B0=20?= =?UTF-8?q?=EB=B0=98=EC=98=81=20v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/designsystem/component/textfield/DoraTextField.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt index cb042966..da5db593 100644 --- a/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt +++ b/core/designsystem/src/main/java/com/mashup/dorabangs/core/designsystem/component/textfield/DoraTextField.kt @@ -115,7 +115,7 @@ fun DoraTextField( ) { Icon( imageVector = DoraIconClose.CloseCircle, - contentDescription = stringResource(id = R.string.url_text_clear), + contentDescription = stringResource(id = R.string.text_field_url_text_clear), tint = TextFieldColorTokens.ClearButtonColor, ) } From 8c0544f84481610f2ac945f15b6ca2d780b225fd Mon Sep 17 00:00:00 2001 From: Ahn-seokjoo Date: Sat, 29 Jun 2024 21:27:53 +0900 Subject: [PATCH 9/9] =?UTF-8?q?build=20->=20assembleDebug=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e75fa6ad..ce034d69 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -30,4 +30,4 @@ jobs: - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle - run: ./gradlew build + run: ./gradlew assembleDebug