X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fprofiles%2FProfileDetailFragment.java;h=bed7527ebf82063e61009624a1699ea355c092f0;hb=9426344c9fb587ecb12926bd5802baa31c1aad33;hp=6eed96a4f2a267e646161396a20e9f8e9f043df6;hpb=8ae8122788dbe6506a067a091befc90c723e9a0e;p=mobile-ledger.git 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 6eed96a4..bed7527e 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 @@ -72,6 +72,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue * represents. */ public static final String ARG_ITEM_ID = "item_id"; + public static final String ARG_HUE = "hue"; @NonNls private static final String HTTPS_URL_START = "https://"; @@ -81,6 +82,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue private MobileLedgerProfile mProfile; private TextView url; private Switch postingPermitted; + private Switch showCommodityByDefault; private TextInputLayout urlLayout; private LinearLayout authParams; private Switch useAuthentication; @@ -163,9 +165,9 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue throw new AssertionError(); profiles.set(index, newProfile); - ProfilesRecyclerViewAdapter prva = ProfilesRecyclerViewAdapter.getInstance(); - if (prva != null) - prva.notifyItemChanged(index); + ProfilesRecyclerViewAdapter viewAdapter = ProfilesRecyclerViewAdapter.getInstance(); + if (viewAdapter != null) + viewAdapter.notifyItemChanged(index); if (mProfile.equals(Data.profile.getValue())) Data.profile.setValue(newProfile); @@ -202,6 +204,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue url = context.findViewById(R.id.url); urlLayout = context.findViewById(R.id.url_layout); postingPermitted = context.findViewById(R.id.profile_permit_posting); + showCommodityByDefault = context.findViewById(R.id.profile_show_commodity); futureDatesLayout = context.findViewById(R.id.future_dates_layout); futureDatesText = context.findViewById(R.id.future_dates_text); context.findViewById(R.id.future_dates_layout) @@ -211,6 +214,12 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue menu.inflate(R.menu.future_dates); menu.setOnMenuItemClickListener(item -> { switch (item.getItemId()) { + case R.id.menu_future_dates_7: + futureDates = MobileLedgerProfile.FutureDates.OneWeek; + break; + case R.id.menu_future_dates_14: + futureDates = MobileLedgerProfile.FutureDates.TwoWeeks; + break; case R.id.menu_future_dates_30: futureDates = MobileLedgerProfile.FutureDates.OneMonth; break; @@ -293,10 +302,11 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue hookClearErrorOnFocusListener(userName, userNameLayout); hookClearErrorOnFocusListener(password, passwordLayout); - int profileThemeId; + final int profileThemeId; if (mProfile != null) { profileName.setText(mProfile.getName()); postingPermitted.setChecked(mProfile.isPostingPermitted()); + showCommodityByDefault.setChecked(mProfile.getShowCommodityByDefault()); futureDates = mProfile.getFutureDates(); futureDatesText.setText(futureDates.getText(getResources())); apiVersion = mProfile.getApiVersion(); @@ -307,12 +317,13 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue userName.setText(mProfile.isAuthEnabled() ? mProfile.getAuthUserName() : ""); password.setText(mProfile.isAuthEnabled() ? mProfile.getAuthPassword() : ""); preferredAccountsFilter.setText(mProfile.getPreferredAccountsFilter()); - profileThemeId = mProfile.getThemeId(); + profileThemeId = mProfile.getThemeHue(); } else { profileName.setText(""); url.setText(HTTPS_URL_START); postingPermitted.setChecked(true); + showCommodityByDefault.setChecked(false); futureDates = MobileLedgerProfile.FutureDates.None; futureDatesText.setText(futureDates.getText(getResources())); apiVersion = SendTransactionTask.API.auto; @@ -322,7 +333,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue userName.setText(""); password.setText(""); preferredAccountsFilter.setText(null); - profileThemeId = -1; + profileThemeId = getArguments().getInt(ARG_HUE, -1); } checkInsecureSchemeWithAuth(); @@ -363,7 +374,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue if (mProfile != null) { updateProfileFromUI(); -// debug("profiles", String.format("Selected item is %d", mProfile.getThemeId())); +// debug("profiles", String.format("Selected item is %d", mProfile.getThemeHue())); mProfile.storeInDB(); debug("profiles", "profile stored in DB"); triggerProfileChange(); @@ -393,11 +404,12 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue mProfile.setName(profileName.getText()); mProfile.setUrl(url.getText()); mProfile.setPostingPermitted(postingPermitted.isChecked()); + mProfile.setShowCommodityByDefault(showCommodityByDefault.isChecked()); mProfile.setPreferredAccountsFilter(preferredAccountsFilter.getText()); mProfile.setAuthEnabled(useAuthentication.isChecked()); mProfile.setAuthUserName(userName.getText()); mProfile.setAuthPassword(password.getText()); - mProfile.setThemeId(huePickerView.getTag()); + mProfile.setThemeHue(huePickerView.getTag()); mProfile.setFutureDates(futureDates); mProfile.setApiVersion(apiVersion); }