From ff5f630c2e058c9160f5b6c9fa604135bdd95f50 Mon Sep 17 00:00:00 2001 From: PhilippC Date: Sat, 23 Mar 2013 21:19:37 +0100 Subject: [PATCH] Added Changelog Added menu options for translate, rate, suggestions Improved URL search Changed Version to 0.6.2 --- src/keepass2android/Database.cs | 4 +- src/keepass2android/EntryActivity.cs | 22 + src/keepass2android/EntryEditActivity.cs | 22 + src/keepass2android/GroupBaseActivity.cs | 22 +- src/keepass2android/KeePass.cs | 59 +- .../Properties/AndroidManifest_net.xml | 4 +- .../Properties/AndroidManifest_nonet.xml | 5 +- .../Resources/Resource.designer.cs | 1384 +++++++++-------- .../Resources/menu-v11/entry.xml | 14 + .../Resources/menu-v11/entry_edit.xml | 14 + .../Resources/menu-v11/group.xml | 15 + src/keepass2android/Resources/menu/entry.xml | 11 + .../Resources/menu/entry_edit.xml | 11 + src/keepass2android/Resources/menu/group.xml | 12 + .../Resources/values/config.xml | 7 +- .../Resources/values/strings.xml | 19 +- src/keepass2android/ShareUrlResults.cs | 17 +- src/keepass2android/Utils/Util.cs | 6 + src/keepass2android/search/SearchDbHelper.cs | 5 +- 19 files changed, 963 insertions(+), 690 deletions(-) diff --git a/src/keepass2android/Database.cs b/src/keepass2android/Database.cs index 0da4ddaa..08aecdf7 100644 --- a/src/keepass2android/Database.cs +++ b/src/keepass2android/Database.cs @@ -198,8 +198,8 @@ namespace keepass2android } - public PwGroup SearchForHost(String url) { - PwGroup group = searchHelper.searchForHost(this, url); + public PwGroup SearchForHost(String url, bool allowSubdomains) { + PwGroup group = searchHelper.searchForHost(this, url, allowSubdomains); return group; diff --git a/src/keepass2android/EntryActivity.cs b/src/keepass2android/EntryActivity.cs index 0ff7473f..b663c9ee 100644 --- a/src/keepass2android/EntryActivity.cs +++ b/src/keepass2android/EntryActivity.cs @@ -511,12 +511,34 @@ namespace keepass2android timeoutCopyToClipboard(mEntry.Strings.ReadSafe (PwDefs.UserNameField)); return true; */ + case Resource.Id.menu_rate: + try { + Util.gotoMarket(this); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + case Resource.Id.menu_suggest_improvements: + try { + Util.gotoUrl(this, Resource.String.SuggestionsURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; case Resource.Id.menu_lock: App.setShutdown(); SetResult(KeePass.EXIT_LOCK); Finish(); return true; + case Resource.Id.menu_translate: + try { + Util.gotoUrl(this, Resource.String.TranslationURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; } + return base.OnOptionsItemSelected(item); } diff --git a/src/keepass2android/EntryEditActivity.cs b/src/keepass2android/EntryEditActivity.cs index 8e498596..7b0e38c9 100644 --- a/src/keepass2android/EntryEditActivity.cs +++ b/src/keepass2android/EntryEditActivity.cs @@ -611,6 +611,28 @@ namespace keepass2android case Resource.Id.menu_cancel_edit: Finish(); break; + case Resource.Id.menu_rate: + try { + Util.gotoMarket(this); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + case Resource.Id.menu_suggest_improvements: + try { + Util.gotoUrl(this, Resource.String.SuggestionsURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + case Resource.Id.menu_translate: + try { + Util.gotoUrl(this, Resource.String.TranslationURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + } diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs index 584f8b68..e9915e1e 100644 --- a/src/keepass2android/GroupBaseActivity.cs +++ b/src/keepass2android/GroupBaseActivity.cs @@ -219,7 +219,27 @@ namespace keepass2android case Resource.Id.menu_sort: toggleSort(); return true; - + case Resource.Id.menu_rate: + try { + Util.gotoMarket(this); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + case Resource.Id.menu_suggest_improvements: + try { + Util.gotoUrl(this, Resource.String.SuggestionsURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; + case Resource.Id.menu_translate: + try { + Util.gotoUrl(this, Resource.String.TranslationURL); + } catch (ActivityNotFoundException) { + Toast.MakeText(this, Resource.String.no_url_handler, ToastLength.Long).Show(); + } + return true; } return base.OnOptionsItemSelected(item); diff --git a/src/keepass2android/KeePass.cs b/src/keepass2android/KeePass.cs index fa2238e4..4a673e65 100644 --- a/src/keepass2android/KeePass.cs +++ b/src/keepass2android/KeePass.cs @@ -24,6 +24,8 @@ using Android.Widget; using Android.OS; using keepass2android.view; +using Android.Preferences; +using Android.Content.PM; namespace keepass2android { @@ -54,10 +56,59 @@ namespace keepass2android } - protected override void OnStart() { + protected override void OnStart() + { base.OnStart(); - Android.Util.Log.Debug("DEBUG","KeePass.OnStart"); - startFileSelect(); + Android.Util.Log.Debug("DEBUG", "KeePass.OnStart"); + + ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this); + + bool showChangeLog = false; + try + { + PackageInfo packageInfo = PackageManager.GetPackageInfo(PackageName, 0); + int lastInfoVersionCode = prefs.GetInt(GetString(Resource.String.LastInfoVersionCode_key), 0); + if (packageInfo.VersionCode > lastInfoVersionCode) + { + showChangeLog = true; + + ISharedPreferencesEditor edit = prefs.Edit(); + edit.PutInt(GetString(Resource.String.LastInfoVersionCode_key), packageInfo.VersionCode); + EditorCompat.apply(edit); + } + + } catch (PackageManager.NameNotFoundException) + { + + } + + if (showChangeLog) + { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.SetTitle(GetString(Resource.String.ChangeLog_title)); + + builder.SetMessage(GetString(Resource.String.ChangeLog)); + + builder.SetPositiveButton(Android.Resource.String.Ok,new EventHandler((dlgSender, dlgEvt)=>{})); + + Dialog dialog = builder.Create(); + dialog.DismissEvent += (object sender, EventArgs e) => + { + startFileSelect(); + }; + dialog.Show(); + + + + } else + { + startFileSelect(); + } + + + + + } private void startFileSelect() { @@ -72,7 +123,7 @@ namespace keepass2android protected override void OnDestroy() { - Android.Util.Log.Debug("DEBUG","KeePass.OnDestry"+IsFinishing.ToString()); + Android.Util.Log.Debug("DEBUG","KeePass.OnDestroy"+IsFinishing.ToString()); base.OnDestroy(); } diff --git a/src/keepass2android/Properties/AndroidManifest_net.xml b/src/keepass2android/Properties/AndroidManifest_net.xml index c3bd7317..fb07a999 100644 --- a/src/keepass2android/Properties/AndroidManifest_net.xml +++ b/src/keepass2android/Properties/AndroidManifest_net.xml @@ -1,7 +1,7 @@  diff --git a/src/keepass2android/Properties/AndroidManifest_nonet.xml b/src/keepass2android/Properties/AndroidManifest_nonet.xml index 7771ada8..d6959644 100644 --- a/src/keepass2android/Properties/AndroidManifest_nonet.xml +++ b/src/keepass2android/Properties/AndroidManifest_nonet.xml @@ -1,11 +1,10 @@  - diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs index 07dbc7ef..d19e7e8d 100644 --- a/src/keepass2android/Resources/Resource.designer.cs +++ b/src/keepass2android/Resources/Resource.designer.cs @@ -766,17 +766,17 @@ namespace keepass2android // aapt resource value: 0x7f0b0083 public const int linearLayout1 = 2131427459; - // aapt resource value: 0x7f0b009b - public const int menu_about = 2131427483; - - // aapt resource value: 0x7f0b009a - public const int menu_app_settings = 2131427482; - - // aapt resource value: 0x7f0b0099 - public const int menu_cancel_edit = 2131427481; + // aapt resource value: 0x7f0b009e + public const int menu_about = 2131427486; // aapt resource value: 0x7f0b009d - public const int menu_change_master_key = 2131427485; + public const int menu_app_settings = 2131427485; + + // aapt resource value: 0x7f0b009c + public const int menu_cancel_edit = 2131427484; + + // aapt resource value: 0x7f0b00a0 + public const int menu_change_master_key = 2131427488; // aapt resource value: 0x7f0b0097 public const int menu_goto_url = 2131427479; @@ -784,15 +784,24 @@ namespace keepass2android // aapt resource value: 0x7f0b0098 public const int menu_lock = 2131427480; - // aapt resource value: 0x7f0b009c - public const int menu_search = 2131427484; + // aapt resource value: 0x7f0b009a + public const int menu_rate = 2131427482; - // aapt resource value: 0x7f0b009e - public const int menu_sort = 2131427486; + // aapt resource value: 0x7f0b009f + public const int menu_search = 2131427487; + + // aapt resource value: 0x7f0b00a1 + public const int menu_sort = 2131427489; + + // aapt resource value: 0x7f0b0099 + public const int menu_suggest_improvements = 2131427481; // aapt resource value: 0x7f0b0096 public const int menu_toggle_pass = 2131427478; + // aapt resource value: 0x7f0b009b + public const int menu_translate = 2131427483; + // aapt resource value: 0x7f0b0069 public const int ok = 2131427433; @@ -997,743 +1006,770 @@ namespace keepass2android public partial class String { - // aapt resource value: 0x7f060021 - public const int AboutText = 2131099681; - - // aapt resource value: 0x7f0600ef - public const int AskDeletePermanentlyEntry = 2131099887; - - // aapt resource value: 0x7f0600f0 - public const int AskDeletePermanentlyGroup = 2131099888; - - // aapt resource value: 0x7f0600f1 - public const int AskDeletePermanently_title = 2131099889; - - // aapt resource value: 0x7f0600f4 - public const int AskDiscardChanges = 2131099892; - - // aapt resource value: 0x7f0600f5 - public const int AskDiscardChanges_title = 2131099893; - - // aapt resource value: 0x7f0600e9 - public const int AskOverwriteBinary = 2131099881; - - // aapt resource value: 0x7f0600ec - public const int AskOverwriteBinary_no = 2131099884; - - // aapt resource value: 0x7f0600ea - public const int AskOverwriteBinary_title = 2131099882; - - // aapt resource value: 0x7f0600eb - public const int AskOverwriteBinary_yes = 2131099883; + // aapt resource value: 0x7f060025 + public const int AboutText = 2131099685; // aapt resource value: 0x7f0600f3 - public const int AskReloadFile = 2131099891; + public const int AskDeletePermanentlyEntry = 2131099891; - // aapt resource value: 0x7f0600f2 - public const int AskReloadFile_title = 2131099890; + // aapt resource value: 0x7f0600f4 + public const int AskDeletePermanentlyGroup = 2131099892; + + // aapt resource value: 0x7f0600f5 + public const int AskDeletePermanently_title = 2131099893; + + // aapt resource value: 0x7f0600f8 + public const int AskDiscardChanges = 2131099896; + + // aapt resource value: 0x7f0600f9 + public const int AskDiscardChanges_title = 2131099897; // aapt resource value: 0x7f0600ed - public const int AttachFailed = 2131099885; + public const int AskOverwriteBinary = 2131099885; - // aapt resource value: 0x7f060016 - public const int BinaryDirectory_default = 2131099670; - - // aapt resource value: 0x7f060015 - public const int BinaryDirectory_key = 2131099669; - - // aapt resource value: 0x7f0600db - public const int BinaryDirectory_summary = 2131099867; - - // aapt resource value: 0x7f0600da - public const int BinaryDirectory_title = 2131099866; - - // aapt resource value: 0x7f060035 - public const int ClearClipboard = 2131099701; - - // aapt resource value: 0x7f060022 - public const int CreditsText = 2131099682; - - // aapt resource value: 0x7f06006b - public const int FileNotFound = 2131099755; - - // aapt resource value: 0x7f06007e - public const int InvalidPassword = 2131099774; - - // aapt resource value: 0x7f060088 - public const int MaskedPassword = 2131099784; - - // aapt resource value: 0x7f060017 - public const int QuickUnlockDefaultEnabled_key = 2131099671; - - // aapt resource value: 0x7f0600d6 - public const int QuickUnlockDefaultEnabled_summary = 2131099862; - - // aapt resource value: 0x7f0600d5 - public const int QuickUnlockDefaultEnabled_title = 2131099861; - - // aapt resource value: 0x7f060019 - public const int QuickUnlockLength_default = 2131099673; - - // aapt resource value: 0x7f060018 - public const int QuickUnlockLength_key = 2131099672; - - // aapt resource value: 0x7f0600d8 - public const int QuickUnlockLength_summary = 2131099864; - - // aapt resource value: 0x7f0600d7 - public const int QuickUnlockLength_title = 2131099863; - - // aapt resource value: 0x7f0600d3 - public const int QuickUnlock_button = 2131099859; - - // aapt resource value: 0x7f0600d9 - public const int QuickUnlock_fail = 2131099865; - - // aapt resource value: 0x7f0600d2 - public const int QuickUnlock_label = 2131099858; - - // aapt resource value: 0x7f0600d4 - public const int QuickUnlock_lockButton = 2131099860; + // aapt resource value: 0x7f0600f0 + public const int AskOverwriteBinary_no = 2131099888; // aapt resource value: 0x7f0600ee - public const int RecycleBin = 2131099886; + public const int AskOverwriteBinary_title = 2131099886; - // aapt resource value: 0x7f0600dd - public const int SaveAttachment_Failed = 2131099869; + // aapt resource value: 0x7f0600ef + public const int AskOverwriteBinary_yes = 2131099887; - // aapt resource value: 0x7f0600dc - public const int SaveAttachment_doneMessage = 2131099868; + // aapt resource value: 0x7f0600f7 + public const int AskReloadFile = 2131099895; - // aapt resource value: 0x7f060013 - public const int TanExpiresOnUse_key = 2131099667; + // aapt resource value: 0x7f0600f6 + public const int AskReloadFile_title = 2131099894; - // aapt resource value: 0x7f0600c6 - public const int TanExpiresOnUse_summary = 2131099846; + // aapt resource value: 0x7f0600f1 + public const int AttachFailed = 2131099889; - // aapt resource value: 0x7f0600c5 - public const int TanExpiresOnUse_title = 2131099845; + // aapt resource value: 0x7f060017 + public const int BinaryDirectory_default = 2131099671; - // aapt resource value: 0x7f06001a - public const int UsageCount_key = 2131099674; - - // aapt resource value: 0x7f06001b - public const int UseFileTransactions_key = 2131099675; - - // aapt resource value: 0x7f0600e8 - public const int UseFileTransactions_summary = 2131099880; - - // aapt resource value: 0x7f0600e7 - public const int UseFileTransactions_title = 2131099879; - - // aapt resource value: 0x7f06001f - public const int about_feedback = 2131099679; - - // aapt resource value: 0x7f060020 - public const int about_homepage = 2131099680; - - // aapt resource value: 0x7f060023 - public const int accept = 2131099683; - - // aapt resource value: 0x7f0600e3 - public const int add_binary = 2131099875; - - // aapt resource value: 0x7f060024 - public const int add_entry = 2131099684; - - // aapt resource value: 0x7f0600e4 - public const int add_extra_string = 2131099876; - - // aapt resource value: 0x7f060025 - public const int add_group = 2131099685; - - // aapt resource value: 0x7f060026 - public const int add_group_title = 2131099686; - - // aapt resource value: 0x7f060027 - public const int algorithm = 2131099687; - - // aapt resource value: 0x7f060028 - public const int algorithm_colon = 2131099688; - - // aapt resource value: 0x7f060007 - public const int algorithm_key = 2131099655; - - // aapt resource value: 0x7f060008 - public const int app_key = 2131099656; - - // aapt resource value: 0x7f060029 - public const int app_name = 2131099689; - - // aapt resource value: 0x7f06002b - public const int app_name_nonet = 2131099691; - - // aapt resource value: 0x7f06002d - public const int app_timeout = 2131099693; - - // aapt resource value: 0x7f060009 - public const int app_timeout_key = 2131099657; - - // aapt resource value: 0x7f06002e - public const int app_timeout_summary = 2131099694; - - // aapt resource value: 0x7f06002f - public const int application = 2131099695; - - // aapt resource value: 0x7f060030 - public const int application_settings = 2131099696; - - // aapt resource value: 0x7f060031 - public const int brackets = 2131099697; - - // aapt resource value: 0x7f060032 - public const int browser_intall_text = 2131099698; - - // aapt resource value: 0x7f060033 - public const int building_search_idx = 2131099699; - - // aapt resource value: 0x7f060034 - public const int cancel = 2131099700; - - // aapt resource value: 0x7f0600ca - public const int caseSensitive = 2131099850; - - // aapt resource value: 0x7f060036 - public const int clipboard_timeout = 2131099702; - - // aapt resource value: 0x7f06001c - public const int clipboard_timeout_default = 2131099676; - - // aapt resource value: 0x7f06000a - public const int clipboard_timeout_key = 2131099658; - - // aapt resource value: 0x7f060037 - public const int clipboard_timeout_summary = 2131099703; - - // aapt resource value: 0x7f060039 - public const int copy_password = 2131099705; - - // aapt resource value: 0x7f060038 - public const int copy_username = 2131099704; - - // aapt resource value: 0x7f06003a - public const int creating_db_key = 2131099706; - - // aapt resource value: 0x7f0600e6 - public const int credentials_dialog_title = 2131099878; - - // aapt resource value: 0x7f06003b - public const int current_group = 2131099707; - - // aapt resource value: 0x7f06003c - public const int current_group_root = 2131099708; - - // aapt resource value: 0x7f06003d - public const int database = 2131099709; - - // aapt resource value: 0x7f0600e5 - public const int database_loaded_quickunlock_enabled = 2131099877; - - // aapt resource value: 0x7f06000b - public const int db_key = 2131099659; - - // aapt resource value: 0x7f06003e - public const int decrypting_db = 2131099710; - - // aapt resource value: 0x7f06003f - public const int decrypting_entry = 2131099711; - - // aapt resource value: 0x7f060040 - public const int default_checkbox = 2131099712; - - // aapt resource value: 0x7f060000 - public const int default_file_path = 2131099648; - - // aapt resource value: 0x7f0600b2 - public const int default_username = 2131099826; - - // aapt resource value: 0x7f060014 - public const int default_username_key = 2131099668; - - // aapt resource value: 0x7f060041 - public const int digits = 2131099713; - - // aapt resource value: 0x7f060042 - public const int disclaimer_formal = 2131099714; - - // aapt resource value: 0x7f060001 - public const int donate_url = 2131099649; - - // aapt resource value: 0x7f060043 - public const int ellipsis = 2131099715; - - // aapt resource value: 0x7f0600d1 - public const int enable_quickunlock = 2131099857; - - // aapt resource value: 0x7f060044 - public const int enter_filename = 2131099716; - - // aapt resource value: 0x7f0600d0 - public const int enter_filename_details_create_import = 2131099856; - - // aapt resource value: 0x7f0600cf - public const int enter_filename_details_url = 2131099855; - - // aapt resource value: 0x7f060045 - public const int entry_accessed = 2131099717; - - // aapt resource value: 0x7f060046 - public const int entry_and_or = 2131099718; - - // aapt resource value: 0x7f060056 - public const int entry_binaries = 2131099734; - - // aapt resource value: 0x7f060047 - public const int entry_cancel = 2131099719; - - // aapt resource value: 0x7f060048 - public const int entry_comment = 2131099720; - - // aapt resource value: 0x7f06004b - public const int entry_confpassword = 2131099723; - - // aapt resource value: 0x7f06004c - public const int entry_created = 2131099724; - - // aapt resource value: 0x7f06004d - public const int entry_expires = 2131099725; - - // aapt resource value: 0x7f060055 - public const int entry_extra_strings = 2131099733; - - // aapt resource value: 0x7f06004e - public const int entry_keyfile = 2131099726; - - // aapt resource value: 0x7f06004f - public const int entry_modified = 2131099727; - - // aapt resource value: 0x7f06004a - public const int entry_override_url = 2131099722; - - // aapt resource value: 0x7f060050 - public const int entry_password = 2131099728; - - // aapt resource value: 0x7f060051 - public const int entry_save = 2131099729; - - // aapt resource value: 0x7f060049 - public const int entry_tags = 2131099721; - - // aapt resource value: 0x7f060052 - public const int entry_title = 2131099730; - - // aapt resource value: 0x7f060053 - public const int entry_url = 2131099731; - - // aapt resource value: 0x7f060054 - public const int entry_user_name = 2131099732; - - // aapt resource value: 0x7f060057 - public const int error_arc4 = 2131099735; - - // aapt resource value: 0x7f060058 - public const int error_can_not_handle_uri = 2131099736; - - // aapt resource value: 0x7f060059 - public const int error_could_not_create_group = 2131099737; - - // aapt resource value: 0x7f06005a - public const int error_could_not_create_parent = 2131099738; - - // aapt resource value: 0x7f06005b - public const int error_database_exists = 2131099739; - - // aapt resource value: 0x7f06005c - public const int error_database_settings = 2131099740; - - // aapt resource value: 0x7f06005d - public const int error_failed_to_launch_link = 2131099741; - - // aapt resource value: 0x7f06005f - public const int error_file_not_create = 2131099743; - - // aapt resource value: 0x7f06005e - public const int error_filename_required = 2131099742; - - // aapt resource value: 0x7f060060 - public const int error_invalid_db = 2131099744; - - // aapt resource value: 0x7f0600de - public const int error_invalid_expiry_date = 2131099870; - - // aapt resource value: 0x7f060061 - public const int error_invalid_path = 2131099745; - - // aapt resource value: 0x7f060062 - public const int error_no_name = 2131099746; - - // aapt resource value: 0x7f060063 - public const int error_nopass = 2131099747; - - // aapt resource value: 0x7f060064 - public const int error_out_of_memory = 2131099748; - - // aapt resource value: 0x7f060065 - public const int error_pass_gen_type = 2131099749; - - // aapt resource value: 0x7f060066 - public const int error_pass_match = 2131099750; - - // aapt resource value: 0x7f060067 - public const int error_rounds_not_number = 2131099751; - - // aapt resource value: 0x7f060068 - public const int error_rounds_too_large = 2131099752; + // aapt resource value: 0x7f060016 + public const int BinaryDirectory_key = 2131099670; // aapt resource value: 0x7f0600df - public const int error_string_key = 2131099871; + public const int BinaryDirectory_summary = 2131099871; - // aapt resource value: 0x7f060069 - public const int error_title_required = 2131099753; + // aapt resource value: 0x7f0600de + public const int BinaryDirectory_title = 2131099870; - // aapt resource value: 0x7f06006a - public const int error_wrong_length = 2131099754; + // aapt resource value: 0x7f0600fe + public const int ChangeLog = 2131099902; - // aapt resource value: 0x7f0600c8 - public const int excludeExpiredEntries = 2131099848; + // aapt resource value: 0x7f0600fd + public const int ChangeLog_title = 2131099901; - // aapt resource value: 0x7f0600e0 - public const int field_name = 2131099872; + // aapt resource value: 0x7f060039 + public const int ClearClipboard = 2131099705; - // aapt resource value: 0x7f0600e1 - public const int field_value = 2131099873; - - // aapt resource value: 0x7f06006c - public const int file_browser = 2131099756; - - // aapt resource value: 0x7f06006d - public const int generate_password = 2131099757; - - // aapt resource value: 0x7f06006e - public const int group = 2131099758; + // aapt resource value: 0x7f060026 + public const int CreditsText = 2131099686; // aapt resource value: 0x7f06006f - public const int hint_comment = 2131099759; - - // aapt resource value: 0x7f060070 - public const int hint_conf_pass = 2131099760; - - // aapt resource value: 0x7f060071 - public const int hint_generated_password = 2131099761; - - // aapt resource value: 0x7f060072 - public const int hint_group_name = 2131099762; - - // aapt resource value: 0x7f060073 - public const int hint_keyfile = 2131099763; - - // aapt resource value: 0x7f060074 - public const int hint_length = 2131099764; - - // aapt resource value: 0x7f060076 - public const int hint_login_pass = 2131099766; - - // aapt resource value: 0x7f060079 - public const int hint_override_url = 2131099769; - - // aapt resource value: 0x7f060075 - public const int hint_pass = 2131099765; - - // aapt resource value: 0x7f06007a - public const int hint_tags = 2131099770; - - // aapt resource value: 0x7f060077 - public const int hint_title = 2131099767; - - // aapt resource value: 0x7f060078 - public const int hint_url = 2131099768; - - // aapt resource value: 0x7f06007b - public const int hint_username = 2131099771; - - // aapt resource value: 0x7f060002 - public const int homepage = 2131099650; - - // aapt resource value: 0x7f060003 - public const int homepage_short = 2131099651; - - // aapt resource value: 0x7f06007c - public const int install_from_market = 2131099772; - - // aapt resource value: 0x7f06007d - public const int install_from_website = 2131099773; - - // aapt resource value: 0x7f06007f - public const int invalid_algorithm = 2131099775; - - // aapt resource value: 0x7f060080 - public const int invalid_db_sig = 2131099776; - - // aapt resource value: 0x7f060004 - public const int issues = 2131099652; - - // aapt resource value: 0x7f060081 - public const int keyfile_does_not_exist = 2131099777; + public const int FileNotFound = 2131099759; // aapt resource value: 0x7f060082 - public const int keyfile_is_empty = 2131099778; + public const int InvalidPassword = 2131099778; - // aapt resource value: 0x7f06000d - public const int keyfile_key = 2131099661; - - // aapt resource value: 0x7f0600c7 - public const int kp2a_findUrl = 2131099847; - - // aapt resource value: 0x7f060083 - public const int length = 2131099779; + // aapt resource value: 0x7f06001c + public const int LastInfoVersionCode_key = 2131099676; // aapt resource value: 0x7f06001e - public const int library_name = 2131099678; - - // aapt resource value: 0x7f06001d - public const int list_size_default = 2131099677; - - // aapt resource value: 0x7f060010 - public const int list_size_key = 2131099664; - - // aapt resource value: 0x7f060085 - public const int list_size_summary = 2131099781; - - // aapt resource value: 0x7f060084 - public const int list_size_title = 2131099780; - - // aapt resource value: 0x7f060086 - public const int loading_database = 2131099782; - - // aapt resource value: 0x7f060087 - public const int lowercase = 2131099783; - - // aapt resource value: 0x7f06000e - public const int maskpass_key = 2131099662; - - // aapt resource value: 0x7f06008a - public const int maskpass_summary = 2131099786; - - // aapt resource value: 0x7f060089 - public const int maskpass_title = 2131099785; - - // aapt resource value: 0x7f06008b - public const int menu_about = 2131099787; - - // aapt resource value: 0x7f060090 - public const int menu_app_settings = 2131099792; + public const int MarketURL = 2131099678; // aapt resource value: 0x7f06008c - public const int menu_change_key = 2131099788; + public const int MaskedPassword = 2131099788; - // aapt resource value: 0x7f06008d - public const int menu_copy_pass = 2131099789; + // aapt resource value: 0x7f060018 + public const int QuickUnlockDefaultEnabled_key = 2131099672; - // aapt resource value: 0x7f06008e - public const int menu_copy_user = 2131099790; + // aapt resource value: 0x7f0600da + public const int QuickUnlockDefaultEnabled_summary = 2131099866; - // aapt resource value: 0x7f06008f - public const int menu_create = 2131099791; + // aapt resource value: 0x7f0600d9 + public const int QuickUnlockDefaultEnabled_title = 2131099865; - // aapt resource value: 0x7f060091 - public const int menu_db_settings = 2131099793; + // aapt resource value: 0x7f06001a + public const int QuickUnlockLength_default = 2131099674; - // aapt resource value: 0x7f060092 - public const int menu_delete = 2131099794; + // aapt resource value: 0x7f060019 + public const int QuickUnlockLength_key = 2131099673; - // aapt resource value: 0x7f060093 - public const int menu_donate = 2131099795; + // aapt resource value: 0x7f0600dc + public const int QuickUnlockLength_summary = 2131099868; - // aapt resource value: 0x7f060094 - public const int menu_edit = 2131099796; + // aapt resource value: 0x7f0600db + public const int QuickUnlockLength_title = 2131099867; - // aapt resource value: 0x7f060095 - public const int menu_hide_password = 2131099797; + // aapt resource value: 0x7f0600d7 + public const int QuickUnlock_button = 2131099863; - // aapt resource value: 0x7f060096 - public const int menu_homepage = 2131099798; + // aapt resource value: 0x7f0600dd + public const int QuickUnlock_fail = 2131099869; - // aapt resource value: 0x7f060097 - public const int menu_lock = 2131099799; + // aapt resource value: 0x7f0600d6 + public const int QuickUnlock_label = 2131099862; - // aapt resource value: 0x7f060098 - public const int menu_open = 2131099800; + // aapt resource value: 0x7f0600d8 + public const int QuickUnlock_lockButton = 2131099864; - // aapt resource value: 0x7f060099 - public const int menu_rename = 2131099801; + // aapt resource value: 0x7f0600f2 + public const int RecycleBin = 2131099890; - // aapt resource value: 0x7f06009a - public const int menu_search = 2131099802; + // aapt resource value: 0x7f0600e1 + public const int SaveAttachment_Failed = 2131099873; - // aapt resource value: 0x7f06009b - public const int menu_url = 2131099803; + // aapt resource value: 0x7f0600e0 + public const int SaveAttachment_doneMessage = 2131099872; - // aapt resource value: 0x7f06009c - public const int minus = 2131099804; + // aapt resource value: 0x7f06001f + public const int SuggestionsURL = 2131099679; - // aapt resource value: 0x7f06009d - public const int never = 2131099805; + // aapt resource value: 0x7f060014 + public const int TanExpiresOnUse_key = 2131099668; - // aapt resource value: 0x7f06009f - public const int no = 2131099807; - - // aapt resource value: 0x7f0600a0 - public const int no_keys = 2131099808; - - // aapt resource value: 0x7f0600a1 - public const int no_results = 2131099809; - - // aapt resource value: 0x7f0600a2 - public const int no_url_handler = 2131099810; - - // aapt resource value: 0x7f060005 - public const int oi_filemanager_market = 2131099653; - - // aapt resource value: 0x7f060006 - public const int oi_filemanager_web = 2131099654; - - // aapt resource value: 0x7f06000f - public const int omitbackup_key = 2131099663; - - // aapt resource value: 0x7f0600a5 - public const int omitbackup_summary = 2131099813; - - // aapt resource value: 0x7f0600a4 - public const int omitbackup_title = 2131099812; - - // aapt resource value: 0x7f0600a3 - public const int open_recent = 2131099811; - - // aapt resource value: 0x7f0600a6 - public const int pass_filename = 2131099814; - - // aapt resource value: 0x7f0600a7 - public const int password_title = 2131099815; - - // aapt resource value: 0x7f0600a8 - public const int progress_create = 2131099816; - - // aapt resource value: 0x7f0600a9 - public const int progress_title = 2131099817; - - // aapt resource value: 0x7f0600e2 - public const int protection = 2131099874; - - // aapt resource value: 0x7f0600c4 - public const int regular_expression = 2131099844; - - // aapt resource value: 0x7f0600aa - public const int remember_keyfile_summary = 2131099818; - - // aapt resource value: 0x7f0600ab - public const int remember_keyfile_title = 2131099819; - - // aapt resource value: 0x7f0600ac - public const int remove_from_filelist = 2131099820; - - // aapt resource value: 0x7f0600ad - public const int rijndael = 2131099821; - - // aapt resource value: 0x7f0600ae - public const int root = 2131099822; - - // aapt resource value: 0x7f0600af - public const int rounds = 2131099823; - - // aapt resource value: 0x7f0600b0 - public const int rounds_explaination = 2131099824; - - // aapt resource value: 0x7f0600b1 - public const int rounds_hint = 2131099825; - - // aapt resource value: 0x7f06000c - public const int rounds_key = 2131099660; - - // aapt resource value: 0x7f0600b3 - public const int saving_database = 2131099827; - - // aapt resource value: 0x7f0600ba - public const int search_hint = 2131099834; - - // aapt resource value: 0x7f0600bc - public const int search_in = 2131099836; - - // aapt resource value: 0x7f0600b5 - public const int search_label = 2131099829; + // aapt resource value: 0x7f0600ca + public const int TanExpiresOnUse_summary = 2131099850; // aapt resource value: 0x7f0600c9 - public const int search_options = 2131099849; + public const int TanExpiresOnUse_title = 2131099849; - // aapt resource value: 0x7f0600bb - public const int search_results = 2131099835; + // aapt resource value: 0x7f060020 + public const int TranslationURL = 2131099680; + + // aapt resource value: 0x7f06001b + public const int UsageCount_key = 2131099675; + + // aapt resource value: 0x7f06001d + public const int UseFileTransactions_key = 2131099677; + + // aapt resource value: 0x7f0600ec + public const int UseFileTransactions_summary = 2131099884; + + // aapt resource value: 0x7f0600eb + public const int UseFileTransactions_title = 2131099883; + + // aapt resource value: 0x7f060023 + public const int about_feedback = 2131099683; + + // aapt resource value: 0x7f060024 + public const int about_homepage = 2131099684; + + // aapt resource value: 0x7f060027 + public const int accept = 2131099687; + + // aapt resource value: 0x7f0600e7 + public const int add_binary = 2131099879; + + // aapt resource value: 0x7f060028 + public const int add_entry = 2131099688; + + // aapt resource value: 0x7f0600e8 + public const int add_extra_string = 2131099880; + + // aapt resource value: 0x7f060029 + public const int add_group = 2131099689; // aapt resource value: 0x7f06002a - public const int short_app_name = 2131099690; + public const int add_group_title = 2131099690; + + // aapt resource value: 0x7f06002b + public const int algorithm = 2131099691; // aapt resource value: 0x7f06002c - public const int short_app_name_nonet = 2131099692; + public const int algorithm_colon = 2131099692; - // aapt resource value: 0x7f0600b6 - public const int show_password = 2131099830; + // aapt resource value: 0x7f060008 + public const int algorithm_key = 2131099656; - // aapt resource value: 0x7f0600b8 - public const int sort_db = 2131099832; + // aapt resource value: 0x7f060009 + public const int app_key = 2131099657; - // aapt resource value: 0x7f060011 - public const int sort_key = 2131099665; + // aapt resource value: 0x7f06002d + public const int app_name = 2131099693; - // aapt resource value: 0x7f0600b7 - public const int sort_name = 2131099831; + // aapt resource value: 0x7f06002f + public const int app_name_nonet = 2131099695; - // aapt resource value: 0x7f0600b4 - public const int space = 2131099828; + // aapt resource value: 0x7f060031 + public const int app_timeout = 2131099697; - // aapt resource value: 0x7f0600b9 - public const int special = 2131099833; + // aapt resource value: 0x7f06000a + public const int app_timeout_key = 2131099658; - // aapt resource value: 0x7f0600cc - public const int start_create = 2131099852; + // aapt resource value: 0x7f060032 + public const int app_timeout_summary = 2131099698; + + // aapt resource value: 0x7f060033 + public const int application = 2131099699; + + // aapt resource value: 0x7f060034 + public const int application_settings = 2131099700; + + // aapt resource value: 0x7f060035 + public const int brackets = 2131099701; + + // aapt resource value: 0x7f060036 + public const int browser_intall_text = 2131099702; + + // aapt resource value: 0x7f060037 + public const int building_search_idx = 2131099703; + + // aapt resource value: 0x7f060038 + public const int cancel = 2131099704; // aapt resource value: 0x7f0600ce - public const int start_create_import = 2131099854; + public const int caseSensitive = 2131099854; + + // aapt resource value: 0x7f06003a + public const int clipboard_timeout = 2131099706; + + // aapt resource value: 0x7f060021 + public const int clipboard_timeout_default = 2131099681; + + // aapt resource value: 0x7f06000b + public const int clipboard_timeout_key = 2131099659; + + // aapt resource value: 0x7f06003b + public const int clipboard_timeout_summary = 2131099707; + + // aapt resource value: 0x7f06003d + public const int copy_password = 2131099709; + + // aapt resource value: 0x7f06003c + public const int copy_username = 2131099708; + + // aapt resource value: 0x7f06003e + public const int creating_db_key = 2131099710; + + // aapt resource value: 0x7f0600ea + public const int credentials_dialog_title = 2131099882; + + // aapt resource value: 0x7f06003f + public const int current_group = 2131099711; + + // aapt resource value: 0x7f060040 + public const int current_group_root = 2131099712; + + // aapt resource value: 0x7f060041 + public const int database = 2131099713; + + // aapt resource value: 0x7f0600e9 + public const int database_loaded_quickunlock_enabled = 2131099881; + + // aapt resource value: 0x7f06000c + public const int db_key = 2131099660; + + // aapt resource value: 0x7f060042 + public const int decrypting_db = 2131099714; + + // aapt resource value: 0x7f060043 + public const int decrypting_entry = 2131099715; + + // aapt resource value: 0x7f060044 + public const int default_checkbox = 2131099716; + + // aapt resource value: 0x7f060001 + public const int default_file_path = 2131099649; + + // aapt resource value: 0x7f0600b6 + public const int default_username = 2131099830; + + // aapt resource value: 0x7f060015 + public const int default_username_key = 2131099669; + + // aapt resource value: 0x7f060045 + public const int digits = 2131099717; + + // aapt resource value: 0x7f060046 + public const int disclaimer_formal = 2131099718; + + // aapt resource value: 0x7f060002 + public const int donate_url = 2131099650; + + // aapt resource value: 0x7f060047 + public const int ellipsis = 2131099719; + + // aapt resource value: 0x7f0600d5 + public const int enable_quickunlock = 2131099861; + + // aapt resource value: 0x7f060048 + public const int enter_filename = 2131099720; + + // aapt resource value: 0x7f0600d4 + public const int enter_filename_details_create_import = 2131099860; + + // aapt resource value: 0x7f0600d3 + public const int enter_filename_details_url = 2131099859; + + // aapt resource value: 0x7f060049 + public const int entry_accessed = 2131099721; + + // aapt resource value: 0x7f06004a + public const int entry_and_or = 2131099722; + + // aapt resource value: 0x7f06005a + public const int entry_binaries = 2131099738; + + // aapt resource value: 0x7f06004b + public const int entry_cancel = 2131099723; + + // aapt resource value: 0x7f06004c + public const int entry_comment = 2131099724; + + // aapt resource value: 0x7f06004f + public const int entry_confpassword = 2131099727; + + // aapt resource value: 0x7f060050 + public const int entry_created = 2131099728; + + // aapt resource value: 0x7f060051 + public const int entry_expires = 2131099729; + + // aapt resource value: 0x7f060059 + public const int entry_extra_strings = 2131099737; + + // aapt resource value: 0x7f060052 + public const int entry_keyfile = 2131099730; + + // aapt resource value: 0x7f060053 + public const int entry_modified = 2131099731; + + // aapt resource value: 0x7f06004e + public const int entry_override_url = 2131099726; + + // aapt resource value: 0x7f060054 + public const int entry_password = 2131099732; + + // aapt resource value: 0x7f060055 + public const int entry_save = 2131099733; + + // aapt resource value: 0x7f06004d + public const int entry_tags = 2131099725; + + // aapt resource value: 0x7f060056 + public const int entry_title = 2131099734; + + // aapt resource value: 0x7f060057 + public const int entry_url = 2131099735; + + // aapt resource value: 0x7f060058 + public const int entry_user_name = 2131099736; + + // aapt resource value: 0x7f06005b + public const int error_arc4 = 2131099739; + + // aapt resource value: 0x7f06005c + public const int error_can_not_handle_uri = 2131099740; + + // aapt resource value: 0x7f06005d + public const int error_could_not_create_group = 2131099741; + + // aapt resource value: 0x7f06005e + public const int error_could_not_create_parent = 2131099742; + + // aapt resource value: 0x7f06005f + public const int error_database_exists = 2131099743; + + // aapt resource value: 0x7f060060 + public const int error_database_settings = 2131099744; + + // aapt resource value: 0x7f060061 + public const int error_failed_to_launch_link = 2131099745; + + // aapt resource value: 0x7f060063 + public const int error_file_not_create = 2131099747; + + // aapt resource value: 0x7f060062 + public const int error_filename_required = 2131099746; + + // aapt resource value: 0x7f060064 + public const int error_invalid_db = 2131099748; + + // aapt resource value: 0x7f0600e2 + public const int error_invalid_expiry_date = 2131099874; + + // aapt resource value: 0x7f060065 + public const int error_invalid_path = 2131099749; + + // aapt resource value: 0x7f060066 + public const int error_no_name = 2131099750; + + // aapt resource value: 0x7f060067 + public const int error_nopass = 2131099751; + + // aapt resource value: 0x7f060068 + public const int error_out_of_memory = 2131099752; + + // aapt resource value: 0x7f060069 + public const int error_pass_gen_type = 2131099753; + + // aapt resource value: 0x7f06006a + public const int error_pass_match = 2131099754; + + // aapt resource value: 0x7f06006b + public const int error_rounds_not_number = 2131099755; + + // aapt resource value: 0x7f06006c + public const int error_rounds_too_large = 2131099756; + + // aapt resource value: 0x7f0600e3 + public const int error_string_key = 2131099875; + + // aapt resource value: 0x7f06006d + public const int error_title_required = 2131099757; + + // aapt resource value: 0x7f06006e + public const int error_wrong_length = 2131099758; + + // aapt resource value: 0x7f0600cc + public const int excludeExpiredEntries = 2131099852; + + // aapt resource value: 0x7f0600e4 + public const int field_name = 2131099876; + + // aapt resource value: 0x7f0600e5 + public const int field_value = 2131099877; + + // aapt resource value: 0x7f060070 + public const int file_browser = 2131099760; + + // aapt resource value: 0x7f060071 + public const int generate_password = 2131099761; + + // aapt resource value: 0x7f060072 + public const int group = 2131099762; + + // aapt resource value: 0x7f060073 + public const int hint_comment = 2131099763; + + // aapt resource value: 0x7f060074 + public const int hint_conf_pass = 2131099764; + + // aapt resource value: 0x7f060075 + public const int hint_generated_password = 2131099765; + + // aapt resource value: 0x7f060076 + public const int hint_group_name = 2131099766; + + // aapt resource value: 0x7f060077 + public const int hint_keyfile = 2131099767; + + // aapt resource value: 0x7f060078 + public const int hint_length = 2131099768; + + // aapt resource value: 0x7f06007a + public const int hint_login_pass = 2131099770; + + // aapt resource value: 0x7f06007d + public const int hint_override_url = 2131099773; + + // aapt resource value: 0x7f060079 + public const int hint_pass = 2131099769; + + // aapt resource value: 0x7f06007e + public const int hint_tags = 2131099774; + + // aapt resource value: 0x7f06007b + public const int hint_title = 2131099771; + + // aapt resource value: 0x7f06007c + public const int hint_url = 2131099772; + + // aapt resource value: 0x7f06007f + public const int hint_username = 2131099775; + + // aapt resource value: 0x7f060003 + public const int homepage = 2131099651; + + // aapt resource value: 0x7f060004 + public const int homepage_short = 2131099652; + + // aapt resource value: 0x7f060080 + public const int install_from_market = 2131099776; + + // aapt resource value: 0x7f060081 + public const int install_from_website = 2131099777; + + // aapt resource value: 0x7f060083 + public const int invalid_algorithm = 2131099779; + + // aapt resource value: 0x7f060084 + public const int invalid_db_sig = 2131099780; + + // aapt resource value: 0x7f060005 + public const int issues = 2131099653; + + // aapt resource value: 0x7f060085 + public const int keyfile_does_not_exist = 2131099781; + + // aapt resource value: 0x7f060086 + public const int keyfile_is_empty = 2131099782; + + // aapt resource value: 0x7f06000e + public const int keyfile_key = 2131099662; // aapt resource value: 0x7f0600cb - public const int start_open_file = 2131099851; + public const int kp2a_findUrl = 2131099851; - // aapt resource value: 0x7f0600cd - public const int start_open_url = 2131099853; + // aapt resource value: 0x7f060087 + public const int length = 2131099783; - // aapt resource value: 0x7f060012 - public const int timeout_key = 2131099666; + // aapt resource value: 0x7f060000 + public const int library_name = 2131099648; - // aapt resource value: 0x7f0600bd - public const int twofish = 2131099837; + // aapt resource value: 0x7f060022 + public const int list_size_default = 2131099682; - // aapt resource value: 0x7f0600be - public const int underline = 2131099838; + // aapt resource value: 0x7f060011 + public const int list_size_key = 2131099665; - // aapt resource value: 0x7f0600bf - public const int unsupported_db_version = 2131099839; + // aapt resource value: 0x7f060089 + public const int list_size_summary = 2131099785; - // aapt resource value: 0x7f0600c0 - public const int uppercase = 2131099840; + // aapt resource value: 0x7f060088 + public const int list_size_title = 2131099784; - // aapt resource value: 0x7f0600c3 - public const int version_label = 2131099843; + // aapt resource value: 0x7f06008a + public const int loading_database = 2131099786; - // aapt resource value: 0x7f0600c1 - public const int warning_read_only = 2131099841; + // aapt resource value: 0x7f06008b + public const int lowercase = 2131099787; - // aapt resource value: 0x7f0600c2 - public const int warning_unmounted = 2131099842; + // aapt resource value: 0x7f06000f + public const int maskpass_key = 2131099663; + + // aapt resource value: 0x7f06008e + public const int maskpass_summary = 2131099790; + + // aapt resource value: 0x7f06008d + public const int maskpass_title = 2131099789; + + // aapt resource value: 0x7f06008f + public const int menu_about = 2131099791; + + // aapt resource value: 0x7f060094 + public const int menu_app_settings = 2131099796; + + // aapt resource value: 0x7f060090 + public const int menu_change_key = 2131099792; + + // aapt resource value: 0x7f060091 + public const int menu_copy_pass = 2131099793; + + // aapt resource value: 0x7f060092 + public const int menu_copy_user = 2131099794; + + // aapt resource value: 0x7f060093 + public const int menu_create = 2131099795; + + // aapt resource value: 0x7f060095 + public const int menu_db_settings = 2131099797; + + // aapt resource value: 0x7f060096 + public const int menu_delete = 2131099798; + + // aapt resource value: 0x7f060097 + public const int menu_donate = 2131099799; + + // aapt resource value: 0x7f060098 + public const int menu_edit = 2131099800; + + // aapt resource value: 0x7f060099 + public const int menu_hide_password = 2131099801; + + // aapt resource value: 0x7f06009a + public const int menu_homepage = 2131099802; + + // aapt resource value: 0x7f06009b + public const int menu_lock = 2131099803; + + // aapt resource value: 0x7f06009c + public const int menu_open = 2131099804; + + // aapt resource value: 0x7f06009d + public const int menu_rename = 2131099805; // aapt resource value: 0x7f06009e - public const int yes = 2131099806; + public const int menu_search = 2131099806; + + // aapt resource value: 0x7f06009f + public const int menu_url = 2131099807; + + // aapt resource value: 0x7f0600a0 + public const int minus = 2131099808; + + // aapt resource value: 0x7f0600a1 + public const int never = 2131099809; + + // aapt resource value: 0x7f0600a3 + public const int no = 2131099811; + + // aapt resource value: 0x7f0600a4 + public const int no_keys = 2131099812; + + // aapt resource value: 0x7f0600a5 + public const int no_results = 2131099813; + + // aapt resource value: 0x7f0600a6 + public const int no_url_handler = 2131099814; + + // aapt resource value: 0x7f060006 + public const int oi_filemanager_market = 2131099654; + + // aapt resource value: 0x7f060007 + public const int oi_filemanager_web = 2131099655; + + // aapt resource value: 0x7f060010 + public const int omitbackup_key = 2131099664; + + // aapt resource value: 0x7f0600a9 + public const int omitbackup_summary = 2131099817; + + // aapt resource value: 0x7f0600a8 + public const int omitbackup_title = 2131099816; + + // aapt resource value: 0x7f0600a7 + public const int open_recent = 2131099815; + + // aapt resource value: 0x7f0600aa + public const int pass_filename = 2131099818; + + // aapt resource value: 0x7f0600ab + public const int password_title = 2131099819; + + // aapt resource value: 0x7f0600ac + public const int progress_create = 2131099820; + + // aapt resource value: 0x7f0600ad + public const int progress_title = 2131099821; + + // aapt resource value: 0x7f0600e6 + public const int protection = 2131099878; + + // aapt resource value: 0x7f0600fb + public const int rate_app = 2131099899; + + // aapt resource value: 0x7f0600c8 + public const int regular_expression = 2131099848; + + // aapt resource value: 0x7f0600ae + public const int remember_keyfile_summary = 2131099822; + + // aapt resource value: 0x7f0600af + public const int remember_keyfile_title = 2131099823; + + // aapt resource value: 0x7f0600b0 + public const int remove_from_filelist = 2131099824; + + // aapt resource value: 0x7f0600b1 + public const int rijndael = 2131099825; + + // aapt resource value: 0x7f0600b2 + public const int root = 2131099826; + + // aapt resource value: 0x7f0600b3 + public const int rounds = 2131099827; + + // aapt resource value: 0x7f0600b4 + public const int rounds_explaination = 2131099828; + + // aapt resource value: 0x7f0600b5 + public const int rounds_hint = 2131099829; + + // aapt resource value: 0x7f06000d + public const int rounds_key = 2131099661; + + // aapt resource value: 0x7f0600b7 + public const int saving_database = 2131099831; + + // aapt resource value: 0x7f0600be + public const int search_hint = 2131099838; + + // aapt resource value: 0x7f0600c0 + public const int search_in = 2131099840; + + // aapt resource value: 0x7f0600b9 + public const int search_label = 2131099833; + + // aapt resource value: 0x7f0600cd + public const int search_options = 2131099853; + + // aapt resource value: 0x7f0600bf + public const int search_results = 2131099839; + + // aapt resource value: 0x7f06002e + public const int short_app_name = 2131099694; + + // aapt resource value: 0x7f060030 + public const int short_app_name_nonet = 2131099696; + + // aapt resource value: 0x7f0600ba + public const int show_password = 2131099834; + + // aapt resource value: 0x7f0600bc + public const int sort_db = 2131099836; + + // aapt resource value: 0x7f060012 + public const int sort_key = 2131099666; + + // aapt resource value: 0x7f0600bb + public const int sort_name = 2131099835; + + // aapt resource value: 0x7f0600b8 + public const int space = 2131099832; + + // aapt resource value: 0x7f0600bd + public const int special = 2131099837; + + // aapt resource value: 0x7f0600d0 + public const int start_create = 2131099856; + + // aapt resource value: 0x7f0600d2 + public const int start_create_import = 2131099858; + + // aapt resource value: 0x7f0600cf + public const int start_open_file = 2131099855; + + // aapt resource value: 0x7f0600d1 + public const int start_open_url = 2131099857; + + // aapt resource value: 0x7f0600fa + public const int suggest_improvements = 2131099898; + + // aapt resource value: 0x7f060013 + public const int timeout_key = 2131099667; + + // aapt resource value: 0x7f0600fc + public const int translate_app = 2131099900; + + // aapt resource value: 0x7f0600c1 + public const int twofish = 2131099841; + + // aapt resource value: 0x7f0600c2 + public const int underline = 2131099842; + + // aapt resource value: 0x7f0600c3 + public const int unsupported_db_version = 2131099843; + + // aapt resource value: 0x7f0600c4 + public const int uppercase = 2131099844; + + // aapt resource value: 0x7f0600c7 + public const int version_label = 2131099847; + + // aapt resource value: 0x7f0600c5 + public const int warning_read_only = 2131099845; + + // aapt resource value: 0x7f0600c6 + public const int warning_unmounted = 2131099846; + + // aapt resource value: 0x7f0600a2 + public const int yes = 2131099810; private String() { diff --git a/src/keepass2android/Resources/menu-v11/entry.xml b/src/keepass2android/Resources/menu-v11/entry.xml index 5300f9df..a909b42b 100644 --- a/src/keepass2android/Resources/menu-v11/entry.xml +++ b/src/keepass2android/Resources/menu-v11/entry.xml @@ -42,4 +42,18 @@ android:title="@string/menu_copy_pass" android:showAsAction="ifRoom" /--> + + + diff --git a/src/keepass2android/Resources/menu-v11/entry_edit.xml b/src/keepass2android/Resources/menu-v11/entry_edit.xml index 36c3e55e..86b5b2fb 100644 --- a/src/keepass2android/Resources/menu-v11/entry_edit.xml +++ b/src/keepass2android/Resources/menu-v11/entry_edit.xml @@ -25,4 +25,18 @@ android:title="@string/menu_donate" android:showAsAction="ifRoom" /--> + + + \ No newline at end of file diff --git a/src/keepass2android/Resources/menu-v11/group.xml b/src/keepass2android/Resources/menu-v11/group.xml index dec4dc6d..492a8ff2 100644 --- a/src/keepass2android/Resources/menu-v11/group.xml +++ b/src/keepass2android/Resources/menu-v11/group.xml @@ -44,4 +44,19 @@ android:title="@string/sort_name" android:showAsAction="never" /> + + + + diff --git a/src/keepass2android/Resources/menu/entry.xml b/src/keepass2android/Resources/menu/entry.xml index e37f0b8e..55d8754c 100644 --- a/src/keepass2android/Resources/menu/entry.xml +++ b/src/keepass2android/Resources/menu/entry.xml @@ -40,4 +40,15 @@ android:icon="@android:drawable/ic_lock_lock" android:title="@string/menu_lock" /> + + + diff --git a/src/keepass2android/Resources/menu/entry_edit.xml b/src/keepass2android/Resources/menu/entry_edit.xml index d500ec46..edffa8fc 100644 --- a/src/keepass2android/Resources/menu/entry_edit.xml +++ b/src/keepass2android/Resources/menu/entry_edit.xml @@ -28,5 +28,16 @@ android:icon="@android:drawable/ic_menu_share" android:title="@string/menu_donate" /--> + + + diff --git a/src/keepass2android/Resources/menu/group.xml b/src/keepass2android/Resources/menu/group.xml index 115ba8f6..50385ac4 100644 --- a/src/keepass2android/Resources/menu/group.xml +++ b/src/keepass2android/Resources/menu/group.xml @@ -40,4 +40,16 @@ android:icon="@android:drawable/ic_menu_sort_by_size" android:title="@string/sort_name" /> + + + + diff --git a/src/keepass2android/Resources/values/config.xml b/src/keepass2android/Resources/values/config.xml index 96bc72cc..5fa75a1f 100644 --- a/src/keepass2android/Resources/values/config.xml +++ b/src/keepass2android/Resources/values/config.xml @@ -18,6 +18,7 @@ along with Keepass2Android. If not, see . --> + /keepass/keepass.kdbx http://keepass2android.codeplex.com @@ -53,9 +54,13 @@ QuickUnlockLength 3 - + UsageCount + LastInfoVersion UseFileTransactions + market://details?id= + https://keepass2android.codeplex.com/workitem/list/basic + http://crowdin.net/project/keepass2android 300000 diff --git a/src/keepass2android/Resources/values/strings.xml b/src/keepass2android/Resources/values/strings.xml index a9f3d85e..8c34bd93 100644 --- a/src/keepass2android/Resources/values/strings.xml +++ b/src/keepass2android/Resources/values/strings.xml @@ -1,7 +1,6 @@  - Feedback Homepage Keepass2Android is a password manager providing read/write access to KeePass 2.x databases on Android. @@ -217,6 +216,24 @@ The file which is currently open was changed by another program. Do you want to reload it? Do you really want to discard the changes made? (The Save button is at the top of the form.) Discard changes? + Suggest or vote for improvements + Rate this app + Translate KP2A + Change log + Version 0.6.2\n +* Google Drive/Dropbox/... integration: Use the official Google Drive or Dropbox App and open any .kdbx-file. This will now bring up KP2A.\n +* Improved Search Dialog \n +* Improved search results for Share URL with subdomains\n +* Added options to give feedback, and rate and translate the app in the menu\n +\n +Version 0.6.1\n +* Detect when database changes in the background (i.e. due to activity of a sync app)\n +* Improved searching for URLs from the browser\n +* Confirm dialog when discarding changes\n +\n +Version 0.6\n +Initial public release + 30 seconds 1 minute diff --git a/src/keepass2android/ShareUrlResults.cs b/src/keepass2android/ShareUrlResults.cs index 124f962b..91a61edb 100644 --- a/src/keepass2android/ShareUrlResults.cs +++ b/src/keepass2android/ShareUrlResults.cs @@ -95,6 +95,7 @@ namespace keepass2android private void query(String url) { + //first: search for exact url try { mGroup = mDb.SearchForExactUrl(url); @@ -104,11 +105,25 @@ namespace keepass2android Finish(); return; } + //if no results, search for host (e.g. "accounts.google.com") if (mGroup.Entries.Count() == 0) { try { - mGroup = mDb.SearchForHost(url); + mGroup = mDb.SearchForHost(url, false); + } catch (Exception e) + { + Toast.MakeText(this, e.Message, ToastLength.Long).Show(); + Finish(); + return; + } + } + //if still no results, search for host, allowing subdomains ("www.google.com" in entry is ok for "accounts.google.com" in search (but not the other way around) + if (mGroup.Entries.Count() == 0) + { + try + { + mGroup = mDb.SearchForHost(url, true); } catch (Exception e) { Toast.MakeText(this, e.Message, ToastLength.Long).Show(); diff --git a/src/keepass2android/Utils/Util.cs b/src/keepass2android/Utils/Util.cs index 8005f33a..0d26998d 100644 --- a/src/keepass2android/Utils/Util.cs +++ b/src/keepass2android/Utils/Util.cs @@ -26,6 +26,7 @@ using Android.OS; using Android.Runtime; using Android.Views; using Android.Widget; +using Android.Content.PM; namespace keepass2android { @@ -51,6 +52,11 @@ namespace keepass2android public static void gotoUrl(Context context, int resId) { gotoUrl(context, context.GetString(resId)); } + + public static void gotoMarket(Context context) + { + gotoUrl(context, context.GetString(Resource.String.MarketURL)+context.PackageName); + } public static String getEditText(Activity act, int resId) { TextView te = (TextView) act.FindViewById(resId); diff --git a/src/keepass2android/search/SearchDbHelper.cs b/src/keepass2android/search/SearchDbHelper.cs index 17db7956..41bea8db 100644 --- a/src/keepass2android/search/SearchDbHelper.cs +++ b/src/keepass2android/search/SearchDbHelper.cs @@ -31,6 +31,7 @@ using System.Text.RegularExpressions; using KeePassLib.Collections; using KeePassLib.Interfaces; using KeePassLib.Utility; +using Android.Util; namespace keepass2android { @@ -105,7 +106,7 @@ namespace keepass2android return UrlUtil.GetHost(url.Trim()); } - public PwGroup searchForHost(Database database, String url) + public PwGroup searchForHost(Database database, String url, bool allowSubdomains) { String host = extractHost(url); string strGroupName = mCtx.GetString(Resource.String.search_results) + " (\"" + host + "\")"; @@ -116,6 +117,8 @@ namespace keepass2android foreach (PwEntry entry in database.entries.Values) { String otherHost = extractHost(entry.Strings.ReadSafe(PwDefs.UrlField)); + if ((allowSubdomains) && (otherHost.StartsWith("www."))) + otherHost = otherHost.Substring(4); //remove "www." if (String.IsNullOrWhiteSpace(otherHost)) { continue;