diff --git a/app/build.gradle b/app/build.gradle index 49ddfea1..168c3709 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ plugins { id 'kotlin-parcelize' - id 'org.jetbrains.kotlin.plugin.serialization' version '1.7.20' + id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.10' id 'dagger.hilt.android.plugin' // plugin for data binding, hilt @@ -22,12 +22,12 @@ properties.load(project.rootProject.file('local.properties').newDataInputStream( android { namespace 'com.runnect.runnect' - compileSdk 33 + compileSdk 34 defaultConfig { applicationId "com.runnect.runnect" minSdk 28 - targetSdk 33 + targetSdk 34 versionCode 22 versionName "2.0.1" @@ -61,6 +61,10 @@ android { buildFeatures { buildConfig = true + compose true + } + composeOptions { + kotlinCompilerExtensionVersion '1.4.3' } buildTypes { @@ -150,8 +154,6 @@ dependencies { //recycler view selection implementation 'androidx.recyclerview:recyclerview:1.3.0' - implementation 'androidx.recyclerview:recyclerview-selection:1.1.0' - // EncryptedSharedPreferences implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03" @@ -181,16 +183,14 @@ dependencies { // When using the BoM, don't specify versions in Firebase dependencies implementation 'com.google.firebase:firebase-analytics-ktx' - //kakao share - dependencies { - //카카오 SDK 모듈 설정 - implementation "com.kakao.sdk:v2-user:2.15.0" // 카카오 로그인 - implementation "com.kakao.sdk:v2-talk:2.15.0" // 친구, 메시지(카카오톡) - implementation "com.kakao.sdk:v2-story:2.15.0" // 카카오스토리 - implementation "com.kakao.sdk:v2-link:2.9.0" // 메시지(카카오링크) - implementation "com.kakao.sdk:v2-navi:2.15.0" // 카카오내비 + //카카오 SDK + implementation "com.kakao.sdk:v2-user:2.15.0" // 카카오 로그인 + implementation "com.kakao.sdk:v2-talk:2.15.0" // 친구, 메시지(카카오톡) + implementation "com.kakao.sdk:v2-story:2.15.0" // 카카오스토리 + implementation "com.kakao.sdk:v2-link:2.9.0" // 메시지(카카오링크) + implementation "com.kakao.sdk:v2-navi:2.15.0" // 카카오내비 + - } //swipe refresh layout implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" @@ -200,4 +200,15 @@ dependencies { //firebase remote config - update dialog implementation 'com.google.firebase:firebase-config-ktx' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.2' + implementation 'androidx.activity:activity-compose:1.9.0' + implementation platform('androidx.compose:compose-bom:2023.03.00') + implementation 'androidx.compose.ui:ui' + implementation 'androidx.compose.ui:ui-graphics' + implementation 'androidx.compose.ui:ui-tooling-preview' + implementation 'androidx.compose.material3:material3' + androidTestImplementation platform('androidx.compose:compose-bom:2023.03.00') + androidTestImplementation 'androidx.compose.ui:ui-test-junit4' + debugImplementation 'androidx.compose.ui:ui-tooling' + debugImplementation 'androidx.compose.ui:ui-test-manifest' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 843ee5cb..9dab9288 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -146,6 +146,9 @@ + Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + val view = LocalView.current + if (!view.isInEditMode) { + SideEffect { + val window = (view.context as Activity).window + window.statusBarColor = colorScheme.primary.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme + } + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/presentation/composesample/ui/theme/Type.kt b/app/src/main/java/com/runnect/runnect/presentation/composesample/ui/theme/Type.kt new file mode 100644 index 00000000..e50d220c --- /dev/null +++ b/app/src/main/java/com/runnect/runnect/presentation/composesample/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package com.runnect.runnect.presentation.composesample.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailActivity.kt b/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailActivity.kt index 25c3d4d1..cf15b901 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailActivity.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailActivity.kt @@ -87,7 +87,7 @@ class CourseDetailActivity : registerBackPressedCallback() } - override fun onNewIntent(intent: Intent?) { + override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) intent?.let { newIntent -> newIntent.getCompatibleSerializableExtra(EXTRA_ROOT_SCREEN) diff --git a/build.gradle b/build.gradle index 8574c644..5167ace7 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ buildscript { } plugins { - id 'com.android.application' version '8.0.2' apply false - id 'com.android.library' version '8.0.2' apply false - id 'org.jetbrains.kotlin.android' version '1.7.20' apply false + id 'com.android.application' version '8.1.3' apply false + id 'com.android.library' version '8.1.3' apply false + id 'org.jetbrains.kotlin.android' version '1.8.10' apply false } \ No newline at end of file