Merge pull request #2142 from nikoyak/fix-1956

fix crashes/unexpected logouts (#1956, #1936, #1909)
This commit is contained in:
PhilippC
2023-01-04 22:23:31 +01:00
committed by GitHub
3 changed files with 10 additions and 33 deletions

View File

@@ -478,20 +478,24 @@ namespace keepass2android
builder.SetPositiveButton(activity.GetString(Android.Resource.String.Yes),
(dlgSender, dlgEvt) =>
{
CurrentDb.ReloadRequested = true;
CurrentDb.ReloadRequested = true;
activity.SetResult(KeePass.ExitReloadDb);
activity.Finish();
if (actionOnResult != null)
{
actionOnResult(true);
actionOnResult = null;
}
});
builder.SetNegativeButton(activity.GetString(Android.Resource.String.No), (dlgSender, dlgEvt) =>
{
if (actionOnResult != null)
{
actionOnResult(false);
actionOnResult = null;
}
});
Dialog dialog = builder.Create();

View File

@@ -72,20 +72,7 @@ namespace keepass2android.view
_textView = (TextView)ev.FindViewById(Resource.Id.entry_text);
_textView.TextSize = PrefsUtil.GetListTextSize(groupActivity);
Database db;
try
{
db = App.Kp2a.FindDatabaseForElement(pw);
}
catch (Exception e)
{
//for some reason, since Android 12 we get here when the database is reloaded (after making remote changes and selecting sync)
//we can just ignore this.
Console.WriteLine(e);
return;
}
Database db = App.Kp2a.FindDatabaseForElement(pw);
ev.FindViewById(Resource.Id.entry_icon_bkg).Visibility = db.DrawableFactory.IsWhiteIconSet ? ViewStates.Visible : ViewStates.Gone;

View File

@@ -81,22 +81,8 @@ namespace keepass2android.view
_pwGroup = pw;
ImageView iv = (ImageView) gv.FindViewById(Resource.Id.icon);
Database db;
try
{
db = App.Kp2a.FindDatabaseForElement(pw);
}
catch (Exception e)
{
//for some reason, since Android 12 we get here when the database is reloaded (after making remote changes and selecting sync)
//we can just ignore this.
Console.WriteLine(e);
return;
}
db.DrawableFactory.AssignDrawableTo(iv, _groupBaseActivity, db.KpDatabase, pw.IconId, pw.CustomIconUuid, true);
Database db = App.Kp2a.FindDatabaseForElement(pw);
db.DrawableFactory.AssignDrawableTo(iv, _groupBaseActivity, db.KpDatabase, pw.IconId, pw.CustomIconUuid, true);
gv.FindViewById(Resource.Id.icon).Visibility = ViewStates.Visible;
gv.FindViewById(Resource.Id.check_mark).Visibility = ViewStates.Invisible;