feat: radar app icon (launcher + themed + notification)
Radar logo — range rings, crosshair, sweep beam, red contact blip on the dark screen. Adaptive foreground + a monochrome themed-icon layer + a matching notification small icon (was the generic system ic_menu_view). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015jgJnzMr2bdNuWcDX2xRUR
This commit is contained in:
@@ -403,7 +403,7 @@ class DetectionService : LifecycleService() {
|
|||||||
return NotificationCompat.Builder(this, CHANNEL_ID)
|
return NotificationCompat.Builder(this, CHANNEL_ID)
|
||||||
.setContentTitle(title)
|
.setContentTitle(title)
|
||||||
.setContentText(text)
|
.setContentText(text)
|
||||||
.setSmallIcon(android.R.drawable.ic_menu_view)
|
.setSmallIcon(R.drawable.ic_stat_radar)
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setContentIntent(pi)
|
.setContentIntent(pi)
|
||||||
.setCategory(NotificationCompat.CATEGORY_SERVICE)
|
.setCategory(NotificationCompat.CATEGORY_SERVICE)
|
||||||
|
|||||||
@@ -1,13 +1,76 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Radar: range rings + crosshair + sweep beam + a red contact blip. Drawn on
|
||||||
|
top of the @color/bg_dark adaptive background. -->
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:aapt="http://schemas.android.com/aapt"
|
||||||
android:width="108dp"
|
android:width="108dp"
|
||||||
android:height="108dp"
|
android:height="108dp"
|
||||||
android:viewportWidth="108"
|
android:viewportWidth="108"
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
|
|
||||||
|
<!-- lit screen glow -->
|
||||||
|
<path android:pathData="M54,54 m-36,0 a36,36 0 1,0 72,0 a36,36 0 1,0 -72,0">
|
||||||
|
<aapt:attr name="android:fillColor">
|
||||||
|
<gradient android:type="radial"
|
||||||
|
android:centerX="54" android:centerY="54" android:gradientRadius="36">
|
||||||
|
<item android:offset="0.0" android:color="#123A24" />
|
||||||
|
<item android:offset="1.0" android:color="#000B0E12" />
|
||||||
|
</gradient>
|
||||||
|
</aapt:attr>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- sweep afterglow wedge -->
|
||||||
<path
|
<path
|
||||||
|
android:pathData="M54,54 L54,19 A35,35 0 0,1 83.3,35 Z"
|
||||||
android:fillColor="#1FAA59"
|
android:fillColor="#1FAA59"
|
||||||
android:pathData="M54,30 m-18,0 a18,18 0 1,0 36,0 a18,18 0 1,0 -36,0" />
|
android:fillAlpha="0.32" />
|
||||||
|
|
||||||
|
<!-- range rings -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#F4F6FA"
|
android:pathData="M54,54 m-34,0 a34,34 0 1,0 68,0 a34,34 0 1,0 -68,0"
|
||||||
android:pathData="M54,30 m-6,0 a6,6 0 1,0 12,0 a6,6 0 1,0 -12,0" />
|
android:strokeColor="#1FAA59"
|
||||||
|
android:strokeWidth="2" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-23,0 a23,23 0 1,0 46,0 a23,23 0 1,0 -46,0"
|
||||||
|
android:strokeColor="#1FAA59"
|
||||||
|
android:strokeWidth="2"
|
||||||
|
android:strokeAlpha="0.85" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-12,0 a12,12 0 1,0 24,0 a12,12 0 1,0 -24,0"
|
||||||
|
android:strokeColor="#1FAA59"
|
||||||
|
android:strokeWidth="2"
|
||||||
|
android:strokeAlpha="0.85" />
|
||||||
|
|
||||||
|
<!-- crosshair -->
|
||||||
|
<path
|
||||||
|
android:pathData="M20,54 L88,54"
|
||||||
|
android:strokeColor="#1FAA59"
|
||||||
|
android:strokeWidth="1.4"
|
||||||
|
android:strokeAlpha="0.55" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,20 L54,88"
|
||||||
|
android:strokeColor="#1FAA59"
|
||||||
|
android:strokeWidth="1.4"
|
||||||
|
android:strokeAlpha="0.55" />
|
||||||
|
|
||||||
|
<!-- leading sweep beam -->
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 L83.3,35"
|
||||||
|
android:strokeColor="#33E38C"
|
||||||
|
android:strokeWidth="2.4"
|
||||||
|
android:strokeLineCap="round" />
|
||||||
|
|
||||||
|
<!-- contact blip -->
|
||||||
|
<path
|
||||||
|
android:pathData="M72,40 m-7,0 a7,7 0 1,0 14,0 a7,7 0 1,0 -14,0"
|
||||||
|
android:fillColor="#D7263D"
|
||||||
|
android:fillAlpha="0.22" />
|
||||||
|
<path
|
||||||
|
android:pathData="M72,40 m-3.3,0 a3.3,3.3 0 1,0 6.6,0 a3.3,3.3 0 1,0 -6.6,0"
|
||||||
|
android:fillColor="#D7263D" />
|
||||||
|
|
||||||
|
<!-- hub -->
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-2.4,0 a2.4,2.4 0 1,0 4.8,0 a2.4,2.4 0 1,0 -4.8,0"
|
||||||
|
android:fillColor="#33E38C" />
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Single-colour radar silhouette for Android 13+ themed icons (system tints it). -->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-34,0 a34,34 0 1,0 68,0 a34,34 0 1,0 -68,0"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="2.2" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-23,0 a23,23 0 1,0 46,0 a23,23 0 1,0 -46,0"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="2.2" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-12,0 a12,12 0 1,0 24,0 a12,12 0 1,0 -24,0"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="2.2" />
|
||||||
|
<path
|
||||||
|
android:pathData="M20,54 L88,54"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.8" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,20 L54,88"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.8" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 L83.3,35"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="2.6"
|
||||||
|
android:strokeLineCap="round" />
|
||||||
|
<path
|
||||||
|
android:pathData="M72,40 m-3.6,0 a3.6,3.6 0 1,0 7.2,0 a3.6,3.6 0 1,0 -7.2,0"
|
||||||
|
android:fillColor="#FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:pathData="M54,54 m-2.6,0 a2.6,2.6 0 1,0 5.2,0 a2.6,2.6 0 1,0 -5.2,0"
|
||||||
|
android:fillColor="#FFFFFF" />
|
||||||
|
</vector>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Status-bar / notification small icon. White silhouette; the system tints it. -->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M12,12 m-10,0 a10,10 0 1,0 20,0 a10,10 0 1,0 -20,0"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.4" />
|
||||||
|
<path
|
||||||
|
android:pathData="M12,12 m-5.2,0 a5.2,5.2 0 1,0 10.4,0 a5.2,5.2 0 1,0 -10.4,0"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.4" />
|
||||||
|
<path
|
||||||
|
android:pathData="M2.5,12 L21.5,12"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.1" />
|
||||||
|
<path
|
||||||
|
android:pathData="M12,2.5 L12,21.5"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.1" />
|
||||||
|
<path
|
||||||
|
android:pathData="M12,12 L20,7.5"
|
||||||
|
android:strokeColor="#FFFFFF"
|
||||||
|
android:strokeWidth="1.6"
|
||||||
|
android:strokeLineCap="round" />
|
||||||
|
<path
|
||||||
|
android:pathData="M16.4,8.9 m-1.8,0 a1.8,1.8 0 1,0 3.6,0 a1.8,1.8 0 1,0 -3.6,0"
|
||||||
|
android:fillColor="#FFFFFF" />
|
||||||
|
</vector>
|
||||||
@@ -2,4 +2,5 @@
|
|||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/bg_dark" />
|
<background android:drawable="@color/bg_dark" />
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
|
|||||||
@@ -2,4 +2,5 @@
|
|||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@color/bg_dark" />
|
<background android:drawable="@color/bg_dark" />
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
|
|||||||
Reference in New Issue
Block a user