fix: polish pass — dark mode, notifications, icons, edge-to-edge
- Wrap SettingsScreen in Scaffold to fix invisible text in dark mode - Fix notification showing raw ICY metadata instead of parsed track info - Add proper white-on-transparent notification icon - Create branded adaptive launcher icon (amber tower on BlueGray900) - Add edge-to-edge support with proper window inset handling - Add About section to Settings with version and app info - Enable BuildConfig generation for version display Made-with: Cursor
This commit is contained in:
10
app/src/main/res/drawable/ic_launcher_background.xml
Normal file
10
app/src/main/res/drawable/ic_launcher_background.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h108v108h-108z" />
|
||||
</vector>
|
||||
58
app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
58
app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<!-- Adaptive icon safe zone: 72dp centered in 108dp (18dp inset each side) -->
|
||||
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M52,28h4v40h-4z" />
|
||||
|
||||
<!-- Tower base / tripod -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M42,72l12,-8l12,8z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M44,72h20v3h-20z" />
|
||||
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M54,28m-3,0a3,3 0,1 1,6 0a3,3 0,1 1,-6 0" />
|
||||
|
||||
<!-- Inner broadcast waves (left) -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="2.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M42,42a12,12 0,0 1,0 -14" />
|
||||
|
||||
<!-- Inner broadcast waves (right) -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="2.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M66,42a12,12 0,0 0,0 -14" />
|
||||
|
||||
<!-- Outer broadcast waves (left) -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="2.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M34,48a22,22 0,0 1,0 -26" />
|
||||
|
||||
<!-- Outer broadcast waves (right) -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="2.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M74,48a22,22 0,0 0,0 -26" />
|
||||
</vector>
|
||||
44
app/src/main/res/drawable/ic_notification.xml
Normal file
44
app/src/main/res/drawable/ic_notification.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<!-- Radio tower with broadcast waves -->
|
||||
<!-- Tower body -->
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M11,2h2v16h-2z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M8,20l4,-4l4,4z" />
|
||||
<!-- Left wave inner -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M7.5,7.5a5,5 0,0 1,0 -5" />
|
||||
<!-- Right wave inner -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M16.5,7.5a5,5 0,0 0,0 -5" />
|
||||
<!-- Left wave outer -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M4.5,9.5a9,9 0,0 1,0 -9" />
|
||||
<!-- Right wave outer -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M19.5,9.5a9,9 0,0 0,0 -9" />
|
||||
</vector>
|
||||
5
app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
5
app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
5
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
5
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
52
app/src/main/res/mipmap-hdpi/ic_launcher.xml
Normal file
52
app/src/main/res/mipmap-hdpi/ic_launcher.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<!-- Background -->
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h48v48h-48z" />
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M22.5,10h3v22h-3z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M16,34l8,-5l8,5z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M17,34h14v2h-14z" />
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M24,10m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
|
||||
<!-- Inner waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M17,20a7,7 0,0 1,0 -8" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M31,20a7,7 0,0 0,0 -8" />
|
||||
<!-- Outer waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M12,24a13,13 0,0 1,0 -16" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M36,24a13,13 0,0 0,0 -16" />
|
||||
</vector>
|
||||
52
app/src/main/res/mipmap-mdpi/ic_launcher.xml
Normal file
52
app/src/main/res/mipmap-mdpi/ic_launcher.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<!-- Background -->
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h48v48h-48z" />
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M22.5,10h3v22h-3z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M16,34l8,-5l8,5z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M17,34h14v2h-14z" />
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M24,10m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
|
||||
<!-- Inner waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M17,20a7,7 0,0 1,0 -8" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M31,20a7,7 0,0 0,0 -8" />
|
||||
<!-- Outer waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M12,24a13,13 0,0 1,0 -16" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M36,24a13,13 0,0 0,0 -16" />
|
||||
</vector>
|
||||
52
app/src/main/res/mipmap-xhdpi/ic_launcher.xml
Normal file
52
app/src/main/res/mipmap-xhdpi/ic_launcher.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<!-- Background -->
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h48v48h-48z" />
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M22.5,10h3v22h-3z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M16,34l8,-5l8,5z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M17,34h14v2h-14z" />
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M24,10m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
|
||||
<!-- Inner waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M17,20a7,7 0,0 1,0 -8" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M31,20a7,7 0,0 0,0 -8" />
|
||||
<!-- Outer waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M12,24a13,13 0,0 1,0 -16" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M36,24a13,13 0,0 0,0 -16" />
|
||||
</vector>
|
||||
52
app/src/main/res/mipmap-xxhdpi/ic_launcher.xml
Normal file
52
app/src/main/res/mipmap-xxhdpi/ic_launcher.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<!-- Background -->
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h48v48h-48z" />
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M22.5,10h3v22h-3z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M16,34l8,-5l8,5z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M17,34h14v2h-14z" />
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M24,10m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
|
||||
<!-- Inner waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M17,20a7,7 0,0 1,0 -8" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M31,20a7,7 0,0 0,0 -8" />
|
||||
<!-- Outer waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M12,24a13,13 0,0 1,0 -16" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M36,24a13,13 0,0 0,0 -16" />
|
||||
</vector>
|
||||
52
app/src/main/res/mipmap-xxxhdpi/ic_launcher.xml
Normal file
52
app/src/main/res/mipmap-xxxhdpi/ic_launcher.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<!-- Background -->
|
||||
<path
|
||||
android:fillColor="#0D1B2A"
|
||||
android:pathData="M0,0h48v48h-48z" />
|
||||
<!-- Tower mast -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M22.5,10h3v22h-3z" />
|
||||
<!-- Tower base -->
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M16,34l8,-5l8,5z" />
|
||||
<path
|
||||
android:fillColor="#FFC107"
|
||||
android:pathData="M17,34h14v2h-14z" />
|
||||
<!-- Antenna tip -->
|
||||
<path
|
||||
android:fillColor="#FFD54F"
|
||||
android:pathData="M24,10m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
|
||||
<!-- Inner waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M17,20a7,7 0,0 1,0 -8" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC107"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M31,20a7,7 0,0 0,0 -8" />
|
||||
<!-- Outer waves -->
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M12,24a13,13 0,0 1,0 -16" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFB300"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M36,24a13,13 0,0 0,0 -16" />
|
||||
</vector>
|
||||
Reference in New Issue
Block a user