From c2893465386f46cb1dc453d6a7e6237ad1abf635 Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Sun, 21 Jul 2013 21:46:58 +0200 Subject: [PATCH] Bug fixes and debugging, -> v. 0.8.4b --- src/Kp2aBusinessLogic/database/Database.cs | 12 ++++++++++-- .../Properties/AndroidManifest_net.xml | 4 ++-- .../Properties/AndroidManifest_nonet.xml | 4 ++-- .../Resources/Resource.designer.cs | 12 ++++++------ src/keepass2android/app/App.cs | 16 +++++++++++++++- 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/src/Kp2aBusinessLogic/database/Database.cs b/src/Kp2aBusinessLogic/database/Database.cs index e939857c..dd3cf5c5 100644 --- a/src/Kp2aBusinessLogic/database/Database.cs +++ b/src/Kp2aBusinessLogic/database/Database.cs @@ -15,14 +15,16 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file along with Keepass2Android. If not, see . */ -using System; using System.Collections.Generic; using System.IO; using Android.Content; +using Java.Lang; using KeePassLib; using KeePassLib.Keys; using KeePassLib.Serialization; using keepass2android.Io; +using Exception = System.Exception; +using String = System.String; namespace keepass2android { @@ -35,7 +37,13 @@ namespace keepass2android public HashSet Dirty = new HashSet(new PwGroupEqualityFromIdComparer()); public PwGroup Root; public PwDatabase KpDatabase; - public IOConnectionInfo Ioc { get { return KpDatabase.IOConnectionInfo; } } + public IOConnectionInfo Ioc + { + get + { + return KpDatabase == null ? null : KpDatabase.IOConnectionInfo; + } + } public string LastFileVersion; public SearchDbHelper SearchHelper; diff --git a/src/keepass2android/Properties/AndroidManifest_net.xml b/src/keepass2android/Properties/AndroidManifest_net.xml index f9f6f79b..69449b3c 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 9aa96bf6..027c91c7 100644 --- a/src/keepass2android/Properties/AndroidManifest_nonet.xml +++ b/src/keepass2android/Properties/AndroidManifest_nonet.xml @@ -1,7 +1,7 @@  diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs index 763d0d24..5e354de0 100644 --- a/src/keepass2android/Resources/Resource.designer.cs +++ b/src/keepass2android/Resources/Resource.designer.cs @@ -945,8 +945,8 @@ namespace keepass2android // aapt resource value: 0x7f0d00a5 public const int menu_cancel_edit = 2131558565; - // aapt resource value: 0x7f0d00aa - public const int menu_change_master_key = 2131558570; + // aapt resource value: 0x7f0d00a9 + public const int menu_change_master_key = 2131558569; // aapt resource value: 0x7f0d009e public const int menu_donate = 2131558558; @@ -963,11 +963,11 @@ namespace keepass2android // aapt resource value: 0x7f0d00a8 public const int menu_search = 2131558568; - // aapt resource value: 0x7f0d00a9 - public const int menu_search_advanced = 2131558569; - // aapt resource value: 0x7f0d00ab - public const int menu_sort = 2131558571; + public const int menu_search_advanced = 2131558571; + + // aapt resource value: 0x7f0d00aa + public const int menu_sort = 2131558570; // aapt resource value: 0x7f0d00a2 public const int menu_suggest_improvements = 2131558562; diff --git a/src/keepass2android/app/App.cs b/src/keepass2android/app/App.cs index e56fbd86..7e29b3d6 100644 --- a/src/keepass2android/app/App.cs +++ b/src/keepass2android/app/App.cs @@ -311,7 +311,21 @@ namespace keepass2android Kp2aLog.Log("Creating application "+PackageName+". Version=" + PackageManager.GetPackageInfo(PackageName, 0).VersionCode); Kp2a.OnCreate(this); - + AndroidEnvironment.UnhandledExceptionRaiser += MyApp_UnhandledExceptionHandler; + } + + + void MyApp_UnhandledExceptionHandler(object sender, RaiseThrowableEventArgs e) + { + Kp2aLog.Log(e.Exception.ToString()); + // Do your error handling here. + throw e.Exception; + } + + protected override void Dispose(bool disposing) + { + AndroidEnvironment.UnhandledExceptionRaiser -= MyApp_UnhandledExceptionHandler; + base.Dispose(disposing); } public override void OnTerminate() {