aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-05 09:27:12 +0100
committerDanilo M. <danix@danix.xyz>2026-11-05 09:27:12 +0100
commit4d70cc87c75fca08d691b3cdfa0343c3da5710be (patch)
tree26339ab3e592b1a122516706cb18e9aaf3af8509
parent3c421d6449e30e65753b42977646f3d24f1e31ef (diff)
downloadHardenedPass-4d70cc87c75fca08d691b3cdfa0343c3da5710be.tar.gz
HardenedPass-4d70cc87c75fca08d691b3cdfa0343c3da5710be.zip
feat(app): replace the launcher icon with a HardenedPass one
The launcher still showed Password Store's icon. The new one is a shield shaped lock with a git branch cut through it, steel with an ember shackle on a dark tile. The cut is transparent, so the foreground also works without a tile on the welcome screen and in the autofill picker. The monochrome layer is the same figure. Debug builds now override only the background, in violet, and share the foreground. The density PNGs go: minSdk 26 always uses the adaptive icon. The Play Store PNGs were unused. Two lint baseline entries for those PNGs go with them. The old Play Store banner, referenced nowhere, becomes media/banner.png with the new icon and name, and heads the README. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
-rw-r--r--README.md2
-rw-r--r--TODO.md2
-rw-r--r--app/lint-baseline.xml14
-rw-r--r--app/src/debug/ic_launcher-playstore.pngbin20129 -> 0 bytes
-rw-r--r--app/src/debug/res/drawable/ic_launcher_background.xml2
-rw-r--r--app/src/debug/res/drawable/ic_launcher_foreground.xml63
-rw-r--r--app/src/debug/res/mipmap-anydpi/ic_launcher.xml10
-rw-r--r--app/src/debug/res/mipmap-hdpi/ic_launcher.pngbin4212 -> 0 bytes
-rw-r--r--app/src/debug/res/mipmap-mdpi/ic_launcher.pngbin2635 -> 0 bytes
-rw-r--r--app/src/debug/res/mipmap-xhdpi/ic_launcher.pngbin5946 -> 0 bytes
-rw-r--r--app/src/debug/res/mipmap-xxhdpi/ic_launcher.pngbin9368 -> 0 bytes
-rw-r--r--app/src/debug/res/mipmap-xxxhdpi/ic_launcher.pngbin13251 -> 0 bytes
-rw-r--r--app/src/main/ic_launcher-playstore.pngbin20843 -> 0 bytes
-rw-r--r--app/src/main/res/drawable/ic_launcher_background.xml2
-rw-r--r--app/src/main/res/drawable/ic_launcher_foreground.xml61
-rw-r--r--app/src/main/res/drawable/ic_launcher_foreground_monochrome.xml20
-rw-r--r--app/src/main/res/mipmap-hdpi/ic_launcher.pngbin4260 -> 0 bytes
-rw-r--r--app/src/main/res/mipmap-mdpi/ic_launcher.pngbin2670 -> 0 bytes
-rw-r--r--app/src/main/res/mipmap-xhdpi/ic_launcher.pngbin5999 -> 0 bytes
-rw-r--r--app/src/main/res/mipmap-xxhdpi/ic_launcher.pngbin9402 -> 0 bytes
-rw-r--r--app/src/main/res/mipmap-xxxhdpi/ic_launcher.pngbin13343 -> 0 bytes
-rw-r--r--media/banner.pngbin0 -> 47050 bytes
-rw-r--r--media/play_store_banner.pngbin373934 -> 0 bytes
23 files changed, 24 insertions, 152 deletions
diff --git a/README.md b/README.md
index e38ecf5f..1d615a9d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# HardenedPass
+![HardenedPass](media/banner.png)
+
An Android client for [pass](https://www.passwordstore.org/), the standard Unix password manager.
Passwords are stored as OpenPGP-encrypted files in a git repository, so the same store works with
`pass` on the desktop and with this app on the phone. HardenedPass aims to work flawlessly on
diff --git a/TODO.md b/TODO.md
index 4b105542..2dd6f365 100644
--- a/TODO.md
+++ b/TODO.md
@@ -4,8 +4,6 @@ Open work after 0.2.0. Remove an item in the commit that finishes it.
## Features and UI
-- Icon overhaul: the launcher icon is still Password Store's. Design a HardenedPass icon
- (adaptive icon, monochrome layer for themed icons) and replace it everywhere it appears.
- Git dialogs to Compose: the git operations' View dialogs (`BaseGitActivity`, `GitOperation`,
`CredentialFinder`, `BreakOutOfDetached`, `StoreActions`) and the `snackbar` helper still use
Material Components (Views). Moving them lets that dependency go.
diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml
index f77d22dd..6dba677d 100644
--- a/app/lint-baseline.xml
+++ b/app/lint-baseline.xml
@@ -85,20 +85,6 @@
</issue>
<issue
- id="ConvertToWebp"
- message="One or more images in this project can be converted to the WebP format which typically results in smaller file sizes, even for lossless conversion">
- <location
- file="src/debug/res/mipmap-xxxhdpi/ic_launcher.png"/>
- </issue>
-
- <issue
- id="ConvertToWebp"
- message="One or more images in this project can be converted to the WebP format which typically results in smaller file sizes, even for lossless conversion">
- <location
- file="src/main/res/mipmap-xxxhdpi/ic_launcher.png"/>
- </issue>
-
- <issue
id="SelectableText"
message="Consider making the text value selectable by specifying `android:textIsSelectable=&quot;true&quot;`"
errorLine1=" &lt;TextView"
diff --git a/app/src/debug/ic_launcher-playstore.png b/app/src/debug/ic_launcher-playstore.png
deleted file mode 100644
index d93ce3cf..00000000
--- a/app/src/debug/ic_launcher-playstore.png
+++ /dev/null
Binary files differ
diff --git a/app/src/debug/res/drawable/ic_launcher_background.xml b/app/src/debug/res/drawable/ic_launcher_background.xml
index f64ed7e3..d6bd4668 100644
--- a/app/src/debug/res/drawable/ic_launcher_background.xml
+++ b/app/src/debug/res/drawable/ic_launcher_background.xml
@@ -9,6 +9,6 @@
android:viewportWidth="432"
android:viewportHeight="432">
<path
- android:fillColor="#5E0033"
+ android:fillColor="#4B2E83"
android:pathData="M0,0h432v432h-432z" />
</vector>
diff --git a/app/src/debug/res/drawable/ic_launcher_foreground.xml b/app/src/debug/res/drawable/ic_launcher_foreground.xml
deleted file mode 100644
index 2cdef53f..00000000
--- a/app/src/debug/res/drawable/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
- android:width="108dp"
- android:height="108dp"
- android:viewportWidth="432"
- android:viewportHeight="432">
- <path android:pathData="M128.18,195.79C126.46,181.89 137.12,169.6 150.91,169.6H281.09C294.91,169.6 305.59,181.95 303.8,195.88L292.58,283.72C291.09,295.32 281.37,304 269.86,304H161.8C150.26,304 140.51,295.27 139.07,283.63L128.18,195.79Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:endX="216"
- android:endY="304"
- android:startX="216"
- android:startY="169.6"
- android:type="linear">
- <item
- android:color="#FFFFA800"
- android:offset="0" />
- <item
- android:color="#FFFF6341"
- android:offset="1" />
- </gradient>
- </aapt:attr>
- </path>
- <path android:pathData="M245.33,169.6V160C245.33,144.09 232.2,131.2 216,131.2C199.8,131.2 186.67,144.09 186.67,160V169.6H167.11V160C167.11,133.49 189,112 216,112C243,112 264.89,133.49 264.89,160V169.6H245.33Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:centerX="216"
- android:centerY="169.6"
- android:gradientRadius="33.6"
- android:type="radial">
- <item
- android:color="#FFD1004B"
- android:offset="0.24" />
- <item
- android:color="#FFFFD749"
- android:offset="0.75" />
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:fillColor="#FFD749"
- android:pathData="M245.33,169.6h19.56v38.4h-19.56z" />
- <path
- android:fillColor="#FFD749"
- android:pathData="M245.33,217.6h19.56v48h-19.56z" />
- <path
- android:fillColor="#FFD749"
- android:pathData="M239.11,205.19l13.83,13.58l-34.57,33.94l-13.83,-13.58z" />
- <path
- android:fillColor="#FFFFF0"
- android:pathData="M235.56,208a19.56,19.2 0,1 0,39.11 0a19.56,19.2 0,1 0,-39.11 0z" />
- <path
- android:fillColor="#FFFFF0"
- android:pathData="M235.56,275.2a19.56,19.2 0,1 0,39.11 0a19.56,19.2 0,1 0,-39.11 0z" />
- <path
- android:fillColor="#FFFFF0"
- android:pathData="M204.54,252.71m-13.83,-13.58a19.56,19.2 0,1 1,27.66 27.15a19.56,19.2 0,1 1,-27.66 -27.15" />
-</vector>
diff --git a/app/src/debug/res/mipmap-anydpi/ic_launcher.xml b/app/src/debug/res/mipmap-anydpi/ic_launcher.xml
deleted file mode 100644
index 22bd3428..00000000
--- a/app/src/debug/res/mipmap-anydpi/ic_launcher.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<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" />
- <monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome" />
-</adaptive-icon>
diff --git a/app/src/debug/res/mipmap-hdpi/ic_launcher.png b/app/src/debug/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index a3b28da5..00000000
--- a/app/src/debug/res/mipmap-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_launcher.png b/app/src/debug/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 0be8ba3c..00000000
--- a/app/src/debug/res/mipmap-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 02a4af49..00000000
--- a/app/src/debug/res/mipmap-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 9d32c97c..00000000
--- a/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index d7d4ef18..00000000
--- a/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
deleted file mode 100644
index 8de23a46..00000000
--- a/app/src/main/ic_launcher-playstore.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index e83fc4a3..cd894791 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -9,6 +9,6 @@
android:viewportWidth="432"
android:viewportHeight="432">
<path
- android:fillColor="#00375E"
+ android:fillColor="#2A2F38"
android:pathData="M0,0h432v432h-432z" />
</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index 550a5531..04ef7ff9 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,63 +1,18 @@
<?xml version="1.0" encoding="utf-8"?><!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
+ ~ Copyright (C) 2026 Danilo M. <danix@danix.xyz>
~ SPDX-License-Identifier: GPL-3.0-only
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
- android:viewportWidth="432"
- android:viewportHeight="432">
- <path android:pathData="M128.18,195.79C126.46,181.89 137.12,169.6 150.91,169.6H281.09C294.91,169.6 305.59,181.95 303.8,195.88L292.58,283.72C291.09,295.32 281.37,304 269.86,304H161.8C150.26,304 140.51,295.27 139.07,283.63L128.18,195.79Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:endX="216"
- android:endY="304"
- android:startX="216"
- android:startY="169.6"
- android:type="linear">
- <item
- android:color="#FF2AE9DD"
- android:offset="0" />
- <item
- android:color="#FF0BAFAF"
- android:offset="1" />
- </gradient>
- </aapt:attr>
- </path>
- <path android:pathData="M245.33,169.6V160C245.33,144.09 232.2,131.2 216,131.2C199.8,131.2 186.67,144.09 186.67,160V169.6H167.11V160C167.11,133.49 189,112 216,112C243,112 264.89,133.49 264.89,160V169.6H245.33Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:centerX="216"
- android:centerY="169.6"
- android:gradientRadius="33.6"
- android:type="radial">
- <item
- android:color="#FF0086D1"
- android:offset="0.24" />
- <item
- android:color="#FF77E7FF"
- android:offset="0.75" />
- </gradient>
- </aapt:attr>
- </path>
+ android:viewportWidth="108"
+ android:viewportHeight="108">
<path
- android:fillColor="#77E7FF"
- android:pathData="M245.33,169.6h19.56v38.4h-19.56z" />
+ android:fillColor="#FF7A45"
+ android:pathData="M39,42V36a15,15 0 0 1 30,0v6h-6V36a9,9 0 0 0 -18,0v6Z" />
<path
- android:fillColor="#77E7FF"
- android:pathData="M245.33,217.6h19.56v48h-19.56z" />
- <path
- android:fillColor="#77E7FF"
- android:pathData="M239.11,205.19l13.83,13.58l-34.57,33.94l-13.83,-13.58z" />
- <path
- android:fillColor="#D1FEFF"
- android:pathData="M235.56,208a19.56,19.2 0,1 0,39.11 0a19.56,19.2 0,1 0,-39.11 0z" />
- <path
- android:fillColor="#D1FEFF"
- android:pathData="M235.56,275.2a19.56,19.2 0,1 0,39.11 0a19.56,19.2 0,1 0,-39.11 0z" />
- <path
- android:fillColor="#D1FEFF"
- android:pathData="M204.54,252.71m-13.83,-13.58a19.56,19.2 0,1 1,27.66 27.15a19.56,19.2 0,1 1,-27.66 -27.15" />
+ android:fillColor="#B8C4CF"
+ android:fillType="evenOdd"
+ android:pathData="M32,40H76V58C76,71 66,80 54,86C42,80 32,71 32,58ZM61.800,54.233L61.800,67.767A4.6,4.6 0 1 1 58.200,67.767L58.200,58.102L50.568,62.463A4.6,4.6 0 1 1 48.782,59.337L57.932,54.109A4.6,4.6 0 1 1 61.800,54.233Z" />
</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_foreground_monochrome.xml b/app/src/main/res/drawable/ic_launcher_foreground_monochrome.xml
index 74af9a81..ce263547 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground_monochrome.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground_monochrome.xml
@@ -1,14 +1,18 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ Copyright (C) 2026 Danilo M. <danix@danix.xyz>
~ SPDX-License-Identifier: GPL-3.0-only
-->
-<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
- android:viewportWidth="108"
- android:viewportHeight="108"
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
- android:height="108dp">
+ android:height="108dp"
+ android:viewportWidth="108"
+ android:viewportHeight="108">
+ <path
+ android:fillColor="#FFFFFF"
+ android:pathData="M39,42V36a15,15 0 0 1 30,0v6h-6V36a9,9 0 0 0 -18,0v6Z" />
<path
- android:pathData="M44.556 46.3997L44.556 44.5001C44.556 39.2533 48.7844 35 54.0005 35C59.2165 35 63.4449 39.2533 63.4449 44.5001L63.4444 46.4001L66.5738 46.3997C69.2445 46.3997 71.3066 48.8438 70.9624 51.6012L68.7933 68.9857C68.5068 71.2819 66.6283 73 64.4045 73L43.5297 73C41.2994 73 39.4177 71.272 39.1389 68.9681L37.0354 51.5836C36.7024 48.8318 38.7625 46.3997 41.4263 46.3997L44.556 46.3997ZM59.6671 44.5001C59.6671 41.3521 57.1301 38.8 54.0005 38.8C50.8708 38.8 48.3338 41.3521 48.3338 44.5001L48.3338 46.3997L59.6671 46.4001L59.6667 50.7076C58.5375 51.3647 57.7778 52.5928 57.7778 53.9993C57.7778 54.0436 57.7785 54.0877 57.78 54.1316L52.765 59.1762C51.5047 58.8377 50.1043 59.1658 49.1156 60.1603C47.6403 61.6443 47.6403 64.0504 49.1156 65.5344C50.5909 67.0184 52.9829 67.0184 54.4582 65.5344C55.447 64.5397 55.7731 63.1309 55.4364 61.8631L59.6667 57.6079L59.6667 64.0078C58.5375 64.6648 57.7778 65.8929 57.7778 67.2995C57.7778 69.3982 59.4691 71.0995 61.5556 71.0995C63.642 71.0995 65.3333 69.3982 65.3333 67.2995C65.3333 65.8929 64.5736 64.6648 63.4444 64.0078L63.4444 57.291C64.5736 56.6339 65.3333 55.4059 65.3333 53.9993C65.3333 52.5928 64.5736 51.3647 63.4444 50.7076L63.4444 46.4001L59.6671 46.4001L59.6671 44.5001Z"
- android:fillColor="#FFFFFF" />
+ android:fillColor="#FFFFFF"
+ android:fillType="evenOdd"
+ android:pathData="M32,40H76V58C76,71 66,80 54,86C42,80 32,71 32,58ZM61.800,54.233L61.800,67.767A4.6,4.6 0 1 1 58.200,67.767L58.200,58.102L50.568,62.463A4.6,4.6 0 1 1 48.782,59.337L57.932,54.109A4.6,4.6 0 1 1 61.800,54.233Z" />
</vector>
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index a1133420..00000000
--- a/app/src/main/res/mipmap-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index b9e28b18..00000000
--- a/app/src/main/res/mipmap-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 353fe9c4..00000000
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 148db12b..00000000
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 2c1e2b05..00000000
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/media/banner.png b/media/banner.png
new file mode 100644
index 00000000..68d1770d
--- /dev/null
+++ b/media/banner.png
Binary files differ
diff --git a/media/play_store_banner.png b/media/play_store_banner.png
deleted file mode 100644
index 9586c075..00000000
--- a/media/play_store_banner.png
+++ /dev/null
Binary files differ