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=91780c71b4dbec9a29d1e0f115a45c1c117e3053;hp=607c6b698d003e87ac71460c009312dcf08669e7;hb=1c939bc859b062fcaa2a0a79bd2442915a32ad7d;hpb=0b79fe2853a6df27379c31ce48b86708453afb85 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 607c6b69..91780c71 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 @@ -38,6 +38,7 @@ import com.google.android.material.appbar.CollapsingToolbarLayout; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.textfield.TextInputLayout; +import net.ktnx.mobileledger.BuildConfig; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; @@ -101,7 +102,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue builder.setPositiveButton(R.string.Remove, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - Log.d("profiles", String.format("[fragment] removing profile %s", mProfile.getUuid())); + Log.d("profiles", + String.format("[fragment] removing profile %s", mProfile.getUuid())); mProfile.removeFromDB(); Data.profiles.remove(mProfile); if (Data.profile.get().equals(mProfile)) { @@ -115,6 +117,18 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue return false; }); menuDeleteProfile.setVisible((mProfile != null) && (Data.profiles.size() > 1)); + + if (BuildConfig.DEBUG) { + final MenuItem menuWipeProfileData = menu.findItem(R.id.menuWipeData); + menuWipeProfileData.setOnMenuItemClickListener(this::onWipeDataMenuClicked); + menuWipeProfileData.setVisible(mProfile != null); + } + } + private boolean onWipeDataMenuClicked(MenuItem item) { + // this is a development option, so no confirmation + mProfile.wipeAllData(); + Data.profile.forceNotifyObservers(); + return true; } @Override public void onCreate(Bundle savedInstanceState) { @@ -210,7 +224,6 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue if (isChecked) userName.requestFocus(); }); - preferredAccountsFilter.setText(mProfile.getPreferredAccountsFilter()); postingPermitted.setOnCheckedChangeListener(((buttonView, isChecked) -> { preferredAccountsFilterLayout.setVisibility(isChecked ? View.VISIBLE : View.GONE); })); @@ -229,6 +242,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue authParams.setVisibility(mProfile.isAuthEnabled() ? View.VISIBLE : View.GONE); userName.setText(mProfile.isAuthEnabled() ? mProfile.getAuthUserName() : ""); password.setText(mProfile.isAuthEnabled() ? mProfile.getAuthPassword() : ""); + preferredAccountsFilter.setText(mProfile.getPreferredAccountsFilter()); profileThemeId = mProfile.getThemeId(); } else { @@ -239,6 +253,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue authParams.setVisibility(View.GONE); userName.setText(""); password.setText(""); + preferredAccountsFilter.setText(null); profileThemeId = -1; } @@ -249,7 +264,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue huePickerView.setTag(profileThemeId); huePickerView.setOnClickListener(v -> { HueRingDialog d = new HueRingDialog( - Objects.requireNonNull(ProfileDetailFragment.this.getContext()), hue); + Objects.requireNonNull(ProfileDetailFragment.this.getContext()), + profileThemeId, (Integer) v.getTag()); d.show(); d.setColorSelectedListener(this); });