From: Damyan Ivanov Date: Sat, 21 Dec 2019 22:00:07 +0000 (+0200) Subject: add backend API version setting to the profile details screen X-Git-Tag: v0.12.0~137 X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=commitdiff_plain;h=beeffcb40785a7d77fbea3a4f1a39750e3201eaa add backend API version setting to the profile details screen --- 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..e43e20e3 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,34 @@ 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_auto: + apiVersion = SendTransactionTask.API.auto; + break; + 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; + 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 +302,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 +318,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,6 +402,7 @@ 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, diff --git a/app/src/main/res/layout/profile_detail.xml b/app/src/main/res/layout/profile_detail.xml index d095f094..c1aea4dc 100644 --- a/app/src/main/res/layout/profile_detail.xml +++ b/app/src/main/res/layout/profile_detail.xml @@ -132,6 +132,27 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index b1f6c4dc..43bab681 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -126,8 +126,9 @@ Без въвеждане на бъдещи дати Въвеждане на дати в бъдещето Автоматично откриване - Симулиране на заявка от браузър - версия 1.15 и по-нови - версии преди 1.15 + Версия преди 1.14 + Версия 1.15 или по-нова + Версия 1.14.x + Версия на сървъра diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5f98037e..d51f7e25 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -167,8 +167,9 @@ Up to six months Up to a year Without restrictions - Simulate HTML form - version before 1.15 - version 1.15 and above + Version before 1.14 + Version 1.14.x + Version 1.15 and above Detect automaticaly + Backend server version