TASK-068: app icon shows a small tea cup instead of the branch
Agent: main (opus) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4b03c52975
commit
e47ad799f1
@ -1,41 +1,46 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- App icon, front layer (TASK-061): a branch that leaves the trunk, its commits drawn as rings. It says "Git" without using Gitea's own logo. Everything stays inside the 66dp safe circle of the 108dp canvas, which is all that some launchers show -->
|
<!-- App icon, front layer (TASK-068): a small steaming tea cup, for the "tea" in Gitea. It replaces the branch drawing of TASK-061. Everything stays well inside the 66dp safe circle of the 108dp canvas -->
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="108dp"
|
android:width="108dp"
|
||||||
android:height="108dp"
|
android:height="108dp"
|
||||||
android:viewportWidth="108"
|
android:viewportWidth="108"
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
<!-- Drawn large, then brought inside the safe circle. -->
|
<!-- Drawn around (56,55), then made smaller and centred: the cup is meant to sit small, with room around it. -->
|
||||||
<group
|
<group
|
||||||
android:pivotX="54"
|
android:pivotX="56"
|
||||||
android:pivotY="54"
|
android:pivotY="55"
|
||||||
android:scaleX="0.85"
|
android:scaleX="0.9"
|
||||||
android:scaleY="0.85"
|
android:scaleY="0.9"
|
||||||
android:translateX="-2">
|
android:translateX="-2"
|
||||||
|
android:translateY="-1">
|
||||||
|
<!-- Steam -->
|
||||||
<path
|
<path
|
||||||
android:pathData="M41,74 L41,34"
|
android:pathData="M47,44 c-3,-4 3,-5.5 0,-10 M57,44 c-3,-4 3,-5.5 0,-10"
|
||||||
android:strokeColor="#FFFFFFFF"
|
android:strokeColor="#FFFFFFFF"
|
||||||
android:strokeWidth="6.5"
|
android:strokeAlpha="0.8"
|
||||||
|
android:strokeWidth="3"
|
||||||
android:strokeLineCap="round"
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#00000000" />
|
android:fillColor="#00000000" />
|
||||||
|
<!-- Handle -->
|
||||||
<path
|
<path
|
||||||
android:pathData="M41,74 C41,57 72,61 72,45"
|
android:pathData="M66,53 h2 a5.5,5.5 0 0 1 0,11 h-4"
|
||||||
android:strokeColor="#FFFFFFFF"
|
android:strokeColor="#FFFFFFFF"
|
||||||
android:strokeWidth="6.5"
|
android:strokeWidth="4"
|
||||||
android:strokeLineCap="round"
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#00000000" />
|
android:fillColor="#00000000" />
|
||||||
<!-- Each node is a ring: the outer circle with the inner one cut out of it. -->
|
<!-- Cup -->
|
||||||
<path
|
<path
|
||||||
|
android:pathData="M39,50 H65 V56 a13,13 0 0 1 -26,0 Z"
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="#FFFFFFFF"
|
||||||
android:fillType="evenOdd"
|
android:strokeColor="#FFFFFFFF"
|
||||||
android:pathData="M31.5,76 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M36.5,76 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
android:strokeWidth="3"
|
||||||
|
android:strokeLineJoin="round" />
|
||||||
|
<!-- Saucer -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFFFF"
|
android:pathData="M41,76 H63"
|
||||||
android:fillType="evenOdd"
|
android:strokeColor="#FFFFFFFF"
|
||||||
android:pathData="M31.5,32 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M36.5,32 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
android:strokeWidth="3.6"
|
||||||
<path
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="#00000000" />
|
||||||
android:fillType="evenOdd"
|
|
||||||
android:pathData="M62.5,43 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M67.5,43 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
|
||||||
</group>
|
</group>
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@ -5,37 +5,42 @@
|
|||||||
android:height="108dp"
|
android:height="108dp"
|
||||||
android:viewportWidth="108"
|
android:viewportWidth="108"
|
||||||
android:viewportHeight="108">
|
android:viewportHeight="108">
|
||||||
<!-- Drawn large, then brought inside the safe circle. -->
|
<!-- Drawn around (56,55), then made smaller and centred: the cup is meant to sit small, with room around it. -->
|
||||||
<group
|
<group
|
||||||
android:pivotX="54"
|
android:pivotX="56"
|
||||||
android:pivotY="54"
|
android:pivotY="55"
|
||||||
android:scaleX="0.85"
|
android:scaleX="0.9"
|
||||||
android:scaleY="0.85"
|
android:scaleY="0.9"
|
||||||
android:translateX="-2">
|
android:translateX="-2"
|
||||||
|
android:translateY="-1">
|
||||||
|
<!-- Steam -->
|
||||||
<path
|
<path
|
||||||
android:pathData="M41,74 L41,34"
|
android:pathData="M47,44 c-3,-4 3,-5.5 0,-10 M57,44 c-3,-4 3,-5.5 0,-10"
|
||||||
android:strokeColor="#FF000000"
|
android:strokeColor="#FF000000"
|
||||||
android:strokeWidth="6.5"
|
android:strokeAlpha="0.8"
|
||||||
|
android:strokeWidth="3"
|
||||||
android:strokeLineCap="round"
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#00000000" />
|
android:fillColor="#00000000" />
|
||||||
|
<!-- Handle -->
|
||||||
<path
|
<path
|
||||||
android:pathData="M41,74 C41,57 72,61 72,45"
|
android:pathData="M66,53 h2 a5.5,5.5 0 0 1 0,11 h-4"
|
||||||
android:strokeColor="#FF000000"
|
android:strokeColor="#FF000000"
|
||||||
android:strokeWidth="6.5"
|
android:strokeWidth="4"
|
||||||
android:strokeLineCap="round"
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#00000000" />
|
android:fillColor="#00000000" />
|
||||||
<!-- Each node is a ring: the outer circle with the inner one cut out of it. -->
|
<!-- Cup -->
|
||||||
<path
|
<path
|
||||||
|
android:pathData="M39,50 H65 V56 a13,13 0 0 1 -26,0 Z"
|
||||||
android:fillColor="#FF000000"
|
android:fillColor="#FF000000"
|
||||||
android:fillType="evenOdd"
|
android:strokeColor="#FF000000"
|
||||||
android:pathData="M31.5,76 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M36.5,76 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
android:strokeWidth="3"
|
||||||
|
android:strokeLineJoin="round" />
|
||||||
|
<!-- Saucer -->
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FF000000"
|
android:pathData="M41,76 H63"
|
||||||
android:fillType="evenOdd"
|
android:strokeColor="#FF000000"
|
||||||
android:pathData="M31.5,32 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M36.5,32 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
android:strokeWidth="3.6"
|
||||||
<path
|
android:strokeLineCap="round"
|
||||||
android:fillColor="#FF000000"
|
android:fillColor="#00000000" />
|
||||||
android:fillType="evenOdd"
|
|
||||||
android:pathData="M62.5,43 a9.5,9.5 0 1,0 19,0 a9.5,9.5 0 1,0 -19,0 Z M67.5,43 a4.5,4.5 0 1,0 9,0 a4.5,4.5 0 1,0 -9,0 Z" />
|
|
||||||
</group>
|
</group>
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@ -1491,3 +1491,11 @@ This is the append-only implementation and handoff record shared by Codex and Cl
|
|||||||
- The repository is public and the product owner chose to publish as is. The in-app update check
|
- The repository is public and the product owner chose to publish as is. The in-app update check
|
||||||
still reads the download page's `version.json` (versionCode 2), so 0.2.1 is not offered there.
|
still reads the download page's `version.json` (versionCode 2), so 0.2.1 is not offered there.
|
||||||
- Verification: the five required checks pass on the merged branch; 471 unit tests, 0 failures.
|
- Verification: the five required checks pass on the merged branch; 471 unit tests, 0 failures.
|
||||||
|
|
||||||
|
## 2026-10-12 — TASK-068: app icon shows a tea cup
|
||||||
|
|
||||||
|
- Request: the human product owner wanted a different app icon. After several rounds of sketches
|
||||||
|
they chose the current blue background with a small tea cup in place of the Git drawing.
|
||||||
|
- What changed: `ic_launcher_foreground.xml` and `ic_launcher_monochrome.xml` draw a small steaming
|
||||||
|
cup with a handle and a saucer line. The background layer is unchanged.
|
||||||
|
- Verification: the five required checks pass. Not yet seen on a device (no device was connected).
|
||||||
|
|||||||
47
tasks/068-app-icon-tea-cup.md
Normal file
47
tasks/068-app-icon-tea-cup.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# TASK-068: App icon — a small tea cup instead of the branch
|
||||||
|
|
||||||
|
Status: implemented; required checks pass; not yet seen on a device
|
||||||
|
Owner: Claude
|
||||||
|
Reviewer: human product owner
|
||||||
|
|
||||||
|
## Outcome
|
||||||
|
|
||||||
|
The app icon keeps its sky-blue background and shows a small white steaming tea cup (the "tea" in
|
||||||
|
Gitea) where the Git branch drawing was.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
- Included: the icon's front layer and its themed (monochrome) layer.
|
||||||
|
- Excluded: the background layer, the notification icon, the download page.
|
||||||
|
|
||||||
|
## Writable paths
|
||||||
|
|
||||||
|
- `app/src/main/res/drawable/ic_launcher_foreground.xml`
|
||||||
|
- `app/src/main/res/drawable/ic_launcher_monochrome.xml`
|
||||||
|
- `tasks/068-app-icon-tea-cup.md`
|
||||||
|
- `docs/development-log.md`
|
||||||
|
|
||||||
|
## Acceptance criteria
|
||||||
|
|
||||||
|
- [x] The front layer is the cup the product owner chose (option A of the sketches, 2026-10-12):
|
||||||
|
cup, handle, two wisps of steam, saucer line; no Git drawing.
|
||||||
|
- [x] The themed layer has the same shape.
|
||||||
|
- [x] The drawing stays inside the 66dp safe circle.
|
||||||
|
|
||||||
|
## Security and privacy
|
||||||
|
|
||||||
|
No additional concerns.
|
||||||
|
|
||||||
|
## Required checks
|
||||||
|
|
||||||
|
```text
|
||||||
|
./gradlew compileDebugKotlin compileDebugUnitTestKotlin testDebugUnitTest assembleDebug lintDebug
|
||||||
|
```
|
||||||
|
|
||||||
|
## Evidence
|
||||||
|
|
||||||
|
See the development log entry for TASK-068.
|
||||||
|
|
||||||
|
## Review findings
|
||||||
|
|
||||||
|
None.
|
||||||
Loading…
x
Reference in New Issue
Block a user