Review
"Choose category" indicate selected group (radion button) right next to group "Choose category" ripple background on tap is missing "Add new category" text field underline should be OsmAnd active color, not the selected. "Add new category" text field background is barely visible, check its background color.
This commit is contained in:
parent
fe1fda65ff
commit
7227478dfb
11 changed files with 48 additions and 27 deletions
|
@ -21,7 +21,10 @@
|
||||||
android:paddingLeft="@dimen/content_padding"
|
android:paddingLeft="@dimen/content_padding"
|
||||||
android:paddingEnd="@dimen/content_padding"
|
android:paddingEnd="@dimen/content_padding"
|
||||||
android:paddingRight="@dimen/content_padding"
|
android:paddingRight="@dimen/content_padding"
|
||||||
app:startIconDrawable="@drawable/ic_action_folder">
|
app:startIconDrawable="@drawable/ic_action_folder"
|
||||||
|
app:boxBackgroundColor="?attr/text_input_background"
|
||||||
|
app:boxStrokeColor="@color/osmand_orange"
|
||||||
|
app:hintTextColor="@color/text_color_secondary_light">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/name_edit_text"
|
android:id="@+id/name_edit_text"
|
||||||
|
|
|
@ -57,7 +57,9 @@ public class SearchHistoryHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNewItemToHistory(GPXInfo gpxInfo) {
|
public void addNewItemToHistory(GPXInfo gpxInfo) {
|
||||||
addNewItemToHistory(new HistoryEntry(0, 0, createPointDescription(gpxInfo)));
|
if(gpxInfo != null) {
|
||||||
|
addNewItemToHistory(new HistoryEntry(0, 0, createPointDescription(gpxInfo)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<HistoryEntry> getHistoryEntries(boolean onlyPoints) {
|
public List<HistoryEntry> getHistoryEntries(boolean onlyPoints) {
|
||||||
|
|
|
@ -169,7 +169,6 @@ public class AddNewFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
|
|
||||||
view = UiUtilities.getInflater(app, nightMode).inflate(R.layout.add_new_favorite_category, null);
|
view = UiUtilities.getInflater(app, nightMode).inflate(R.layout.add_new_favorite_category, null);
|
||||||
nameTextBox = view.findViewById(R.id.name_text_box);
|
nameTextBox = view.findViewById(R.id.name_text_box);
|
||||||
nameTextBox.setBoxBackgroundColorResource(nightMode ? R.color.list_background_color_dark : R.color.activity_background_color_light);
|
|
||||||
nameTextBox.setHint(app.getResources().getString(R.string.favorite_category_name));
|
nameTextBox.setHint(app.getResources().getString(R.string.favorite_category_name));
|
||||||
ColorStateList colorStateList = ColorStateList.valueOf(ContextCompat
|
ColorStateList colorStateList = ColorStateList.valueOf(ContextCompat
|
||||||
.getColor(app, nightMode ? R.color.text_color_secondary_dark : R.color.text_color_secondary_light));
|
.getColor(app, nightMode ? R.color.text_color_secondary_dark : R.color.text_color_secondary_light));
|
||||||
|
@ -179,7 +178,6 @@ public class AddNewFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
editText.requestFocus();
|
editText.requestFocus();
|
||||||
AndroidUtils.softKeyboardDelayed(getActivity(), editText);
|
AndroidUtils.softKeyboardDelayed(getActivity(), editText);
|
||||||
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
||||||
nameTextBox.setBoxStrokeColorStateList(ColorStateList.valueOf(selectedColor));
|
|
||||||
|
|
||||||
BaseBottomSheetItem editFolderName = new BaseBottomSheetItem.Builder()
|
BaseBottomSheetItem editFolderName = new BaseBottomSheetItem.Builder()
|
||||||
.setCustomView(view)
|
.setCustomView(view)
|
||||||
|
@ -200,7 +198,6 @@ public class AddNewFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
((TextView) view.findViewById(R.id.color_name)).setText(ColorDialogs.getColorName(color));
|
((TextView) view.findViewById(R.id.color_name)).setText(ColorDialogs.getColorName(color));
|
||||||
selectedColor = color;
|
selectedColor = color;
|
||||||
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
||||||
nameTextBox.setBoxStrokeColorStateList(ColorStateList.valueOf(selectedColor));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -32,7 +32,6 @@ import net.osmand.plus.R;
|
||||||
import net.osmand.plus.UiUtilities;
|
import net.osmand.plus.UiUtilities;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
import net.osmand.plus.base.BaseOsmAndFragment;
|
import net.osmand.plus.base.BaseOsmAndFragment;
|
||||||
import net.osmand.plus.base.BottomSheetDialogFragment;
|
|
||||||
import net.osmand.plus.widgets.AutoCompleteTextViewEx;
|
import net.osmand.plus.widgets.AutoCompleteTextViewEx;
|
||||||
import net.osmand.util.Algorithms;
|
import net.osmand.util.Algorithms;
|
||||||
|
|
||||||
|
@ -182,7 +181,7 @@ public abstract class PointEditorFragment extends BaseOsmAndFragment {
|
||||||
protected DialogFragment createSelectCategoryDialog() {
|
protected DialogFragment createSelectCategoryDialog() {
|
||||||
PointEditor editor = getEditor();
|
PointEditor editor = getEditor();
|
||||||
if (editor != null) {
|
if (editor != null) {
|
||||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), "getSelectedCategory()");
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -364,7 +363,7 @@ public abstract class PointEditorFragment extends BaseOsmAndFragment {
|
||||||
if (isPersonalCategoryDisplayName(requireContext(), name)) {
|
if (isPersonalCategoryDisplayName(requireContext(), name)) {
|
||||||
return PERSONAL_CATEGORY;
|
return PERSONAL_CATEGORY;
|
||||||
}
|
}
|
||||||
if(name.equals(getDefaultCategoryName())) {
|
if (name.equals(getDefaultCategoryName())) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return name;
|
return name;
|
||||||
|
|
|
@ -739,12 +739,19 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment implemen
|
||||||
protected DialogFragment createSelectCategoryDialog() {
|
protected DialogFragment createSelectCategoryDialog() {
|
||||||
PointEditor editor = getEditor();
|
PointEditor editor = getEditor();
|
||||||
if (editor != null) {
|
if (editor != null) {
|
||||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), getSelectedCategory());
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSelectedCategory() {
|
||||||
|
if (groupListAdapter != null && groupListAdapter.getSelectedItem() != null) {
|
||||||
|
return groupListAdapter.getSelectedItem();
|
||||||
|
}
|
||||||
|
return getCategoryInitValue();
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
protected AddNewFavoriteCategoryBottomSheet createAddCategoryDialog() {
|
protected AddNewFavoriteCategoryBottomSheet createAddCategoryDialog() {
|
||||||
PointEditor editor = getEditor();
|
PointEditor editor = getEditor();
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class RtePtEditorFragment extends WptPtEditorFragment {
|
||||||
@Override
|
@Override
|
||||||
protected DialogFragment createSelectCategoryDialog() {
|
protected DialogFragment createSelectCategoryDialog() {
|
||||||
PointEditor editor = getEditor();
|
PointEditor editor = getEditor();
|
||||||
return editor != null ? SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag()) : null;
|
return editor != null ? SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), "") : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showInstance(final MapActivity mapActivity) {
|
public static void showInstance(final MapActivity mapActivity) {
|
||||||
|
|
|
@ -43,7 +43,9 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
|
|
||||||
public static final String TAG = SelectFavoriteCategoryBottomSheet.class.getSimpleName();
|
public static final String TAG = SelectFavoriteCategoryBottomSheet.class.getSimpleName();
|
||||||
private static final String KEY_CTX_SEL_CAT_EDITOR_TAG = "key_ctx_sel_cat_editor_tag";
|
private static final String KEY_CTX_SEL_CAT_EDITOR_TAG = "key_ctx_sel_cat_editor_tag";
|
||||||
|
private static final String KEY_CTX_SEL_CURRENT_CATEGORY = "key_ctx_sel_current_category";
|
||||||
private static String editorTag;
|
private static String editorTag;
|
||||||
|
private static String selectedCategory;
|
||||||
private OsmandApplication app;
|
private OsmandApplication app;
|
||||||
private GPXUtilities.GPXFile gpxFile;
|
private GPXUtilities.GPXFile gpxFile;
|
||||||
private Map<String, Integer> gpxCategories;
|
private Map<String, Integer> gpxCategories;
|
||||||
|
@ -60,10 +62,11 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
return drawable;
|
return drawable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SelectFavoriteCategoryBottomSheet createInstance(String editorTag) {
|
public static SelectFavoriteCategoryBottomSheet createInstance(String editorTag, String selectedCategory) {
|
||||||
SelectFavoriteCategoryBottomSheet fragment = new SelectFavoriteCategoryBottomSheet();
|
SelectFavoriteCategoryBottomSheet fragment = new SelectFavoriteCategoryBottomSheet();
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString(KEY_CTX_SEL_CAT_EDITOR_TAG, editorTag);
|
bundle.putString(KEY_CTX_SEL_CAT_EDITOR_TAG, editorTag);
|
||||||
|
bundle.putString(KEY_CTX_SEL_CURRENT_CATEGORY, selectedCategory);
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
fragment.setRetainInstance(true);
|
fragment.setRetainInstance(true);
|
||||||
return fragment;
|
return fragment;
|
||||||
|
@ -94,6 +97,12 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
restoreState(getArguments());
|
restoreState(getArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (selectedCategory == null) {
|
||||||
|
restoreState(savedInstanceState);
|
||||||
|
} else if (getArguments() != null) {
|
||||||
|
restoreState(getArguments());
|
||||||
|
}
|
||||||
|
|
||||||
BaseBottomSheetItem titleItem = new BottomSheetItemWithDescription.Builder()
|
BaseBottomSheetItem titleItem = new BottomSheetItemWithDescription.Builder()
|
||||||
.setDescription(getString(R.string.select_category_descr))
|
.setDescription(getString(R.string.select_category_descr))
|
||||||
.setTitle(getString(R.string.favorite_category_select))
|
.setTitle(getString(R.string.favorite_category_select))
|
||||||
|
@ -137,16 +146,20 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
View favoriteCategoryList = UiUtilities.getInflater(app, nightMode).inflate(R.layout.favorite_categories_dialog, null);
|
View favoriteCategoryList = UiUtilities.getInflater(app, nightMode).inflate(R.layout.favorite_categories_dialog, null);
|
||||||
ScrollView scrollContainer = favoriteCategoryList.findViewById(R.id.scroll_container);
|
ScrollView scrollContainer = favoriteCategoryList.findViewById(R.id.scroll_container);
|
||||||
final int dp16 = AndroidUtils.dpToPx(app, 16f);
|
final int dp16 = AndroidUtils.dpToPx(app, 16f);
|
||||||
scrollContainer.setPadding(dp16,0, dp16,0);
|
scrollContainer.setPadding(dp16, 0, dp16, 0);
|
||||||
LinearLayout favoriteCategoryContainer = favoriteCategoryList.findViewById(R.id.list_container);
|
LinearLayout favoriteCategoryContainer = favoriteCategoryList.findViewById(R.id.list_container);
|
||||||
|
|
||||||
final FavouritesDbHelper favoritesHelper = app.getFavorites();
|
final FavouritesDbHelper favoritesHelper = app.getFavorites();
|
||||||
if (gpxFile != null) {
|
if (gpxFile != null) {
|
||||||
if (gpxCategories != null) {
|
if (gpxCategories != null) {
|
||||||
for (Map.Entry<String, Integer> e : gpxCategories.entrySet()) {
|
for (Map.Entry<String, Integer> e : gpxCategories.entrySet()) {
|
||||||
String categoryName = e.getKey();
|
String favoriteCategoryCount;
|
||||||
String favoriteCategoryCount = String.valueOf(e.getKey().length());
|
if (Algorithms.isEmpty(gpxFile.getPointsByCategories().get(e.getKey()))) {
|
||||||
favoriteCategoryContainer.addView(createCategoryItem(activity, nightMode, categoryName, e.getValue(), favoriteCategoryCount, false));
|
favoriteCategoryCount = app.getString(R.string.shared_string_empty);
|
||||||
|
} else {
|
||||||
|
favoriteCategoryCount = String.valueOf(gpxFile.getPointsByCategories().get(e.getKey()).size());
|
||||||
|
}
|
||||||
|
favoriteCategoryContainer.addView(createCategoryItem(activity, nightMode, e.getKey(), e.getValue(), favoriteCategoryCount, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -171,19 +184,14 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
View itemView = UiUtilities.getInflater(activity, nightMode).inflate(R.layout.bottom_sheet_item_with_descr_and_radio_btn, null);
|
View itemView = UiUtilities.getInflater(activity, nightMode).inflate(R.layout.bottom_sheet_item_with_descr_and_radio_btn, null);
|
||||||
final AppCompatImageView button = (AppCompatImageView) itemView.findViewById(R.id.icon);
|
final AppCompatImageView button = (AppCompatImageView) itemView.findViewById(R.id.icon);
|
||||||
final int dp8 = AndroidUtils.dpToPx(app, 8f);
|
final int dp8 = AndroidUtils.dpToPx(app, 8f);
|
||||||
button.setPadding(0,0, dp8,0);
|
button.setPadding(0, 0, dp8, 0);
|
||||||
LinearLayout descriptionContainer = itemView.findViewById(R.id.descriptionContainer);
|
LinearLayout descriptionContainer = itemView.findViewById(R.id.descriptionContainer);
|
||||||
descriptionContainer.setPadding(0, 0, 0, 0);
|
descriptionContainer.setPadding(0, 0, 0, 0);
|
||||||
View divider = itemView.findViewById(R.id.divider_bottom);
|
View divider = itemView.findViewById(R.id.divider_bottom);
|
||||||
divider.setVisibility(View.GONE);
|
divider.setVisibility(View.GONE);
|
||||||
itemView.setPadding(0, 0, 0, 0);
|
itemView.setPadding(0, 0, 0, 0);
|
||||||
final RadioButton compoundButton = itemView.findViewById(R.id.compound_button);
|
|
||||||
int activeColorId = nightMode ?
|
int activeColorId = nightMode ?
|
||||||
R.color.active_color_primary_dark : R.color.active_color_primary_light;
|
R.color.active_color_primary_dark : R.color.active_color_primary_light;
|
||||||
int disableColorId = nightMode ?
|
|
||||||
R.color.icon_color_default_dark : R.color.icon_color_default_light;
|
|
||||||
UiUtilities.setupCompoundButton(nightMode, ContextCompat.getColor(app,
|
|
||||||
nightMode ? activeColorId : disableColorId), compoundButton);
|
|
||||||
|
|
||||||
if (isHidden) {
|
if (isHidden) {
|
||||||
button.setImageResource(R.drawable.ic_action_hide);
|
button.setImageResource(R.drawable.ic_action_hide);
|
||||||
|
@ -195,6 +203,11 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
gpxFile != null ? R.color.gpx_color_point : R.color.color_favorite)));
|
gpxFile != null ? R.color.gpx_color_point : R.color.color_favorite)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
final RadioButton compoundButton = itemView.findViewById(R.id.compound_button);
|
||||||
|
final boolean isSelectedCategory = selectedCategory.equals(categoryName);
|
||||||
|
compoundButton.setChecked(isSelectedCategory);
|
||||||
|
UiUtilities.setupCompoundButton(nightMode, ContextCompat.getColor(app,
|
||||||
|
activeColorId), compoundButton);
|
||||||
String name = categoryName.length() == 0 ? getString(R.string.shared_string_favorites) : categoryName;
|
String name = categoryName.length() == 0 ? getString(R.string.shared_string_favorites) : categoryName;
|
||||||
TextView text = itemView.findViewById(R.id.title);
|
TextView text = itemView.findViewById(R.id.title);
|
||||||
TextView description = itemView.findViewById(R.id.description);
|
TextView description = itemView.findViewById(R.id.description);
|
||||||
|
@ -204,7 +217,6 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
FragmentActivity a = getActivity();
|
FragmentActivity a = getActivity();
|
||||||
compoundButton.setSelected(true);
|
|
||||||
if (a instanceof MapActivity) {
|
if (a instanceof MapActivity) {
|
||||||
PointEditor pointEditor = ((MapActivity) a).getContextMenu().getPointEditor(editorTag);
|
PointEditor pointEditor = ((MapActivity) a).getContextMenu().getPointEditor(editorTag);
|
||||||
if (pointEditor != null) {
|
if (pointEditor != null) {
|
||||||
|
@ -222,6 +234,7 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
||||||
|
|
||||||
public void restoreState(Bundle bundle) {
|
public void restoreState(Bundle bundle) {
|
||||||
editorTag = bundle.getString(KEY_CTX_SEL_CAT_EDITOR_TAG);
|
editorTag = bundle.getString(KEY_CTX_SEL_CAT_EDITOR_TAG);
|
||||||
|
selectedCategory = bundle.getString(KEY_CTX_SEL_CURRENT_CATEGORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface CategorySelectionListener {
|
public interface CategorySelectionListener {
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class WptPtEditorFragment extends PointEditorFragment {
|
||||||
protected DialogFragment createSelectCategoryDialog() {
|
protected DialogFragment createSelectCategoryDialog() {
|
||||||
WptPtEditor editor = getWptPtEditor();
|
WptPtEditor editor = getWptPtEditor();
|
||||||
if (editor != null) {
|
if (editor != null) {
|
||||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), "");
|
||||||
GPXFile gpx = editor.getGpxFile();
|
GPXFile gpx = editor.getGpxFile();
|
||||||
if (gpx != null) {
|
if (gpx != null) {
|
||||||
selectCategoryDialogFragment.setGpxFile(gpx);
|
selectCategoryDialogFragment.setGpxFile(gpx);
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class WptPtEditorFragmentNew extends PointEditorFragmentNew {
|
||||||
protected DialogFragment createSelectCategoryDialog() {
|
protected DialogFragment createSelectCategoryDialog() {
|
||||||
WptPtEditor editor = getWptPtEditor();
|
WptPtEditor editor = getWptPtEditor();
|
||||||
if (editor != null) {
|
if (editor != null) {
|
||||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), getSelectedCategory());
|
||||||
GPXFile gpx = editor.getGpxFile();
|
GPXFile gpx = editor.getGpxFile();
|
||||||
if (gpx != null) {
|
if (gpx != null) {
|
||||||
selectCategoryDialogFragment.setGpxFile(gpx);
|
selectCategoryDialogFragment.setGpxFile(gpx);
|
||||||
|
|
|
@ -176,7 +176,7 @@ public class FavoriteAction extends QuickAction {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(final View view) {
|
public void onClick(final View view) {
|
||||||
|
|
||||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("");
|
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("", "");
|
||||||
|
|
||||||
dialogFragment.show(
|
dialogFragment.show(
|
||||||
activity.getSupportFragmentManager(),
|
activity.getSupportFragmentManager(),
|
||||||
|
|
|
@ -120,7 +120,7 @@ public class GPXAction extends QuickAction {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(final View view) {
|
public void onClick(final View view) {
|
||||||
|
|
||||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("");
|
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("", "");
|
||||||
|
|
||||||
dialogFragment.show(
|
dialogFragment.show(
|
||||||
activity.getSupportFragmentManager(),
|
activity.getSupportFragmentManager(),
|
||||||
|
|
Loading…
Reference in a new issue