Compare commits

...

41 Commits

Author SHA1 Message Date
Renovate Bot 66be1f4fdc Update plugin com.android.application to v8.5.2 2024-08-10 00:07:06 +00:00
Renovate Bot b798200883 Update plugin com.android.library to v8.5.2 2024-08-10 00:06:58 +00:00
Renovate Bot 2998362518 Update plugin com.autonomousapps.dependency-analysis to v1.33.0 2024-07-28 00:04:38 +00:00
Renovate Bot 73e3add4a8 Update plugin com.android.library to v8.5.1 2024-07-14 00:05:29 +00:00
Renovate Bot 5b43db3ebd Update plugin com.android.application to v8.5.1 2024-07-13 00:06:16 +00:00
Renovate Bot f9535fe2da Update dependency gradle to v8.9 2024-07-12 00:04:09 +00:00
soraefir aa20ec5a06 Version bump 2024-06-28 22:35:59 +02:00
soraefir 917a01b2ed Updates and fixes 2024-06-28 22:21:02 +02:00
Renovate Bot e7f55c2be2 Update plugin com.android.library to v8.5.0 2024-06-17 00:02:36 +00:00
Renovate Bot eb765e09e7 Update dependency androidx.camera:camera-view to v1.3.4 2024-06-16 00:03:56 +00:00
Renovate Bot 1cf4a6bc36 Update plugin com.android.application to v8.5.0 2024-06-16 00:03:49 +00:00
Renovate Bot 7f0212fc5d Update dependency androidx.camera:camera-lifecycle to v1.3.4 2024-06-15 00:05:06 +00:00
Renovate Bot 413d8bd7bf Update dependency androidx.camera:camera-camera2 to v1.3.4 2024-06-13 00:02:43 +00:00
Renovate Bot 931adbb4dd Update dependency gradle to v8.8 2024-06-01 00:06:27 +00:00
Renovate Bot e6b2dfe37a Update plugin org.jetbrains.kotlin.android to v2 2024-05-26 00:07:56 +00:00
Renovate Bot f73f9b5acf Update plugin org.jetbrains.kotlin.plugin.serialization to v2 2024-05-25 13:50:32 +00:00
Renovate Bot ba2d0ac024 Update plugin com.android.library to v8.4.1 2024-05-25 13:47:04 +00:00
Renovate Bot f33b4672b0 Update plugin com.autonomousapps.dependency-analysis to v1.32.0 2024-05-25 00:05:43 +00:00
Renovate Bot b6b69587fa Update plugin com.android.application to v8.4.1 2024-05-21 00:02:49 +00:00
sora 06a006c0a2 Merge pull request 'Update dependency com.google.code.gson:gson to v2.11.0' (#18) from renovate/com.google.code.gson-gson-2.x into main
Reviewed-on: #18
2024-05-20 10:34:47 +02:00
Renovate Bot 8ae38f4250 Update dependency com.google.code.gson:gson to v2.11.0 2024-05-20 00:02:26 +00:00
Renovate Bot 3e1252cc0a Update plugin com.android.library to v8.4.0 2024-05-12 00:11:36 +00:00
Renovate Bot e4357a66e0 Update plugin org.jetbrains.kotlin.plugin.serialization to v1.9.24 2024-05-11 00:11:39 +00:00
Renovate Bot 21f2c0d69f Update plugin org.jetbrains.kotlin.android to v1.9.24 2024-05-08 00:09:57 +00:00
Renovate Bot 340789989c Update plugin com.android.application to v8.4.0 2024-05-04 00:04:58 +00:00
Renovate Bot 2428f4e50b Update dependency com.google.android.material:material to v1.12.0 2024-05-03 00:02:26 +00:00
sora f4c9eddd22 Merge pull request 'Update dependency androidx.camera:camera-view to v1.3.3' (#12) from renovate/androidx.camera-camera-view-1.x into main
Reviewed-on: #12
2024-04-21 02:36:39 +02:00
Renovate Bot 6a5e971619 Update dependency androidx.camera:camera-view to v1.3.3 2024-04-21 00:04:40 +00:00
Renovate Bot 5829f18908 Update dependency androidx.camera:camera-lifecycle to v1.3.3 2024-04-20 00:04:38 +00:00
Renovate Bot 426d94ba81 Update dependency androidx.camera:camera-camera2 to v1.3.3 2024-04-17 19:25:16 +00:00
sora a58d208d49 Merge pull request 'Update plugin com.android.application to v8.3.2' (#7) from renovate/com.android.application-8.x into main
Reviewed-on: #7
2024-04-13 01:08:03 +02:00
Renovate Bot 069edaf6a2 Update plugin com.android.application to v8.3.2 2024-04-12 23:07:08 +00:00
sora d0aa2fbeb9 Merge pull request 'Update plugin com.android.library to v8.3.2' (#8) from renovate/com.android.library-8.x into main
Reviewed-on: #8
2024-04-13 01:05:24 +02:00
sora 17c75f27bc Merge pull request 'Update gradle/wrapper-validation-action action to v3' (#9) from renovate/gradle-wrapper-validation-action-3.x into main
Reviewed-on: #9
2024-04-13 01:05:09 +02:00
Renovate Bot 1738664f83 Update gradle/wrapper-validation-action action to v3 2024-04-12 23:02:34 +00:00
Renovate Bot a5b55fe214 Update plugin com.android.library to v8.3.2 2024-04-11 00:01:50 +00:00
sora 0cd90413d1 Update app/src/main/AndroidManifest.xml 2024-04-06 19:26:33 +02:00
soraefir 653ee1ccc1 Fix camera crash & autosave 2024-04-06 19:24:59 +02:00
Renovate Bot 9b6a69e227 Update plugin com.autonomousapps.dependency-analysis to v1.31.0 2024-04-05 00:02:16 +00:00
soraefir e40305b680 Updated icon and permissions 2024-03-29 15:49:10 +01:00
soraefir 668e9d653f Scaled icon down 2024-03-29 13:47:22 +01:00
35 changed files with 438 additions and 204 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks
- uses: gradle/wrapper-validation-action@v2 - uses: gradle/wrapper-validation-action@v3
- name: create and checkout branch - name: create and checkout branch
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
+2 -1
View File
@@ -47,7 +47,8 @@
## ⚙️ Permissions ## ⚙️ Permissions
- `CAMERA`: necessary for the scanning of barcodes - `CAMERA`: necessary for importing barcodes from camera
- `READ_MEDIA_VISUAL_USER_SELECTED`: necessary for the importing barcode from images
## 📝 Contribute ## 📝 Contribute
+7 -6
View File
@@ -1,7 +1,7 @@
plugins { plugins {
id 'com.android.application' id 'com.android.application'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.23' id 'org.jetbrains.kotlin.plugin.serialization' version '2.0.0'
} }
@@ -34,6 +34,7 @@ android {
buildTypes { buildTypes {
debug { debug {
debuggable true debuggable true
signingConfig = signingConfigs.getByName("release")
} }
release { release {
minifyEnabled true minifyEnabled true
@@ -73,11 +74,11 @@ android {
dependencies { dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'
implementation 'androidx.camera:camera-lifecycle:1.3.2' implementation 'androidx.camera:camera-lifecycle:1.3.4'
implementation 'androidx.camera:camera-view:1.3.2' implementation 'androidx.camera:camera-view:1.3.4'
runtimeOnly 'androidx.camera:camera-camera2:1.3.2' runtimeOnly 'androidx.camera:camera-camera2:1.3.4'
implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.google.code.gson:gson:2.11.0'
implementation 'com.google.android.material:material:1.11.0' implementation 'com.google.android.material:material:1.12.0'
implementation 'com.google.zxing:core:3.5.3' implementation 'com.google.zxing:core:3.5.3'
} }
+2 -2
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:versionCode="6" android:versionCode="8"
android:versionName="1.2a"> android:versionName="1.2c">
<uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera" />
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -31,7 +31,6 @@ class MainActivity : AppCompatActivity() {
binding = ActMainBinding.inflate(layoutInflater) binding = ActMainBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
onBackPressedDispatcher.addCallback(this) { onBackPressedDispatcher.addCallback(this) {
if (supportFragmentManager.backStackEntryCount > 0) { if (supportFragmentManager.backStackEntryCount > 0) {
supportFragmentManager.popBackStackImmediate() supportFragmentManager.popBackStackImmediate()
@@ -156,6 +156,11 @@ class CreateEntry : Fragment() {
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
} }
if (!binding.checkboxProtected.isChecked) {
val r = KeepassWrapper.entryExtract(kpEntry.first)
CacheManager.addFidelity(r)
}
activity?.supportFragmentManager?.popBackStack()
} }
} }
@@ -68,7 +68,7 @@ class Scanner : Fragment() {
this.fmt = format this.fmt = format
} }
val isDone = this.code.isNotEmpty() && this.fmt.isNotEmpty() val isDone = this.code.isNotEmpty() && this.fmt.isNotEmpty()
requireActivity().runOnUiThread { activity?.runOnUiThread {
binding.btnScanDone.isEnabled = isDone binding.btnScanDone.isEnabled = isDone
binding.ScanActive.isEnabled = !isDone binding.ScanActive.isEnabled = !isDone
} }
@@ -80,7 +80,7 @@ class ViewEntry : Fragment() {
return (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) return (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE)
} }
private fun setScreenBrightness(brightness: Float?) { private fun setScreenBrightness(brightness: Float) {
requireActivity().window?.attributes?.screenBrightness = brightness requireActivity().window?.attributes?.screenBrightness = brightness
} }
} }
@@ -7,15 +7,15 @@ import org.json.JSONObject
object Kp2aControl { object Kp2aControl {
fun getAddEntryIntent( fun getAddEntryIntent(
fields: HashMap<String?, String?>, fields: HashMap<String, String>,
protectedFields: ArrayList<String?>? protectedFields: ArrayList<String>?
): Intent { ): Intent {
val outputData = JSONObject((fields as Map<*, *>)).toString() val outputData = JSONObject((fields as Map<*, *>)).toString()
val startKp2aIntent = Intent(Strings.ACTION_START_WITH_TASK) val startKp2aIntent = Intent(Strings.ACTION_START_WITH_TASK)
startKp2aIntent.addCategory(Intent.CATEGORY_DEFAULT) startKp2aIntent.addCategory(Intent.CATEGORY_DEFAULT)
startKp2aIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK) startKp2aIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
startKp2aIntent.putExtra("KP2A_APPTASK", "CreateEntryThenCloseTask") startKp2aIntent.putExtra("KP2A_APPTASK", "CreateEntryThenCloseTask")
startKp2aIntent.putExtra("ShowUserNotifications", "false") startKp2aIntent.putExtra("ShowUserNotifications", "true")
startKp2aIntent.putExtra(Strings.EXTRA_ENTRY_OUTPUT_DATA, outputData) startKp2aIntent.putExtra(Strings.EXTRA_ENTRY_OUTPUT_DATA, outputData)
if (protectedFields != null) if (protectedFields != null)
startKp2aIntent.putStringArrayListExtra( startKp2aIntent.putStringArrayListExtra(
@@ -7,6 +7,7 @@ object Strings {
const val SCOPE_CURRENT_ENTRY = "keepass2android.SCOPE_CURRENT_ENTRY" const val SCOPE_CURRENT_ENTRY = "keepass2android.SCOPE_CURRENT_ENTRY"
const val SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE = const val SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE =
"keepass2android.SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE" "keepass2android.SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE"
const val SCOPE_QUERY_CREDENTIALS = "keepass2android.SCOPE_QUERY_CREDENTIALS"
const val EXTRA_SCOPES = "keepass2android.EXTRA_SCOPES" const val EXTRA_SCOPES = "keepass2android.EXTRA_SCOPES"
const val EXTRA_PLUGIN_PACKAGE = "keepass2android.EXTRA_PLUGIN_PACKAGE" const val EXTRA_PLUGIN_PACKAGE = "keepass2android.EXTRA_PLUGIN_PACKAGE"
@@ -21,10 +21,10 @@ object KeepassWrapper {
code: String, code: String,
format: String, format: String,
protectCode: Boolean, protectCode: Boolean,
): Pair<HashMap<String?, String?>, ArrayList<String?>> { ): Pair<HashMap<String, String>, ArrayList<String>> {
val fields = HashMap<String?, String?>() val fields = HashMap<String, String>()
val protected = ArrayList<String?>() val protected = ArrayList<String>()
fields[KeepassDef.TitleField] = title fields[KeepassDef.TitleField] = title
fields[KeepassDef.UrlField] = fields[KeepassDef.UrlField] =
"androidapp://" + fragment.requireActivity().packageName "androidapp://" + fragment.requireActivity().packageName
@@ -1,5 +1,58 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <vector xmlns:android="http://schemas.android.com/apk/res/android"
<background android:drawable="@color/ic_launcher_background" /> android:width="108dp"
<foreground android:drawable="@drawable/logo_g"/> android:height="108dp"
</adaptive-icon> android:viewportWidth="128"
android:viewportHeight="128">
<group android:scaleX="1.2833333"
android:scaleY="1.2833333"
android:translateX="-16.612345"
android:translateY="-16.612345">
<group
android:translateX="34"
android:translateY="26">
<group
android:scaleX="0.8"
android:scaleY="1.0"
android:translateX="0"
android:translateY="0">
<path
android:fillColor="@color/blue"
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.4"
android:scaleY="0.5"
android:translateX="27"
android:translateY="15.75">
<path
android:fillColor="@color/red"
android:pathData="M46.5,56l-10,-11l-10,11l0,-45l20,0z"
android:strokeLineCap="round"
android:strokeLineJoin="round" />
<path
android:fillColor="@color/red2"
android:fillAlpha="1.0"
android:pathData="M41.5,11l0,39l5,6l0,-45z"
android:strokeColor="#00000000" />
</group>
<group
android:scaleX="0.75"
android:scaleY="0.75"
android:translateX="6"
android:translateY="10">
<path
android:fillColor="#00000000"
android:pathData="M9,21V52 M12,21V52 M20,21V50 M28,21V50 M15,50V21H17V50H15 M23,50V21H25V50H23 M31,50V21H32V50H31 M35,21V52 M38,21V52"
android:strokeWidth="2"
android:strokeColor="#000"
android:strokeLineCap="round"
android:strokeLineJoin="round" />
</group>
</group>
</group>
</vector>
-30
View File
@@ -1,30 +0,0 @@
<?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"
android:gravity="center"
android:drawable="@drawable/card" />
<item
android:width="64dp"
android:height="64dp"
android:drawable="@drawable/barcode"
android:gravity="center"
android:right="32dp" />
<item
android:width="52dp"
android:height="52dp"
android:drawable="@drawable/bookmark"
android:gravity="center"
android:left="72dp"
android:bottom="20dp" />
</layer-list></item>
</layer-list>
+25 -139
View File
@@ -1,167 +1,53 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="200dp"
android:height="108dp" android:height="200dp"
android:viewportWidth="128" android:viewportWidth="128"
android:viewportHeight="128"> android:viewportHeight="128">
<group <group
android:translateX="28" android:translateX="34"
android:translateY="28"> android:translateY="26">
<group> <group
android:scaleX="0.8"
android:scaleY="1.0"
android:translateX="0"
android:translateY="0">
<path <path
android:fillColor="#92D3F5" android:fillColor="@color/blue"
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: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:strokeWidth="2"
android:strokeColor="#000000" /> android:strokeColor="#000000" />
</group> </group>
<group <group
android:scaleX="0.5" android:scaleX="0.4"
android:scaleY="0.5" android:scaleY="0.5"
android:translateX="32" android:translateX="27"
android:translateY="16"> android:translateY="15.75">
<path <path
android:fillColor="#EA5A47" android:fillColor="@color/red"
android:pathData="M46.5,56l-10,-11.151l-10,11.151l0,-45.042l20,0z" android:pathData="M46.5,56l-10,-11l-10,11l0,-45l20,0z"
android:strokeWidth="2"
android:strokeColor="#00000000"
android:strokeLineCap="round" android:strokeLineCap="round"
android:strokeLineJoin="round" /> android:strokeLineJoin="round" />
<path <path
android:fillColor="#D22F27" android:fillColor="@color/red2"
android:pathData="M41.864,12.03l0,37.854l4.523,5.044l0,-42.898z" android:fillAlpha="1.0"
android:pathData="M41.5,11l0,39l5,6l0,-45z"
android:strokeColor="#00000000" /> 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>
<group <group
android:scaleX="0.5" android:scaleX="0.75"
android:scaleY="0.5" android:scaleY="0.75"
android:translateX="10" android:translateX="6"
android:translateY="18"> android:translateY="10">
<path <path
android:fillColor="#00000000" android:fillColor="#00000000"
android:pathData="M9,21V52" android:pathData="M9,21V52 M12,21V52 M20,21V50 M28,21V50 M15,50V21H17V50H15 M23,50V21H25V50H23 M31,50V21H32V50H31 M35,21V52 M38,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:strokeWidth="2"
android:strokeColor="#000" android:strokeColor="#000"
android:strokeLineCap="round" android:strokeLineCap="round"
android:strokeLineJoin="round" /> android:strokeLineJoin="round" />
</group> </group>
</group> </group>
</vector> </vector>
+302
View File
@@ -0,0 +1,302 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="72dp"
android:height="72dp"
android:viewportWidth="58"
android:viewportHeight="58">
<group android:translateX="-8" android:translateY="-8">
<path
android:pathData="M20,20h4v4h-4z"
android:fillColor="#000"/>
<path
android:pathData="M20,48h4v4h-4z"
android:fillColor="#000"/>
<path
android:pathData="M48,20h4v4h-4z"
android:fillColor="#000"/>
<path
android:pathData="M18,40m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M16,38m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M20,38m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M34,46m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M40,38m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M40,28m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M32,16m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M46,32m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M52,32m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M52,44m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M54,48m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M56,56m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M32,56m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M44,56m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M46,54m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M44,52m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M16,32m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M40,54m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
android:fillColor="#000"/>
<path
android:pathData="M12,12h48v48h-48z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M16,16h12v12h-12z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M20,20h4v4h-4z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M16,44h12v12h-12z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M20,48h4v4h-4z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M44,16h12v12h-12z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M48,20h4v4h-4z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"/>
<path
android:pathData="M18,36V34H26"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M20,34V32"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M24,34V40"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M24,38H26"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M38,32V30"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M56,34H54"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M42,42H44V40"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M28,32H30"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M34,32H40"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M38,16V20H36V28"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M36,26H32V28"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M36,20H32"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M36,22H34V18"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M28,36H36"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M30,36V40H28"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M34,36V38"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M32,44V42H38V48H42V46H50V56"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M36,40V44H42M46,40H42V48H44"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M48,34V38H50V42H48V46"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M50,38V36H52"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M52,50H48V52"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M32,52H34V54H36V50"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M56,32V38H54"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M44,36V34"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M56,42V44"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M54,52H56"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
<path
android:pathData="M40,22V24"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#000"
android:strokeLineCap="round"/>
</group>
</vector>
+1
View File
@@ -11,6 +11,7 @@
android:id="@+id/container" android:id="@+id/container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/black"
tools:ignore="MergeRootFrame" /> tools:ignore="MergeRootFrame" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical" android:orientation="vertical"
tools:context=".activity.fragment.Launcher"> tools:context=".activity.fragment.Launcher">
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="darkgray">#FF0C1D2E</color>
<color name="gray">#425F7C</color>
<color name="lightgray">#FF93A9BE</color>
<color name="white">#FFF0F3F7</color>
<color name="blue">#7DB9F5</color>
<color name="blue2">#3193F5</color>
<color name="red">#F57D7D</color>
<color name="red2">#F53131</color>
</resources>
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="ic_launcher_background">#393939</color> <color name="ic_launcher_background">#0C1D2E</color>
</resources> </resources>
+5 -6
View File
@@ -2,11 +2,10 @@
<resources> <resources>
<style name="Theme.Fidelity" parent="Theme.MaterialComponents.DayNight.NoActionBar"> <style name="Theme.Fidelity" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimary">#7DB9F5</item> <item name="colorPrimaryVariant">@color/blue</item>
<item name="colorPrimaryVariant">#7DB9F5</item> <item name="colorSecondary">@color/blue</item>
<item name="colorSecondary">#7DB9F5</item> <item name="colorSecondaryVariant">@color/blue</item>
<item name="colorSecondaryVariant">#7DB9F5</item> <item name="colorOnPrimary">@color/darkgray</item>
<item name="colorOnPrimary">#030B12</item>
</style> </style>
</resources> </resources>
+4 -4
View File
@@ -1,8 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
id 'com.android.application' version '8.3.1' apply false id 'com.android.application' version '8.5.2' apply false
id 'com.android.library' version '8.3.1' apply false id 'com.android.library' version '8.5.2' apply false
id 'org.jetbrains.kotlin.android' version '1.9.23' apply false id 'org.jetbrains.kotlin.android' version '2.0.0' apply false
id 'com.autonomousapps.dependency-analysis' version '1.30.0' apply true id 'com.autonomousapps.dependency-analysis' version '1.33.0' apply true
} }
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1 @@
<ul><li><b>CAMERA:</b> necessary for importing barcodes from camera</li><li><b>READ_MEDIA_VISUAL_USER_SELECTED:</b> necessary for the importing barcode from images</li></ul>