Skip to content

Commit

Permalink
🔀 :: (#739) 위젯 다크테마 적용
Browse files Browse the repository at this point in the history
🔀 :: (#739) 위젯 다크테마 적용
  • Loading branch information
parkuiery authored Aug 23, 2024
2 parents ca8d055 + cffa283 commit 0cd4e9a
Show file tree
Hide file tree
Showing 10 changed files with 157 additions and 143 deletions.
1 change: 1 addition & 0 deletions core/widget/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ dependencies {
kspTest(libs.hilt.compiler)

implementation(libs.androidx.glance.appwidget)
implementation(libs.androidx.glance.material3)

implementation(libs.androidx.work.runtime.ktx)

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package team.aliens.dms.android.core.widget.designsystem

import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.glance.material3.ColorProviders
import team.aliens.dms.android.core.designsystem.ErrorDarken2
import team.aliens.dms.android.core.designsystem.ErrorDefault
import team.aliens.dms.android.core.designsystem.ErrorLighten1
import team.aliens.dms.android.core.designsystem.ErrorLighten2
import team.aliens.dms.android.core.designsystem.Gray1
import team.aliens.dms.android.core.designsystem.Gray10
import team.aliens.dms.android.core.designsystem.Gray2
import team.aliens.dms.android.core.designsystem.Gray3
import team.aliens.dms.android.core.designsystem.Gray4
import team.aliens.dms.android.core.designsystem.Gray5
import team.aliens.dms.android.core.designsystem.Gray6
import team.aliens.dms.android.core.designsystem.Gray7
import team.aliens.dms.android.core.designsystem.Gray8
import team.aliens.dms.android.core.designsystem.Gray9
import team.aliens.dms.android.core.designsystem.PrimaryDarken2
import team.aliens.dms.android.core.designsystem.PrimaryDefault
import team.aliens.dms.android.core.designsystem.PrimaryLighten1
import team.aliens.dms.android.core.designsystem.PrimaryLighten2

private val LightColorScheme = lightColorScheme(
primary = PrimaryDefault,
onPrimary = Gray1,
primaryContainer = PrimaryLighten2,
onPrimaryContainer = PrimaryDarken2,
error = ErrorDefault,
onError = Gray1,
errorContainer = ErrorLighten2,
onErrorContainer = ErrorDarken2,
background = Gray2,
onBackground = Gray10,
inverseSurface = Gray7,
inverseOnSurface = Gray3,
surface = Gray1,
onSurface = Gray9,
surfaceVariant = Gray6,
onSurfaceVariant = Gray5,
)

private val DarkColorScheme = darkColorScheme(
primary = PrimaryDefault,
onPrimary = Gray1,
primaryContainer = PrimaryLighten1,
onPrimaryContainer = PrimaryDarken2,
error = ErrorDefault,
onError = Gray1,
errorContainer = ErrorLighten1,
onErrorContainer = ErrorDarken2,
background = Gray9,
onBackground = Gray1,
inverseSurface = Gray3,
inverseOnSurface = Gray7,
surface = Gray8,
onSurface = Gray2,
surfaceVariant = Gray4,
onSurfaceVariant = Gray5,
)

object DmsWidgetGlanceColorScheme {
val colors = ColorProviders(
light = LightColorScheme,
dark = DarkColorScheme,
)
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.glance.GlanceId
Expand Down Expand Up @@ -33,8 +34,8 @@ import androidx.glance.state.GlanceStateDefinition
import androidx.glance.text.FontWeight
import androidx.glance.text.Text
import androidx.glance.text.TextStyle
import team.aliens.dms.android.core.designsystem.DmsTheme
import team.aliens.dms.android.core.widget.designsystem.WidgetTheme
import team.aliens.dms.android.core.widget.R
import team.aliens.dms.android.core.widget.designsystem.DmsWidgetGlanceColorScheme

class MealGlanceWidget : GlanceAppWidget() {

Expand All @@ -43,51 +44,49 @@ class MealGlanceWidget : GlanceAppWidget() {

override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
MealWidget()
GlanceTheme(colors = DmsWidgetGlanceColorScheme.colors) {
MealWidget()
}
}
}

@Composable
internal fun MealWidget() {
val mealInfo = currentState<MealInfo>()

GlanceTheme {
when (mealInfo) {
MealInfo.Loading -> Loading()
when (val mealInfo = currentState<MealInfo>()) {
MealInfo.Loading -> Loading()

is MealInfo.Unavailable -> Unavailable()
is MealInfo.Unavailable -> Unavailable()

is MealInfo.Available -> {
when (MealType.getCurrentMealType()) {
MealType.Breakfast -> {
MealBig(
mealState = MealState(
mealType = MealType.Breakfast,
meal = mealInfo.breakfast,
calories = mealInfo.kcalOfBreakfast,
),
)
}
is MealInfo.Available -> {
when (MealType.getCurrentMealType()) {
MealType.Breakfast -> {
MealBig(
mealState = MealState(
mealType = MealType.Breakfast,
meal = mealInfo.breakfast,
calories = mealInfo.kcalOfBreakfast,
),
)
}

MealType.Launch -> {
MealBig(
mealState = MealState(
mealType = MealType.Launch,
meal = mealInfo.lunch,
calories = mealInfo.kcalOfLunch,
),
)
}
MealType.Launch -> {
MealBig(
mealState = MealState(
mealType = MealType.Launch,
meal = mealInfo.lunch,
calories = mealInfo.kcalOfLunch,
),
)
}

MealType.Dinner -> {
MealBig(
mealState = MealState(
mealType = MealType.Dinner,
meal = mealInfo.dinner,
calories = mealInfo.kcalOfDinner,
),
)
}
MealType.Dinner -> {
MealBig(
mealState = MealState(
mealType = MealType.Dinner,
meal = mealInfo.dinner,
calories = mealInfo.kcalOfDinner,
),
)
}
}
}
Expand Down Expand Up @@ -119,7 +118,7 @@ class MealGlanceWidget : GlanceAppWidget() {
horizontal = 18.dp,
vertical = 16.dp,
)
.background(DmsTheme.colorScheme.background),
.background(GlanceTheme.colors.background),
) {
Column(
modifier = GlanceModifier.fillMaxHeight(),
Expand All @@ -135,7 +134,7 @@ class MealGlanceWidget : GlanceAppWidget() {
Text(
text = mealState.mealType.title,
style = TextStyle(
color = WidgetTheme.colors.primary,
color = GlanceTheme.colors.primary,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
),
Expand All @@ -145,7 +144,7 @@ class MealGlanceWidget : GlanceAppWidget() {
Text(
text = mealState.calories,
style = TextStyle(
color = WidgetTheme.colors.onSurfaceVariant,
color = GlanceTheme.colors.onSurfaceVariant,
fontSize = 12.sp,
fontWeight = FontWeight.Normal,
),
Expand All @@ -161,7 +160,7 @@ class MealGlanceWidget : GlanceAppWidget() {
Text(
text = it,
style = TextStyle(
color = WidgetTheme.colors.surfaceVariant,
color = GlanceTheme.colors.surfaceVariant,
fontSize = 12.sp,
fontWeight = FontWeight.Normal,
),
Expand All @@ -177,13 +176,13 @@ private fun Loading() {
Box(
modifier = GlanceModifier
.fillMaxSize()
.background(DmsTheme.colorScheme.background),
.background(GlanceTheme.colors.background),
contentAlignment = Alignment.Center,
) {
Text(
text = "로딩중...",
text = stringResource(id = R.string.loading),
style = TextStyle(
color = WidgetTheme.colors.primary,
color = GlanceTheme.colors.primary,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
),
Expand All @@ -196,13 +195,13 @@ private fun Unavailable() {
Box(
modifier = GlanceModifier
.fillMaxSize()
.background(DmsTheme.colorScheme.background),
.background(GlanceTheme.colors.background),
contentAlignment = Alignment.Center,
) {
Text(
text = "급식을 불러오지 못했어요",
text = stringResource(id = R.string.can_not_bring_meal_info),
style = TextStyle(
color = WidgetTheme.colors.primary,
color = GlanceTheme.colors.primary,
fontSize = 14.sp,
fontWeight = FontWeight.Bold,
),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<corners android:radius="22dp" />
<solid android:color="#121212" />
</shape>
21 changes: 21 additions & 0 deletions core/widget/src/main/res/drawable-night/widget_big_meal.xml

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions core/widget/src/main/res/drawable/widget_big_meal.xml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions core/widget/src/main/res/values/string.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
<resources>
<string name="today_meal">급식 메뉴</string>
<string name="meal_widget_description">오늘 급식을 빠르게 확인해보세요</string>

<string name="can_not_bring_meal_info">"급식을 불러오지 못했어요"</string>
<string name="loading">로딩중...</string>
</resources>
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ org-jlleitschuh-ktlint-gradle = "11.3.1"
[libraries]
accompanist-adaptive = { module = "com.google.accompanist:accompanist-adaptive", version.ref = "accompanist" }
androidx-glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glanceAppwidget" }
androidx-glance-material3 = { module = "androidx.glance:glance-material3", version.ref = "glanceAppwidget" }
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hiltWork" }
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "hiltWork" }
androidx-window = { module = "androidx.window:window", version.ref = "androidx-window" }
Expand Down

0 comments on commit 0cd4e9a

Please sign in to comment.