Compare commits
6 Commits
8181da421e
...
1.1c
Author | SHA1 | Date | |
---|---|---|---|
6596f347a1
|
|||
a2dd009533
|
|||
4104104b16
|
|||
0d838b6209
|
|||
1d41671fb6
|
|||
84ebdcc9a8
|
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
@ -1,3 +1,4 @@
|
||||
#file: noinspection SpellCheckingInspection
|
||||
|
||||
name: CI-Android APK
|
||||
|
||||
@ -9,7 +10,7 @@ on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
tags:
|
||||
- '**'
|
||||
- '**'
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
workflow_dispatch:
|
||||
|
@ -1,3 +1,7 @@
|
||||
<!--suppress ALL -->
|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
<h1>Keepass Fidelity</h1>
|
||||
<p>A minimalist fidelity/loyalty card plugin</p>
|
||||
@ -28,6 +32,7 @@
|
||||
- Recently used history for fast access
|
||||
- Protect entries from caching
|
||||
- Minimalist design and features
|
||||
- Supported Formats:CODE_39, CODE_93, CODE_128, EAN_8, EAN_13, UPC_A, UPC_E, CODE_QR, PDF_417, AZTEC, CODABAR, DATA_MATRIX, ITF
|
||||
|
||||
## 📳 Installation
|
||||
|
||||
@ -54,7 +59,6 @@ Keepass-Fidelity is a user-driven project. We welcome any contribution, big or s
|
||||
|
||||
Thanks to all contributors, the developers of our dependencies, and our users.
|
||||
|
||||
|
||||
## 📝 License
|
||||
|
||||
```
|
||||
|
@ -19,8 +19,6 @@ android {
|
||||
resValue "string", "app_name", "Keepass Fidelity"
|
||||
minSdk 28
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
|
||||
|
||||
@ -61,21 +59,25 @@ android {
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
|
||||
dependenciesInfo {
|
||||
// Disables dependency metadata when building APKs.
|
||||
includeInApk = false
|
||||
// Disables dependency metadata when building Android App Bundles.
|
||||
includeInBundle = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
dependencies {
|
||||
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'androidx.core:core-ktx:1.12.0'
|
||||
implementation 'androidx.preference:preference-ktx:1.2.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
implementation 'androidx.camera:camera-camera2:1.3.2'
|
||||
|
||||
implementation 'androidx.camera:camera-lifecycle:1.3.2'
|
||||
implementation 'androidx.camera:camera-view:1.3.2'
|
||||
runtimeOnly 'androidx.camera:camera-camera2:1.3.2'
|
||||
|
||||
implementation 'com.google.code.gson:gson:2.10.1'
|
||||
implementation 'com.google.android.material:material:1.11.0'
|
||||
implementation 'com.google.zxing:core:3.5.3'
|
||||
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
android:versionCode="5"
|
||||
android:versionName="1.1c">
|
||||
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<application
|
||||
android:icon="@drawable/logo"
|
||||
android:icon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true">
|
||||
<activity
|
||||
|
@ -15,22 +15,40 @@ object BarcodeFormatConverter {
|
||||
"UPC_A" -> BarcodeFormat.UPC_A
|
||||
"UPC_E" -> BarcodeFormat.UPC_E
|
||||
"PDF_417" -> BarcodeFormat.PDF_417
|
||||
"AZTEC" -> BarcodeFormat.AZTEC
|
||||
"CODABAR" -> BarcodeFormat.CODABAR
|
||||
"MAXICODE" -> BarcodeFormat.MAXICODE
|
||||
"DATA_MATRIX" -> BarcodeFormat.DATA_MATRIX
|
||||
"ITF" -> BarcodeFormat.ITF
|
||||
"RSS_14" -> BarcodeFormat.RSS_14
|
||||
"RSS_EXPANDED" -> BarcodeFormat.RSS_EXPANDED
|
||||
"UPC_EAN" -> BarcodeFormat.UPC_EAN_EXTENSION
|
||||
else -> throw Exception("Unsupported Format: $f")
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fun formatToString(f: BarcodeFormat): String {
|
||||
return when (f) {
|
||||
BarcodeFormat.CODE_128 -> "CODE_128"
|
||||
BarcodeFormat.CODE_39 -> "CODE_39"
|
||||
BarcodeFormat.CODE_93 -> "CODE_93"
|
||||
BarcodeFormat.CODE_128 -> "CODE_128"
|
||||
BarcodeFormat.EAN_8 -> "EAN_8"
|
||||
BarcodeFormat.EAN_13 -> "EAN_13"
|
||||
BarcodeFormat.QR_CODE -> "CODE_QR"
|
||||
BarcodeFormat.UPC_A -> "UPC_A"
|
||||
BarcodeFormat.UPC_E -> "UPC_E"
|
||||
BarcodeFormat.PDF_417 -> "PDF_417"
|
||||
BarcodeFormat.AZTEC -> "AZTEC"
|
||||
BarcodeFormat.CODABAR -> "CODABAR"
|
||||
BarcodeFormat.MAXICODE -> "MAXICODE"
|
||||
BarcodeFormat.DATA_MATRIX -> "DATA_MATRIX"
|
||||
BarcodeFormat.ITF -> "ITF"
|
||||
BarcodeFormat.RSS_14 -> "RSS_14"
|
||||
BarcodeFormat.RSS_EXPANDED -> "RSS_EXPANDED"
|
||||
BarcodeFormat.UPC_EAN_EXTENSION -> "UPC_EAN"
|
||||
else -> throw Exception("Unsupported Format: $f")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
5
app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
5
app/src/main/res/drawable/ic_launcher_foreground.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="@color/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/logo_g"/>
|
||||
</adaptive-icon>
|
@ -1,5 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:width="256dp"
|
||||
android:height="256dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256"
|
||||
android:gravity="center"
|
||||
>
|
||||
<layer-list>
|
||||
<item
|
||||
android:width="128dp"
|
||||
android:height="128dp"
|
||||
@ -18,4 +26,5 @@
|
||||
android:gravity="center"
|
||||
android:left="72dp"
|
||||
android:bottom="20dp" />
|
||||
</layer-list></item>
|
||||
</layer-list>
|
167
app/src/main/res/drawable/logo_g.xml
Normal file
167
app/src/main/res/drawable/logo_g.xml
Normal file
@ -0,0 +1,167 @@
|
||||
<?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="128"
|
||||
android:viewportHeight="128">
|
||||
<group
|
||||
android:translateX="28"
|
||||
android:translateY="28">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#92D3F5"
|
||||
android:pathData="M59.959,52.794H12.041c-0.552,0 -1,-0.448 -1,-1v-29.547c0,-0.552 0.448,-1 1,-1h47.918c0.552,0 1,0.448 1,1v29.547C60.959,52.347 60.511,52.794 59.959,52.794z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000000" />
|
||||
</group>
|
||||
<group
|
||||
android:scaleX="0.5"
|
||||
android:scaleY="0.5"
|
||||
android:translateX="32"
|
||||
android:translateY="16">
|
||||
<path
|
||||
android:fillColor="#EA5A47"
|
||||
android:pathData="M46.5,56l-10,-11.151l-10,11.151l0,-45.042l20,0z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#D22F27"
|
||||
android:pathData="M41.864,12.03l0,37.854l4.523,5.044l0,-42.898z"
|
||||
android:strokeColor="#00000000" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M46.5,56l-10,-11.151l-10,11.151l0,-45.042l20,0z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M46.5,56l-10,-11.151l-10,11.151l0,-45.042l20,0z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
</group>
|
||||
<group
|
||||
android:scaleX="0.5"
|
||||
android:scaleY="0.5"
|
||||
android:translateX="10"
|
||||
android:translateY="18">
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M9,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M12,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M20,21V50"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M28,21V50"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M15,50V21H17V50H15Z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M23,50V21H25V50H23Z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M31,50V21H32V50H31Z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M46,21V50"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,21V50"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M57,21V50"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M41,50V21H43V50H41Z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M52,50V21H54V50H52Z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M60,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M63,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M35,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M38,21V52"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round" />
|
||||
</group>
|
||||
</group>
|
||||
</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="@color/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="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Normal file
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Normal file
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Normal file
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Normal file
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
4
app/src/main/res/values/ic_launcher_background.xml
Normal file
4
app/src/main/res/values/ic_launcher_background.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#393939</color>
|
||||
</resources>
|
@ -16,14 +16,18 @@
|
||||
<string name="format">Format</string>
|
||||
<string name="save">Save</string>
|
||||
<string-array name="format_array">
|
||||
<item>CODE_128</item>
|
||||
<item>CODE_39</item>
|
||||
<item>CODE_93</item>
|
||||
<item>CODE_128</item>
|
||||
<item>EAN_8</item>
|
||||
<item>EAN_13</item>
|
||||
<item>CODE_QR</item>
|
||||
<item>UPC_A</item>
|
||||
<item>UPC_E</item>
|
||||
<item>PDF_417</item>
|
||||
<item>AZTEC</item>
|
||||
<item>CODABAR</item>
|
||||
<item>DATA_MATRIX</item>
|
||||
<item>ITF</item>
|
||||
</string-array>
|
||||
</resources>
|
Reference in New Issue
Block a user