Compare commits
141 Commits
bugfix/web
...
l10n_maste
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1abee20c02 | ||
|
|
7891760723 | ||
|
|
985089c792 | ||
|
|
486624ca24 | ||
|
|
0b7661c80b | ||
|
|
a49b80443b | ||
|
|
78890f741d | ||
|
|
7b31b52c6d | ||
|
|
03d81865a8 | ||
|
|
a1348817b4 | ||
|
|
c0f717c737 | ||
|
|
fd2a74a297 | ||
|
|
17c0b115b2 | ||
|
|
b764587582 | ||
|
|
d163d2e101 | ||
|
|
e2071e5bd5 | ||
|
|
d1f880079b | ||
|
|
299dba0d4e | ||
|
|
8fddf5fa92 | ||
|
|
152e196d62 | ||
|
|
21f58050f8 | ||
|
|
7906102e43 | ||
|
|
3b2536472a | ||
|
|
2a93424365 | ||
|
|
09c7f9fa17 | ||
|
|
ef93eedc63 | ||
|
|
95e51f9c5d | ||
|
|
1c0528776b | ||
|
|
91a520e773 | ||
|
|
720e8d5a70 | ||
|
|
0539c7bb6c | ||
|
|
a568e24e12 | ||
|
|
9cf33e3612 | ||
|
|
ec62f0b7fe | ||
|
|
34a3a3751e | ||
|
|
9e0b1b837c | ||
|
|
f44a7997bc | ||
|
|
0e1b2c3ace | ||
|
|
2d58979051 | ||
|
|
d5a3db21e9 | ||
|
|
d56e9ebfd8 | ||
|
|
24a22b0281 | ||
|
|
8582cc11aa | ||
|
|
aff92370e5 | ||
|
|
8ebe1bb0d9 | ||
|
|
bef3463a0d | ||
|
|
7537820d79 | ||
|
|
79127ee4ae | ||
|
|
c367f94512 | ||
|
|
04b455425b | ||
|
|
130a6eb9bf | ||
|
|
9490731f9a | ||
|
|
8db227477d | ||
|
|
1c720ac3d9 | ||
|
|
581c897299 | ||
|
|
c3936d05cc | ||
|
|
7f7844f33e | ||
|
|
ba140b0612 | ||
|
|
9cba21cd7f | ||
|
|
0f3ad02ecb | ||
|
|
2859a53d0e | ||
|
|
edb5590dd3 | ||
|
|
f385fef48d | ||
|
|
05a340aa4d | ||
|
|
2191421f62 | ||
|
|
11f0ac2b4f | ||
|
|
54ea326d2b | ||
|
|
d2f2e19c24 | ||
|
|
741bb4346e | ||
|
|
714e36c14d | ||
|
|
86cba725f8 | ||
|
|
2207c02064 | ||
|
|
0687da9174 | ||
|
|
1d2a6d2c15 | ||
|
|
47a323dd5c | ||
|
|
5660f8b1d2 | ||
|
|
3ac238cc2b | ||
|
|
57fcfc11c4 | ||
|
|
c80b61e8f4 | ||
|
|
d38f60e059 | ||
|
|
f4197eee5d | ||
|
|
271dcfc19c | ||
|
|
011a939c39 | ||
|
|
ee2b67a5dd | ||
|
|
9cf1606064 | ||
|
|
df5f72262c | ||
|
|
902f4a8f34 | ||
|
|
1a2b7c59aa | ||
|
|
ddced3d7b1 | ||
|
|
ecab74bfec | ||
|
|
82e927cb93 | ||
|
|
45abdf4382 | ||
|
|
33cc95ff87 | ||
|
|
a977c75b64 | ||
|
|
3da07765ca | ||
|
|
7d450865f7 | ||
|
|
14b01088ea | ||
|
|
4770b99127 | ||
|
|
b556eef642 | ||
|
|
b31ec9fba0 | ||
|
|
13e653f45d | ||
|
|
75df57022a | ||
|
|
10690ddf84 | ||
|
|
4f4f85ea9d | ||
|
|
d1da69f7a3 | ||
|
|
93a18a60b0 | ||
|
|
11f8f318da | ||
|
|
ec3b236ac3 | ||
|
|
2fc9d2b9cb | ||
|
|
290623a85c | ||
|
|
0df85ed593 | ||
|
|
3e696437c6 | ||
|
|
b9fb4d127c | ||
|
|
1afc69d715 | ||
|
|
cf06572aef | ||
|
|
0e7522923d | ||
|
|
5a2df80101 | ||
|
|
a0b80f706e | ||
|
|
1119ca31f6 | ||
|
|
d817e39c5d | ||
|
|
2f0881b917 | ||
|
|
01666682b0 | ||
|
|
2a56bee949 | ||
|
|
78ed72390f | ||
|
|
17a83a731a | ||
|
|
a6a17be1eb | ||
|
|
3d9a29c04b | ||
|
|
ae10cde944 | ||
|
|
8f947d6bd6 | ||
|
|
c950a1d686 | ||
|
|
50ef6f176c | ||
|
|
c65136307d | ||
|
|
2ef38695eb | ||
|
|
bbdc223de3 | ||
|
|
ab4ce573a0 | ||
|
|
5bac055c80 | ||
|
|
dbb5d402ed | ||
|
|
0a34855fd5 | ||
|
|
e870f63024 | ||
|
|
29102af02c | ||
|
|
da15c02b29 |
@@ -1,7 +1,7 @@
|
||||
files:
|
||||
- source: src/keepass2android-app/Resources/values/strings.xml
|
||||
- source: src/keepass2android/Resources/values/strings.xml
|
||||
translation: >-
|
||||
/src/keepass2android-app/Resources/values-%two_letters_code%/%original_file_name%
|
||||
/src/keepass2android/Resources/values-%two_letters_code%/%original_file_name%
|
||||
translate_attributes: '0'
|
||||
content_segmentation: '0'
|
||||
languages_mapping:
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
Additions allow you to add arbitrary C# to the generated classes
|
||||
before they are compiled. This can be helpful for providing convenience
|
||||
methods or adding pure C# classes.
|
||||
|
||||
== Adding Methods to Generated Classes ==
|
||||
|
||||
Let's say the library being bound has a Rectangle class with a constructor
|
||||
that takes an x and y position, and a width and length size. It will look like
|
||||
this:
|
||||
|
||||
public partial class Rectangle
|
||||
{
|
||||
public Rectangle (int x, int y, int width, int height)
|
||||
{
|
||||
// JNI bindings
|
||||
}
|
||||
}
|
||||
|
||||
Imagine we want to add a constructor to this class that takes a Point and
|
||||
Size structure instead of 4 ints. We can add a new file called Rectangle.cs
|
||||
with a partial class containing our new method:
|
||||
|
||||
public partial class Rectangle
|
||||
{
|
||||
public Rectangle (Point location, Size size) :
|
||||
this (location.X, location.Y, size.Width, size.Height)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
At compile time, the additions class will be added to the generated class
|
||||
and the final assembly will a Rectangle class with both constructors.
|
||||
|
||||
|
||||
== Adding C# Classes ==
|
||||
|
||||
Another thing that can be done is adding fully C# managed classes to the
|
||||
generated library. In the above example, let's assume that there isn't a
|
||||
Point class available in Java or our library. The one we create doesn't need
|
||||
to interact with Java, so we'll create it like a normal class in C#.
|
||||
|
||||
By adding a Point.cs file with this class, it will end up in the binding library:
|
||||
|
||||
public class Point
|
||||
{
|
||||
public int X { get; set; }
|
||||
public int Y { get; set; }
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-android</TargetFramework>
|
||||
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,14 +0,0 @@
|
||||
<enum-field-mappings>
|
||||
<!--
|
||||
This example converts the constants Fragment_id, Fragment_name,
|
||||
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
|
||||
to an enum called Android.Support.V4.App.FragmentTagType with values
|
||||
Id, Name, and Tag.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType">
|
||||
<field jni-name="Fragment_name" clr-name="Name" value="0" />
|
||||
<field jni-name="Fragment_id" clr-name="Id" value="1" />
|
||||
<field jni-name="Fragment_tag" clr-name="Tag" value="2" />
|
||||
</mapping>
|
||||
-->
|
||||
</enum-field-mappings>
|
||||
@@ -1,13 +0,0 @@
|
||||
<enum-method-mappings>
|
||||
<!--
|
||||
This example changes the Java method:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
|
||||
to be:
|
||||
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
|
||||
when bound in C#.
|
||||
|
||||
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
|
||||
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
|
||||
</mapping>
|
||||
-->
|
||||
</enum-method-mappings>
|
||||
@@ -1,35 +0,0 @@
|
||||
<metadata>
|
||||
|
||||
<remove-node path="/api/package[@name='com.dropbox.core']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.http']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.json']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.oauth']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.sdk.android']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.stone']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.util']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v1']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.account']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.callbacks']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.check']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.seenstate']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.teamcommon']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.secondaryemails']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.async']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.auth']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.common']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.contacts']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.fileproperties']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.filerequests']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.files']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.paper']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.openid']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.sharing']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.team']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.teamlog']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.teampolicies']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.users']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.v2.userscommon']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.android']" />
|
||||
<remove-node path="/api/package[@name='com.dropbox.core.android']" />
|
||||
</metadata>
|
||||
Binary file not shown.
Binary file not shown.
@@ -29,8 +29,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PCloudBindings", "PCloudBin
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kp2aAutofillParser.Tests", "Kp2aAutofillParser.Tests\Kp2aAutofillParser.Tests.csproj", "{F5A2A8F9-C084-498F-9603-9D927BA5C626}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DropboxBinding", "DropboxBinding\DropboxBinding.csproj", "{2FE6E335-E834-4F86-AB83-2C5D225DA929}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -371,30 +369,6 @@ Global
|
||||
{F5A2A8F9-C084-498F-9603-9D927BA5C626}.ReleaseNoNet|Win32.Build.0 = Release|Any CPU
|
||||
{F5A2A8F9-C084-498F-9603-9D927BA5C626}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU
|
||||
{F5A2A8F9-C084-498F-9603-9D927BA5C626}.ReleaseNoNet|x64.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|Win32.Build.0 = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|Win32.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Win32.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|Win32.Build.0 = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|x64.ActiveCfg = Release|Any CPU
|
||||
{2FE6E335-E834-4F86-AB83-2C5D225DA929}.ReleaseNoNet|x64.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -730,7 +730,7 @@ namespace Kp2aAutofillParser
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<PackageReference Include="FluentFTP" Version="51.1.0" />
|
||||
<PackageReference Include="MegaApiClient" Version="1.10.4" />
|
||||
<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="Xamarin.AndroidX.Browser" Version="1.8.0" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Core" Version="1.13.1.5" />
|
||||
|
||||
@@ -138,8 +138,7 @@ namespace keepass2android
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (string.Equals(host, otherHost, StringComparison.OrdinalIgnoreCase) ||
|
||||
host.EndsWith("." + otherHost, StringComparison.OrdinalIgnoreCase))
|
||||
if (host.IndexOf(otherHost, StringComparison.InvariantCultureIgnoreCase) > -1)
|
||||
{
|
||||
pgResults.AddEntry(entry, false);
|
||||
}
|
||||
|
||||
@@ -41,8 +41,7 @@ dependencies {
|
||||
exclude group: 'com.google.android.google-play-services'
|
||||
}
|
||||
implementation 'com.google.apis:google-api-services-drive:v2-rev102-1.16.0-rc'
|
||||
implementation 'com.dropbox.core:dropbox-core-sdk:7.0.0'
|
||||
implementation 'com.dropbox.core:dropbox-android-sdk:7.0.0'
|
||||
implementation 'com.dropbox.core:dropbox-core-sdk:5.4.6'
|
||||
implementation 'com.google.api-client:google-api-client:1.30.5'
|
||||
implementation 'com.google.api-client:google-api-client-android:1.30.5'
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.dropbox.core.DbxOAuth1Upgrader;
|
||||
import com.dropbox.core.DbxRequestConfig;
|
||||
import com.dropbox.core.InvalidAccessTokenException;
|
||||
import com.dropbox.core.android.Auth;
|
||||
|
||||
import com.dropbox.core.json.JsonReadException;
|
||||
import com.dropbox.core.oauth.DbxCredential;
|
||||
import com.dropbox.core.v2.DbxClientV2;
|
||||
@@ -155,7 +154,7 @@ public class DropboxV2Storage extends JavaFileStorageBase
|
||||
{
|
||||
if ((previousFileVersion == null) || (previousFileVersion.equals("")))
|
||||
return false;
|
||||
path = removeProtocol(path);
|
||||
path = removeProtocol(path);
|
||||
try {
|
||||
Metadata entry = dbxClient.files().getMetadata(path);
|
||||
return !String.valueOf(entry.hashCode()) .equals(previousFileVersion);
|
||||
|
||||
@@ -304,11 +304,6 @@ public class WebDavStorage extends JavaFileStorageBase {
|
||||
//relative path:
|
||||
e.path = buildPathFromHref(parentPath, r.href);
|
||||
}
|
||||
if ( (parentPath.indexOf("@") != -1) && (e.path.indexOf("@") == -1))
|
||||
{
|
||||
//username/password not contained in .href response. Add it back from parentPath:
|
||||
e.path = parentPath.substring(0, parentPath.indexOf("@")+1) + e.path.substring(e.path.indexOf("://")+3);
|
||||
}
|
||||
|
||||
if ((depth == 1) && e.isDirectory)
|
||||
{
|
||||
|
||||
@@ -356,13 +356,7 @@ public class KP2AKeyboard extends InputMethodService
|
||||
pFilter.addAction("android.intent.action.PACKAGE_ADDED");
|
||||
pFilter.addAction("android.intent.action.PACKAGE_REPLACED");
|
||||
pFilter.addAction("android.intent.action.PACKAGE_REMOVED");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
registerReceiver(mPluginManager, pFilter, RECEIVER_EXPORTED);
|
||||
}
|
||||
else
|
||||
{
|
||||
registerReceiver(mPluginManager, pFilter);
|
||||
}
|
||||
registerReceiver(mPluginManager, pFilter);
|
||||
|
||||
|
||||
LatinIMEUtil.GCUtils.getInstance().reset();
|
||||
@@ -381,28 +375,16 @@ public class KP2AKeyboard extends InputMethodService
|
||||
|
||||
// register to receive ringer mode changes for silent mode
|
||||
IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
registerReceiver(mSilentModeReceiver, filter, RECEIVER_EXPORTED);
|
||||
}
|
||||
else
|
||||
{
|
||||
registerReceiver(mSilentModeReceiver, filter);
|
||||
}
|
||||
|
||||
registerReceiver(mSilentModeReceiver, filter);
|
||||
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
//check if we have KP2A data available:
|
||||
mHadKp2aData = mShowKp2aKeyboard = KeyboardData.hasData();
|
||||
mHadKp2aData = mShowKp2aKeyboard = keepass2android.kbbridge.KeyboardData.hasData();
|
||||
|
||||
mClearKeyboardReceiver = new ClearKeyboardBroadcastReceiver();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
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));
|
||||
registerReceiver(mClearKeyboardReceiver, new IntentFilter(get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this)));
|
||||
android.util.Log.d("KP2AK", "registered receiver for clear keyboard broadcast: "+get_KEEPASS2ANDROID_KEYBOARD_CLEARED(this));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Title for Latin keyboard -->
|
||||
<string name="english_ime_name">Keepass2Android-Tastatur</string>
|
||||
<string name="english_ime_name">KeePass2Android-Tastatur</string>
|
||||
<!-- Title for Latin keyboard settings activity / dialog -->
|
||||
<string name="english_ime_settings">Android-Tastatureinstellungen</string>
|
||||
<!-- Title for Latin keyboard input options dialog -->
|
||||
@@ -49,7 +49,7 @@
|
||||
<!-- Description for text prediction -->
|
||||
<string name="prediction_summary">Automatische Vervollständigung während der Eingabe aktivieren</string>
|
||||
<!-- Dialog title for auto complete choices -->
|
||||
<string name="auto_complete_dialog_title">Autovervollständigung</string>
|
||||
<string name="auto_complete_dialog_title">Automatische. Vervollständigung </string>
|
||||
<!-- Option to enable text prediction in landscape -->
|
||||
<string name="prediction_landscape">Textfeld vergrößern</string>
|
||||
<!-- Description for text prediction -->
|
||||
@@ -62,7 +62,7 @@
|
||||
<string name="auto_punctuate">Autom. Zeichensetzung</string>
|
||||
<!-- Description for auto punctuate -->
|
||||
<!-- Option to enable quick fixes -->
|
||||
<string name="quick_fixes">Schnelle Korrektur</string>
|
||||
<string name="quick_fixes">Schnelle Fixierung</string>
|
||||
<!-- Description for quick fixes -->
|
||||
<string name="quick_fixes_summary">Korrigiert gängige Tippfehler</string>
|
||||
<!-- Option to enable showing suggestions -->
|
||||
@@ -112,7 +112,7 @@
|
||||
<!-- Tip to long press on typed word to add to dictionary -->
|
||||
<string name="tip_add_to_dictionary">Lange auf das Wort ganz links außen drücken, um es zum Wörterbuch hinzuzufügen</string>
|
||||
<!-- Instruction to touch the bubble to continue -->
|
||||
<string name="touch_to_continue">Diesen Hinweis antippen, um fortzufahren.»</string>
|
||||
<string name="touch_to_continue">Diesen Hinweis berühren, um fortzufahren.»</string>
|
||||
<!-- Instruction to touch the bubble to start typing -->
|
||||
<string name="touch_to_finish">Hier berühren, um diesen Hinweis zu schließen und mit dem Tippen zu beginnen!</string>
|
||||
<!-- Tutorial tip 1 - The keyboard opens any time you touch a text field -->
|
||||
@@ -138,7 +138,7 @@
|
||||
<!-- Label for "switch to symbols" key. Must be short to fit on key! -->
|
||||
<string name="label_symbol_key">\?123</string>
|
||||
<!-- Label for "switch to numeric" key. Must be short to fit on key! -->
|
||||
<string name="label_phone_key">123</string>
|
||||
<string name="label_phone_key">Nummer</string>
|
||||
<!-- Label for "switch to alphabetic" key. Must be short to fit on key! -->
|
||||
<string name="label_alpha_key">ABC</string>
|
||||
<!-- Label for ALT modifier key. Must be short to fit on key! -->
|
||||
@@ -161,7 +161,7 @@
|
||||
"Swipe across keyboard to speak"). Also shown when enabling settings. -->
|
||||
<string name="voice_hint_dialog_message">Um die Spracheingabe zu verwenden, drücken Sie die Mikrofontaste oder ziehen Sie Ihren Finger über die Bildschirmtastatur.</string>
|
||||
<!-- Short message to tell the user the system is ready for them to speak. -->
|
||||
<string name="voice_listening">Jetzt sprechen</string>
|
||||
<string name="voice_listening">Sprechen Sie jetzt</string>
|
||||
<!-- Short message shown after the user finishes speaking. -->
|
||||
<string name="voice_working">Vorgang läuft</string>
|
||||
<!-- Short message shown before the user should speak. -->
|
||||
@@ -186,7 +186,7 @@
|
||||
<!-- Short hint shown in candidate view to explain voice input. -->
|
||||
<string name="voice_swipe_hint"><b>„Hinweis:“</b>„ Ziehen Sie zum Sprechen den Finger über die Tastatur.“</string>
|
||||
<!-- Short hint shown in candidate view to explain that user can speak punctuation. -->
|
||||
<string name="voice_punctuation_hint"><b>Hinweis: </b>Versuche beim nächsten Mal, Satzzeichen wie „Punkt“, „Komma“ oder „Fragezeichen“ per Sprachbefehl einzugeben.</string>
|
||||
<string name="voice_punctuation_hint"><b>„Hinweis: “</b>„ Versuchen Sie beim nächsten Mal, Satzzeichen wie „Punkt“, „Komma“ oder „Fragezeichen“ per Sprachbefehl einzugeben.“</string>
|
||||
<!-- Label on button to stop recognition. Must be short to fit on button. -->
|
||||
<string name="cancel">Abbrechen</string>
|
||||
<!-- Label on button when an error occurs -->
|
||||
@@ -216,7 +216,7 @@
|
||||
<!-- appears above image showing the user to click on a TextView to show the IME -->
|
||||
<string name="open_the_keyboard"><font size="17"><b>„Tastatur öffnen“\n</b></font><font size="3">\n</font>„Berühren Sie ein beliebiges Textfeld.“</string>
|
||||
<!-- appears above the image showing the back button used to close the keyboard -->
|
||||
<string name="close_the_keyboard"><font size="17"><b>Tastatur schließen\n</b></font><font size="3">\n</font>Drücken die Zurück-Taste.</string>
|
||||
<string name="close_the_keyboard"><font size="17"><b>„Tastatur schließen“\n</b></font><font size="3">\n</font>„Drücken Sie die Zurück-Taste.“</string>
|
||||
<!-- appears above image showing how to use touch and hold -->
|
||||
<string name="touch_and_hold"><font size="17"><b>„Für Optionen eine Taste berühren und gedrückt halten“\n</b></font><font size="3">\n</font>„Greifen Sie auf Satzzeichen und Akzente zu.“</string>
|
||||
<!-- appears above image showing how to access keyboard settings -->
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<string name="afc_title_sort_by">Sortieren nach…</string>
|
||||
<string name="afc_yesterday">Gestern</string>
|
||||
<plurals name="afc_title_choose_directories">
|
||||
<item quantity="one">Ordner wählen…</item>
|
||||
<item quantity="one">Ordner wählen …</item>
|
||||
<item quantity="other">Verzeichnisse wählen</item>
|
||||
</plurals>
|
||||
<plurals name="afc_title_choose_files">
|
||||
@@ -64,7 +64,7 @@
|
||||
<item quantity="other">Dateien wählen …</item>
|
||||
</plurals>
|
||||
<plurals name="afc_title_choose_files_directories">
|
||||
<item quantity="one">Datei/Ordner wählen…</item>
|
||||
<item quantity="one">Datei/Ordner wählen …</item>
|
||||
<item quantity="other">Dateien/Ordner wählen …</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="about_feedback">Feedback</string>
|
||||
<string name="AboutText">Keepass2Android ist ein Passwortmanager, der KeePass 2.x-Datenbanken verwalten kann.</string>
|
||||
<string name="AboutText">Keepass2Android ist ein Passwortmanager mit Lese- und Schreib-Zugriff auf KeePass 2.x Datenbanken.</string>
|
||||
<string name="CreditsText">Die Benutzeroberfläche basiert auf einem Port von Keepassdroid (entwickelt von Brian Pellin) nach Mono for Android. Der Code für die Datenbank-Operationen nutzt eine angepasste Version einer Bibliothek aus KeePass (entwickelt von Dominik Reichl).
|
||||
Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die Google durchgeführt und zur Verfügung gestellt hat; er wird nach den Bedingungen der Creative Commons 3.0 Attribution License genutzt.</string>
|
||||
<string name="CreditsTextSFTP">SFTP-Unterstützung ist implementiert unter Verwendung der JSch-Bibliothekvmit BSD-Lizenz der Fa. JCraft Inc.</string>
|
||||
<string name="CreditsTextSFTP">SFTP-Unterstützung ist implementiert unter Nutzung der JSch-Bibliothek (BSD-Lizenz), erstellt durch JCraft, Inc.</string>
|
||||
<string name="CreditsIcons">Das Hammer-Icon wurde von John Caserta (Noun Project) erstellt. Das Pinguin-Icon wurde von Adriano Emerick (Noun Project) erstellt. Das Feder-Icon wurde von Jon Testa (Noun Project) erstellt. Das Apfel-Icon wurde von Ava Rowell (Noun Project) erstellt. Das Bild-Icon stammt von https://icons8.com/icon/5570/Picture.</string>
|
||||
<string name="accept">Akzeptieren</string>
|
||||
<string name="deny">Verweigern</string>
|
||||
@@ -28,7 +28,7 @@ Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die
|
||||
<string name="application">Anwendung</string>
|
||||
<string name="application_settings">Anwendungseinstellungen</string>
|
||||
<string name="ShowGroupnameInSearchResult_title">Gruppennamen im Suchergebnis anzeigen</string>
|
||||
<string name="ShowGroupnameInSearchResult_resume">Gruppennamen unter den Eintragstiteln im Suchergebnis anzeigen. Nützlich, wenn es mehrere Einträge mit demselben Namen gibt.</string>
|
||||
<string name="ShowGroupnameInSearchResult_resume">Gruppennamen unter den Eintragstiteln im Suchergebnis anzeigen. Nützlich, wenn es mehrere Einträge mit dem selben Namen gibt.</string>
|
||||
<string name="NavigationToGroupCompleted_message">Angezeigte Gruppe ist jetzt: %1$s</string>
|
||||
<string name="AutofillDisabledQueriesPreference_title">Deaktivierte AutoFill-Ziele</string>
|
||||
<string name="AutofillDisabledQueriesPreference_summary">Zeigt eine Liste von Apps und Webseiten, für die AutoFill deaktiviert ist.</string>
|
||||
@@ -123,7 +123,7 @@ Der Android Robot wird genutzt und wurde modifiziert basierend auf Arbeiten, die
|
||||
<string name="entry_extra_strings">Zusätzliche Felder</string>
|
||||
<string name="entry_binaries">Datei-Anhänge</string>
|
||||
<string name="entry_history">Vorherige Versionen</string>
|
||||
<string name="error_can_not_handle_uri">Keepass2Android kann diese URI nicht verarbeiten.</string>
|
||||
<string name="error_can_not_handle_uri">Keepass2Android kann diese Adresse nicht verarbeiten.</string>
|
||||
<string name="error_could_not_create_group">Fehler beim Erstellen der Gruppe.</string>
|
||||
<string name="error_could_not_create_parent">Verzeichnis konnte nicht erstellt werden.</string>
|
||||
<string name="error_database_exists">Diese Datei existiert bereits.</string>
|
||||
@@ -1134,8 +1134,8 @@ Erstes öffentliches Release</string>
|
||||
<string name="backup_infotext_head">Gibt es eine Sicherung der Datenbank?</string>
|
||||
<string name="backup_infotext_main">Keepass2Android speichert die Passwörter in einer Datei an einem frei wählbarem Speicherort.Ist sichergestellt, dass die Datei auch dann noch verfügbar ist, wenn das Telefon verloren geht oder gestohlen wird, oder wenn die Datei zerstört oder gelöscht wird? Bitte sicherstellen, dass immer eine aktuelle Kopie an einem sichern Ort aufbewahrt wird!</string>
|
||||
<string name="backup_infotext_note">Um jetzt eine Sicherung zu erstellen, nach %1$s > %2$s > %3$s gehen.</string>
|
||||
<string name="emergency_infotext_head">Hast du für Notfälle vorgesorgt?</string>
|
||||
<string name="emergency_infotext_main">Hast du je darüber nachgedacht, was passiert, wenn du nicht mehr auf deine Passwort-Datenbank zugreifen kannst? Was, wenn du einen Unfall hast? Ein bewährtes Verfahren ist, einer vertrauenswürdigen Person dein Masterpasswort für Notfälle mitzuteilen. Ansonsten wird niemand auf deine Passwörter Zugriff haben.</string>
|
||||
<string name="emergency_infotext_head">Ist man auf Notfälle vorbereitet?</string>
|
||||
<string name="emergency_infotext_main">Wurde schon einmal darüber nachgedacht, was passiert, wenn man keinen Zugriff mehr zu seiner Passwortdatenbank hat? Was ist, wenn man einen Unfall hat? Es ist eine vernünftige Maßnahme, den Hauptschlüssel für Notfälle an eine vertrauenswürdige Person weiterzugeben. Andernfalls hat niemand Zugang zu den Passwörtern.</string>
|
||||
<string name="no_secure_display">Der aktuell gültige Bildschirm ist nicht als sicher eingestuft. Das bedeutet, dass Bildschirmfotos von anderen Anwendungen erstellt werden könnten. Keepass2Android ist so konfiguriert, dass sensible Informationen nur auf sicheren Bildschirmen angezeigt werden. Bitte zu einem sicheren Bildschirm wechseln (z. B. durch Abklemmen eines HDMI-Monitors) oder die App-Einstellungen ändern.</string>
|
||||
<string name="disable_secure_screen_check">Diese Nachricht deaktivieren</string>
|
||||
<string name="switch_ime_text">Bitte die Keepass2Android-Tastatur aktivieren.</string>
|
||||
@@ -1144,7 +1144,5 @@ Erstes öffentliches Release</string>
|
||||
<string name="AutofillWarning_Intro">Hiermit werden Anmeldeinformationen für die Domäne „%1$s“ in die Anwendung „%2$s“ eingefügt.</string>
|
||||
<string name="AutofillWarning_FillDomainInUntrustedApp">Wenn darauf vertraut wird, dass „%2$s“ zu „%1$s“ gehört, oder wenn darauf vertraut wird, dass die App „%2$s“ die Anmeldeinformationen nicht missbraucht (z. B. weil es sich um eine vertrauenswürdige Browser-App handelt), kann fortgefahren werden. Falls nicht, bitte abbrechen.</string>
|
||||
<string name="AutofillWarning_trustAsBrowser">Für „%1$s“ immer akzeptieren</string>
|
||||
<string name="kp2a_switch_on_sendgodone">Tastatur zurückwechseln wenn fertig</string>
|
||||
<string name="kp2a_switch_on_sendgodone_summary">Beim Drücken von Senden/Los/Fertig zurückschalten</string>
|
||||
<string name="english_ime_settings">Android-Tastatureinstellungen</string>
|
||||
</resources>
|
||||
|
||||
@@ -14,11 +14,9 @@ using Android.Runtime;
|
||||
using Android.Text;
|
||||
using Android.Text.Method;
|
||||
using Android.Text.Util;
|
||||
using Android.Util;
|
||||
using Android.Views;
|
||||
using Android.Webkit;
|
||||
using Android.Widget;
|
||||
using AndroidX.Core.Content;
|
||||
using Google.Android.Material.Dialog;
|
||||
using keepass2android;
|
||||
|
||||
@@ -31,16 +29,7 @@ namespace keepass2android
|
||||
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(ctx);
|
||||
builder.SetTitle(ctx.GetString(Resource.String.ChangeLog_title));
|
||||
List<string> changeLog = new List<string>{
|
||||
BuildChangelogString(ctx, new List<int>{Resource.Array.ChangeLog_1_12
|
||||
#if !NoNet
|
||||
,Resource.Array.ChangeLog_1_12_net
|
||||
#endif
|
||||
}, "1.12"),
|
||||
BuildChangelogString(ctx, new List<int>{Resource.Array.ChangeLog_1_11
|
||||
#if !NoNet
|
||||
,Resource.Array.ChangeLog_1_11_net
|
||||
#endif
|
||||
}, "1.11"),
|
||||
BuildChangelogString(ctx, new List<int>{Resource.Array.ChangeLog_1_11,Resource.Array.ChangeLog_1_11_net}, "1.11"),
|
||||
BuildChangelogString(ctx, Resource.Array.ChangeLog_1_10, "1.10"),
|
||||
BuildChangelogString(ctx, Resource.Array.ChangeLog_1_09e, "1.09e"),
|
||||
BuildChangelogString(ctx, Resource.Array.ChangeLog_1_09d, "1.09d"),
|
||||
@@ -110,28 +99,32 @@ namespace keepass2android
|
||||
warning = ctx.GetString(Resource.String.PreviewWarning);
|
||||
}
|
||||
|
||||
builder.SetPositiveButton(Android.Resource.String.Ok, (dlgSender, dlgEvt) => {((AndroidX.AppCompat.App.AlertDialog)dlgSender).Dismiss(); });
|
||||
builder.SetPositiveButton(Android.Resource.String.Ok, (dlgSender, dlgEvt) => {((AlertDialog)dlgSender).Dismiss(); });
|
||||
builder.SetCancelable(false);
|
||||
|
||||
WebView wv = new WebView(ctx);
|
||||
|
||||
|
||||
|
||||
|
||||
wv.SetBackgroundColor(Color.White);
|
||||
wv.LoadDataWithBaseURL(null, GetLog(changeLog, warning, ctx), "text/html", "UTF-8", null);
|
||||
|
||||
|
||||
//builder.SetMessage("");
|
||||
builder.SetView(wv);
|
||||
Dialog dialog = builder.Create();
|
||||
dialog.DismissEvent += (sender, e) =>
|
||||
dialog.DismissEvent += (sender, e) =>
|
||||
{
|
||||
onDismiss();
|
||||
};
|
||||
wv.SetBackgroundColor(Color.Transparent);
|
||||
wv.LoadDataWithBaseURL(null, GetLog(changeLog, warning, dialog.Context), "text/html", "UTF-8", null);
|
||||
dialog.Show();
|
||||
/*TextView message = (TextView)dialog.FindViewById(Android.Resource.Id.Message);
|
||||
|
||||
|
||||
message.TextFormatted = Html.FromHtml(ConcatChangeLog(ctx, changeLog.ToArray()));
|
||||
message.AutoLinkMask=MatchOptions.WebUrls;*/
|
||||
|
||||
dialog.Show();
|
||||
}
|
||||
|
||||
private static string BuildChangelogString(Context ctx, int changeLogResId, string version)
|
||||
private static string BuildChangelogString(Context ctx, int changeLogResId, string version)
|
||||
{
|
||||
return BuildChangelogString(ctx, new List<int>() { changeLogResId }, version);
|
||||
|
||||
@@ -157,44 +150,32 @@ namespace keepass2android
|
||||
|
||||
}
|
||||
|
||||
private const string HtmlEnd = @"</body>
|
||||
</html>";
|
||||
|
||||
private static string GetLog(List<string> changeLog, string warning, Context ctx)
|
||||
{
|
||||
string secondaryColor = "31628D";
|
||||
string onSurfaceColor = "171D1E";
|
||||
if (((int)ctx.Resources.Configuration.UiMode & (int)UiMode.NightMask) == (int)UiMode.NightYes)
|
||||
{
|
||||
secondaryColor = "99CBFF";
|
||||
onSurfaceColor = "E1E4D6";
|
||||
}
|
||||
|
||||
|
||||
string HtmlStart = @"<html>
|
||||
private const string HtmlStart = @"<html>
|
||||
<head>
|
||||
<style type='text/css'>
|
||||
a { color:#"+ onSurfaceColor + @" }
|
||||
a { color:#000000 }
|
||||
div.title {
|
||||
color:"+ secondaryColor+@";
|
||||
color:287AA9;
|
||||
font-size:1.2em;
|
||||
font-weight:bold;
|
||||
margin-top:1em;
|
||||
margin-bottom:0.5em;
|
||||
text-align:center }
|
||||
div.subtitle {
|
||||
color:"+ secondaryColor+@";
|
||||
color:287AA9;
|
||||
font-size:0.8em;
|
||||
margin-bottom:1em;
|
||||
text-align:center }
|
||||
div.freetext { color:#"+ onSurfaceColor + @" }
|
||||
div.list { color:#"+ onSurfaceColor + @" }
|
||||
div.freetext { color:#000000 }
|
||||
div.list { color:#000000 }
|
||||
</style>
|
||||
</head>
|
||||
<body>";
|
||||
|
||||
|
||||
StringBuilder sb = new StringBuilder(HtmlStart);
|
||||
private const string HtmlEnd = @"</body>
|
||||
</html>";
|
||||
private static string GetLog(List<string> changeLog, string warning, Context ctx)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(HtmlStart);
|
||||
if (!string.IsNullOrEmpty(warning))
|
||||
{
|
||||
sb.Append(warning);
|
||||
@@ -53,7 +53,6 @@ using keepass2android.fileselect;
|
||||
using KeeTrayTOTP.Libraries;
|
||||
using Boolean = Java.Lang.Boolean;
|
||||
using Android.Util;
|
||||
using AndroidX.Core.Content;
|
||||
using Google.Android.Material.Dialog;
|
||||
using keepass2android;
|
||||
|
||||
@@ -492,9 +491,9 @@ namespace keepass2android
|
||||
App.Kp2a.LastOpenedEntry = new PwEntryOutput(Entry, App.Kp2a.CurrentDb);
|
||||
|
||||
_pluginActionReceiver = new PluginActionReceiver(this);
|
||||
ContextCompat.RegisterReceiver(this, _pluginActionReceiver, new IntentFilter(Strings.ActionAddEntryAction), (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_pluginActionReceiver, new IntentFilter(Strings.ActionAddEntryAction), ReceiverFlags.Exported);
|
||||
_pluginFieldReceiver = new PluginFieldReceiver(this);
|
||||
ContextCompat.RegisterReceiver(this, _pluginFieldReceiver, new IntentFilter(Strings.ActionSetEntryField), (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_pluginFieldReceiver, new IntentFilter(Strings.ActionSetEntryField), ReceiverFlags.Exported);
|
||||
|
||||
var notifyPluginsOnOpenThread = new Thread(NotifyPluginsOnOpen);
|
||||
notifyPluginsOnOpenThread.Start();
|
||||
@@ -21,7 +21,6 @@ using Android.OS;
|
||||
using Android.Preferences;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using AndroidX.Core.Content;
|
||||
using KeePassLib.Serialization;
|
||||
|
||||
namespace keepass2android
|
||||
@@ -70,7 +69,7 @@ namespace keepass2android
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.AddAction(Intents.DatabaseLocked);
|
||||
filter.AddAction(Intent.ActionScreenOff);
|
||||
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
@@ -21,7 +21,6 @@ using Android.OS;
|
||||
using Android.Preferences;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using AndroidX.Core.Content;
|
||||
using KeePassLib.Serialization;
|
||||
|
||||
namespace keepass2android
|
||||
@@ -56,7 +55,7 @@ namespace keepass2android
|
||||
|
||||
filter.AddAction(Intents.DatabaseLocked);
|
||||
filter.AddAction(Intent.ActionScreenOff);
|
||||
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file
|
||||
using System;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using AndroidX.Core.Content;
|
||||
using KeePassLib.Serialization;
|
||||
|
||||
namespace keepass2android
|
||||
@@ -40,7 +39,7 @@ namespace keepass2android
|
||||
_intentReceiver = new LockCloseActivityBroadcastReceiver(this);
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.AddAction(Intents.DatabaseLocked);
|
||||
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
||||
}
|
||||
|
||||
protected override void OnResume() {
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:versionCode="201"
|
||||
android:versionName="1.12-r0"
|
||||
android:versionCode="200"
|
||||
android:versionName="1.11-r0"
|
||||
package="keepass2android.keepass2android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:installLocation="auto">
|
||||
@@ -65,7 +65,6 @@ using Enum = System.Enum;
|
||||
using Exception = System.Exception;
|
||||
using String = System.String;
|
||||
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
||||
using AndroidX.Core.Content;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
@@ -648,7 +647,7 @@ namespace keepass2android
|
||||
_intentReceiver = new PasswordActivityBroadcastReceiver(this);
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.AddAction(Intent.ActionScreenOff);
|
||||
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
||||
|
||||
|
||||
//use FlagSecure to make sure the last (revealed) character of the master password is not visible in recent apps
|
||||
@@ -34,7 +34,6 @@ using keepass2android;
|
||||
using KeePassLib;
|
||||
using KeePassLib.Serialization;
|
||||
using Toolbar = AndroidX.AppCompat.Widget.Toolbar;
|
||||
using AndroidX.Core.Content;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
@@ -154,7 +153,7 @@ namespace keepass2android
|
||||
_intentReceiver = new QuickUnlockBroadcastReceiver(this);
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.AddAction(Intents.DatabaseLocked);
|
||||
ContextCompat.RegisterReceiver(this, _intentReceiver, filter, (int)ReceiverFlags.Exported);
|
||||
RegisterReceiver(_intentReceiver, filter, ReceiverFlags.Exported);
|
||||
|
||||
Util.SetNoPersonalizedLearning(FindViewById<EditText>(Resource.Id.QuickUnlock_password));
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user