X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fprofiles%2FProfileDetailFragment.java;h=b712f29da87ca248bbd6923e7407740e5b9db1a8;hp=fafd8b41123b1014cb8b05cc4143de16edd55aff;hb=14f60602fa419409b68e9c41c37c6aedda3bc526;hpb=55dffdf66e7a8dc32b00df4cfd0c9d399c17aaaa diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java index fafd8b41..b712f29d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java @@ -112,32 +112,7 @@ public class ProfileDetailFragment extends Fragment { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.profile_details, menu); final MenuItem menuDeleteProfile = menu.findItem(R.id.menuDelete); - menuDeleteProfile.setOnMenuItemClickListener(item -> { - AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); - builder.setTitle(mProfile.getName()); - builder.setMessage(R.string.remove_profile_dialog_message); - builder.setPositiveButton(R.string.Remove, (dialog, which) -> { - debug("profiles", - String.format("[fragment] removing profile %s", mProfile.getUuid())); - mProfile.removeFromDB(); - ArrayList oldList = Data.profiles.getValue(); - if (oldList == null) - throw new AssertionError(); - ArrayList newList = new ArrayList<>(oldList); - newList.remove(mProfile); - Data.profiles.setValue(newList); - if (mProfile.equals(Data.getProfile())) { - debug("profiles", "[fragment] setting current profile to 0"); - Data.setCurrentProfile(newList.get(0)); - } - - final FragmentActivity activity = getActivity(); - if (activity != null) - activity.finish(); - }); - builder.show(); - return false; - }); + menuDeleteProfile.setOnMenuItemClickListener(item -> onDeleteProfile()); final ArrayList profiles = Data.profiles.getValue(); if (BuildConfig.DEBUG) { @@ -146,6 +121,31 @@ public class ProfileDetailFragment extends Fragment { menuWipeProfileData.setVisible(mProfile != null); } } + private boolean onDeleteProfile() { + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + builder.setTitle(mProfile.getName()); + builder.setMessage(R.string.remove_profile_dialog_message); + builder.setPositiveButton(R.string.Remove, (dialog, which) -> { + debug("profiles", String.format("[fragment] removing profile %s", mProfile.getUuid())); + mProfile.removeFromDB(); + ArrayList oldList = Data.profiles.getValue(); + if (oldList == null) + throw new AssertionError(); + ArrayList newList = new ArrayList<>(oldList); + newList.remove(mProfile); + Data.profiles.setValue(newList); + if (mProfile.equals(Data.getProfile())) { + debug("profiles", "[fragment] setting current profile to 0"); + Data.setCurrentProfile(newList.get(0)); + } + + final FragmentActivity activity = getActivity(); + if (activity != null) + activity.finish(); + }); + builder.show(); + return false; + } private boolean onWipeDataMenuClicked() { // this is a development option, so no confirmation mProfile.wipeAllData();