mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Fix wait dialog callback
This commit is contained in:
@@ -79,15 +79,15 @@ public class DatabaseDescriptionPreferenceDialogFragmentCompat extends InputData
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
String descriptionToShow = mNewDescription;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignDescription(mOldDescription);
|
||||
}
|
||||
|
||||
if (mActivity != null) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
String descriptionToShow = mNewDescription;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignDescription(mOldDescription);
|
||||
}
|
||||
|
||||
getPreference().setSummary(descriptionToShow);
|
||||
SaveDatabaseProgressTaskDialogFragment.stop(mActivity);
|
||||
});
|
||||
|
||||
@@ -19,17 +19,18 @@
|
||||
*/
|
||||
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
|
||||
import com.kunzisoft.keepass.R;
|
||||
import com.kunzisoft.keepass.database.PwEncryptionAlgorithm;
|
||||
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||
import com.kunzisoft.keepass.database.action.OnFinishRunnable;
|
||||
import com.kunzisoft.keepass.settings.preferenceDialogFragment.adapter.ListRadioItemAdapter;
|
||||
import com.kunzisoft.keepass.tasks.SaveDatabaseProgressTaskDialogFragment;
|
||||
|
||||
public class DatabaseEncryptionAlgorithmPreferenceDialogFragmentCompat extends DatabaseSavePreferenceDialogFragmentCompat
|
||||
implements ListRadioItemAdapter.RadioItemSelectedCallback<PwEncryptionAlgorithm> {
|
||||
@@ -72,7 +73,7 @@ public class DatabaseEncryptionAlgorithmPreferenceDialogFragmentCompat extends D
|
||||
database.assignEncryptionAlgorithm(newAlgorithm);
|
||||
|
||||
Handler handler = new Handler();
|
||||
setAfterSaveDatabase(new AfterDescriptionSave(getContext(), handler, newAlgorithm, oldAlgorithm));
|
||||
setAfterSaveDatabase(new AfterDescriptionSave((AppCompatActivity) getActivity(), handler, newAlgorithm, oldAlgorithm));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,31 +85,35 @@ public class DatabaseEncryptionAlgorithmPreferenceDialogFragmentCompat extends D
|
||||
this.algorithmSelected = item;
|
||||
}
|
||||
|
||||
private class AfterDescriptionSave extends OnFinish {
|
||||
private class AfterDescriptionSave extends OnFinishRunnable {
|
||||
|
||||
private PwEncryptionAlgorithm mNewAlgorithm;
|
||||
private PwEncryptionAlgorithm mOldAlgorithm;
|
||||
private Context mCtx;
|
||||
private AppCompatActivity mActivity;
|
||||
|
||||
AfterDescriptionSave(Context ctx, Handler handler, PwEncryptionAlgorithm newAlgorithm, PwEncryptionAlgorithm oldAlgorithm) {
|
||||
AfterDescriptionSave(AppCompatActivity activity, Handler handler, PwEncryptionAlgorithm newAlgorithm, PwEncryptionAlgorithm oldAlgorithm) {
|
||||
super(handler);
|
||||
|
||||
mCtx = ctx;
|
||||
mActivity = activity;
|
||||
mNewAlgorithm = newAlgorithm;
|
||||
mOldAlgorithm = oldAlgorithm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
PwEncryptionAlgorithm algorithmToShow = mNewAlgorithm;
|
||||
if (mActivity != null) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
PwEncryptionAlgorithm algorithmToShow = mNewAlgorithm;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mCtx);
|
||||
database.assignEncryptionAlgorithm(mOldAlgorithm);
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignEncryptionAlgorithm(mOldAlgorithm);
|
||||
}
|
||||
getPreference().setSummary(algorithmToShow.getName(mActivity.getResources()));
|
||||
SaveDatabaseProgressTaskDialogFragment.stop(mActivity);
|
||||
});
|
||||
}
|
||||
|
||||
getPreference().setSummary(algorithmToShow.getName(mCtx.getResources()));
|
||||
|
||||
super.run();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
*/
|
||||
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@@ -29,8 +29,9 @@ import android.view.View;
|
||||
|
||||
import com.kunzisoft.keepass.R;
|
||||
import com.kunzisoft.keepass.crypto.keyDerivation.KdfEngine;
|
||||
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||
import com.kunzisoft.keepass.database.action.OnFinishRunnable;
|
||||
import com.kunzisoft.keepass.settings.preferenceDialogFragment.adapter.ListRadioItemAdapter;
|
||||
import com.kunzisoft.keepass.tasks.SaveDatabaseProgressTaskDialogFragment;
|
||||
|
||||
public class DatabaseKeyDerivationPreferenceDialogFragmentCompat extends DatabaseSavePreferenceDialogFragmentCompat
|
||||
implements ListRadioItemAdapter.RadioItemSelectedCallback<KdfEngine> {
|
||||
@@ -74,7 +75,7 @@ public class DatabaseKeyDerivationPreferenceDialogFragmentCompat extends Databas
|
||||
database.assignKdfEngine(newKdfEngine);
|
||||
|
||||
Handler handler = new Handler();
|
||||
setAfterSaveDatabase(new AfterDescriptionSave(getContext(), handler, newKdfEngine, oldKdfEngine));
|
||||
setAfterSaveDatabase(new AfterDescriptionSave((AppCompatActivity) getActivity(), handler, newKdfEngine, oldKdfEngine));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,32 +91,37 @@ public class DatabaseKeyDerivationPreferenceDialogFragmentCompat extends Databas
|
||||
kdfEngineSelected = item;
|
||||
}
|
||||
|
||||
private class AfterDescriptionSave extends OnFinish {
|
||||
private class AfterDescriptionSave extends OnFinishRunnable {
|
||||
|
||||
private KdfEngine mNewKdfEngine;
|
||||
private KdfEngine mOldKdfEngine;
|
||||
private Context mCtx;
|
||||
private AppCompatActivity mActivity;
|
||||
|
||||
AfterDescriptionSave(Context ctx, Handler handler, KdfEngine newKdfEngine, KdfEngine oldKdfEngine) {
|
||||
AfterDescriptionSave(AppCompatActivity activity, Handler handler, KdfEngine newKdfEngine, KdfEngine oldKdfEngine) {
|
||||
super(handler);
|
||||
|
||||
this.mCtx = ctx;
|
||||
this.mActivity = activity;
|
||||
this.mNewKdfEngine = newKdfEngine;
|
||||
this.mOldKdfEngine = oldKdfEngine;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
KdfEngine kdfEngineToShow = mNewKdfEngine;
|
||||
if (mActivity != null) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
KdfEngine kdfEngineToShow = mNewKdfEngine;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mCtx);
|
||||
database.assignKdfEngine(mOldKdfEngine);
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignKdfEngine(mOldKdfEngine);
|
||||
}
|
||||
|
||||
getPreference().setSummary(kdfEngineToShow.getName(mActivity.getResources()));
|
||||
roundPreference.setSummary(String.valueOf(kdfEngineToShow.getDefaultKeyRounds()));
|
||||
SaveDatabaseProgressTaskDialogFragment.stop(mActivity);
|
||||
});
|
||||
}
|
||||
|
||||
getPreference().setSummary(kdfEngineToShow.getName(mCtx.getResources()));
|
||||
roundPreference.setSummary(String.valueOf(kdfEngineToShow.getDefaultKeyRounds()));
|
||||
|
||||
super.run();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,16 +79,15 @@ public class DatabaseNamePreferenceDialogFragmentCompat extends InputDatabaseSav
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
String nameToShow = mNewName;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignName(mOldName);
|
||||
}
|
||||
|
||||
|
||||
if (mActivity != null) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
String nameToShow = mNewName;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.assignName(mOldName);
|
||||
}
|
||||
|
||||
getPreference().setSummary(nameToShow);
|
||||
SaveDatabaseProgressTaskDialogFragment.stop(mActivity);
|
||||
});
|
||||
|
||||
@@ -99,15 +99,15 @@ public class RoundsPreferenceDialogFragmentCompat extends InputDatabaseSavePrefe
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
long roundsToShow = mNewRounds;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.setNumberKeyEncryptionRounds(mOldRounds);
|
||||
}
|
||||
|
||||
if (mActivity != null) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
long roundsToShow = mNewRounds;
|
||||
|
||||
if (!mSuccess) {
|
||||
displayMessage(mActivity);
|
||||
database.setNumberKeyEncryptionRounds(mOldRounds);
|
||||
}
|
||||
|
||||
getPreference().setSummary(String.valueOf(roundsToShow));
|
||||
SaveDatabaseProgressTaskDialogFragment.stop(mActivity);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user