diff --git a/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java b/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java index cfefe5d6..45c19065 100644 --- a/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java +++ b/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; import javax.crypto.Cipher; @@ -363,13 +364,13 @@ public class PreferencesFragment extends PreferenceFragmentCompat { } // TODO: create a custom layout to show a message AND a checkbox - final boolean[] checked = {true}; + final AtomicReference checked = new AtomicReference<>(true); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setTitle("Export the database") .setPositiveButton(android.R.string.ok, (dialog, which) -> { String filename; try { - filename = _db.export(checked[0]); + filename = _db.export(checked.get()); } catch (DatabaseManagerException e) { Toast.makeText(getActivity(), getString(R.string.exporting_database_error), Toast.LENGTH_SHORT).show(); return; @@ -387,7 +388,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat { builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int index, boolean isChecked) { - checked[0] = isChecked; + checked.set(isChecked); } }); } else { diff --git a/app/src/main/java/me/impy/aegis/ui/dialogs/Dialogs.java b/app/src/main/java/me/impy/aegis/ui/dialogs/Dialogs.java index 117fac27..d6f7c94f 100644 --- a/app/src/main/java/me/impy/aegis/ui/dialogs/Dialogs.java +++ b/app/src/main/java/me/impy/aegis/ui/dialogs/Dialogs.java @@ -12,6 +12,8 @@ import android.widget.TextView; import com.mattprecious.swirl.SwirlView; +import java.util.concurrent.atomic.AtomicReference; + import javax.crypto.Cipher; import javax.crypto.SecretKey; @@ -64,13 +66,14 @@ public class Dialogs { .setNegativeButton(android.R.string.cancel, null) .create(); - final Button[] buttonOK = new Button[1]; + final AtomicReference