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=8f3daed46ddb965d59c771210059f1749b3ed453;hp=2d58e40b76b861ccbe91755d6446415e7b7e29e8;hb=3699284937e8abb641fc19a4be2bda60e197ab64;hpb=47db6d25a06cc89d721f59a01cf47befa5d02fd2 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 2d58e40b..8f3daed4 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 @@ -78,6 +78,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue private TextInputLayout passwordLayout; private TextView profileName; private TextInputLayout profileNameLayout; + private TextView preferredAccountsFilter; + private TextInputLayout preferredAccountsFilterLayout; private View huePickerView; /** @@ -99,7 +101,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)) { @@ -155,10 +158,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue } } else { - mProfile = - new MobileLedgerProfile(profileName.getText(), postingPermitted.isChecked(), - url.getText(), useAuthentication.isChecked(), userName.getText(), - password.getText(), (int) huePickerView.getTag()); + mProfile = new MobileLedgerProfile(); + updateProfileFromUI(); mProfile.storeInDB(); Data.profiles.add(mProfile); MobileLedgerProfile.storeProfilesOrder(); @@ -177,10 +178,12 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue mProfile.setName(profileName.getText()); mProfile.setUrl(url.getText()); mProfile.setPostingPermitted(postingPermitted.isChecked()); + mProfile.setPreferredAccountsFilter(preferredAccountsFilter.getText()); mProfile.setAuthEnabled(useAuthentication.isChecked()); mProfile.setAuthUserName(userName.getText()); mProfile.setAuthPassword(password.getText()); mProfile.setThemeId(huePickerView.getTag()); + } @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -198,6 +201,9 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue password = rootView.findViewById(R.id.password); passwordLayout = rootView.findViewById(R.id.password_layout); huePickerView = rootView.findViewById(R.id.btn_pick_ring_color); + preferredAccountsFilter = rootView.findViewById(R.id.preferred_accounts_filter_filter); + preferredAccountsFilterLayout = + rootView.findViewById(R.id.preferred_accounts_accounts_filter_layout); useAuthentication.setOnCheckedChangeListener((buttonView, isChecked) -> { Log.d("profiles", isChecked ? "auth enabled " : "auth disabled"); @@ -205,6 +211,10 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue if (isChecked) userName.requestFocus(); }); + postingPermitted.setOnCheckedChangeListener(((buttonView, isChecked) -> { + preferredAccountsFilterLayout.setVisibility(isChecked ? View.VISIBLE : View.GONE); + })); + hookClearErrorOnFocusListener(profileName, profileNameLayout); hookClearErrorOnFocusListener(url, urlLayout); hookClearErrorOnFocusListener(userName, userNameLayout); @@ -219,6 +229,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 { @@ -229,6 +240,7 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue authParams.setVisibility(View.GONE); userName.setText(""); password.setText(""); + preferredAccountsFilter.setText(null); profileThemeId = -1; }