+ final ArrayList<MobileLedgerProfile> profiles = Data.profiles.getValue();
+ menuDeleteProfile
+ .setVisible((mProfile != null) && (profiles != null) && (profiles.size() > 1));
+
+ if (BuildConfig.DEBUG) {
+ final MenuItem menuWipeProfileData = menu.findItem(R.id.menuWipeData);
+ menuWipeProfileData.setOnMenuItemClickListener(ignored -> onWipeDataMenuClicked());
+ menuWipeProfileData.setVisible(mProfile != null);
+ }
+ }
+ private boolean onWipeDataMenuClicked() {
+ // this is a development option, so no confirmation
+ mProfile.wipeAllData();
+ if (mProfile.equals(Data.profile.getValue())) triggerProfileChange();
+ return true;
+ }
+ private void triggerProfileChange() {
+ int index = Data.getProfileIndex(mProfile);
+ MobileLedgerProfile newProfile = new MobileLedgerProfile(mProfile);
+ final ArrayList<MobileLedgerProfile> profiles = Data.profiles.getValue();
+ assert profiles != null;
+ profiles.set(index, newProfile);
+ if (mProfile.equals(Data.profile.getValue())) Data.profile.setValue(newProfile);