mirror of
https://github.com/bitwarden/android.git
synced 2024-12-25 02:18:27 +03:00
version bump. all unhandled crash report email
This commit is contained in:
parent
c9b6df846e
commit
21f3755e44
3 changed files with 30 additions and 19 deletions
|
@ -38,12 +38,31 @@ namespace Bit.Android
|
||||||
public MainApplication(IntPtr handle, JniHandleOwnership transer)
|
public MainApplication(IntPtr handle, JniHandleOwnership transer)
|
||||||
: base(handle, transer)
|
: base(handle, transer)
|
||||||
{
|
{
|
||||||
|
AndroidEnvironment.UnhandledExceptionRaiser += AndroidEnvironment_UnhandledExceptionRaiser;
|
||||||
|
|
||||||
if(!Resolver.IsSet)
|
if(!Resolver.IsSet)
|
||||||
{
|
{
|
||||||
SetIoc(this);
|
SetIoc(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AndroidEnvironment_UnhandledExceptionRaiser(object sender, RaiseThrowableEventArgs e)
|
||||||
|
{
|
||||||
|
var message = AppendExceptionToMessage("", e.Exception);
|
||||||
|
Utilities.SendCrashEmail(message, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private string AppendExceptionToMessage(string message, Exception ex)
|
||||||
|
{
|
||||||
|
message += ("\n\n" + ex.Message + "\n\n" + ex.StackTrace);
|
||||||
|
if(ex.InnerException != null)
|
||||||
|
{
|
||||||
|
return AppendExceptionToMessage(message, ex.InnerException);
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnCreate()
|
public override void OnCreate()
|
||||||
{
|
{
|
||||||
base.OnCreate();
|
base.OnCreate();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.x8bit.bitwarden" android:versionName="1.6.2" android:installLocation="auto" android:versionCode="502">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.x8bit.bitwarden" android:versionName="1.6.3" android:installLocation="auto" android:versionCode="502">
|
||||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||||
|
|
|
@ -30,25 +30,17 @@ namespace Bit.Android.Services
|
||||||
|
|
||||||
public KeyStoreBackedStorageService(ISettings settings)
|
public KeyStoreBackedStorageService(ISettings settings)
|
||||||
{
|
{
|
||||||
try
|
_oldAndroid = Build.VERSION.SdkInt < BuildVersionCodes.M;
|
||||||
{
|
_rsaMode = _oldAndroid ? "RSA/ECB/PKCS1Padding" : "RSA/ECB/OAEPWithSHA-1AndMGF1Padding";
|
||||||
_oldAndroid = Build.VERSION.SdkInt < BuildVersionCodes.M;
|
|
||||||
_rsaMode = _oldAndroid ? "RSA/ECB/PKCS1Padding" : "RSA/ECB/OAEPWithSHA-1AndMGF1Padding";
|
|
||||||
|
|
||||||
_oldKeyStorageService = new KeyStoreStorageService(new char[] { });
|
_oldKeyStorageService = new KeyStoreStorageService(new char[] { });
|
||||||
_settings = settings;
|
_settings = settings;
|
||||||
|
|
||||||
_keyStore = KeyStore.GetInstance(AndroidKeyStore);
|
_keyStore = KeyStore.GetInstance(AndroidKeyStore);
|
||||||
_keyStore.Load(null);
|
_keyStore.Load(null);
|
||||||
|
|
||||||
GenerateRsaKey();
|
GenerateRsaKey();
|
||||||
GenerateAesKey();
|
GenerateAesKey();
|
||||||
}
|
|
||||||
catch(Exception e)
|
|
||||||
{
|
|
||||||
Utilities.SendCrashEmail(e);
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Contains(string key)
|
public bool Contains(string key)
|
||||||
|
@ -116,7 +108,7 @@ namespace Bit.Android.Services
|
||||||
var cipherString = App.Utilities.Crypto.AesCbcEncrypt(dataBytes, aesKey);
|
var cipherString = App.Utilities.Crypto.AesCbcEncrypt(dataBytes, aesKey);
|
||||||
_settings.AddOrUpdateValue(formattedKey, cipherString.EncryptedString);
|
_settings.AddOrUpdateValue(formattedKey, cipherString.EncryptedString);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Failed to encrypt to secure storage.");
|
Console.WriteLine("Failed to encrypt to secure storage.");
|
||||||
Utilities.SendCrashEmail(e);
|
Utilities.SendCrashEmail(e);
|
||||||
|
@ -193,7 +185,7 @@ namespace Bit.Android.Services
|
||||||
var key = RsaDecrypt(encKeyBytes);
|
var key = RsaDecrypt(encKeyBytes);
|
||||||
return new App.Models.SymmetricCryptoKey(key);
|
return new App.Models.SymmetricCryptoKey(key);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Cannot get AesKey.");
|
Console.WriteLine("Cannot get AesKey.");
|
||||||
_keyStore.DeleteEntry(KeyAlias);
|
_keyStore.DeleteEntry(KeyAlias);
|
||||||
|
|
Loading…
Reference in a new issue