Compare commits
10 Commits
i18n-fix
...
bugfix/cro
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
533d92509f | ||
|
|
46194317a8 | ||
|
|
c4d6e18759 | ||
|
|
ee41a600b1 | ||
|
|
07562cc5a9 | ||
|
|
0f5b411dc7 | ||
|
|
7577e3064c | ||
|
|
d33e1f266c | ||
|
|
aeda21f163 | ||
|
|
980df2b3a7 |
@@ -1,7 +1,7 @@
|
|||||||
files:
|
files:
|
||||||
- source: src/keepass2android/Resources/values/strings.xml
|
- source: src/keepass2android-app/Resources/values/strings.xml
|
||||||
translation: >-
|
translation: >-
|
||||||
/src/keepass2android/Resources/values-%two_letters_code%/%original_file_name%
|
/src/keepass2android-app/Resources/values-%two_letters_code%/%original_file_name%
|
||||||
translate_attributes: '0'
|
translate_attributes: '0'
|
||||||
content_segmentation: '0'
|
content_segmentation: '0'
|
||||||
languages_mapping:
|
languages_mapping:
|
||||||
|
|||||||
@@ -730,7 +730,7 @@ namespace Kp2aAutofillParser
|
|||||||
{
|
{
|
||||||
public List<TField> InputFields { get; set; } = new List<TField>();
|
public List<TField> InputFields { get; set; } = new List<TField>();
|
||||||
|
|
||||||
public string PackageId { get; set; } = null;
|
public string? PackageId { get; set; } = null;
|
||||||
public string WebDomain { get; set; } = null;
|
public string WebDomain { get; set; } = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
<PackageReference Include="FluentFTP" Version="51.1.0" />
|
<PackageReference Include="FluentFTP" Version="51.1.0" />
|
||||||
<PackageReference Include="MegaApiClient" Version="1.10.4" />
|
<PackageReference Include="MegaApiClient" Version="1.10.4" />
|
||||||
<PackageReference Include="Microsoft.Graph" Version="5.68.0" />
|
<PackageReference Include="Microsoft.Graph" Version="5.68.0" />
|
||||||
<PackageReference Include="Microsoft.Graph.Auth" Version="1.0.0-preview.7" />
|
|
||||||
<PackageReference Include="Microsoft.Identity.Client" Version="4.67.1" />
|
<PackageReference Include="Microsoft.Identity.Client" Version="4.67.1" />
|
||||||
<PackageReference Include="Xamarin.AndroidX.Browser" Version="1.8.0" />
|
<PackageReference Include="Xamarin.AndroidX.Browser" Version="1.8.0" />
|
||||||
<PackageReference Include="Xamarin.AndroidX.Core" Version="1.13.1.5" />
|
<PackageReference Include="Xamarin.AndroidX.Core" Version="1.13.1.5" />
|
||||||
|
|||||||
@@ -138,7 +138,8 @@ namespace keepass2android
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (host.IndexOf(otherHost, StringComparison.InvariantCultureIgnoreCase) > -1)
|
if (string.Equals(host, otherHost, StringComparison.OrdinalIgnoreCase) ||
|
||||||
|
host.EndsWith("." + otherHost, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
pgResults.AddEntry(entry, false);
|
pgResults.AddEntry(entry, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -356,7 +356,13 @@ public class KP2AKeyboard extends InputMethodService
|
|||||||
pFilter.addAction("android.intent.action.PACKAGE_ADDED");
|
pFilter.addAction("android.intent.action.PACKAGE_ADDED");
|
||||||
pFilter.addAction("android.intent.action.PACKAGE_REPLACED");
|
pFilter.addAction("android.intent.action.PACKAGE_REPLACED");
|
||||||
pFilter.addAction("android.intent.action.PACKAGE_REMOVED");
|
pFilter.addAction("android.intent.action.PACKAGE_REMOVED");
|
||||||
registerReceiver(mPluginManager, pFilter);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
registerReceiver(mPluginManager, pFilter, RECEIVER_EXPORTED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
registerReceiver(mPluginManager, pFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
LatinIMEUtil.GCUtils.getInstance().reset();
|
LatinIMEUtil.GCUtils.getInstance().reset();
|
||||||
@@ -375,16 +381,28 @@ public class KP2AKeyboard extends InputMethodService
|
|||||||
|
|
||||||
// register to receive ringer mode changes for silent mode
|
// register to receive ringer mode changes for silent mode
|
||||||
IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION);
|
IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION);
|
||||||
registerReceiver(mSilentModeReceiver, filter);
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
registerReceiver(mSilentModeReceiver, filter, RECEIVER_EXPORTED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
registerReceiver(mSilentModeReceiver, filter);
|
||||||
|
}
|
||||||
|
|
||||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||||
|
|
||||||
//check if we have KP2A data available:
|
//check if we have KP2A data available:
|
||||||
mHadKp2aData = mShowKp2aKeyboard = keepass2android.kbbridge.KeyboardData.hasData();
|
mHadKp2aData = mShowKp2aKeyboard = KeyboardData.hasData();
|
||||||
|
|
||||||
mClearKeyboardReceiver = new ClearKeyboardBroadcastReceiver();
|
mClearKeyboardReceiver = new ClearKeyboardBroadcastReceiver();
|
||||||
registerReceiver(mClearKeyboardReceiver, new IntentFilter(get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this)));
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
android.util.Log.d("KP2AK", "registered receiver for clear keyboard broadcast: "+get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this));
|
registerReceiver(mClearKeyboardReceiver, new IntentFilter(get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this)), RECEIVER_EXPORTED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
registerReceiver(mClearKeyboardReceiver, new IntentFilter(get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this)));
|
||||||
|
}
|
||||||
|
Log.d("KP2AK", "registered receiver for clear keyboard broadcast: "+get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ using keepass2android.fileselect;
|
|||||||
using KeeTrayTOTP.Libraries;
|
using KeeTrayTOTP.Libraries;
|
||||||
using Boolean = Java.Lang.Boolean;
|
using Boolean = Java.Lang.Boolean;
|
||||||
using Android.Util;
|
using Android.Util;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
using Google.Android.Material.Dialog;
|
using Google.Android.Material.Dialog;
|
||||||
using keepass2android;
|
using keepass2android;
|
||||||
|
|
||||||
@@ -491,9 +492,9 @@ namespace keepass2android
|
|||||||
App.Kp2a.LastOpenedEntry = new PwEntryOutput(Entry, App.Kp2a.CurrentDb);
|
App.Kp2a.LastOpenedEntry = new PwEntryOutput(Entry, App.Kp2a.CurrentDb);
|
||||||
|
|
||||||
_pluginActionReceiver = new PluginActionReceiver(this);
|
_pluginActionReceiver = new PluginActionReceiver(this);
|
||||||
RegisterReceiver(_pluginActionReceiver, new IntentFilter(Strings.ActionAddEntryAction), ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _pluginActionReceiver, new IntentFilter(Strings.ActionAddEntryAction), (int)ReceiverFlags.Exported);
|
||||||
_pluginFieldReceiver = new PluginFieldReceiver(this);
|
_pluginFieldReceiver = new PluginFieldReceiver(this);
|
||||||
RegisterReceiver(_pluginFieldReceiver, new IntentFilter(Strings.ActionSetEntryField), ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _pluginFieldReceiver, new IntentFilter(Strings.ActionSetEntryField), (int)ReceiverFlags.Exported);
|
||||||
|
|
||||||
var notifyPluginsOnOpenThread = new Thread(NotifyPluginsOnOpen);
|
var notifyPluginsOnOpenThread = new Thread(NotifyPluginsOnOpen);
|
||||||
notifyPluginsOnOpenThread.Start();
|
notifyPluginsOnOpenThread.Start();
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ using Android.OS;
|
|||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
using Android.Runtime;
|
using Android.Runtime;
|
||||||
using Android.Views;
|
using Android.Views;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
@@ -69,7 +70,7 @@ namespace keepass2android
|
|||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
filter.AddAction(Intent.ActionScreenOff);
|
filter.AddAction(Intent.ActionScreenOff);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnDestroy()
|
protected override void OnDestroy()
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ using Android.OS;
|
|||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
using Android.Runtime;
|
using Android.Runtime;
|
||||||
using Android.Views;
|
using Android.Views;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
@@ -55,7 +56,7 @@ namespace keepass2android
|
|||||||
|
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
filter.AddAction(Intent.ActionScreenOff);
|
filter.AddAction(Intent.ActionScreenOff);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file
|
|||||||
using System;
|
using System;
|
||||||
using Android.Content;
|
using Android.Content;
|
||||||
using Android.OS;
|
using Android.OS;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
@@ -39,7 +40,7 @@ namespace keepass2android
|
|||||||
_intentReceiver = new LockCloseActivityBroadcastReceiver(this);
|
_intentReceiver = new LockCloseActivityBroadcastReceiver(this);
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnResume() {
|
protected override void OnResume() {
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ using Enum = System.Enum;
|
|||||||
using Exception = System.Exception;
|
using Exception = System.Exception;
|
||||||
using String = System.String;
|
using String = System.String;
|
||||||
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
{
|
{
|
||||||
@@ -647,7 +648,7 @@ namespace keepass2android
|
|||||||
_intentReceiver = new PasswordActivityBroadcastReceiver(this);
|
_intentReceiver = new PasswordActivityBroadcastReceiver(this);
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intent.ActionScreenOff);
|
filter.AddAction(Intent.ActionScreenOff);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
|
|
||||||
|
|
||||||
//use FlagSecure to make sure the last (revealed) character of the master password is not visible in recent apps
|
//use FlagSecure to make sure the last (revealed) character of the master password is not visible in recent apps
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ using keepass2android;
|
|||||||
using KeePassLib;
|
using KeePassLib;
|
||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
{
|
{
|
||||||
@@ -153,7 +154,7 @@ namespace keepass2android
|
|||||||
_intentReceiver = new QuickUnlockBroadcastReceiver(this);
|
_intentReceiver = new QuickUnlockBroadcastReceiver(this);
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
|
|
||||||
Util.SetNoPersonalizedLearning(FindViewById<EditText>(Resource.Id.QuickUnlock_password));
|
Util.SetNoPersonalizedLearning(FindViewById<EditText>(Resource.Id.QuickUnlock_password));
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ using KeePassLib.Keys;
|
|||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
using Console = System.Console;
|
using Console = System.Console;
|
||||||
using Object = Java.Lang.Object;
|
using Object = Java.Lang.Object;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
{
|
{
|
||||||
@@ -343,7 +344,7 @@ namespace keepass2android
|
|||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
filter.AddAction(Intent.ActionScreenOff);
|
filter.AddAction(Intent.ActionScreenOff);
|
||||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1342,7 +1342,7 @@ namespace keepass2android
|
|||||||
intentFilter.AddAction(Intents.LockDatabase);
|
intentFilter.AddAction(Intents.LockDatabase);
|
||||||
intentFilter.AddAction(Intents.LockDatabaseByTimeout);
|
intentFilter.AddAction(Intents.LockDatabaseByTimeout);
|
||||||
intentFilter.AddAction(Intents.CloseDatabase);
|
intentFilter.AddAction(Intents.CloseDatabase);
|
||||||
Context.RegisterReceiver(broadcastReceiver, intentFilter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(Context, broadcastReceiver, intentFilter, (int)ReceiverFlags.Exported);
|
||||||
|
|
||||||
//ZXing.Net.Mobile.Forms.Android.Platform.Init();
|
//ZXing.Net.Mobile.Forms.Android.Platform.Init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,6 +86,8 @@ namespace keepass2android.services.AutofillBase
|
|||||||
ParseRecursive(autofillView, view, isManualRequest);
|
ParseRecursive(autofillView, view, isManualRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
autofillView.PackageId = autofillView.PackageId ?? _structure.ActivityComponent.PackageName;
|
||||||
|
|
||||||
return autofillView;
|
return autofillView;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -122,7 +124,6 @@ namespace keepass2android.services.AutofillBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
autofillView.InputFields.Add(new ViewNodeInputField(viewNode));
|
autofillView.InputFields.Add(new ViewNodeInputField(viewNode));
|
||||||
|
|
||||||
var childrenSize = viewNode.ChildCount;
|
var childrenSize = viewNode.ChildCount;
|
||||||
if (childrenSize > 0)
|
if (childrenSize > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ using KeePass.Util.Spr;
|
|||||||
using keepass2android;
|
using keepass2android;
|
||||||
using KeePassLib.Serialization;
|
using KeePassLib.Serialization;
|
||||||
using PluginTOTP;
|
using PluginTOTP;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
|
|
||||||
namespace keepass2android
|
namespace keepass2android
|
||||||
{
|
{
|
||||||
@@ -322,7 +323,8 @@ namespace keepass2android
|
|||||||
_stopOnLockBroadcastReceiver = new StopOnLockBroadcastReceiver(this);
|
_stopOnLockBroadcastReceiver = new StopOnLockBroadcastReceiver(this);
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intents.DatabaseLocked);
|
filter.AddAction(Intents.DatabaseLocked);
|
||||||
RegisterReceiver(_stopOnLockBroadcastReceiver, filter, ReceiverFlags.Exported);
|
|
||||||
|
ContextCompat.RegisterReceiver(this, _stopOnLockBroadcastReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((intent.Action == Intents.ShowNotification) || (intent.Action == Intents.UpdateKeyboard))
|
if ((intent.Action == Intents.ShowNotification) || (intent.Action == Intents.UpdateKeyboard))
|
||||||
@@ -529,7 +531,7 @@ namespace keepass2android
|
|||||||
_notificationDeletedBroadcastReceiver = new NotificationDeletedBroadcastReceiver(this);
|
_notificationDeletedBroadcastReceiver = new NotificationDeletedBroadcastReceiver(this);
|
||||||
IntentFilter deletefilter = new IntentFilter();
|
IntentFilter deletefilter = new IntentFilter();
|
||||||
deletefilter.AddAction(ActionNotificationCancelled);
|
deletefilter.AddAction(ActionNotificationCancelled);
|
||||||
RegisterReceiver(_notificationDeletedBroadcastReceiver, deletefilter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _notificationDeletedBroadcastReceiver, deletefilter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ using Android.Graphics;
|
|||||||
using Android.OS;
|
using Android.OS;
|
||||||
using Android.Preferences;
|
using Android.Preferences;
|
||||||
using AndroidX.Core.App;
|
using AndroidX.Core.App;
|
||||||
|
using AndroidX.Core.Content;
|
||||||
using keepass2android;
|
using keepass2android;
|
||||||
using KeePassLib.Utility;
|
using KeePassLib.Utility;
|
||||||
|
|
||||||
@@ -60,8 +61,8 @@ namespace keepass2android
|
|||||||
_screenOffReceiver = new ScreenOffReceiver();
|
_screenOffReceiver = new ScreenOffReceiver();
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.AddAction(Intent.ActionScreenOff);
|
filter.AddAction(Intent.ActionScreenOff);
|
||||||
RegisterReceiver(_screenOffReceiver, filter, ReceiverFlags.Exported);
|
ContextCompat.RegisterReceiver(this, _screenOffReceiver, filter, (int)ReceiverFlags.Exported);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
|
public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
|
||||||
|
|||||||
Reference in New Issue
Block a user