Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import android.hardware.SensorManager
import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
Expand All @@ -45,7 +46,10 @@ import dagger.hilt.android.AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.dark(android.graphics.Color.TRANSPARENT),
navigationBarStyle = SystemBarStyle.dark(android.graphics.Color.TRANSPARENT),
)
handleFeatureFlags()

setContent {
Expand Down
24 changes: 23 additions & 1 deletion jetpacker/android/app/src/main/res/values-night/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,27 @@
-->

<resources>
<color name="window_background">#141412</color>
<color name="window_background">#131314</color>

<!-- View-system mirror of the Compose ADS26 palette in core/ui Color.kt (dark). -->
<color name="jp_primary">#FF01AF57</color>
<color name="jp_on_primary">#FF061B0E</color>
<color name="jp_primary_container">#FF0A3D22</color>
<color name="jp_on_primary_container">#FFB9F6CA</color>
<color name="jp_secondary">#FF26C6DA</color>
<color name="jp_on_secondary">#FF052329</color>
<color name="jp_secondary_container">#FF183A9C</color>
<color name="jp_on_secondary_container">#FFD0E4FF</color>
<color name="jp_tertiary">#FF3DDC84</color>
<color name="jp_on_tertiary">#FF061B0E</color>
<color name="jp_error">#FFFF6E6E</color>
<color name="jp_on_error">#FF3B080A</color>
<color name="jp_error_container">#FF4A151B</color>
<color name="jp_surface">#FF131314</color>
<color name="jp_on_surface">#FFFFFFFF</color>
<color name="jp_surface_variant">#FF22262B</color>
<color name="jp_on_surface_variant">#FFC4C7C5</color>
<color name="jp_outline">#FF01AF57</color>
<color name="jp_outline_variant">#FF2A3038</color>
<color name="jp_surface_container">#FF1E2226</color>
</resources>
26 changes: 24 additions & 2 deletions jetpacker/android/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,27 @@
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="window_background">#FCF8E5</color>
</resources>
<color name="window_background">#131314</color>

<!-- View-system mirror of the Compose ADS26 palette in core/ui Color.kt. -->
<color name="jp_primary">#FF01AF57</color>
<color name="jp_on_primary">#FF061B0E</color>
<color name="jp_primary_container">#FF0A3D22</color>
<color name="jp_on_primary_container">#FFB9F6CA</color>
<color name="jp_secondary">#FF26C6DA</color>
<color name="jp_on_secondary">#FF052329</color>
<color name="jp_secondary_container">#FF183A9C</color>
<color name="jp_on_secondary_container">#FFD0E4FF</color>
<color name="jp_tertiary">#FF3DDC84</color>
<color name="jp_on_tertiary">#FF061B0E</color>
<color name="jp_error">#FFFF6E6E</color>
<color name="jp_on_error">#FF3B080A</color>
<color name="jp_error_container">#FF4A151B</color>
<color name="jp_surface">#FF131314</color>
<color name="jp_on_surface">#FFFFFFFF</color>
<color name="jp_surface_variant">#FF22262B</color>
<color name="jp_on_surface_variant">#FFC4C7C5</color>
<color name="jp_outline">#FF01AF57</color>
<color name="jp_outline_variant">#FF2A3038</color>
<color name="jp_surface_container">#FF1E2226</color>
</resources>
2 changes: 1 addition & 1 deletion jetpacker/android/app/src/main/res/values/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
-->

<resources>
<style name="Theme.JetPacker" parent="Theme.MaterialComponents.Light">
<style name="Theme.JetPacker" parent="Theme.MaterialComponents.NoActionBar">
<item name="windowSplashScreenBackground">@color/window_background</item>
<item name="android:windowBackground">@color/window_background</item>
</style>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,83 +16,99 @@

package com.example.jetpacker.core.ui

import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor

val primaryLight = Color(0xFF72DAEC)
val onPrimaryLight = Color(0xFFF1F2F3F)
val primaryContainerLight = Color(0xFF72DAEC)
val onPrimaryContainerLight = Color(0xFF1F2F3F)
val secondaryLight = Color(0xFF306DAC)
val onSecondaryLight = Color(0xFFEDF1FF)
val secondaryContainerLight = Color(0xFF306DAC)
val onSecondaryContainerLight = Color(0xFFEDF1FF)
val tertiaryLight = Color(0xFFFF5314)
val onTertiaryLight = Color(0xFFfcf8e5)
val tertiaryContainerLight = Color(0xFFFF5314)
val onTertiaryContainerLight = Color(0xFFfcf8e5)
val errorLight = Color(0xFFB51A25)
val onErrorLight = Color(0xFFFFFFFF)
val errorContainerLight = Color(0xFFd8373b)
val onErrorContainerLight = Color(0xFFfffbff)
val backgroundLight = Color(0xFFf6fafb)
val onBackgroundLight = Color(0xFF171c1d)
val surfaceLight = Color(0xFFFCF8E5)
val onSurfaceLight = Color(0xFF1f2f3f)
val surfaceVariantLight = Color(0xFFe6e2d7)
val onSurfaceVariantLight = Color(0xFF48473f)
val outlineLight = Color(0xFF1f2f3f)
val outlineVariantLight = Color(0xFFb0c4d8)
// Android Dev Summit brand & accent tokens
val AdsBackground = Color(0xFF131314)
val AdsGreen = Color(0xFF01AF57)
val AdsGreenBright = Color(0xFF3DDC84)
val AdsPink = Color(0xFFFDADEE)
val AdsBlue = Color(0xFF183A9C)
val AdsCyan = Color(0xFF26C6DA)
val AdsIconBadgeLight = Color(0xFFEEEEEE)
val AdsIconBadgeDark = Color(0xFF131314)

val AdsBorderBrush: Brush = SolidColor(AdsBlue)
val AdsToolbarBorderBrush: Brush = SolidColor(AdsGreen)
val AdsLoadingBorderBrush: Brush = Brush.horizontalGradient(listOf(AdsBlue, AdsGreen))
val AdsGlowColors = listOf(AdsGreen, AdsCyan, AdsBlue)

val primaryLight = Color(0xFF01AF57)
val onPrimaryLight = Color(0xFF061B0E)
val primaryContainerLight = Color(0xFF0B3820)
val onPrimaryContainerLight = Color(0xFF6FF9B4)
val secondaryLight = Color(0xFF26C6DA)
val onSecondaryLight = Color(0xFF062024)
val secondaryContainerLight = Color(0xFF102E38)
val onSecondaryContainerLight = Color(0xFF9CEFFF)
val tertiaryLight = Color(0xFF3DDC84)
val onTertiaryLight = Color(0xFF061B0E)
val tertiaryContainerLight = Color(0xFF0D3B23)
val onTertiaryContainerLight = Color(0xFF8CF5B7)
val errorLight = Color(0xFFFF897D)
val onErrorLight = Color(0xFF4C0002)
val errorContainerLight = Color(0xFF3B1518)
val onErrorContainerLight = Color(0xFFFFB4AB)
val backgroundLight = Color(0xFF131314)
val onBackgroundLight = Color(0xFFF1F3F4)
val surfaceLight = Color(0xFF131314)
val onSurfaceLight = Color(0xFFF1F3F4)
val surfaceVariantLight = Color(0xFF23272C)
val onSurfaceVariantLight = Color(0xFFA8AEB5)
val outlineLight = AdsBlue
val outlineVariantLight = Color(0xFF2C333A)
val scrimLight = Color(0xFF000000)
val inverseSurfaceLight = Color(0xFF1f2f3f)
val inverseOnSurfaceLight = Color(0xFFf4f0ed)
val inversePrimaryLight = Color(0xFF6dd5e7)
val surfaceDimLight = Color(0xFF72daec)
val surfaceBrightLight = Color(0xFF72daec)
val surfaceContainerLowestLight = Color(0xFFFFFFFF)
val surfaceContainerLowLight = Color(0xFFe8dff)
val surfaceContainerLight = Color(0xFFedf1ff)
val surfaceContainerHighLight = Color(0xFFd1dbff)
val surfaceContainerHighestLight = Color(0xFFc6d2ff)
val inverseSurfaceLight = Color(0xFFEEEEEE)
val inverseOnSurfaceLight = Color(0xFF131314)
val inversePrimaryLight = Color(0xFF006D35)
val surfaceDimLight = Color(0xFF0E0F10)
val surfaceBrightLight = Color(0xFF2C3137)
val surfaceContainerLowestLight = Color(0xFF0D0E10)
val surfaceContainerLowLight = Color(0xFF181A1D)
val surfaceContainerLight = Color(0xFF1D2024)
val surfaceContainerHighLight = Color(0xFF25292E)
val surfaceContainerHighestLight = Color(0xFF2E3339)

val primaryDark = Color(0xFF044B57)
val onPrimaryDark = Color(0xFFFAFEFF)
val primaryContainerDark = Color(0xFF72DAEC)
val onPrimaryContainerDark = Color(0xFF005f6a)
val secondaryDark = Color(0xFFa1d0ff)
val onSecondaryDark = Color(0xFF00325A)
val secondaryContainerDark = Color(0xFF306DAC)
val onSecondaryContainerDark = Color(0xFFA1D0FF)
val tertiaryDark = Color(0xFFFFB59F)
val onTertiaryDark = Color(0xFF5E1700)
val tertiaryContainerDark = Color(0xFFF47549FDC2B1)
val onTertiaryContainerDark = Color(0xFF5E1700)
val errorDark = Color(0xFFFFB3AE)
val onErrorDark = Color(0xFF68000C)
val errorContainerDark = Color(0xFFFF5353)
val onErrorContainerDark = Color(0xFF5B0009)
val backgroundDark = Color(0xFF0F1415)
val onBackgroundDark = Color(0xFFDFE3E4)
val surfaceDark = Color(0xFF3C392B)
val onSurfaceDark = Color(0xFFE6E2DF)
val surfaceVariantDark = Color(0xFF48473F)
val onSurfaceVariantDark = Color(0xFFCAC6BC)
val outlineDark = Color(0xFF939187)
val outlineVariantDark = Color(0xFF48473F)
val primaryDark = Color(0xFF01AF57)
val onPrimaryDark = Color(0xFF061B0E)
val primaryContainerDark = Color(0xFF0B3820)
val onPrimaryContainerDark = Color(0xFF6FF9B4)
val secondaryDark = Color(0xFF26C6DA)
val onSecondaryDark = Color(0xFF062024)
val secondaryContainerDark = Color(0xFF102E38)
val onSecondaryContainerDark = Color(0xFF9CEFFF)
val tertiaryDark = Color(0xFF3DDC84)
val onTertiaryDark = Color(0xFF061B0E)
val tertiaryContainerDark = Color(0xFF0D3B23)
val onTertiaryContainerDark = Color(0xFF8CF5B7)
val errorDark = Color(0xFFFF897D)
val onErrorDark = Color(0xFF4C0002)
val errorContainerDark = Color(0xFF3B1518)
val onErrorContainerDark = Color(0xFFFFB4AB)
val backgroundDark = Color(0xFF131314)
val onBackgroundDark = Color(0xFFF1F3F4)
val surfaceDark = Color(0xFF131314)
val onSurfaceDark = Color(0xFFF1F3F4)
val surfaceVariantDark = Color(0xFF23272C)
val onSurfaceVariantDark = Color(0xFFA8AEB5)
val outlineDark = AdsBlue
val outlineVariantDark = Color(0xFF2C333A)
val scrimDark = Color(0xFF000000)
val inverseSurfaceDark = Color(0xFFA2CCF7)
val inverseOnSurfaceDark = Color(0xFF31302F)
val inversePrimaryDark = Color(0xFF006875)
val surfaceDimDark = Color(0xFF121214)
val surfaceBrightDark = Color(0xFF37383a)
val surfaceContainerLowestDark = Color(0xFF0d0d0f)
val surfaceContainerLowDark = Color(0xFF1A1A1C)
val surfaceContainerDark = Color(0xFF1E1E20)
val surfaceContainerHighDark = Color(0xFF28292B)
val surfaceContainerHighestDark = Color(0xFF333436)
val inverseSurfaceDark = Color(0xFFEEEEEE)
val inverseOnSurfaceDark = Color(0xFF131314)
val inversePrimaryDark = Color(0xFF006D35)
val surfaceDimDark = Color(0xFF0E0F10)
val surfaceBrightDark = Color(0xFF2C3137)
val surfaceContainerLowestDark = Color(0xFF0D0E10)
val surfaceContainerLowDark = Color(0xFF181A1D)
val surfaceContainerDark = Color(0xFF1D2024)
val surfaceContainerHighDark = Color(0xFF25292E)
val surfaceContainerHighestDark = Color(0xFF2E3339)

// Semantic colors
val StarRatingGold = Color(0xFFFFB300)
val ShimmerPlaceholderGray = Color(0xFFE0E0E0)
val TimelineNodeBorderGreen = Color(0xFFDDF8D8)
val TimelineAudioBorderBlue = Color(0xFF299EAF)

val StarRatingGold = Color(0xFFFFC107)
val ShimmerPlaceholderGray = Color(0xFF2E3339)
val TimelineNodeBorderGreen = Color(0xFF0B3820)
val TimelineAudioBorderBlue = Color(0xFFFDADEE)
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ import androidx.compose.ui.graphics.Color
data class EventColor(val container: Color, val content: Color)

object EventColors {
val Flight = EventColor(container = Color(0xFFF3E5F5), content = Color(0xFF8523C2))
val Hotel = EventColor(container = Color(0xFFE3F2FD), content = Color(0xFF1976D2))
val Activity = EventColor(container = Color(0xFFFFF3E0), content = Color(0xFFE65100))
val Museum = EventColor(container = Color(0xFFFFF3E0), content = Color(0xFF8BC34A))
val Food = EventColor(container = Color(0xFFE8F5E9), content = Color(0xFF2E7D32))
val Shopping = EventColor(container = Color(0xFFFCE4EC), content = Color(0xFFC2185B))
val Entertainment = EventColor(container = Color(0xFFFFFDE7), content = Color(0xFFFBC02D))
val Flight = EventColor(container = Color(0xFF102A4C), content = Color(0xFF60A5FA))
val Hotel = EventColor(container = Color(0xFF0D333B), content = Color(0xFF26C6DA))
val Activity = EventColor(container = Color(0xFF0B3820), content = Color(0xFF3DDC84))
val Museum = EventColor(container = Color(0xFF12362C), content = Color(0xFF38D9A9))
val Food = EventColor(container = Color(0xFF0A3622), content = Color(0xFF01AF57))
val Shopping = EventColor(container = Color(0xFF3E1F38), content = Color(0xFFFDADEE))
val Entertainment = EventColor(container = Color(0xFF241B4B), content = Color(0xFFA78BFA))
}
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ private val LightColorScheme =

@Composable
fun JetPackerTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
darkTheme: Boolean = true,
content: @Composable () -> Unit,
) {
val colorScheme =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.jetpacker.core.ui.AdsGreen
import com.example.jetpacker.core.ui.AdsGreenBright
import com.example.jetpacker.core.ui.JetPackerTheme

@Composable
Expand All @@ -74,19 +76,18 @@ fun JetPackerExtendedFloatingActionButton(
trailingContent: @Composable (RowScope.() -> Unit)? = null,
) {
val shape = CircleShape
val inverseSurface = MaterialTheme.colorScheme.inverseSurface

Row(
modifier =
modifier
.dropShadow(shape = shape) {
radius = 0f
radius = 16.dp.toPx()
spread = 0f
offset = Offset(x = 2.dp.toPx(), y = 3.dp.toPx())
color = inverseSurface
offset = Offset(x = 0f, y = 4.dp.toPx())
color = AdsGreen.copy(alpha = 0.35f)
}
.background(MaterialTheme.colorScheme.primary, shape)
.border(1.dp, MaterialTheme.colorScheme.onSurfaceVariant, shape)
.border(1.dp, AdsGreenBright.copy(alpha = 0.45f), shape)
.clip(shape)
.padding(horizontal = 8.dp, vertical = 12.dp)
.height(IntrinsicSize.Min),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.jetpacker.core.ui.AdsToolbarBorderBrush
import com.example.jetpacker.core.ui.JetPackerTheme

@Composable
Expand All @@ -51,22 +52,22 @@ fun JetPackerFab(
icon: ImageVector,
contentDescription: String?,
modifier: Modifier = Modifier,
containerColor: Color = MaterialTheme.colorScheme.tertiary,
contentColor: Color = MaterialTheme.colorScheme.onTertiary,
containerColor: Color = MaterialTheme.colorScheme.primary,
contentColor: Color = MaterialTheme.colorScheme.onPrimary,
) {
val shape = RoundedCornerShape(16.dp)

Box(
modifier = modifier
.sizeIn(minWidth = 56.dp, minHeight = 56.dp)
.border(1.dp, MaterialTheme.colorScheme.onSurface, shape = shape)
.dropShadow(shape = shape) {
radius = 0f
radius = 12.dp.toPx()
spread = 0f
offset = Offset(x = 2.dp.toPx(), y = 3.dp.toPx())
color = Color(0xFF20290A)
offset = Offset(x = 0f, y = 4.dp.toPx())
color = Color.Black.copy(alpha = 0.5f)
}
.background(containerColor, shape)
.border(1.5.dp, AdsToolbarBorderBrush, shape = shape)
.clip(shape)
.clickable { onClick() },
contentAlignment = Alignment.Center,
Expand Down
Loading
Loading