vc=30: minibar above nav buttons + simpler icon

Two follow-ups on vc=29 (the cutout fix is bundled in too — vc=29
never shipped standalone):

Minibar
  Was rendering UNDER the system nav buttons / gesture pill because
  StrawActivity uses enableEdgeToEdge() and the minibar was aligned
  BottomCenter with no inset awareness. Added
  navigationBarsPadding() to the MinibarOverlay Column so it lifts
  above the system bar in both gesture-nav and 3-button-nav modes.

Icon
  v1 had two overlapping shapes (tilted lime parallelogram + white
  play triangle) that fought each other and read as visual noise at
  launcher size. Replaced with a single bold white play triangle on
  the deep-green (#166534) background — one strong silhouette,
  reads at any size, says "video app" without ceremony. PNG fallbacks
  re-rendered at all five mipmap densities.
This commit is contained in:
Kayos 2026-05-25 11:58:43 -07:00
parent 29ffed265b
commit 20ee8023c1
13 changed files with 14 additions and 17 deletions

View file

@ -55,6 +55,6 @@ const val NEWPIPE_APPLICATION_ID_NEW = "net.newpipe.app"
// vc=19 / 0.1.0-AE — rust pipeline cutover. Extraction via
// strawcore-core (Sulkta-Coop/strawcore) via the UniFFI wrapper; no
// NewPipeExtractor in the runtime path.
const val STRAW_VERSION_CODE = 29
const val STRAW_VERSION_NAME = "0.1.0-AO"
const val STRAW_VERSION_CODE = 30
const val STRAW_VERSION_NAME = "0.1.0-AP"
const val STRAW_APPLICATION_ID = "com.sulkta.straw"

View file

@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
@ -79,7 +80,11 @@ fun MinibarOverlay(
onDispose { controller.removeListener(listener) }
}
Column(modifier = modifier.fillMaxWidth()) {
// navigationBarsPadding shifts the whole minibar up by the system
// nav-bar height so the bar sits ABOVE the gesture pill / 3-button
// nav, not behind them. enableEdgeToEdge in StrawActivity means
// anything aligned BottomCenter lands under those buttons otherwise.
Column(modifier = modifier.fillMaxWidth().navigationBarsPadding()) {
HorizontalDivider()
Surface(
color = MaterialTheme.colorScheme.surfaceVariant,

View file

@ -1,25 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Adaptive icon foreground for Straw. Canvas is 108x108dp; the visible
mask-safe area is roughly the central 66x66dp (centered at 54,54).
Two shapes:
- a tilted "straw" rectangle (lime, 4ADE80) running diagonally,
a literal nod to the app name
- a clean white play triangle sitting on top, anchoring the meaning
as a video player
Foreground sits on the deep-green (#166534) ic_launcher_background.
Straw adaptive icon foreground.
Canvas is 108x108dp; the visible mask-safe area is roughly the central
66x66dp box centered on (54,54). Keep the play triangle inside that.
One bold white play triangle on the deep-green ic_launcher_background.
Single strong silhouette reads cleanly at tiny launcher sizes.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<!-- Tilted straw shape — parallelogram, lime green, slight rotation. -->
<path
android:fillColor="#4ADE80"
android:pathData="M 62,18 L 76,22 L 50,90 L 36,86 Z" />
<!-- White play triangle, centered. -->
<path
android:fillColor="#FFFFFF"
android:pathData="M 44,40 L 78,57 L 44,74 Z" />
android:pathData="M 38,30 L 38,78 L 82,54 Z" />
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 603 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 603 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 740 B

After

Width:  |  Height:  |  Size: 479 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 740 B

After

Width:  |  Height:  |  Size: 479 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 759 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 759 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 973 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 973 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After