Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
e3130c5
Implement KeeShare support for group synchronization
natinew77-creator Dec 25, 2025
97311b5
feat(KeeShare): Add export, Android UI, and sync integration
natinew77-creator Dec 26, 2025
0464230
feat(KeeShare): Add device-specific paths and export-on-save
natinew77-creator Dec 26, 2025
cab3469
test(KeeShare): Add unit tests for device-specific path resolution
natinew77-creator Dec 26, 2025
5e7c47f
feat(KeeShare): Phase 5 - Material UI, Background Sync, Audit Log
natinew77-creator Dec 26, 2025
c8669ba
feat(KeeShare): Add Clear Trusted Signers menu option
natinew77-creator Dec 26, 2025
5fb1158
feat(KeeShare): Phase 6 - Perfection (Read-Only logic & Rich Status UI)
natinew77-creator Dec 26, 2025
b86fb7a
fix: Migrate to IOConnectionInfo for security (Phase 1 - WIP)
natinew77-creator Dec 27, 2025
60a8e46
fix: Complete IOConnectionInfo migration for all path handling
natinew77-creator Dec 27, 2025
e6a7c3d
fix: Move KeeShare export to background task (maintainer feedback)
natinew77-creator Dec 27, 2025
d4b619d
fix: Remove unused GenerateKeyPair and ComputeKeyFingerprint methods …
natinew77-creator Dec 27, 2025
17cce5c
fix: Use SelectStorageLocationActivity for file picker and confirm Ke…
natinew77-creator Dec 27, 2025
94e5282
fix: Critical compilation errors - missing using statements and broke…
natinew77-creator Dec 27, 2025
b09e58d
fix: CRITICAL - Add missing return statement in CountEntries method
natinew77-creator Dec 27, 2025
c55eb22
refactor: Extract magic strings to constants for maintainability
natinew77-creator Dec 27, 2025
d8148cb
fix: Add KeeShareSyncJobService declaration to all AndroidManifest files
natinew77-creator Dec 27, 2025
f6e1515
chore: Add .DS_Store to .gitignore
natinew77-creator Dec 27, 2025
39f54ad
Refine KeeShare implementation: refactor background sync to Operation…
natinew77-creator Jan 6, 2026
3d3ab7f
Refactor: Propagate StatusLogger in KeeShareSyncOperation
natinew77-creator Jan 6, 2026
cc7cbfb
FIX: Eradicate SaveAs() and use IFileStorage per maintainer feedback
natinew77-creator Jan 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -178,3 +178,4 @@ src/java/Keepass2AndroidPluginSDK2/build/generated/mockable-Google-Inc.-Google-A
/src/MegaTest
*.dtbcache.json
/src/keepass2android-app/AndroidManifest.xml
.DS_Store
180 changes: 180 additions & 0 deletions .gitignore 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
PCtest

*.suo
*.userprefs
*.user

bin
obj

# Makefile-related files
/allow_git_clean
/stamp.nuget_*

Resource.designer.cs
R.java

src/java/kp2akeytransform/kp2akeytransform.zip

/src/keepass2android/todos.cs
/src/KeePass.userprefs
/src/keepass2android/Properties/AndroidManifest.xml

/src/java/kbbridge/libs/android-support-v4.jar
/src/java/KP2ASoftKeyboard/gen
/src/java/KP2ASoftKeyboard/projectzip
/src/java/KP2ASoftKeyboard/createProjectZip.bat
Thumbs.db

/src/monodroid-unittesting/*.suo
/src/Kp2aUnitTests/TestLoadDbCredentials.cs
/src/KeePass.sln.DotSettings.user
/src/KeePass.v11.suo

/src/Kp2aUnitTests/Assets/AboutAssets.txt
/src/java/KP2ASoftKeyboard/project.zip.tmp
/src/java/workspace/.metadata
/src/java/workspace/KP2AKeyboardTest
/src/keepass2android/*.user

/src/monodroid-unittesting/TestTests
/src/monodroid-unittesting/MonoDroidUnitTestingExample

/src/monodroid-unittesting

/src/kp2akeytransform/Jars/*.jar

/src/java/KP2ASoftKeyboard/.settings

/src/java/kp2akeytransform/.settings

/src/java/workspace/UITest
/src/java/JavaFileStorage/gen/keepass2android/javafilestorage/BuildConfig.java
/src/java/JavaFileStorage/gen/keepass2android/javafilestorage/R.java
/src/JavaFileStorageTest
/src/java/workspace/DBRoulette
/src/java/workspace/JavaFileStorageTest
/src/java/JavaFileStorage/src/keepass2android/javafilestorage/SecretKeys.java
/src/java/android-filechooser/code/gen
/src/java/android-filechooser/code/project.zip
/src/java/android-filechooser/code/projectzip/res

/src/java/android-filechooser/code/AndroidUnusedResources1.6.2.jar
/src/java/android-filechooser/code/createProjectZip.bat
/src/java/android-filechooser/code/projectzip/project.zip
/src/java/android-filechooser/code/unused.txt

/src/Kp2aBusinessLogic/Io/DropboxFileStorage.g.cs

/src/java/workspace/DriveTest

/src/Components

/src/java/KP2ASoftKeyboard2/java/projectzip

/src/java/.metadata

/src/java/JavaFileStorage/.google_apis/drive-v2/drive

/src/java/JavaFileStorage/.google_apis/drive-v2r102lv1.16.0-rc/drive

/src/java/JavaFileStorage/libs

/src/ArtTestApp.zip

/src/java/KP2ASoftKeyboard/alt
/src/java/KP2ASoftKeyboard/gen
/src/java/KP2ASoftKeyboard/projectalt
/src/java/KP2ASoftKeyboard/projectzip
/src/java/KP2ASoftKeyboard/projectzip_neu

/src/java/jsch-0.1.50/ChangeLog
/src/java/jsch-0.1.50/LICENSE.txt
/src/java/jsch-0.1.50/README
/src/java/jsch-0.1.50/build.bat
/src/java/jsch-0.1.50/build.sh
/src/java/jsch-0.1.50/build.xml

/src/java/jsch-0.1.50/examples

/src/java/yetanotherworkspace
/src/java/kp2akeytransform - Kopie
/src/java/workspace
/src/java/workspace_
/src/java/workspace_tmp_
/src/java/JavaFileStorageTest/credentials.txt
/src/java/JavaFileStorageTest/gen/com/example/javafilestoragetest/BuildConfig.java
/src/java/JavaFileStorageTest/gen/com/example/javafilestoragetest/R.java
/src/java/JavaFileStorageTest/gen/com/google/android/gms/R.java
/src/java/JavaFileStorageTest/gen/group/pals/android/lib/ui/filechooser/R.java
/src/java/JavaFileStorageTest/gen/keepass2android/javafilestorage/R.java

/src/BindingLibrary1

/src/PluginTOTP
/src/java/DemoService

/src/java/PluginInputStick/icons

/src/java/MasterKee

/src/PluginSdkBinding/obj/ReleaseNoNet
/src/MasterKeeWinPlugin/bin/Release
/src/SamplePlugin
/src/packages/

*.apk

/src/java/JavaFileStorage/app/build
/src/java/JavaFileStorage/build
local.properties
/src/FtpClientTest/FtpClientExamples
/src/FtpClientTest
/src/FtpClientWinTest
/src/Kp2aUnitTests2
/src/MaterialTest2
/src/ResourceGrabberTest
/src/WebDavAndroid
/src/java/InputStickAPI/app/build/
/src/java/KP2ASoftkeyboard_AS/app/build/
/src/java/PluginInputStick3/pluginInputStick/build/
/src/java/android-filechooser-AS/app/build/
/src/java/android-filechooser/out/
/src/java/PluginInputStick3/inputStickAPI/build/
/src/java/android-filechooser-AS/.gradle/2.2.1/taskArtifacts/cache.properties
/src/java/android-filechooser-AS/.gradle/2.2.1/taskArtifacts/cache.properties.lock
/src/java/Keepass2AndroidPluginSDK2/app/build/
/src/java/PluginInputStick3/keepass2AndroidPluginSDK/build/
*.bak
.idea
.gradle
intermediates
*.iml
/build
/src/Kp2aKeyboardBinding/Jars
/src/java/Kp2aAccServiceLib/app/build
/src/java/Kp2aAccServiceLib/app/app.iml
/src/java/Kp2aAccServiceLib/gradle
adbprompt.ps1
/src/java/KP2ASoftkeyboard_AS/build/android-profile/*.rawproto
src/java/KP2ASoftkeyboard_AS/build/generated/mockable-android-23.jar
*.rawproto
src/java/Keepass2AndroidPluginSDK2/build/generated/mockable-Google-Inc.-Google-APIs-23.jar
/src/.vs
/src/JavaFileStorageBindings/Jars/JavaFileStorage-release.aar
/src/PluginSdkBinding/Jars/app-debug.aar
/src/java/KP2AKdbLibrary/libs/arm64-v8a/libfinal-key.so
/src/java/KP2AKdbLibrary/libs/x86_64/libfinal-key.so
/src/java/KP2ASoftkeyboard_AS/app/src/main/libs/arm64-v8a/libkp2akeyboard_jni.so
/src/java/KP2ASoftkeyboard_AS/app/src/main/libs/armeabi-v7a/libkp2akeyboard_jni.so
/src/java/KP2ASoftkeyboard_AS/app/src/main/libs/x86/libkp2akeyboard_jni.so
/src/java/KP2ASoftkeyboard_AS/app/src/main/libs/x86_64/libkp2akeyboard_jni.so
/src/java/KP2AKdbLibrary/app/build
/src/java/KP2ASoftkeyboard_AS/app/.cxx
/src/java/KP2ASoftkeyboard_AS/app/src/main/libs
/src/java/KP2AKdbLibrary/app/.cxx
/src/ActionViewFilterTest
/docs/gdrive-verification
/src/MegaTest
*.dtbcache.json
/src/keepass2android-app/AndroidManifest.xml
6 changes: 6 additions & 0 deletions .gitmodules 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "src/SamsungPass"]
path = src/SamsungPass
url = https://github.com/PhilippC/Xamarin-Samsung-Pass.git
[submodule "src/java/argon2/phc-winner-argon2"]
path = src/java/argon2/phc-winner-argon2
url = https://github.com/P-H-C/phc-winner-argon2
20 changes: 20 additions & 0 deletions .pre-commit-config 2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
repos:

# --- License header check ---
- repo: local
hooks:
- id: addlicense-check
name: Check for license headers
language: system
entry: powershell -ExecutionPolicy Bypass -File .\\add-license-hook.ps1
pass_filenames: true

- repo: local
hooks:
- id: dotnet-format
name: Format C# code
entry: dotnet format src/KeePass.sln
language: system
pass_filenames: false
types: [file]

14 changes: 14 additions & 0 deletions GPLv3 2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
This file is part of Keepass2Android, Copyright 2025 Philipp Crocoll.

Keepass2Android is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Keepass2Android is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Keepass2Android. If not, see <http://www.gnu.org/licenses/>.
Loading