From 1af2b1495675c87e71615d0a07260d6e7ecda202 Mon Sep 17 00:00:00 2001 From: Arnaud Vergnet Date: Tue, 7 Dec 2021 19:06:23 +0100 Subject: [PATCH 1/2] [android] Make editor toolbar title visible if search is hidden Resizes the toolbar layout to contain only the save button when the search controls are hidden, to leave room for the toolbar title Signed-off-by: Arnaud Vergnet --- android/res/layout/fragment_editor_host.xml | 2 ++ .../maps/editor/EditorHostFragment.java | 22 ++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/android/res/layout/fragment_editor_host.xml b/android/res/layout/fragment_editor_host.xml index 91ac58ecd5..22362ef060 100644 --- a/android/res/layout/fragment_editor_host.xml +++ b/android/res/layout/fragment_editor_host.xml @@ -14,6 +14,8 @@ android:theme="@style/MwmWidget.ToolbarTheme"> diff --git a/android/src/com/mapswithme/maps/editor/EditorHostFragment.java b/android/src/com/mapswithme/maps/editor/EditorHostFragment.java index 65b8bb0b08..8dae1c4266 100644 --- a/android/src/com/mapswithme/maps/editor/EditorHostFragment.java +++ b/android/src/com/mapswithme/maps/editor/EditorHostFragment.java @@ -42,6 +42,10 @@ public class EditorHostFragment extends BaseMwmToolbarFragment implements OnBackPressListener, View.OnClickListener, LanguagesFragment.Listener { private boolean mIsNewObject; + @Nullable + private View mToolbarInnerLayout; + @Nullable + private View mSave; enum Mode { @@ -131,7 +135,9 @@ public class EditorHostFragment extends BaseMwmToolbarFragment { super.onViewCreated(view, savedInstanceState); - getToolbarController().getToolbar().findViewById(R.id.save).setOnClickListener(this); + mToolbarInnerLayout = getToolbarController().getToolbar().findViewById(R.id.toolbar_inner_layout); + mSave = getToolbarController().getToolbar().findViewById(R.id.save); + mSave.setOnClickListener(this); UiUtils.setupHomeUpButtonAsNavigationIcon(getToolbarController().getToolbar(), v -> onBackPressed()); @@ -190,7 +196,7 @@ public class EditorHostFragment extends BaseMwmToolbarFragment protected void editMapObject(boolean focusToLastName) { mMode = Mode.MAP_OBJECT; - ((SearchToolbarController) getToolbarController()).showSearchControls(false); + showSearchControls(false); getToolbarController().setTitle(getTitle()); UiUtils.show(getToolbarController().getToolbar().findViewById(R.id.save)); Bundle args = new Bundle(); @@ -243,7 +249,7 @@ public class EditorHostFragment extends BaseMwmToolbarFragment mMode = newMode; getToolbarController().setTitle(toolbarTitle); - ((SearchToolbarController) getToolbarController()).showSearchControls(showSearch); + showSearchControls(showSearch); final Fragment fragment = Fragment.instantiate(getActivity(), fragmentClass.getName(), args); getChildFragmentManager().beginTransaction() .replace(R.id.fragment_container, fragment, fragmentClass.getName()) @@ -260,6 +266,16 @@ public class EditorHostFragment extends BaseMwmToolbarFragment startActivity(new Intent(host, FeatureCategoryActivity.class)); } + private void showSearchControls(boolean showSearch) { + ((SearchToolbarController) getToolbarController()).showSearchControls(showSearch); + if (mToolbarInnerLayout != null && mSave != null) { + // Make room for the toolbar title if the search controls are hidden + mToolbarInnerLayout.getLayoutParams().width = showSearch + ? ViewGroup.LayoutParams.MATCH_PARENT + : mSave.getLayoutParams().width; + } + } + private boolean setEdits() { return ((EditorFragment) getChildFragmentManager().findFragmentByTag(EditorFragment.class.getName())).setEdits(); -- 2.45.3 From 744e973cb188ceeaf008053da181655c9119fb22 Mon Sep 17 00:00:00 2001 From: Arnaud Vergnet Date: Wed, 8 Dec 2021 11:01:06 +0100 Subject: [PATCH 2/2] [android] Improve editor code style Signed-off-by: Arnaud Vergnet --- .../mapswithme/maps/editor/EditorHostFragment.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/android/src/com/mapswithme/maps/editor/EditorHostFragment.java b/android/src/com/mapswithme/maps/editor/EditorHostFragment.java index 8dae1c4266..b21ab3e63c 100644 --- a/android/src/com/mapswithme/maps/editor/EditorHostFragment.java +++ b/android/src/com/mapswithme/maps/editor/EditorHostFragment.java @@ -135,8 +135,9 @@ public class EditorHostFragment extends BaseMwmToolbarFragment { super.onViewCreated(view, savedInstanceState); - mToolbarInnerLayout = getToolbarController().getToolbar().findViewById(R.id.toolbar_inner_layout); - mSave = getToolbarController().getToolbar().findViewById(R.id.save); + final View toolbar = getToolbarController().getToolbar(); + mToolbarInnerLayout = toolbar.findViewById(R.id.toolbar_inner_layout); + mSave = toolbar.findViewById(R.id.save); mSave.setOnClickListener(this); UiUtils.setupHomeUpButtonAsNavigationIcon(getToolbarController().getToolbar(), v -> onBackPressed()); @@ -266,10 +267,12 @@ public class EditorHostFragment extends BaseMwmToolbarFragment startActivity(new Intent(host, FeatureCategoryActivity.class)); } - private void showSearchControls(boolean showSearch) { + private void showSearchControls(boolean showSearch) + { ((SearchToolbarController) getToolbarController()).showSearchControls(showSearch); - if (mToolbarInnerLayout != null && mSave != null) { - // Make room for the toolbar title if the search controls are hidden + if (mToolbarInnerLayout != null && mSave != null) + { + // Make room for the toolbar title if the search controls are hidden. mToolbarInnerLayout.getLayoutParams().width = showSearch ? ViewGroup.LayoutParams.MATCH_PARENT : mSave.getLayoutParams().width; -- 2.45.3