diff --git a/OsmAnd/res/layout-land/map_hud_top.xml b/OsmAnd/res/layout-land/map_hud_top.xml index c5b55c7e0f..605f818ecc 100644 --- a/OsmAnd/res/layout-land/map_hud_top.xml +++ b/OsmAnd/res/layout-land/map_hud_top.xml @@ -367,11 +367,13 @@ android:gravity="center_vertical" android:orientation="horizontal"> - + android:layout_height="48dp" + android:contentDescription="@string/back_to_search" + android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"/> - + android:layout_height="48dp" + android:contentDescription="@string/back_to_search" + android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"/> + Back to search Do you want to delete selected history items? Show %1$s on the map diff --git a/OsmAnd/src/net/osmand/plus/search/QuickSearchDialogFragment.java b/OsmAnd/src/net/osmand/plus/search/QuickSearchDialogFragment.java index 0084d651f6..b59a9499d5 100644 --- a/OsmAnd/src/net/osmand/plus/search/QuickSearchDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/search/QuickSearchDialogFragment.java @@ -484,8 +484,11 @@ public class QuickSearchDialogFragment extends DialogFragment implements OsmAndC @Override public void onDismiss(DialogInterface dialog) { - getMapActivity().setQuickSearchTopbarActive(false); - getChildFragmentManager().popBackStack(); + MapActivity mapActivity = getMapActivity(); + if (mapActivity != null) { + getMapActivity().setQuickSearchTopbarActive(false); + getChildFragmentManager().popBackStack(); + } super.onDismiss(dialog); } @@ -570,7 +573,7 @@ public class QuickSearchDialogFragment extends DialogFragment implements OsmAndC break; case MAIN: - if (!Algorithms.isEmpty(searchQuery)) { + if (!Algorithms.isEmpty(searchQuery) && !searchQuery.equals(searchEditText.getText().toString())) { String txt = searchQuery; searchQuery = ""; searchEditText.setText(txt); diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java index fe071ca9a4..8ae1f961fa 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java @@ -165,7 +165,7 @@ public class MapInfoWidgetsFactory { private final MapActivity map; private View searchTopBar; private View searchTopBarLayout; - private ImageView searchIcon; + private ImageButton searchBackButton; private TextView searchTitle; private ImageButton searchCloseButton; @@ -173,7 +173,13 @@ public class MapInfoWidgetsFactory { this.map = map; searchTopBar = map.findViewById(R.id.search_topbar); searchTopBarLayout = map.findViewById(R.id.search_topbar_layout); - searchIcon = (ImageView) map.findViewById(R.id.search_icon); + searchBackButton = (ImageButton) map.findViewById(R.id.search_back_button); + searchBackButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + map.showQuickSearch(); + } + }); searchTitle = (TextView) map.findViewById(R.id.search_title); searchTitle.setOnClickListener(new View.OnClickListener() { @Override @@ -222,7 +228,7 @@ public class MapInfoWidgetsFactory { public void updateTextColor(boolean nightMode, int textColor) { OsmandApplication app = map.getMyApplication(); searchTitle.setTextColor(textColor); - searchIcon.setImageDrawable(app.getIconsCache().getIcon(R.drawable.ic_action_search_dark, !nightMode)); + searchBackButton.setImageDrawable(app.getIconsCache().getIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha, !nightMode)); searchCloseButton.setImageDrawable(app.getIconsCache().getIcon(R.drawable.ic_action_remove_dark, !nightMode)); }