X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fprofiles%2FProfileDetailFragment.java;h=755c6f2b18ef85c4108416904cfa4e3d236d762b;hb=9f00a4f3aadae187e9e62bac23c2a366fe32892c;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..755c6f2b 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,9 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue private TextView futureDatesText; private MobileLedgerProfile.FutureDates futureDates; private View futureDatesLayout; + private TextView apiVersionText; + private View apiVersionLayout; + private SendTransactionTask.API apiVersion; /** * Mandatory empty constructor for the fragment manager to instantiate the @@ -234,6 +238,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(); + }); 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 +300,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 +316,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 +400,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;