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=755c6f2b18ef85c4108416904cfa4e3d236d762b;hpb=9f00a4f3aadae187e9e62bac23c2a366fe32892c;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 755c6f2b..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; @@ -98,7 +100,6 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue private MobileLedgerProfile.FutureDates futureDates; private View futureDatesLayout; private TextView apiVersionText; - private View apiVersionLayout; private SendTransactionTask.API apiVersion; /** @@ -164,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); @@ -203,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) @@ -212,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; @@ -238,32 +246,32 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue }); menu.show(); }); - apiVersionLayout = context.findViewById(R.id.api_version_layout); apiVersionText = context.findViewById(R.id.api_version_text); - apiVersionLayout.setOnClickListener(v -> { - MenuInflater mi = new MenuInflater(context); - PopupMenu menu = new PopupMenu(context, v); - menu.inflate(R.menu.api_version); - menu.setOnMenuItemClickListener(item -> { - switch (item.getItemId()) { - case R.id.api_version_menu_html: - apiVersion = SendTransactionTask.API.html; - break; - case R.id.api_version_menu_post_1_14: - apiVersion = SendTransactionTask.API.post_1_14; - break; - case R.id.api_version_menu_pre_1_15: - apiVersion = SendTransactionTask.API.pre_1_15; - break; - case R.id.api_version_menu_auto: - default: - apiVersion = SendTransactionTask.API.auto; - } - apiVersionText.setText(apiVersion.getDescription(getResources())); - return true; - }); - menu.show(); - }); + context.findViewById(R.id.api_version_layout) + .setOnClickListener(v -> { + MenuInflater mi = new MenuInflater(context); + PopupMenu menu = new PopupMenu(context, v); + menu.inflate(R.menu.api_version); + menu.setOnMenuItemClickListener(item -> { + switch (item.getItemId()) { + case R.id.api_version_menu_html: + apiVersion = SendTransactionTask.API.html; + break; + case R.id.api_version_menu_post_1_14: + apiVersion = SendTransactionTask.API.post_1_14; + break; + case R.id.api_version_menu_pre_1_15: + apiVersion = SendTransactionTask.API.pre_1_15; + break; + case R.id.api_version_menu_auto: + default: + apiVersion = SendTransactionTask.API.auto; + } + apiVersionText.setText(apiVersion.getDescription(getResources())); + return true; + }); + menu.show(); + }); authParams = context.findViewById(R.id.auth_params); useAuthentication = context.findViewById(R.id.enable_http_auth); userName = context.findViewById(R.id.auth_user_name); @@ -294,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(); @@ -308,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; @@ -323,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(); @@ -364,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(); @@ -394,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); }