From f13bc397d4e75ef7b7049549f60146e0dd118181 Mon Sep 17 00:00:00 2001 From: Kris <40046803-KrisKS@users.noreply.gitlab.com> Date: Sun, 16 Aug 2026 19:30:09 -0400 Subject: [PATCH] Start 2.0 unified pet and meter frame --- .../today/notfeelingit/lcdpet/MainActivity.kt | 245 +++++++++--------- 1 file changed, 129 insertions(+), 116 deletions(-) diff --git a/app/src/main/java/today/notfeelingit/lcdpet/MainActivity.kt b/app/src/main/java/today/notfeelingit/lcdpet/MainActivity.kt index 11d3445..fa760df 100644 --- a/app/src/main/java/today/notfeelingit/lcdpet/MainActivity.kt +++ b/app/src/main/java/today/notfeelingit/lcdpet/MainActivity.kt @@ -3950,12 +3950,12 @@ fun Greeting(name: String, modifier: Modifier = Modifier) { val layoutScale = minOf(widthScale, heightScale) val screenPadding = (16f * layoutScale).dp - val petFrameMinHeight = (235f * layoutScale).dp - val petFrameOuterPadding = (10f * layoutScale).dp - val petFrameInnerPadding = (12f * layoutScale).dp - val meterTopPadding = (16f * layoutScale).dp - val meterSpacing = (6f * layoutScale).dp - val controlsTopSpacing = (12f * layoutScale).dp + val petFrameMinHeight = (360f * layoutScale).dp + val petFrameOuterPadding = (5f * layoutScale).dp + val petFrameInnerPadding = (6f * layoutScale).dp + val meterTopPadding = (8f * layoutScale).dp + val meterSpacing = (3f * layoutScale).dp + val controlsTopSpacing = (6f * layoutScale).dp val actionSpacing = (8f * layoutScale).dp CompositionLocalProvider(LocalContentColor provides lcdDark) { @@ -4987,6 +4987,129 @@ fun Greeting(name: String, modifier: Modifier = Modifier) { textAlign = TextAlign.Center ) } + + Spacer(modifier = Modifier.height(meterTopPadding)) + + Text( + text = "┈".repeat(28), + color = petFrameForeground, + fontFamily = FontFamily.Monospace, + textAlign = TextAlign.Center, + maxLines = 1, + softWrap = false + ) + + Spacer(modifier = Modifier.height(meterSpacing)) + + Column( + verticalArrangement = Arrangement.spacedBy(meterSpacing) + ) { + val meterLabelWidth = 120.dp + val meterBarPadding = 8.dp + + Row { + Text( + text = "Happiness", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = happinessBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + + Row { + Text( + text = "Energy", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = energyBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + + Row { + Text( + text = "Hunger", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = hungerBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + + Row { + Text( + text = "Dirtiness", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = dirtinessBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + + Row { + Text( + text = "Potty", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = pottyBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + + Row { + Text( + text = "Boredom", + modifier = Modifier.width(meterLabelWidth), + textAlign = TextAlign.End, + maxLines = 1, + softWrap = false + ) + Text( + text = boredomBar, + modifier = Modifier.padding(start = meterBarPadding), + fontFamily = FontFamily.Monospace, + maxLines = 1, + softWrap = false + ) + } + } + } if ((isSleeping && location == "Inside") || roughWakeDarkFlash) { @@ -5424,116 +5547,6 @@ fun Greeting(name: String, modifier: Modifier = Modifier) { } } - Column( - modifier = Modifier.padding(top = meterTopPadding), - verticalArrangement = Arrangement.spacedBy(meterSpacing) - ) { - val meterLabelWidth = 120.dp - val meterBarPadding = 8.dp - - Row { - Text( - text = "Happiness", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = happinessBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - - Row { - Text( - text = "Energy", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = energyBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - - Row { - Text( - text = "Hunger", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = hungerBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - - Row { - Text( - text = "Dirtiness", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = dirtinessBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - - Row { - Text( - text = "Potty", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = pottyBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - - Row { - Text( - text = "Boredom", - modifier = Modifier.width(meterLabelWidth), - textAlign = TextAlign.End, - maxLines = 1, - softWrap = false - ) - Text( - text = boredomBar, - modifier = Modifier.padding(start = meterBarPadding), - fontFamily = FontFamily.Monospace, - maxLines = 1, - softWrap = false - ) - } - } - Spacer(modifier = Modifier.height(controlsTopSpacing)) Column(