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