diff --git a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj index 9d43a26a..dcef1366 100644 --- a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj +++ b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj @@ -126,6 +126,10 @@ + + {48574278-4779-4b3a-a9e4-9cf1bc285d0b} + JavaFileStorageBindings + {545B4A6B-8BBA-4FBE-92FC-4AC060122A54} KeePassLib2Android diff --git a/src/java/JavaFileStorage/app/build/outputs/aar/app-debug.aar b/src/java/JavaFileStorage/app/build/outputs/aar/app-debug.aar index 3ca10e5f..0ec94f02 100644 Binary files a/src/java/JavaFileStorage/app/build/outputs/aar/app-debug.aar and b/src/java/JavaFileStorage/app/build/outputs/aar/app-debug.aar differ diff --git a/src/java/KP2ASoftkeyboard_AS/.idea/workspace.xml b/src/java/KP2ASoftkeyboard_AS/.idea/workspace.xml deleted file mode 100644 index de97814e..00000000 --- a/src/java/KP2ASoftkeyboard_AS/.idea/workspace.xml +++ /dev/null @@ -1,2205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1452666450747 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar b/src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar index 67beae1e..cc0cbd44 100644 Binary files a/src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar and b/src/java/KP2ASoftkeyboard_AS/app/build/outputs/aar/app-debug.aar differ diff --git a/src/keepass2android/EntryActivity.cs b/src/keepass2android/EntryActivity.cs index 1bb359dd..434d70cf 100644 --- a/src/keepass2android/EntryActivity.cs +++ b/src/keepass2android/EntryActivity.cs @@ -39,6 +39,7 @@ using KeePassLib.Security; using KeePassLib.Utility; using Keepass2android.Pluginsdk; using keepass2android.Io; +using KeePass.Util.Spr; using Uri = Android.Net.Uri; namespace keepass2android @@ -341,8 +342,7 @@ namespace keepass2android _appTask = AppTask.GetTaskInOnCreate(savedInstanceState, Intent); Entry = db.Entries[uuid]; - Android.Util.Log.Debug("KP2A", "Notes: " + Entry.Strings.ReadSafe(PwDefs.NotesField)); - + // Refresh Menu contents in case onCreateMenuOptions was called before Entry was set ActivityCompat.InvalidateOptionsMenu(this); @@ -836,7 +836,9 @@ namespace keepass2android private void PopulateStandardText(int viewId, int containerViewId, String key) { - PopulateText(viewId, containerViewId, Entry.Strings.ReadSafe(key)); + String value = Entry.Strings.ReadSafe(key); + value = SprEngine.Compile(value, new SprContext(Entry, App.Kp2a.GetDb().KpDatabase, SprCompileFlags.All)); + PopulateText(viewId, containerViewId, value); _stringViews.Add(key, new StandardStringView(viewId, containerViewId, this)); } diff --git a/src/keepass2android/Utils/Util.cs b/src/keepass2android/Utils/Util.cs index 8f7e853b..37438043 100644 --- a/src/keepass2android/Utils/Util.cs +++ b/src/keepass2android/Utils/Util.cs @@ -84,6 +84,9 @@ namespace keepass2android public static void CopyToClipboard(Context context, String text) { Android.Text.ClipboardManager clipboard = (Android.Text.ClipboardManager) context.GetSystemService(Context.ClipboardService); clipboard.Text = text; + //some devices don't accept empty strings. Replace with *** then. + if (clipboard.Text == "") + clipboard.Text = "***"; } public static void GotoUrl(Context context, String url) { diff --git a/src/keepass2android/views/PwEntryView.cs b/src/keepass2android/views/PwEntryView.cs index 611263b6..81e40c75 100644 --- a/src/keepass2android/views/PwEntryView.cs +++ b/src/keepass2android/views/PwEntryView.cs @@ -24,6 +24,7 @@ using KeePassLib; using Android.Text; using Android.Text.Style; using Android.Preferences; +using KeePass.Util.Spr; namespace keepass2android.view @@ -134,6 +135,7 @@ namespace keepass2android.view _textView.SetTextColor(new Color((int)_defaultTextColor)); String detail = pw.Strings.ReadSafe(PwDefs.UserNameField); + detail = SprEngine.Compile(detail, new SprContext(_entry, App.Kp2a.GetDb().KpDatabase, SprCompileFlags.All)); if ((_showDetail == false) || (String.IsNullOrEmpty(detail))) {