diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs
index 8c74c73f..dab5b88d 100644
--- a/src/keepass2android/GroupBaseActivity.cs
+++ b/src/keepass2android/GroupBaseActivity.cs
@@ -121,6 +121,17 @@ namespace keepass2android
internal AppTask AppTask;
protected GroupView GroupView;
+ private String strCachedGroupUuid = null;
+ public String UuidGroup {
+ get {
+ if (strCachedGroupUuid == null) {
+ strCachedGroupUuid = MemUtil.ByteArrayToHexString (Group.Uuid.UuidBytes);
+ }
+ return strCachedGroupUuid;
+ }
+ }
+
+
protected override void OnResume() {
base.OnResume();
diff --git a/src/keepass2android/KeePass.cs b/src/keepass2android/KeePass.cs
index f33cd6ec..47728871 100644
--- a/src/keepass2android/KeePass.cs
+++ b/src/keepass2android/KeePass.cs
@@ -84,6 +84,7 @@ namespace keepass2android
public const Result ExitClose = Result.FirstUser + 7;
public const Result ExitFileStorageSelectionOk = Result.FirstUser + 8;
public const Result ResultOkPasswordGenerator = Result.FirstUser + 9;
+ public const Result ExitMoveEntry = Result.FirstUser + 10;
AppTask _appTask;
private ActivityDesign _design;
diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs
index c8c2a562..24298634 100644
--- a/src/keepass2android/Resources/Resource.designer.cs
+++ b/src/keepass2android/Resources/Resource.designer.cs
@@ -2371,62 +2371,62 @@ namespace keepass2android
// aapt resource value: 0x7f06006f
public const int AcceptAllServerCertificates_key = 2131099759;
- // aapt resource value: 0x7f06017d
- public const int AcceptAllServerCertificates_summary = 2131100029;
+ // aapt resource value: 0x7f06017e
+ public const int AcceptAllServerCertificates_summary = 2131100030;
- // aapt resource value: 0x7f06017c
- public const int AcceptAllServerCertificates_title = 2131100028;
+ // aapt resource value: 0x7f06017d
+ public const int AcceptAllServerCertificates_title = 2131100029;
+
+ // aapt resource value: 0x7f060166
+ public const int AddUrlToEntryDialog_text = 2131100006;
// aapt resource value: 0x7f060165
- public const int AddUrlToEntryDialog_text = 2131100005;
-
- // aapt resource value: 0x7f060164
- public const int AddUrlToEntryDialog_title = 2131100004;
-
- // aapt resource value: 0x7f06019e
- public const int AddingEntry = 2131100062;
+ public const int AddUrlToEntryDialog_title = 2131100005;
// aapt resource value: 0x7f06019f
- public const int AddingGroup = 2131100063;
+ public const int AddingEntry = 2131100063;
+
+ // aapt resource value: 0x7f0601a0
+ public const int AddingGroup = 2131100064;
// aapt resource value: 0x7f060000
public const int ApplicationName = 2131099648;
- // aapt resource value: 0x7f060194
- public const int AskDeletePermanentlyEntry = 2131100052;
-
// aapt resource value: 0x7f060195
- public const int AskDeletePermanentlyGroup = 2131100053;
+ public const int AskDeletePermanentlyEntry = 2131100053;
// aapt resource value: 0x7f060196
- public const int AskDeletePermanently_title = 2131100054;
-
- // aapt resource value: 0x7f060199
- public const int AskDiscardChanges = 2131100057;
-
- // aapt resource value: 0x7f06019a
- public const int AskDiscardChanges_title = 2131100058;
-
- // aapt resource value: 0x7f06018e
- public const int AskOverwriteBinary = 2131100046;
-
- // aapt resource value: 0x7f060191
- public const int AskOverwriteBinary_no = 2131100049;
-
- // aapt resource value: 0x7f06018f
- public const int AskOverwriteBinary_title = 2131100047;
-
- // aapt resource value: 0x7f060190
- public const int AskOverwriteBinary_yes = 2131100048;
-
- // aapt resource value: 0x7f060198
- public const int AskReloadFile = 2131100056;
+ public const int AskDeletePermanentlyGroup = 2131100054;
// aapt resource value: 0x7f060197
- public const int AskReloadFile_title = 2131100055;
+ public const int AskDeletePermanently_title = 2131100055;
+
+ // aapt resource value: 0x7f06019a
+ public const int AskDiscardChanges = 2131100058;
+
+ // aapt resource value: 0x7f06019b
+ public const int AskDiscardChanges_title = 2131100059;
+
+ // aapt resource value: 0x7f06018f
+ public const int AskOverwriteBinary = 2131100047;
// aapt resource value: 0x7f060192
- public const int AttachFailed = 2131100050;
+ public const int AskOverwriteBinary_no = 2131100050;
+
+ // aapt resource value: 0x7f060190
+ public const int AskOverwriteBinary_title = 2131100048;
+
+ // aapt resource value: 0x7f060191
+ public const int AskOverwriteBinary_yes = 2131100049;
+
+ // aapt resource value: 0x7f060199
+ public const int AskReloadFile = 2131100057;
+
+ // aapt resource value: 0x7f060198
+ public const int AskReloadFile_title = 2131100056;
+
+ // aapt resource value: 0x7f060193
+ public const int AttachFailed = 2131100051;
// aapt resource value: 0x7f06005d
public const int BinaryDirectory_default = 2131099741;
@@ -2434,116 +2434,116 @@ namespace keepass2android
// aapt resource value: 0x7f06005c
public const int BinaryDirectory_key = 2131099740;
+ // aapt resource value: 0x7f06015e
+ public const int BinaryDirectory_summary = 2131099998;
+
// aapt resource value: 0x7f06015d
- public const int BinaryDirectory_summary = 2131099997;
+ public const int BinaryDirectory_title = 2131099997;
- // aapt resource value: 0x7f06015c
- public const int BinaryDirectory_title = 2131099996;
+ // aapt resource value: 0x7f0601c3
+ public const int CannotMoveGroupHere = 2131100099;
- // aapt resource value: 0x7f0601c2
- public const int CannotMoveGroupHere = 2131100098;
+ // aapt resource value: 0x7f060210
+ public const int CertificateFailure = 2131100176;
// aapt resource value: 0x7f06020f
- public const int CertificateFailure = 2131100175;
+ public const int CertificateWarning = 2131100175;
- // aapt resource value: 0x7f06020e
- public const int CertificateWarning = 2131100174;
+ // aapt resource value: 0x7f060222
+ public const int ChangeLog = 2131100194;
// aapt resource value: 0x7f060221
- public const int ChangeLog = 2131100193;
-
- // aapt resource value: 0x7f060220
- public const int ChangeLog_0_7 = 2131100192;
-
- // aapt resource value: 0x7f06021e
- public const int ChangeLog_0_8 = 2131100190;
-
- // aapt resource value: 0x7f06021d
- public const int ChangeLog_0_8_1 = 2131100189;
-
- // aapt resource value: 0x7f06021c
- public const int ChangeLog_0_8_2 = 2131100188;
-
- // aapt resource value: 0x7f06021b
- public const int ChangeLog_0_8_3 = 2131100187;
-
- // aapt resource value: 0x7f06021a
- public const int ChangeLog_0_8_4 = 2131100186;
-
- // aapt resource value: 0x7f060219
- public const int ChangeLog_0_8_5 = 2131100185;
-
- // aapt resource value: 0x7f060218
- public const int ChangeLog_0_8_6 = 2131100184;
-
- // aapt resource value: 0x7f060217
- public const int ChangeLog_0_9 = 2131100183;
-
- // aapt resource value: 0x7f060216
- public const int ChangeLog_0_9_1 = 2131100182;
-
- // aapt resource value: 0x7f060215
- public const int ChangeLog_0_9_2 = 2131100181;
-
- // aapt resource value: 0x7f060214
- public const int ChangeLog_0_9_3 = 2131100180;
-
- // aapt resource value: 0x7f060213
- public const int ChangeLog_0_9_3_r5 = 2131100179;
+ public const int ChangeLog_0_7 = 2131100193;
// aapt resource value: 0x7f06021f
- public const int ChangeLog_keptDonate = 2131100191;
+ public const int ChangeLog_0_8 = 2131100191;
- // aapt resource value: 0x7f060212
- public const int ChangeLog_title = 2131100178;
+ // aapt resource value: 0x7f06021e
+ public const int ChangeLog_0_8_1 = 2131100190;
+
+ // aapt resource value: 0x7f06021d
+ public const int ChangeLog_0_8_2 = 2131100189;
+
+ // aapt resource value: 0x7f06021c
+ public const int ChangeLog_0_8_3 = 2131100188;
+
+ // aapt resource value: 0x7f06021b
+ public const int ChangeLog_0_8_4 = 2131100187;
+
+ // aapt resource value: 0x7f06021a
+ public const int ChangeLog_0_8_5 = 2131100186;
+
+ // aapt resource value: 0x7f060219
+ public const int ChangeLog_0_8_6 = 2131100185;
+
+ // aapt resource value: 0x7f060218
+ public const int ChangeLog_0_9 = 2131100184;
+
+ // aapt resource value: 0x7f060217
+ public const int ChangeLog_0_9_1 = 2131100183;
+
+ // aapt resource value: 0x7f060216
+ public const int ChangeLog_0_9_2 = 2131100182;
+
+ // aapt resource value: 0x7f060215
+ public const int ChangeLog_0_9_3 = 2131100181;
+
+ // aapt resource value: 0x7f060214
+ public const int ChangeLog_0_9_3_r5 = 2131100180;
+
+ // aapt resource value: 0x7f060220
+ public const int ChangeLog_keptDonate = 2131100192;
+
+ // aapt resource value: 0x7f060213
+ public const int ChangeLog_title = 2131100179;
// aapt resource value: 0x7f060070
public const int CheckForFileChangesOnSave_key = 2131099760;
+ // aapt resource value: 0x7f060182
+ public const int CheckForFileChangesOnSave_summary = 2131100034;
+
// aapt resource value: 0x7f060181
- public const int CheckForFileChangesOnSave_summary = 2131100033;
+ public const int CheckForFileChangesOnSave_title = 2131100033;
- // aapt resource value: 0x7f060180
- public const int CheckForFileChangesOnSave_title = 2131100032;
+ // aapt resource value: 0x7f0601b4
+ public const int CheckingDatabaseForChanges = 2131100084;
- // aapt resource value: 0x7f0601b3
- public const int CheckingDatabaseForChanges = 2131100083;
-
- // aapt resource value: 0x7f0601a7
- public const int CheckingTargetFileForChanges = 2131100071;
+ // aapt resource value: 0x7f0601a8
+ public const int CheckingTargetFileForChanges = 2131100072;
// aapt resource value: 0x7f0600a2
public const int ClearClipboard = 2131099810;
- // aapt resource value: 0x7f06017f
- public const int ClearOfflineCache_question = 2131100031;
+ // aapt resource value: 0x7f060180
+ public const int ClearOfflineCache_question = 2131100032;
- // aapt resource value: 0x7f06017e
- public const int ClearOfflineCache_title = 2131100030;
+ // aapt resource value: 0x7f06017f
+ public const int ClearOfflineCache_title = 2131100031;
// aapt resource value: 0x7f060075
public const int CopyToClipboardNotification_key = 2131099765;
+ // aapt resource value: 0x7f0601b6
+ public const int CouldNotLoadFromRemote = 2131100086;
+
// aapt resource value: 0x7f0601b5
- public const int CouldNotLoadFromRemote = 2131100085;
-
- // aapt resource value: 0x7f0601b4
- public const int CouldNotSaveToRemote = 2131100084;
-
- // aapt resource value: 0x7f0601f7
- public const int CouldntLoadChalAuxFile = 2131100151;
+ public const int CouldNotSaveToRemote = 2131100085;
// aapt resource value: 0x7f0601f8
- public const int CouldntLoadChalAuxFile_Hint = 2131100152;
+ public const int CouldntLoadChalAuxFile = 2131100152;
- // aapt resource value: 0x7f0601eb
- public const int CouldntLoadOtpAuxFile = 2131100139;
+ // aapt resource value: 0x7f0601f9
+ public const int CouldntLoadChalAuxFile_Hint = 2131100153;
// aapt resource value: 0x7f0601ec
- public const int CouldntLoadOtpAuxFile_Hint = 2131100140;
+ public const int CouldntLoadOtpAuxFile = 2131100140;
- // aapt resource value: 0x7f0601f2
- public const int CouldntParseOtpSecret = 2131100146;
+ // aapt resource value: 0x7f0601ed
+ public const int CouldntLoadOtpAuxFile_Hint = 2131100141;
+
+ // aapt resource value: 0x7f0601f3
+ public const int CouldntParseOtpSecret = 2131100147;
// aapt resource value: 0x7f060081
public const int CreditsText = 2131099777;
@@ -2551,26 +2551,26 @@ namespace keepass2android
// aapt resource value: 0x7f060082
public const int CreditsTextSFTP = 2131099778;
- // aapt resource value: 0x7f0601a5
- public const int DecodingDatabase = 2131100069;
-
- // aapt resource value: 0x7f0601a0
- public const int DeletingEntry = 2131100064;
+ // aapt resource value: 0x7f0601a6
+ public const int DecodingDatabase = 2131100070;
// aapt resource value: 0x7f0601a1
- public const int DeletingGroup = 2131100065;
+ public const int DeletingEntry = 2131100065;
- // aapt resource value: 0x7f0601ae
- public const int DownloadingRemoteFile = 2131100078;
+ // aapt resource value: 0x7f0601a2
+ public const int DeletingGroup = 2131100066;
- // aapt resource value: 0x7f0601c0
- public const int ErrorOcurred = 2131100096;
+ // aapt resource value: 0x7f0601af
+ public const int DownloadingRemoteFile = 2131100079;
- // aapt resource value: 0x7f0601f9
- public const int ErrorUpdatingChalAuxFile = 2131100153;
+ // aapt resource value: 0x7f0601c1
+ public const int ErrorOcurred = 2131100097;
- // aapt resource value: 0x7f0601f4
- public const int ErrorUpdatingOtpAuxFile = 2131100148;
+ // aapt resource value: 0x7f0601fa
+ public const int ErrorUpdatingChalAuxFile = 2131100154;
+
+ // aapt resource value: 0x7f0601f5
+ public const int ErrorUpdatingOtpAuxFile = 2131100149;
// aapt resource value: 0x7f06009d
public const int FileHandling_prefs = 2131099805;
@@ -2581,8 +2581,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600d5
public const int FileNotFound = 2131099861;
- // aapt resource value: 0x7f0601b1
- public const int FilesInSync = 2131100081;
+ // aapt resource value: 0x7f0601b2
+ public const int FilesInSync = 2131100082;
// aapt resource value: 0x7f0600e6
public const int InvalidPassword = 2131099878;
@@ -2590,26 +2590,26 @@ namespace keepass2android
// aapt resource value: 0x7f060069
public const int LastInfoVersionCode_key = 2131099753;
- // aapt resource value: 0x7f0601b8
- public const int LoadedFromRemoteInSync = 2131100088;
+ // aapt resource value: 0x7f0601b9
+ public const int LoadedFromRemoteInSync = 2131100089;
// aapt resource value: 0x7f06006c
public const int LockWhenNavigateBack_key = 2131099756;
- // aapt resource value: 0x7f060176
- public const int LockWhenNavigateBack_summary = 2131100022;
+ // aapt resource value: 0x7f060177
+ public const int LockWhenNavigateBack_summary = 2131100023;
- // aapt resource value: 0x7f060175
- public const int LockWhenNavigateBack_title = 2131100021;
+ // aapt resource value: 0x7f060176
+ public const int LockWhenNavigateBack_title = 2131100022;
// aapt resource value: 0x7f06006b
public const int LockWhenScreenOff_key = 2131099755;
- // aapt resource value: 0x7f060174
- public const int LockWhenScreenOff_summary = 2131100020;
+ // aapt resource value: 0x7f060175
+ public const int LockWhenScreenOff_summary = 2131100021;
- // aapt resource value: 0x7f060173
- public const int LockWhenScreenOff_title = 2131100019;
+ // aapt resource value: 0x7f060174
+ public const int LockWhenScreenOff_title = 2131100020;
// aapt resource value: 0x7f060072
public const int MarketURL = 2131099762;
@@ -2617,77 +2617,77 @@ namespace keepass2android
// aapt resource value: 0x7f0600f0
public const int MaskedPassword = 2131099888;
- // aapt resource value: 0x7f0601a9
- public const int MessageSyncQuestion = 2131100073;
+ // aapt resource value: 0x7f0601aa
+ public const int MessageSyncQuestion = 2131100074;
// aapt resource value: 0x7f06006d
public const int NoDonateOption_key = 2131099757;
+ // aapt resource value: 0x7f06017a
+ public const int NoDonateOption_question = 2131100026;
+
// aapt resource value: 0x7f060179
- public const int NoDonateOption_question = 2131100025;
+ public const int NoDonateOption_summary = 2131100025;
// aapt resource value: 0x7f060178
- public const int NoDonateOption_summary = 2131100024;
+ public const int NoDonateOption_title = 2131100024;
- // aapt resource value: 0x7f060177
- public const int NoDonateOption_title = 2131100023;
+ // aapt resource value: 0x7f0601ad
+ public const int NoOverwrite = 2131100077;
- // aapt resource value: 0x7f0601ac
- public const int NoOverwrite = 2131100076;
-
- // aapt resource value: 0x7f0601b7
- public const int NotifyOpenFromLocalDueToConflict = 2131100087;
+ // aapt resource value: 0x7f0601b8
+ public const int NotifyOpenFromLocalDueToConflict = 2131100088;
// aapt resource value: 0x7f060077
public const int OpenKp2aKeyboardAutomatically_key = 2131099767;
+ // aapt resource value: 0x7f060188
+ public const int OpenKp2aKeyboardAutomatically_summary = 2131100040;
+
// aapt resource value: 0x7f060187
- public const int OpenKp2aKeyboardAutomatically_summary = 2131100039;
+ public const int OpenKp2aKeyboardAutomatically_title = 2131100039;
- // aapt resource value: 0x7f060186
- public const int OpenKp2aKeyboardAutomatically_title = 2131100038;
+ // aapt resource value: 0x7f0601f4
+ public const int OtpKeyError = 2131100148;
- // aapt resource value: 0x7f0601f3
- public const int OtpKeyError = 2131100147;
-
- // aapt resource value: 0x7f0601a6
- public const int ParsingDatabase = 2131100070;
+ // aapt resource value: 0x7f0601a7
+ public const int ParsingDatabase = 2131100071;
// aapt resource value: 0x7f06007d
public const int PreloadDatabaseEnabled_key = 2131099773;
- // aapt resource value: 0x7f06018d
- public const int PreloadDatabaseEnabled_summary = 2131100045;
+ // aapt resource value: 0x7f06018e
+ public const int PreloadDatabaseEnabled_summary = 2131100046;
- // aapt resource value: 0x7f06018c
- public const int PreloadDatabaseEnabled_title = 2131100044;
+ // aapt resource value: 0x7f06018d
+ public const int PreloadDatabaseEnabled_title = 2131100045;
// aapt resource value: 0x7f060063
public const int QuickUnlockDefaultEnabled_key = 2131099747;
- // aapt resource value: 0x7f060154
- public const int QuickUnlockDefaultEnabled_summary = 2131099988;
+ // aapt resource value: 0x7f060155
+ public const int QuickUnlockDefaultEnabled_summary = 2131099989;
- // aapt resource value: 0x7f060153
- public const int QuickUnlockDefaultEnabled_title = 2131099987;
+ // aapt resource value: 0x7f060154
+ public const int QuickUnlockDefaultEnabled_title = 2131099988;
// aapt resource value: 0x7f060067
public const int QuickUnlockIconHidden16_key = 2131099751;
- // aapt resource value: 0x7f060158
- public const int QuickUnlockIconHidden16_summary = 2131099992;
+ // aapt resource value: 0x7f060159
+ public const int QuickUnlockIconHidden16_summary = 2131099993;
- // aapt resource value: 0x7f060157
- public const int QuickUnlockIconHidden16_title = 2131099991;
+ // aapt resource value: 0x7f060158
+ public const int QuickUnlockIconHidden16_title = 2131099992;
// aapt resource value: 0x7f060066
public const int QuickUnlockIconHidden_key = 2131099750;
- // aapt resource value: 0x7f060156
- public const int QuickUnlockIconHidden_summary = 2131099990;
+ // aapt resource value: 0x7f060157
+ public const int QuickUnlockIconHidden_summary = 2131099991;
- // aapt resource value: 0x7f060155
- public const int QuickUnlockIconHidden_title = 2131099989;
+ // aapt resource value: 0x7f060156
+ public const int QuickUnlockIconHidden_title = 2131099990;
// aapt resource value: 0x7f060065
public const int QuickUnlockLength_default = 2131099749;
@@ -2695,23 +2695,23 @@ namespace keepass2android
// aapt resource value: 0x7f060064
public const int QuickUnlockLength_key = 2131099748;
- // aapt resource value: 0x7f06015a
- public const int QuickUnlockLength_summary = 2131099994;
-
- // aapt resource value: 0x7f060159
- public const int QuickUnlockLength_title = 2131099993;
-
- // aapt resource value: 0x7f060151
- public const int QuickUnlock_button = 2131099985;
-
// aapt resource value: 0x7f06015b
- public const int QuickUnlock_fail = 2131099995;
+ public const int QuickUnlockLength_summary = 2131099995;
- // aapt resource value: 0x7f060150
- public const int QuickUnlock_label = 2131099984;
+ // aapt resource value: 0x7f06015a
+ public const int QuickUnlockLength_title = 2131099994;
// aapt resource value: 0x7f060152
- public const int QuickUnlock_lockButton = 2131099986;
+ public const int QuickUnlock_button = 2131099986;
+
+ // aapt resource value: 0x7f06015c
+ public const int QuickUnlock_fail = 2131099996;
+
+ // aapt resource value: 0x7f060151
+ public const int QuickUnlock_label = 2131099985;
+
+ // aapt resource value: 0x7f060153
+ public const int QuickUnlock_lockButton = 2131099987;
// aapt resource value: 0x7f06009c
public const int QuickUnlock_prefs = 2131099804;
@@ -2719,83 +2719,83 @@ namespace keepass2android
// aapt resource value: 0x7f060061
public const int QuickUnlock_prefs_key = 2131099745;
- // aapt resource value: 0x7f060193
- public const int RecycleBin = 2131100051;
+ // aapt resource value: 0x7f060194
+ public const int RecycleBin = 2131100052;
// aapt resource value: 0x7f060059
public const int RememberRecentFiles_key = 2131099737;
+ // aapt resource value: 0x7f060145
+ public const int RememberRecentFiles_summary = 2131099973;
+
// aapt resource value: 0x7f060144
- public const int RememberRecentFiles_summary = 2131099972;
-
- // aapt resource value: 0x7f060143
- public const int RememberRecentFiles_title = 2131099971;
-
- // aapt resource value: 0x7f0601ba
- public const int RemoteDatabaseUnchanged = 2131100090;
-
- // aapt resource value: 0x7f0601bc
- public const int ResolvedCacheConflictByUsingLocalOtpAux = 2131100092;
+ public const int RememberRecentFiles_title = 2131099972;
// aapt resource value: 0x7f0601bb
- public const int ResolvedCacheConflictByUsingRemoteOtpAux = 2131100091;
+ public const int RemoteDatabaseUnchanged = 2131100091;
- // aapt resource value: 0x7f0601b0
- public const int RestoringRemoteFile = 2131100080;
+ // aapt resource value: 0x7f0601bd
+ public const int ResolvedCacheConflictByUsingLocalOtpAux = 2131100093;
- // aapt resource value: 0x7f060208
- public const int SCOPE_CURRENT_ENTRY_explanation = 2131100168;
+ // aapt resource value: 0x7f0601bc
+ public const int ResolvedCacheConflictByUsingRemoteOtpAux = 2131100092;
- // aapt resource value: 0x7f060207
- public const int SCOPE_CURRENT_ENTRY_title = 2131100167;
-
- // aapt resource value: 0x7f060206
- public const int SCOPE_DATABASE_ACTIONS_explanation = 2131100166;
-
- // aapt resource value: 0x7f060205
- public const int SCOPE_DATABASE_ACTIONS_title = 2131100165;
-
- // aapt resource value: 0x7f06020a
- public const int SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE_explanation = 2131100170;
+ // aapt resource value: 0x7f0601b1
+ public const int RestoringRemoteFile = 2131100081;
// aapt resource value: 0x7f060209
- public const int SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE_title = 2131100169;
+ public const int SCOPE_CURRENT_ENTRY_explanation = 2131100169;
- // aapt resource value: 0x7f06020c
- public const int SCOPE_QUERY_CREDENTIALS_explanation = 2131100172;
+ // aapt resource value: 0x7f060208
+ public const int SCOPE_CURRENT_ENTRY_title = 2131100168;
+
+ // aapt resource value: 0x7f060207
+ public const int SCOPE_DATABASE_ACTIONS_explanation = 2131100167;
+
+ // aapt resource value: 0x7f060206
+ public const int SCOPE_DATABASE_ACTIONS_title = 2131100166;
// aapt resource value: 0x7f06020b
- public const int SCOPE_QUERY_CREDENTIALS_title = 2131100171;
+ public const int SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE_explanation = 2131100171;
- // aapt resource value: 0x7f060161
- public const int SaveAttachmentDialog_open = 2131100001;
+ // aapt resource value: 0x7f06020a
+ public const int SCOPE_QUERY_CREDENTIALS_FOR_OWN_PACKAGE_title = 2131100170;
- // aapt resource value: 0x7f060160
- public const int SaveAttachmentDialog_save = 2131100000;
+ // aapt resource value: 0x7f06020d
+ public const int SCOPE_QUERY_CREDENTIALS_explanation = 2131100173;
- // aapt resource value: 0x7f06015f
- public const int SaveAttachmentDialog_text = 2131099999;
-
- // aapt resource value: 0x7f06015e
- public const int SaveAttachmentDialog_title = 2131099998;
-
- // aapt resource value: 0x7f060163
- public const int SaveAttachment_Failed = 2131100003;
+ // aapt resource value: 0x7f06020c
+ public const int SCOPE_QUERY_CREDENTIALS_title = 2131100172;
// aapt resource value: 0x7f060162
- public const int SaveAttachment_doneMessage = 2131100002;
+ public const int SaveAttachmentDialog_open = 2131100002;
- // aapt resource value: 0x7f0601f5
- public const int SavingOtpAuxFile = 2131100149;
+ // aapt resource value: 0x7f060161
+ public const int SaveAttachmentDialog_save = 2131100001;
- // aapt resource value: 0x7f0601a2
- public const int SettingPassword = 2131100066;
+ // aapt resource value: 0x7f060160
+ public const int SaveAttachmentDialog_text = 2131100000;
+
+ // aapt resource value: 0x7f06015f
+ public const int SaveAttachmentDialog_title = 2131099999;
+
+ // aapt resource value: 0x7f060164
+ public const int SaveAttachment_Failed = 2131100004;
+
+ // aapt resource value: 0x7f060163
+ public const int SaveAttachment_doneMessage = 2131100003;
+
+ // aapt resource value: 0x7f0601f6
+ public const int SavingOtpAuxFile = 2131100150;
+
+ // aapt resource value: 0x7f0601a3
+ public const int SettingPassword = 2131100067;
+
+ // aapt resource value: 0x7f060184
+ public const int ShowCopyToClipboardNotification_summary = 2131100036;
// aapt resource value: 0x7f060183
- public const int ShowCopyToClipboardNotification_summary = 2131100035;
-
- // aapt resource value: 0x7f060182
- public const int ShowCopyToClipboardNotification_title = 2131100034;
+ public const int ShowCopyToClipboardNotification_title = 2131100035;
// aapt resource value: 0x7f060057
public const int ShowGroupnameInSearchResult_key = 2131099735;
@@ -2806,74 +2806,74 @@ namespace keepass2android
// aapt resource value: 0x7f060097
public const int ShowGroupnameInSearchResult_title = 2131099799;
- // aapt resource value: 0x7f060185
- public const int ShowKp2aKeyboardNotification_summary = 2131100037;
+ // aapt resource value: 0x7f060186
+ public const int ShowKp2aKeyboardNotification_summary = 2131100038;
- // aapt resource value: 0x7f060184
- public const int ShowKp2aKeyboardNotification_title = 2131100036;
+ // aapt resource value: 0x7f060185
+ public const int ShowKp2aKeyboardNotification_title = 2131100037;
// aapt resource value: 0x7f06007c
public const int ShowUnlockedNotification_key = 2131099772;
- // aapt resource value: 0x7f06018b
- public const int ShowUnlockedNotification_summary = 2131100043;
+ // aapt resource value: 0x7f06018c
+ public const int ShowUnlockedNotification_summary = 2131100044;
- // aapt resource value: 0x7f06018a
- public const int ShowUnlockedNotification_title = 2131100042;
+ // aapt resource value: 0x7f06018b
+ public const int ShowUnlockedNotification_title = 2131100043;
// aapt resource value: 0x7f060058
public const int ShowUsernameInList_key = 2131099736;
- // aapt resource value: 0x7f060142
- public const int ShowUsernameInList_summary = 2131099970;
+ // aapt resource value: 0x7f060143
+ public const int ShowUsernameInList_summary = 2131099971;
- // aapt resource value: 0x7f060141
- public const int ShowUsernameInList_title = 2131099969;
+ // aapt resource value: 0x7f060142
+ public const int ShowUsernameInList_title = 2131099970;
// aapt resource value: 0x7f060073
public const int SuggestionsURL = 2131099763;
- // aapt resource value: 0x7f0601b2
- public const int SynchronizedDatabaseSuccessfully = 2131100082;
+ // aapt resource value: 0x7f0601b3
+ public const int SynchronizedDatabaseSuccessfully = 2131100083;
- // aapt resource value: 0x7f0601ad
- public const int SynchronizingCachedDatabase = 2131100077;
+ // aapt resource value: 0x7f0601ae
+ public const int SynchronizingCachedDatabase = 2131100078;
- // aapt resource value: 0x7f0601aa
- public const int SynchronizingDatabase = 2131100074;
+ // aapt resource value: 0x7f0601ab
+ public const int SynchronizingDatabase = 2131100075;
- // aapt resource value: 0x7f0601bd
- public const int SynchronizingOtpAuxFile = 2131100093;
+ // aapt resource value: 0x7f0601be
+ public const int SynchronizingOtpAuxFile = 2131100094;
// aapt resource value: 0x7f060056
public const int TanExpiresOnUse_key = 2131099734;
+ // aapt resource value: 0x7f060141
+ public const int TanExpiresOnUse_summary = 2131099969;
+
// aapt resource value: 0x7f060140
- public const int TanExpiresOnUse_summary = 2131099968;
+ public const int TanExpiresOnUse_title = 2131099968;
- // aapt resource value: 0x7f06013f
- public const int TanExpiresOnUse_title = 2131099967;
+ // aapt resource value: 0x7f0601a9
+ public const int TitleSyncQuestion = 2131100073;
- // aapt resource value: 0x7f0601a8
- public const int TitleSyncQuestion = 2131100072;
-
- // aapt resource value: 0x7f0601a4
- public const int TransformingKey = 2131100068;
+ // aapt resource value: 0x7f0601a5
+ public const int TransformingKey = 2131100069;
// aapt resource value: 0x7f060074
public const int TranslationURL = 2131099764;
- // aapt resource value: 0x7f0601a3
- public const int UndoingChanges = 2131100067;
+ // aapt resource value: 0x7f0601a4
+ public const int UndoingChanges = 2131100068;
- // aapt resource value: 0x7f0601b9
- public const int UpdatedCachedFileOnLoad = 2131100089;
+ // aapt resource value: 0x7f0601ba
+ public const int UpdatedCachedFileOnLoad = 2131100090;
- // aapt resource value: 0x7f0601b6
- public const int UpdatedRemoteFileOnLoad = 2131100086;
+ // aapt resource value: 0x7f0601b7
+ public const int UpdatedRemoteFileOnLoad = 2131100087;
- // aapt resource value: 0x7f0601af
- public const int UploadingFile = 2131100079;
+ // aapt resource value: 0x7f0601b0
+ public const int UploadingFile = 2131100080;
// aapt resource value: 0x7f060068
public const int UsageCount_key = 2131099752;
@@ -2881,11 +2881,11 @@ namespace keepass2android
// aapt resource value: 0x7f06006a
public const int UseFileTransactions_key = 2131099754;
- // aapt resource value: 0x7f060172
- public const int UseFileTransactions_summary = 2131100018;
+ // aapt resource value: 0x7f060173
+ public const int UseFileTransactions_summary = 2131100019;
- // aapt resource value: 0x7f060171
- public const int UseFileTransactions_title = 2131100017;
+ // aapt resource value: 0x7f060172
+ public const int UseFileTransactions_title = 2131100018;
// aapt resource value: 0x7f060076
public const int UseKp2aKeyboard_key = 2131099766;
@@ -2893,17 +2893,17 @@ namespace keepass2android
// aapt resource value: 0x7f06006e
public const int UseOfflineCache_key = 2131099758;
+ // aapt resource value: 0x7f06017c
+ public const int UseOfflineCache_summary = 2131100028;
+
// aapt resource value: 0x7f06017b
- public const int UseOfflineCache_summary = 2131100027;
+ public const int UseOfflineCache_title = 2131100027;
- // aapt resource value: 0x7f06017a
- public const int UseOfflineCache_title = 2131100026;
+ // aapt resource value: 0x7f0601ac
+ public const int YesSynchronize = 2131100076;
- // aapt resource value: 0x7f0601ab
- public const int YesSynchronize = 2131100075;
-
- // aapt resource value: 0x7f0601ea
- public const int YubiChallengeNotInstalled = 2131100138;
+ // aapt resource value: 0x7f0601eb
+ public const int YubiChallengeNotInstalled = 2131100139;
// aapt resource value: 0x7f06007e
public const int about_feedback = 2131099774;
@@ -2917,14 +2917,14 @@ namespace keepass2android
// aapt resource value: 0x7f060083
public const int accept = 2131099779;
- // aapt resource value: 0x7f06016b
- public const int add_binary = 2131100011;
+ // aapt resource value: 0x7f06016c
+ public const int add_binary = 2131100012;
// aapt resource value: 0x7f060085
public const int add_entry = 2131099781;
- // aapt resource value: 0x7f06016c
- public const int add_extra_string = 2131100012;
+ // aapt resource value: 0x7f06016d
+ public const int add_extra_string = 2131100013;
// aapt resource value: 0x7f060087
public const int add_group = 2131099783;
@@ -3148,32 +3148,32 @@ namespace keepass2android
// aapt resource value: 0x7f060096
public const int application_settings = 2131099798;
- // aapt resource value: 0x7f060137
- public const int author = 2131099959;
+ // aapt resource value: 0x7f060138
+ public const int author = 2131099960;
// aapt resource value: 0x7f0600a7
public const int available_through_keyboard = 2131099815;
- // aapt resource value: 0x7f0601f6
- public const int bad_resp = 2131100150;
+ // aapt resource value: 0x7f0601f7
+ public const int bad_resp = 2131100151;
// aapt resource value: 0x7f0600a0
public const int brackets = 2131099808;
- // aapt resource value: 0x7f060226
- public const int browser_intall_text = 2131100198;
-
// aapt resource value: 0x7f060227
- public const int building_search_idx = 2131100199;
+ public const int browser_intall_text = 2131100199;
- // aapt resource value: 0x7f0601dd
- public const int button_change_location = 2131100125;
+ // aapt resource value: 0x7f060228
+ public const int building_search_idx = 2131100200;
+
+ // aapt resource value: 0x7f0601de
+ public const int button_change_location = 2131100126;
// aapt resource value: 0x7f0600a1
public const int cancel = 2131099809;
- // aapt resource value: 0x7f060148
- public const int caseSensitive = 2131099976;
+ // aapt resource value: 0x7f060149
+ public const int caseSensitive = 2131099977;
// aapt resource value: 0x7f0600a3
public const int clipboard_timeout = 2131099811;
@@ -3187,8 +3187,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600a4
public const int clipboard_timeout_summary = 2131099812;
- // aapt resource value: 0x7f06013d
- public const int contributors = 2131099965;
+ // aapt resource value: 0x7f06013e
+ public const int contributors = 2131099966;
// aapt resource value: 0x7f0600a6
public const int copy_password = 2131099814;
@@ -3196,23 +3196,23 @@ namespace keepass2android
// aapt resource value: 0x7f0600a5
public const int copy_username = 2131099813;
- // aapt resource value: 0x7f060114
- public const int create_database = 2131099924;
+ // aapt resource value: 0x7f060115
+ public const int create_database = 2131099925;
// aapt resource value: 0x7f0600aa
public const int creating_db_key = 2131099818;
- // aapt resource value: 0x7f060170
- public const int credentials_dialog_title = 2131100016;
-
- // aapt resource value: 0x7f06013a
- public const int credit_android_filechooser = 2131099962;
+ // aapt resource value: 0x7f060171
+ public const int credentials_dialog_title = 2131100017;
// aapt resource value: 0x7f06013b
- public const int credit_keyboard = 2131099963;
+ public const int credit_android_filechooser = 2131099963;
- // aapt resource value: 0x7f060139
- public const int credit_plugin1 = 2131099961;
+ // aapt resource value: 0x7f06013c
+ public const int credit_keyboard = 2131099964;
+
+ // aapt resource value: 0x7f06013a
+ public const int credit_plugin1 = 2131099962;
// aapt resource value: 0x7f0600ab
public const int current_group = 2131099819;
@@ -3223,20 +3223,20 @@ namespace keepass2android
// aapt resource value: 0x7f0600ad
public const int database = 2131099821;
- // aapt resource value: 0x7f0601be
- public const int database_file = 2131100094;
-
- // aapt resource value: 0x7f06016e
- public const int database_loaded_quickunlock_enabled = 2131100014;
+ // aapt resource value: 0x7f0601bf
+ public const int database_file = 2131100095;
// aapt resource value: 0x7f06016f
- public const int database_loaded_unlocked = 2131100015;
+ public const int database_loaded_quickunlock_enabled = 2131100015;
- // aapt resource value: 0x7f0601da
- public const int database_location = 2131100122;
+ // aapt resource value: 0x7f060170
+ public const int database_loaded_unlocked = 2131100016;
- // aapt resource value: 0x7f06011e
- public const int database_name = 2131099934;
+ // aapt resource value: 0x7f0601db
+ public const int database_location = 2131100123;
+
+ // aapt resource value: 0x7f06011f
+ public const int database_name = 2131099935;
// aapt resource value: 0x7f06005b
public const int database_name_key = 2131099739;
@@ -3244,26 +3244,26 @@ namespace keepass2android
// aapt resource value: 0x7f06004d
public const int db_key = 2131099725;
- // aapt resource value: 0x7f060228
- public const int decrypting_db = 2131100200;
-
// aapt resource value: 0x7f060229
- public const int decrypting_entry = 2131100201;
+ public const int decrypting_db = 2131100201;
// aapt resource value: 0x7f06022a
- public const int default_checkbox = 2131100202;
+ public const int decrypting_entry = 2131100202;
+
+ // aapt resource value: 0x7f06022b
+ public const int default_checkbox = 2131100203;
// aapt resource value: 0x7f06003f
public const int default_file_path = 2131099711;
- // aapt resource value: 0x7f06011f
- public const int default_username = 2131099935;
+ // aapt resource value: 0x7f060120
+ public const int default_username = 2131099936;
// aapt resource value: 0x7f06005a
public const int default_username_key = 2131099738;
- // aapt resource value: 0x7f06016d
- public const int delete_extra_string = 2131100013;
+ // aapt resource value: 0x7f06016e
+ public const int delete_extra_string = 2131100014;
// aapt resource value: 0x7f060084
public const int deny = 2131099780;
@@ -3274,8 +3274,8 @@ namespace keepass2android
// aapt resource value: 0x7f060054
public const int design_key = 2131099732;
- // aapt resource value: 0x7f060222
- public const int design_title = 2131100194;
+ // aapt resource value: 0x7f060223
+ public const int design_title = 2131100195;
// aapt resource value: 0x7f0600ae
public const int digits = 2131099822;
@@ -3289,14 +3289,14 @@ namespace keepass2android
// aapt resource value: 0x7f060060
public const int display_prefs_key = 2131099744;
- // aapt resource value: 0x7f0601c4
- public const int donate_bday_question = 2131100100;
-
// aapt resource value: 0x7f0601c5
- public const int donate_missedbday_question = 2131100101;
+ public const int donate_bday_question = 2131100101;
- // aapt resource value: 0x7f0601c3
- public const int donate_question = 2131100099;
+ // aapt resource value: 0x7f0601c6
+ public const int donate_missedbday_question = 2131100102;
+
+ // aapt resource value: 0x7f0601c4
+ public const int donate_question = 2131100100;
// aapt resource value: 0x7f060040
public const int donate_url = 2131099712;
@@ -3307,14 +3307,14 @@ namespace keepass2android
// aapt resource value: 0x7f0600b0
public const int ellipsis = 2131099824;
+ // aapt resource value: 0x7f060225
+ public const int enable_plugin_question = 2131100197;
+
// aapt resource value: 0x7f060224
- public const int enable_plugin_question = 2131100196;
+ public const int enable_plugin_title = 2131100196;
- // aapt resource value: 0x7f060223
- public const int enable_plugin_title = 2131100195;
-
- // aapt resource value: 0x7f06014f
- public const int enable_quickunlock = 2131099983;
+ // aapt resource value: 0x7f060150
+ public const int enable_quickunlock = 2131099984;
// aapt resource value: 0x7f0600b1
public const int english_ime_settings = 2131099825;
@@ -3322,20 +3322,20 @@ namespace keepass2android
// aapt resource value: 0x7f0600b2
public const int enter_filename = 2131099826;
+ // aapt resource value: 0x7f06014f
+ public const int enter_filename_details_create_import = 2131099983;
+
// aapt resource value: 0x7f06014e
- public const int enter_filename_details_create_import = 2131099982;
+ public const int enter_filename_details_url = 2131099982;
- // aapt resource value: 0x7f06014d
- public const int enter_filename_details_url = 2131099981;
-
- // aapt resource value: 0x7f0601cb
- public const int enter_sftp_login_title = 2131100107;
+ // aapt resource value: 0x7f0601cc
+ public const int enter_sftp_login_title = 2131100108;
// aapt resource value: 0x7f0600b3
public const int entry_accessed = 2131099827;
- // aapt resource value: 0x7f06022b
- public const int entry_and_or = 2131100203;
+ // aapt resource value: 0x7f06022c
+ public const int entry_and_or = 2131100204;
// aapt resource value: 0x7f0600c3
public const int entry_binaries = 2131099843;
@@ -3385,11 +3385,11 @@ namespace keepass2android
// aapt resource value: 0x7f0600c1
public const int entry_user_name = 2131099841;
- // aapt resource value: 0x7f0601e5
- public const int error_adding_keyfile = 2131100133;
+ // aapt resource value: 0x7f0601e6
+ public const int error_adding_keyfile = 2131100134;
- // aapt resource value: 0x7f06022c
- public const int error_arc4 = 2131100204;
+ // aapt resource value: 0x7f06022d
+ public const int error_arc4 = 2131100205;
// aapt resource value: 0x7f0600c4
public const int error_can_not_handle_uri = 2131099844;
@@ -3418,8 +3418,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600cc
public const int error_invalid_db = 2131099852;
- // aapt resource value: 0x7f060166
- public const int error_invalid_expiry_date = 2131100006;
+ // aapt resource value: 0x7f060167
+ public const int error_invalid_expiry_date = 2131100007;
// aapt resource value: 0x7f0600cd
public const int error_invalid_path = 2131099853;
@@ -3430,8 +3430,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600cf
public const int error_nopass = 2131099855;
- // aapt resource value: 0x7f06022d
- public const int error_out_of_memory = 2131100205;
+ // aapt resource value: 0x7f06022e
+ public const int error_out_of_memory = 2131100206;
// aapt resource value: 0x7f0600d0
public const int error_pass_gen_type = 2131099856;
@@ -3442,11 +3442,11 @@ namespace keepass2android
// aapt resource value: 0x7f0600d2
public const int error_rounds_not_number = 2131099858;
- // aapt resource value: 0x7f06022e
- public const int error_rounds_too_large = 2131100206;
+ // aapt resource value: 0x7f06022f
+ public const int error_rounds_too_large = 2131100207;
- // aapt resource value: 0x7f060167
- public const int error_string_key = 2131100007;
+ // aapt resource value: 0x7f060168
+ public const int error_string_key = 2131100008;
// aapt resource value: 0x7f0600d3
public const int error_title_required = 2131099859;
@@ -3454,92 +3454,92 @@ namespace keepass2android
// aapt resource value: 0x7f0600d4
public const int error_wrong_length = 2131099860;
- // aapt resource value: 0x7f060146
- public const int excludeExpiredEntries = 2131099974;
+ // aapt resource value: 0x7f060147
+ public const int excludeExpiredEntries = 2131099975;
- // aapt resource value: 0x7f060122
- public const int export_database_successful = 2131099938;
+ // aapt resource value: 0x7f060123
+ public const int export_database_successful = 2131099939;
- // aapt resource value: 0x7f060210
- public const int export_fileformats_title = 2131100176;
+ // aapt resource value: 0x7f060211
+ public const int export_fileformats_title = 2131100177;
// aapt resource value: 0x7f06009f
public const int export_prefs = 2131099807;
- // aapt resource value: 0x7f060121
- public const int exporting_database = 2131099937;
-
- // aapt resource value: 0x7f060168
- public const int field_name = 2131100008;
+ // aapt resource value: 0x7f060122
+ public const int exporting_database = 2131099938;
// aapt resource value: 0x7f060169
- public const int field_value = 2131100009;
+ public const int field_name = 2131100009;
+
+ // aapt resource value: 0x7f06016a
+ public const int field_value = 2131100010;
// aapt resource value: 0x7f0600d6
public const int file_browser = 2131099862;
- // aapt resource value: 0x7f0601d9
- public const int filestorage_setup_title = 2131100121;
-
- // aapt resource value: 0x7f0601d5
- public const int filestoragehelp_dropboxKP2A = 2131100117;
-
- // aapt resource value: 0x7f0601ce
- public const int filestoragename_androidget = 2131100110;
-
- // aapt resource value: 0x7f0601cf
- public const int filestoragename_androidsend = 2131100111;
-
- // aapt resource value: 0x7f0601d3
- public const int filestoragename_dropbox = 2131100115;
-
- // aapt resource value: 0x7f0601d4
- public const int filestoragename_dropboxKP2A = 2131100116;
-
- // aapt resource value: 0x7f0601cd
- public const int filestoragename_file = 2131100109;
-
- // aapt resource value: 0x7f0601d0
- public const int filestoragename_ftp = 2131100112;
+ // aapt resource value: 0x7f0601da
+ public const int filestorage_setup_title = 2131100122;
// aapt resource value: 0x7f0601d6
- public const int filestoragename_gdrive = 2131100118;
+ public const int filestoragehelp_dropboxKP2A = 2131100118;
+
+ // aapt resource value: 0x7f0601cf
+ public const int filestoragename_androidget = 2131100111;
+
+ // aapt resource value: 0x7f0601d0
+ public const int filestoragename_androidsend = 2131100112;
+
+ // aapt resource value: 0x7f0601d4
+ public const int filestoragename_dropbox = 2131100116;
+
+ // aapt resource value: 0x7f0601d5
+ public const int filestoragename_dropboxKP2A = 2131100117;
+
+ // aapt resource value: 0x7f0601ce
+ public const int filestoragename_file = 2131100110;
// aapt resource value: 0x7f0601d1
- public const int filestoragename_http = 2131100113;
-
- // aapt resource value: 0x7f0601d2
- public const int filestoragename_https = 2131100114;
-
- // aapt resource value: 0x7f0601d8
- public const int filestoragename_sftp = 2131100120;
+ public const int filestoragename_ftp = 2131100113;
// aapt resource value: 0x7f0601d7
- public const int filestoragename_skydrive = 2131100119;
+ public const int filestoragename_gdrive = 2131100119;
+
+ // aapt resource value: 0x7f0601d2
+ public const int filestoragename_http = 2131100114;
+
+ // aapt resource value: 0x7f0601d3
+ public const int filestoragename_https = 2131100115;
+
+ // aapt resource value: 0x7f0601d9
+ public const int filestoragename_sftp = 2131100121;
+
+ // aapt resource value: 0x7f0601d8
+ public const int filestoragename_skydrive = 2131100120;
// aapt resource value: 0x7f060043
public const int further_author_names = 2131099715;
- // aapt resource value: 0x7f060138
- public const int further_authors = 2131099960;
+ // aapt resource value: 0x7f060139
+ public const int further_authors = 2131099961;
// aapt resource value: 0x7f0600d7
public const int generate_password = 2131099863;
- // aapt resource value: 0x7f06020d
- public const int get_regular_version = 2131100173;
+ // aapt resource value: 0x7f06020e
+ public const int get_regular_version = 2131100174;
// aapt resource value: 0x7f0600d8
public const int group = 2131099864;
- // aapt resource value: 0x7f0601db
- public const int help_database_location = 2131100123;
+ // aapt resource value: 0x7f0601dc
+ public const int help_database_location = 2131100124;
- // aapt resource value: 0x7f0601e2
- public const int help_key_file = 2131100130;
+ // aapt resource value: 0x7f0601e3
+ public const int help_key_file = 2131100131;
- // aapt resource value: 0x7f0601df
- public const int help_master_password = 2131100127;
+ // aapt resource value: 0x7f0601e0
+ public const int help_master_password = 2131100128;
// aapt resource value: 0x7f0600d9
public const int hint_comment = 2131099865;
@@ -3547,8 +3547,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600da
public const int hint_conf_pass = 2131099866;
- // aapt resource value: 0x7f0601dc
- public const int hint_database_location = 2131100124;
+ // aapt resource value: 0x7f0601dd
+ public const int hint_database_location = 2131100125;
// aapt resource value: 0x7f0600db
public const int hint_generated_password = 2131099867;
@@ -3556,8 +3556,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600dc
public const int hint_group_name = 2131099868;
- // aapt resource value: 0x7f0601e3
- public const int hint_key_file = 2131100131;
+ // aapt resource value: 0x7f0601e4
+ public const int hint_key_file = 2131100132;
// aapt resource value: 0x7f0600dd
public const int hint_keyfile = 2131099869;
@@ -3568,8 +3568,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600e0
public const int hint_login_pass = 2131099872;
- // aapt resource value: 0x7f0601e0
- public const int hint_master_password = 2131100128;
+ // aapt resource value: 0x7f0601e1
+ public const int hint_master_password = 2131100129;
// aapt resource value: 0x7f0600e3
public const int hint_override_url = 2131099875;
@@ -3577,11 +3577,11 @@ namespace keepass2android
// aapt resource value: 0x7f0600df
public const int hint_pass = 2131099871;
- // aapt resource value: 0x7f0601c8
- public const int hint_sftp_host = 2131100104;
-
// aapt resource value: 0x7f0601c9
- public const int hint_sftp_port = 2131100105;
+ public const int hint_sftp_host = 2131100105;
+
+ // aapt resource value: 0x7f0601ca
+ public const int hint_sftp_port = 2131100106;
// aapt resource value: 0x7f0600e4
public const int hint_tags = 2131099876;
@@ -3604,20 +3604,20 @@ namespace keepass2android
// aapt resource value: 0x7f06003e
public const int icon_info = 2131099710;
- // aapt resource value: 0x7f0601e7
- public const int init_otp = 2131100135;
+ // aapt resource value: 0x7f0601e8
+ public const int init_otp = 2131100136;
- // aapt resource value: 0x7f0601ca
- public const int initial_directory = 2131100106;
+ // aapt resource value: 0x7f0601cb
+ public const int initial_directory = 2131100107;
- // aapt resource value: 0x7f06012e
- public const int insert_element_here = 2131099950;
-
- // aapt resource value: 0x7f06022f
- public const int install_from_market = 2131100207;
+ // aapt resource value: 0x7f06012f
+ public const int insert_element_here = 2131099951;
// aapt resource value: 0x7f060230
- public const int install_from_website = 2131100208;
+ public const int install_from_market = 2131100208;
+
+ // aapt resource value: 0x7f060231
+ public const int install_from_website = 2131100209;
// aapt resource value: 0x7f0600e7
public const int invalid_algorithm = 2131099879;
@@ -3628,8 +3628,8 @@ namespace keepass2android
// aapt resource value: 0x7f060044
public const int issues = 2131099716;
- // aapt resource value: 0x7f0601e1
- public const int key_file = 2131100129;
+ // aapt resource value: 0x7f0601e2
+ public const int key_file = 2131100130;
// aapt resource value: 0x7f06009e
public const int keyboard_prefs = 2131099806;
@@ -3646,20 +3646,20 @@ namespace keepass2android
// aapt resource value: 0x7f060092
public const int kill_app_label = 2131099794;
- // aapt resource value: 0x7f060211
- public const int killed_by_os = 2131100177;
+ // aapt resource value: 0x7f060212
+ public const int killed_by_os = 2131100178;
- // aapt resource value: 0x7f060145
- public const int kp2a_findUrl = 2131099973;
-
- // aapt resource value: 0x7f060188
- public const int kp2a_switch_rooted = 2131100040;
+ // aapt resource value: 0x7f060146
+ public const int kp2a_findUrl = 2131099974;
// aapt resource value: 0x7f060189
- public const int kp2a_switch_rooted_summary = 2131100041;
+ public const int kp2a_switch_rooted = 2131100041;
- // aapt resource value: 0x7f0601e6
- public const int language_selection_title = 2131100134;
+ // aapt resource value: 0x7f06018a
+ public const int kp2a_switch_rooted_summary = 2131100042;
+
+ // aapt resource value: 0x7f0601e7
+ public const int language_selection_title = 2131100135;
// aapt resource value: 0x7f0600eb
public const int length = 2131099883;
@@ -3679,8 +3679,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600ec
public const int list_size_title = 2131099884;
- // aapt resource value: 0x7f0601fa
- public const int loading = 2131100154;
+ // aapt resource value: 0x7f0601fb
+ public const int loading = 2131100155;
// aapt resource value: 0x7f0600ee
public const int loading_database = 2131099886;
@@ -3697,11 +3697,11 @@ namespace keepass2android
// aapt resource value: 0x7f0600f1
public const int maskpass_title = 2131099889;
- // aapt resource value: 0x7f060112
- public const int master_key_type = 2131099922;
+ // aapt resource value: 0x7f060113
+ public const int master_key_type = 2131099923;
- // aapt resource value: 0x7f0601de
- public const int master_password = 2131100126;
+ // aapt resource value: 0x7f0601df
+ public const int master_password = 2131100127;
// aapt resource value: 0x7f06004f
public const int master_pwd_key = 2131099727;
@@ -3712,8 +3712,8 @@ namespace keepass2android
// aapt resource value: 0x7f0600f8
public const int menu_app_settings = 2131099896;
- // aapt resource value: 0x7f060105
- public const int menu_change_db = 2131099909;
+ // aapt resource value: 0x7f060106
+ public const int menu_change_db = 2131099910;
// aapt resource value: 0x7f0600f4
public const int menu_change_key = 2131099892;
@@ -3733,59 +3733,62 @@ namespace keepass2android
// aapt resource value: 0x7f0600fa
public const int menu_delete = 2131099898;
- // aapt resource value: 0x7f0600fc
- public const int menu_donate = 2131099900;
-
// aapt resource value: 0x7f0600fd
- public const int menu_edit = 2131099901;
+ public const int menu_donate = 2131099901;
// aapt resource value: 0x7f0600fe
- public const int menu_hide_password = 2131099902;
-
- // aapt resource value: 0x7f060231
- public const int menu_homepage = 2131100209;
+ public const int menu_edit = 2131099902;
// aapt resource value: 0x7f0600ff
- public const int menu_lock = 2131099903;
+ public const int menu_hide_password = 2131099903;
+
+ // aapt resource value: 0x7f060232
+ public const int menu_homepage = 2131100210;
+
+ // aapt resource value: 0x7f060100
+ public const int menu_lock = 2131099904;
// aapt resource value: 0x7f0600fb
public const int menu_move = 2131099899;
- // aapt resource value: 0x7f060100
- public const int menu_open = 2131099904;
+ // aapt resource value: 0x7f0600fc
+ public const int menu_navigate = 2131099900;
// aapt resource value: 0x7f060101
- public const int menu_rename = 2131099905;
+ public const int menu_open = 2131099905;
// aapt resource value: 0x7f060102
- public const int menu_search = 2131099906;
+ public const int menu_rename = 2131099906;
// aapt resource value: 0x7f060103
- public const int menu_search_advanced = 2131099907;
+ public const int menu_search = 2131099907;
// aapt resource value: 0x7f060104
- public const int menu_url = 2131099908;
+ public const int menu_search_advanced = 2131099908;
- // aapt resource value: 0x7f060106
- public const int minus = 2131099910;
+ // aapt resource value: 0x7f060105
+ public const int menu_url = 2131099909;
// aapt resource value: 0x7f060107
- public const int never = 2131099911;
+ public const int minus = 2131099911;
- // aapt resource value: 0x7f060109
- public const int no = 2131099913;
+ // aapt resource value: 0x7f060108
+ public const int never = 2131099912;
// aapt resource value: 0x7f06010a
- public const int no_keys = 2131099914;
+ public const int no = 2131099914;
// aapt resource value: 0x7f06010b
- public const int no_results = 2131099915;
-
- // aapt resource value: 0x7f0601c7
- public const int no_thanks = 2131100103;
+ public const int no_keys = 2131099915;
// aapt resource value: 0x7f06010c
- public const int no_url_handler = 2131099916;
+ public const int no_results = 2131099916;
+
+ // aapt resource value: 0x7f0601c8
+ public const int no_thanks = 2131100104;
+
+ // aapt resource value: 0x7f06010d
+ public const int no_url_handler = 2131099917;
// aapt resource value: 0x7f0600a8
public const int not_possible_im_picker = 2131099816;
@@ -3796,47 +3799,47 @@ namespace keepass2android
// aapt resource value: 0x7f060046
public const int oi_filemanager_web = 2131099718;
- // aapt resource value: 0x7f0601c6
- public const int ok_donate = 2131100102;
+ // aapt resource value: 0x7f0601c7
+ public const int ok_donate = 2131100103;
// aapt resource value: 0x7f060052
public const int omitbackup_key = 2131099730;
+ // aapt resource value: 0x7f060110
+ public const int omitbackup_summary = 2131099920;
+
// aapt resource value: 0x7f06010f
- public const int omitbackup_summary = 2131099919;
+ public const int omitbackup_title = 2131099919;
// aapt resource value: 0x7f06010e
- public const int omitbackup_title = 2131099918;
+ public const int open_recent = 2131099918;
- // aapt resource value: 0x7f06010d
- public const int open_recent = 2131099917;
-
- // aapt resource value: 0x7f0601bf
- public const int otp_aux_file = 2131100095;
-
- // aapt resource value: 0x7f0601ef
- public const int otp_discarded_because_db_open = 2131100143;
-
- // aapt resource value: 0x7f0601ed
- public const int otp_discarded_because_no_db = 2131100141;
-
- // aapt resource value: 0x7f0601ee
- public const int otp_discarded_no_space = 2131100142;
-
- // aapt resource value: 0x7f0601e8
- public const int otp_explanation = 2131100136;
-
- // aapt resource value: 0x7f0601e9
- public const int otp_hint = 2131100137;
+ // aapt resource value: 0x7f0601c0
+ public const int otp_aux_file = 2131100096;
// aapt resource value: 0x7f0601f0
- public const int otps_pending = 2131100144;
+ public const int otp_discarded_because_db_open = 2131100144;
+
+ // aapt resource value: 0x7f0601ee
+ public const int otp_discarded_because_no_db = 2131100142;
+
+ // aapt resource value: 0x7f0601ef
+ public const int otp_discarded_no_space = 2131100143;
+
+ // aapt resource value: 0x7f0601e9
+ public const int otp_explanation = 2131100137;
+
+ // aapt resource value: 0x7f0601ea
+ public const int otp_hint = 2131100138;
// aapt resource value: 0x7f0601f1
- public const int otpsecret_hint = 2131100145;
+ public const int otps_pending = 2131100145;
- // aapt resource value: 0x7f060110
- public const int pass_filename = 2131099920;
+ // aapt resource value: 0x7f0601f2
+ public const int otpsecret_hint = 2131100146;
+
+ // aapt resource value: 0x7f060111
+ public const int pass_filename = 2131099921;
// aapt resource value: 0x7f06009b
public const int password_access_prefs = 2131099803;
@@ -3844,8 +3847,8 @@ namespace keepass2android
// aapt resource value: 0x7f06005e
public const int password_access_prefs_key = 2131099742;
- // aapt resource value: 0x7f060111
- public const int password_title = 2131099921;
+ // aapt resource value: 0x7f060112
+ public const int password_title = 2131099922;
// aapt resource value: 0x7f060047
public const int permission_desc = 2131099719;
@@ -3853,101 +3856,101 @@ namespace keepass2android
// aapt resource value: 0x7f0600a9
public const int please_activate_keyboard = 2131099817;
- // aapt resource value: 0x7f06013c
- public const int please_note = 2131099964;
-
- // aapt resource value: 0x7f0601fe
- public const int plugin_author = 2131100158;
-
- // aapt resource value: 0x7f0601fd
- public const int plugin_description = 2131100157;
-
- // aapt resource value: 0x7f060200
- public const int plugin_disabled = 2131100160;
+ // aapt resource value: 0x7f06013d
+ public const int please_note = 2131099965;
// aapt resource value: 0x7f0601ff
- public const int plugin_enabled = 2131100159;
+ public const int plugin_author = 2131100159;
- // aapt resource value: 0x7f060204
- public const int plugin_enabled_checkbox = 2131100164;
-
- // aapt resource value: 0x7f0601fc
- public const int plugin_packagename = 2131100156;
+ // aapt resource value: 0x7f0601fe
+ public const int plugin_description = 2131100158;
// aapt resource value: 0x7f060201
- public const int plugin_web = 2131100161;
+ public const int plugin_disabled = 2131100161;
- // aapt resource value: 0x7f0601fb
- public const int plugins = 2131100155;
+ // aapt resource value: 0x7f060200
+ public const int plugin_enabled = 2131100160;
- // aapt resource value: 0x7f060225
- public const int plugins_text = 2131100197;
+ // aapt resource value: 0x7f060205
+ public const int plugin_enabled_checkbox = 2131100165;
- // aapt resource value: 0x7f060113
- public const int progress_create = 2131099923;
-
- // aapt resource value: 0x7f060115
- public const int progress_title = 2131099925;
-
- // aapt resource value: 0x7f06016a
- public const int protection = 2131100010;
-
- // aapt resource value: 0x7f060203
- public const int query_credentials = 2131100163;
+ // aapt resource value: 0x7f0601fd
+ public const int plugin_packagename = 2131100157;
// aapt resource value: 0x7f060202
- public const int query_credentials_for_url = 2131100162;
+ public const int plugin_web = 2131100162;
- // aapt resource value: 0x7f06019c
- public const int rate_app = 2131100060;
+ // aapt resource value: 0x7f0601fc
+ public const int plugins = 2131100156;
- // aapt resource value: 0x7f06013e
- public const int regular_expression = 2131099966;
+ // aapt resource value: 0x7f060226
+ public const int plugins_text = 2131100198;
+
+ // aapt resource value: 0x7f060114
+ public const int progress_create = 2131099924;
// aapt resource value: 0x7f060116
- public const int remember_keyfile_summary = 2131099926;
+ public const int progress_title = 2131099926;
+
+ // aapt resource value: 0x7f06016b
+ public const int protection = 2131100011;
+
+ // aapt resource value: 0x7f060204
+ public const int query_credentials = 2131100164;
+
+ // aapt resource value: 0x7f060203
+ public const int query_credentials_for_url = 2131100163;
+
+ // aapt resource value: 0x7f06019d
+ public const int rate_app = 2131100061;
+
+ // aapt resource value: 0x7f06013f
+ public const int regular_expression = 2131099967;
// aapt resource value: 0x7f060117
- public const int remember_keyfile_title = 2131099927;
+ public const int remember_keyfile_summary = 2131099927;
// aapt resource value: 0x7f060118
- public const int remove_from_filelist = 2131099928;
+ public const int remember_keyfile_title = 2131099928;
// aapt resource value: 0x7f060119
- public const int rijndael = 2131099929;
+ public const int remove_from_filelist = 2131099929;
// aapt resource value: 0x7f06011a
- public const int root = 2131099930;
+ public const int rijndael = 2131099930;
// aapt resource value: 0x7f06011b
- public const int rounds = 2131099931;
+ public const int root = 2131099931;
// aapt resource value: 0x7f06011c
- public const int rounds_explaination = 2131099932;
+ public const int rounds = 2131099932;
// aapt resource value: 0x7f06011d
- public const int rounds_hint = 2131099933;
+ public const int rounds_explaination = 2131099933;
+
+ // aapt resource value: 0x7f06011e
+ public const int rounds_hint = 2131099934;
// aapt resource value: 0x7f06004e
public const int rounds_key = 2131099726;
- // aapt resource value: 0x7f060120
- public const int saving_database = 2131099936;
-
- // aapt resource value: 0x7f060129
- public const int search_hint = 2131099945;
-
- // aapt resource value: 0x7f06012b
- public const int search_in = 2131099947;
-
- // aapt resource value: 0x7f060124
- public const int search_label = 2131099940;
-
- // aapt resource value: 0x7f060147
- public const int search_options = 2131099975;
+ // aapt resource value: 0x7f060121
+ public const int saving_database = 2131099937;
// aapt resource value: 0x7f06012a
- public const int search_results = 2131099946;
+ public const int search_hint = 2131099946;
+
+ // aapt resource value: 0x7f06012c
+ public const int search_in = 2131099948;
+
+ // aapt resource value: 0x7f060125
+ public const int search_label = 2131099941;
+
+ // aapt resource value: 0x7f060148
+ public const int search_options = 2131099976;
+
+ // aapt resource value: 0x7f06012b
+ public const int search_results = 2131099947;
// aapt resource value: 0x7f060099
public const int security_prefs = 2131099801;
@@ -3955,14 +3958,14 @@ namespace keepass2android
// aapt resource value: 0x7f06005f
public const int security_prefs_key = 2131099743;
+ // aapt resource value: 0x7f06012e
+ public const int select_group_then_add = 2131099950;
+
// aapt resource value: 0x7f06012d
- public const int select_group_then_add = 2131099949;
+ public const int select_other_entry = 2131099949;
- // aapt resource value: 0x7f06012c
- public const int select_other_entry = 2131099948;
-
- // aapt resource value: 0x7f0601cc
- public const int select_storage_type = 2131100108;
+ // aapt resource value: 0x7f0601cd
+ public const int select_storage_type = 2131100109;
// aapt resource value: 0x7f06008d
public const int short_app_name = 2131099789;
@@ -3979,74 +3982,74 @@ namespace keepass2android
// aapt resource value: 0x7f060094
public const int show_kill_app_summary = 2131099796;
- // aapt resource value: 0x7f060125
- public const int show_password = 2131099941;
+ // aapt resource value: 0x7f060126
+ public const int show_password = 2131099942;
- // aapt resource value: 0x7f060127
- public const int sort_db = 2131099943;
+ // aapt resource value: 0x7f060128
+ public const int sort_db = 2131099944;
// aapt resource value: 0x7f060055
public const int sort_key = 2131099733;
- // aapt resource value: 0x7f060126
- public const int sort_name = 2131099942;
+ // aapt resource value: 0x7f060127
+ public const int sort_name = 2131099943;
- // aapt resource value: 0x7f060123
- public const int space = 2131099939;
+ // aapt resource value: 0x7f060124
+ public const int space = 2131099940;
- // aapt resource value: 0x7f060128
- public const int special = 2131099944;
-
- // aapt resource value: 0x7f06014a
- public const int start_create = 2131099978;
-
- // aapt resource value: 0x7f06014c
- public const int start_create_import = 2131099980;
-
- // aapt resource value: 0x7f060149
- public const int start_open_file = 2131099977;
+ // aapt resource value: 0x7f060129
+ public const int special = 2131099945;
// aapt resource value: 0x7f06014b
- public const int start_open_url = 2131099979;
+ public const int start_create = 2131099979;
- // aapt resource value: 0x7f06019b
- public const int suggest_improvements = 2131100059;
+ // aapt resource value: 0x7f06014d
+ public const int start_create_import = 2131099981;
- // aapt resource value: 0x7f0601c1
- public const int synchronize_database_menu = 2131100097;
+ // aapt resource value: 0x7f06014a
+ public const int start_open_file = 2131099978;
- // aapt resource value: 0x7f06019d
- public const int translate_app = 2131100061;
+ // aapt resource value: 0x7f06014c
+ public const int start_open_url = 2131099980;
- // aapt resource value: 0x7f06012f
- public const int twofish = 2131099951;
+ // aapt resource value: 0x7f06019c
+ public const int suggest_improvements = 2131100060;
+
+ // aapt resource value: 0x7f0601c2
+ public const int synchronize_database_menu = 2131100098;
+
+ // aapt resource value: 0x7f06019e
+ public const int translate_app = 2131100062;
// aapt resource value: 0x7f060130
- public const int underline = 2131099952;
+ public const int twofish = 2131099952;
// aapt resource value: 0x7f060131
- public const int unsupported_db_version = 2131099953;
+ public const int underline = 2131099953;
// aapt resource value: 0x7f060132
- public const int uppercase = 2131099954;
-
- // aapt resource value: 0x7f0601e4
- public const int use_key_file = 2131100132;
-
- // aapt resource value: 0x7f060136
- public const int version_history = 2131099958;
-
- // aapt resource value: 0x7f060135
- public const int version_label = 2131099957;
+ public const int unsupported_db_version = 2131099954;
// aapt resource value: 0x7f060133
- public const int warning_read_only = 2131099955;
+ public const int uppercase = 2131099955;
+
+ // aapt resource value: 0x7f0601e5
+ public const int use_key_file = 2131100133;
+
+ // aapt resource value: 0x7f060137
+ public const int version_history = 2131099959;
+
+ // aapt resource value: 0x7f060136
+ public const int version_label = 2131099958;
// aapt resource value: 0x7f060134
- public const int warning_unmounted = 2131099956;
+ public const int warning_read_only = 2131099956;
- // aapt resource value: 0x7f060108
- public const int yes = 2131099912;
+ // aapt resource value: 0x7f060135
+ public const int warning_unmounted = 2131099957;
+
+ // aapt resource value: 0x7f060109
+ public const int yes = 2131099913;
static String()
{
diff --git a/src/keepass2android/Resources/values/strings.xml b/src/keepass2android/Resources/values/strings.xml
index b655849c..ea830d2d 100644
--- a/src/keepass2android/Resources/values/strings.xml
+++ b/src/keepass2android/Resources/values/strings.xml
@@ -129,6 +129,7 @@
Database settings
Delete
Move to another group
+ Navigate to this group
Donate a beer...
Edit
Hide Password
diff --git a/src/keepass2android/app/AppTask.cs b/src/keepass2android/app/AppTask.cs
index be49318d..e4244ed1 100644
--- a/src/keepass2android/app/AppTask.cs
+++ b/src/keepass2android/app/AppTask.cs
@@ -71,6 +71,53 @@ namespace keepass2android
#endregion
}
+ ///
+ /// represents data stored in an intent or bundle as extra int
+ ///
+ public class IntExtra: IExtra
+ {
+ public string Key { get; set; }
+ public int Value{ get; set; }
+
+ #region IExtra implementation
+
+ public void ToBundle(Bundle b)
+ {
+ b.PutInt(Key, Value);
+ }
+
+ public void ToIntent(Intent i)
+ {
+ i.PutExtra(Key, Value);
+ }
+
+ #endregion
+ }
+
+
+ ///
+ /// represents data stored in an intent or bundle as extra string array
+ ///
+ public class StringArrayExtra : IExtra
+ {
+ public string Key { get; set; }
+ public string[] Value { get; set; }
+
+ #region IExtra implementation
+
+ public void ToBundle(Bundle b)
+ {
+ b.PutStringArray(Key, Value);
+ }
+
+ public void ToIntent(Intent i)
+ {
+ i.PutExtra(Key, Value);
+ }
+
+ #endregion
+ }
+
///
/// base class for "tasks": these are things the user wants to do and which require several activities
///
@@ -473,6 +520,7 @@ namespace keepass2android
}
+
///
/// User is about to move an entry or group to another group
///
@@ -614,5 +662,183 @@ namespace keepass2android
base.CompleteOnCreateEntryActivity(activity);
}
}
+
+
+ ///
+ /// Navigate to a folder and open a Task (appear in SearchResult)
+ ///
+ public abstract class NavigateAndLaunchTask: AppTask
+ {
+ // All group Uuid are stored in guuidKey + indice
+ // The last one is the destination group
+ public const String numberOfGroupsKey = "NumberOfGroups";
+ public const String gUuidKey = "gUuidKey";
+
+ #if INCLUDE_DEBUG_MOVE_GROUPNAME
+ public const String gNameKey = "gNameKey";
+ private LinkedList groupName;
+ #endif
+
+ private LinkedList groupUuid;
+ protected AppTask taskToBeLaunchAfterNavigation;
+
+ public NavigateAndLaunchTask() {
+ this.taskToBeLaunchAfterNavigation = new NullTask();
+ }
+
+ protected NavigateAndLaunchTask(PwGroup groups, AppTask taskToBeLaunchAfterNavigation) {
+ this.taskToBeLaunchAfterNavigation = taskToBeLaunchAfterNavigation;
+ populateGroupsUuid (groups);
+ }
+
+ public void populateGroupsUuid(PwGroup groups) {
+
+ groupUuid = new LinkedList{};
+
+ #if INCLUDE_DEBUG_MOVE_GROUPNAME
+ groupName = new LinkedList{};
+ #endif
+
+ PwGroup readGroup = groups;
+ while (readGroup != null) {
+
+ groupUuid.AddFirst (MemUtil.ByteArrayToHexString (readGroup.Uuid.UuidBytes));
+
+ #if INCLUDE_DEBUG_MOVE_GROUPNAME
+ groupName.AddFirst (readGroup.Name);
+ #endif
+
+ readGroup = readGroup.ParentGroup;
+ }
+
+ }
+
+ ///
+ /// Loads the parameters of the task from the given bundle. Embeded task is not setup from this bundle
+ ///
+ /// The bundle component.
+ public override void Setup(Bundle b)
+ {
+ int numberOfGroups = b.GetInt(numberOfGroupsKey);
+ groupUuid = new LinkedList{};
+#if INCLUDE_DEBUG_MOVE_GROUPNAME
+ groupName = new LinkedList{};
+#endif
+
+ int i = 0;
+ while (i < numberOfGroups) {
+
+ groupUuid.AddLast ( b.GetString (gUuidKey + i) ) ;
+#if INCLUDE_DEBUG_MOVE_GROUPNAME
+ groupName.AddLast ( b.GetString (gNameKey + i) );
+#endif
+
+ i++;
+ }
+
+ }
+
+ public override IEnumerable Extras
+ {
+ get
+ {
+ // Return Navigate group Extras
+ IEnumerator eGroupKeys = groupUuid.GetEnumerator ();
+#if INCLUDE_DEBUG_MOVE_GROUPNAME
+ IEnumerator eGroupName = groupName.GetEnumerator ();
+#endif
+
+ int i = 0;
+ while (eGroupKeys.MoveNext()) {
+ yield return new StringExtra { Key = gUuidKey + i.ToString (), Value = eGroupKeys.Current };
+#if INCLUDE_DEBUG_MOVE_GROUPNAME
+ eGroupName.MoveNext();
+ yield return new StringExtra { Key = gNameKey + i.ToString (), Value = eGroupName.Current };
+#endif
+
+ i++;
+ }
+
+ yield return new IntExtra{ Key = numberOfGroupsKey, Value = i };
+
+ // Return afterTaskExtras
+ IEnumerator afterTaskExtras = taskToBeLaunchAfterNavigation.Extras.GetEnumerator();
+ while (afterTaskExtras.MoveNext ()) {
+ yield return afterTaskExtras.Current;
+ }
+
+ }
+ }
+
+ public override void StartInGroupActivity(GroupBaseActivity groupBaseActivity)
+ {
+ base.StartInGroupActivity(groupBaseActivity);
+
+ if (GroupIsFound(groupBaseActivity) ){ // Group has been found: stop here
+ groupBaseActivity.StartTask (taskToBeLaunchAfterNavigation);
+ return;
+
+ } else if (groupUuid.Contains(groupBaseActivity.UuidGroup)) { // Need to go up in groups tree
+
+ // Get next Group Uuid
+ String nextGroupUuid = groupUuid.Find (groupBaseActivity.UuidGroup).Next.Value;
+ PwUuid nextGroupPwUuid = new PwUuid (MemUtil.HexStringToByteArray (nextGroupUuid));
+
+ // Create Group Activity
+ PwGroup nextGroup = App.Kp2a.GetDb ().Groups [nextGroupPwUuid];
+ GroupActivity.Launch (groupBaseActivity, nextGroup, this);
+ return;
+
+ } else { // Need to go down in groups tree
+ SetActivityResult(groupBaseActivity, KeePass.ExitMoveEntry);
+ groupBaseActivity.Finish();
+
+ }
+
+ }
+ public override void SetupGroupBaseActivityButtons(GroupBaseActivity groupBaseActivity)
+ {
+ return;
+ }
+
+ public bool GroupIsFound(GroupBaseActivity groupBaseActivity)
+ {
+ return groupUuid.Last.Value.Equals (groupBaseActivity.UuidGroup);
+ }
+ }
+
+ public class NavigateToFolder: NavigateAndLaunchTask {
+
+ public NavigateToFolder():base() {
+ }
+
+ public NavigateToFolder(PwGroup groups): base(groups, new NullTask()) {
+ return;
+ }
+
+ }
+
+ public class NavigateToFolderAndLaunchMoveElementTask: NavigateAndLaunchTask {
+
+ public NavigateToFolderAndLaunchMoveElementTask():base(){
+
+ }
+
+
+ public NavigateToFolderAndLaunchMoveElementTask(PwGroup groups, PwUuid Uuid):
+ base(groups, new MoveElementTask() { Uuid = Uuid }) {
+ }
+
+ public override void Setup(Bundle b) {
+ base.Setup(b);
+
+ taskToBeLaunchAfterNavigation = new MoveElementTask ();
+ taskToBeLaunchAfterNavigation.Setup (b);
+
+ }
+
+
+ }
+
}
diff --git a/src/keepass2android/keepass2android.csproj b/src/keepass2android/keepass2android.csproj
index ddb91933..d3eac804 100644
--- a/src/keepass2android/keepass2android.csproj
+++ b/src/keepass2android/keepass2android.csproj
@@ -28,7 +28,7 @@
full
false
bin\Debug
- DEBUG;EXCLUDE_TWOFISH;EXCLUDE_KEYBOARD;INCLUDE_FILECHOOSER;EXCLUDE_JAVAFILESTORAGE;EXCLUDE_KEYTRANSFORM
+ DEBUG;EXCLUDE_TWOFISH;EXCLUDE_KEYBOARD;INCLUDE_FILECHOOSER;EXCLUDE_JAVAFILESTORAGE;EXCLUDE_KEYTRANSFORM;INCLUDE_DEBUG_MOVE_GROUPNAME
prompt
4
False
@@ -270,6 +270,33 @@
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
diff --git a/src/keepass2android/search/SearchResults.cs b/src/keepass2android/search/SearchResults.cs
index 8af7f636..22944af7 100644
--- a/src/keepass2android/search/SearchResults.cs
+++ b/src/keepass2android/search/SearchResults.cs
@@ -19,6 +19,7 @@ using System.Linq;
using Android.App;
using Android.Content;
using Android.OS;
+using Android.Views;
using Android.Widget;
using keepass2android.view;
using KeePassLib;
@@ -45,6 +46,7 @@ namespace keepass2android.search
SetResult(KeePass.ExitNormal);
ProcessIntent(Intent);
+ RegisterForContextMenu(ListView);
}
protected override void OnNewIntent(Intent intent)
@@ -117,6 +119,24 @@ namespace keepass2android.search
}
+ public override void OnCreateContextMenu(IContextMenu menu, View v,
+ IContextMenuContextMenuInfo menuInfo)
+ {
+
+ AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo) menuInfo;
+ ClickView cv = (ClickView) acmi.TargetView;
+ cv.OnCreateMenu(menu, menuInfo);
+ }
+
+ public override bool OnContextItemSelected(IMenuItem item) {
+ AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo)item.MenuInfo;
+ ClickView cv = (ClickView) acmi.TargetView;
+
+ bool result;
+
+ return cv.OnContextItemSelected(item);
+ }
+
public override bool OnSearchRequested()
{
diff --git a/src/keepass2android/views/PwEntryView.cs b/src/keepass2android/views/PwEntryView.cs
index c0ef65fb..97e236e1 100644
--- a/src/keepass2android/views/PwEntryView.cs
+++ b/src/keepass2android/views/PwEntryView.cs
@@ -47,6 +47,7 @@ namespace keepass2android.view
private const int MenuOpen = Menu.First;
private const int MenuDelete = MenuOpen + 1;
private const int MenuMove = MenuDelete + 1;
+ private const int MenuNavigate = MenuMove + 1;
public static PwEntryView GetInstance(GroupBaseActivity act, PwEntry pw, int pos)
{
@@ -188,7 +189,12 @@ namespace keepass2android.view
if (App.Kp2a.GetDb().CanWrite)
{
menu.Add(0, MenuDelete, 0, Resource.String.menu_delete);
- menu.Add(0, MenuMove, 0, Resource.String.menu_move);
+ menu.Add(0, MenuMove, 0, Resource.String.menu_move);
+
+ if (_isSearchResult) {
+ menu.Add (0, MenuNavigate, 0, Resource.String.menu_navigate);
+ }
+
}
}
@@ -206,9 +212,15 @@ namespace keepass2android.view
task.Start();
return true;
case MenuMove:
- _groupActivity.StartTask(new MoveElementTask { Uuid = _entry.Uuid});
+ NavigateToFolderAndLaunchMoveElementTask navMove =
+ new NavigateToFolderAndLaunchMoveElementTask(_entry.ParentGroup, _entry.Uuid);
+ _groupActivity.StartTask (navMove);
return true;
-
+ case MenuNavigate:
+ NavigateToFolder navNavigate = new NavigateToFolder(_entry.ParentGroup);
+ _groupActivity.StartTask (navNavigate);
+ return true;
+
default:
return false;
}