X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fprofiles%2FProfileDetailFragment.java;h=a94bbab7fe10e9e97c0b99dc9ead36154c102c67;hb=aae035f5de7abdff45ed7428e72605044232e957;hp=8ec562b6b5cee139ef00bade5ba2f4206f0b739a;hpb=35f511dbf3d90942c33c9524e891dfdbcde4579e;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 8ec562b6..a94bbab7 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 @@ -44,6 +44,7 @@ import com.google.android.material.textfield.TextInputLayout; import net.ktnx.mobileledger.BuildConfig; import net.ktnx.mobileledger.R; +import net.ktnx.mobileledger.async.SendTransactionTask; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; import net.ktnx.mobileledger.ui.HueRingDialog; @@ -96,6 +97,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue private TextView futureDatesText; private MobileLedgerProfile.FutureDates futureDates; private View futureDatesLayout; + private TextView apiVersionText; + private SendTransactionTask.API apiVersion; /** * Mandatory empty constructor for the fragment manager to instantiate the @@ -160,9 +163,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); @@ -234,6 +237,32 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue }); menu.show(); }); + apiVersionText = context.findViewById(R.id.api_version_text); + 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); @@ -270,6 +299,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue postingPermitted.setChecked(mProfile.isPostingPermitted()); futureDates = mProfile.getFutureDates(); futureDatesText.setText(futureDates.getText(getResources())); + apiVersion = mProfile.getApiVersion(); + apiVersionText.setText(apiVersion.getDescription(getResources())); url.setText(mProfile.getUrl()); useAuthentication.setChecked(mProfile.isAuthEnabled()); authParams.setVisibility(mProfile.isAuthEnabled() ? View.VISIBLE : View.GONE); @@ -284,6 +315,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue postingPermitted.setChecked(true); futureDates = MobileLedgerProfile.FutureDates.None; futureDatesText.setText(futureDates.getText(getResources())); + apiVersion = SendTransactionTask.API.auto; + apiVersionText.setText(apiVersion.getDescription(getResources())); useAuthentication.setChecked(false); authParams.setVisibility(View.GONE); userName.setText(""); @@ -366,13 +399,13 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue mProfile.setAuthPassword(password.getText()); mProfile.setThemeId(huePickerView.getTag()); mProfile.setFutureDates(futureDates); + mProfile.setApiVersion(apiVersion); } @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.profile_detail, container, false); - return rootView; + return inflater.inflate(R.layout.profile_detail, container, false); } private boolean checkUrlValidity() { boolean valid = true;