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:paddingEnd="@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
|
||||
android:id="@+id/name_edit_text"
|
||||
|
|
|
@ -57,8 +57,10 @@ public class SearchHistoryHelper {
|
|||
}
|
||||
|
||||
public void addNewItemToHistory(GPXInfo gpxInfo) {
|
||||
if(gpxInfo != null) {
|
||||
addNewItemToHistory(new HistoryEntry(0, 0, createPointDescription(gpxInfo)));
|
||||
}
|
||||
}
|
||||
|
||||
public List<HistoryEntry> getHistoryEntries(boolean onlyPoints) {
|
||||
if (loadedEntries == null) {
|
||||
|
|
|
@ -169,7 +169,6 @@ public class AddNewFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
|
||||
view = UiUtilities.getInflater(app, nightMode).inflate(R.layout.add_new_favorite_category, null);
|
||||
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));
|
||||
ColorStateList colorStateList = ColorStateList.valueOf(ContextCompat
|
||||
.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();
|
||||
AndroidUtils.softKeyboardDelayed(getActivity(), editText);
|
||||
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
||||
nameTextBox.setBoxStrokeColorStateList(ColorStateList.valueOf(selectedColor));
|
||||
|
||||
BaseBottomSheetItem editFolderName = new BaseBottomSheetItem.Builder()
|
||||
.setCustomView(view)
|
||||
|
@ -200,7 +198,6 @@ public class AddNewFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
((TextView) view.findViewById(R.id.color_name)).setText(ColorDialogs.getColorName(color));
|
||||
selectedColor = color;
|
||||
nameTextBox.setStartIconTintList(ColorStateList.valueOf(selectedColor));
|
||||
nameTextBox.setBoxStrokeColorStateList(ColorStateList.valueOf(selectedColor));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -32,7 +32,6 @@ import net.osmand.plus.R;
|
|||
import net.osmand.plus.UiUtilities;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.base.BaseOsmAndFragment;
|
||||
import net.osmand.plus.base.BottomSheetDialogFragment;
|
||||
import net.osmand.plus.widgets.AutoCompleteTextViewEx;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
|
@ -182,7 +181,7 @@ public abstract class PointEditorFragment extends BaseOsmAndFragment {
|
|||
protected DialogFragment createSelectCategoryDialog() {
|
||||
PointEditor editor = getEditor();
|
||||
if (editor != null) {
|
||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), "getSelectedCategory()");
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -739,12 +739,19 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment implemen
|
|||
protected DialogFragment createSelectCategoryDialog() {
|
||||
PointEditor editor = getEditor();
|
||||
if (editor != null) {
|
||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
||||
return SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), getSelectedCategory());
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getSelectedCategory() {
|
||||
if (groupListAdapter != null && groupListAdapter.getSelectedItem() != null) {
|
||||
return groupListAdapter.getSelectedItem();
|
||||
}
|
||||
return getCategoryInitValue();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected AddNewFavoriteCategoryBottomSheet createAddCategoryDialog() {
|
||||
PointEditor editor = getEditor();
|
||||
|
|
|
@ -23,7 +23,7 @@ public class RtePtEditorFragment extends WptPtEditorFragment {
|
|||
@Override
|
||||
protected DialogFragment createSelectCategoryDialog() {
|
||||
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) {
|
||||
|
|
|
@ -43,7 +43,9 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
|
||||
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_CURRENT_CATEGORY = "key_ctx_sel_current_category";
|
||||
private static String editorTag;
|
||||
private static String selectedCategory;
|
||||
private OsmandApplication app;
|
||||
private GPXUtilities.GPXFile gpxFile;
|
||||
private Map<String, Integer> gpxCategories;
|
||||
|
@ -60,10 +62,11 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
return drawable;
|
||||
}
|
||||
|
||||
public static SelectFavoriteCategoryBottomSheet createInstance(String editorTag) {
|
||||
public static SelectFavoriteCategoryBottomSheet createInstance(String editorTag, String selectedCategory) {
|
||||
SelectFavoriteCategoryBottomSheet fragment = new SelectFavoriteCategoryBottomSheet();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(KEY_CTX_SEL_CAT_EDITOR_TAG, editorTag);
|
||||
bundle.putString(KEY_CTX_SEL_CURRENT_CATEGORY, selectedCategory);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.setRetainInstance(true);
|
||||
return fragment;
|
||||
|
@ -94,6 +97,12 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
restoreState(getArguments());
|
||||
}
|
||||
|
||||
if (selectedCategory == null) {
|
||||
restoreState(savedInstanceState);
|
||||
} else if (getArguments() != null) {
|
||||
restoreState(getArguments());
|
||||
}
|
||||
|
||||
BaseBottomSheetItem titleItem = new BottomSheetItemWithDescription.Builder()
|
||||
.setDescription(getString(R.string.select_category_descr))
|
||||
.setTitle(getString(R.string.favorite_category_select))
|
||||
|
@ -144,9 +153,13 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
if (gpxFile != null) {
|
||||
if (gpxCategories != null) {
|
||||
for (Map.Entry<String, Integer> e : gpxCategories.entrySet()) {
|
||||
String categoryName = e.getKey();
|
||||
String favoriteCategoryCount = String.valueOf(e.getKey().length());
|
||||
favoriteCategoryContainer.addView(createCategoryItem(activity, nightMode, categoryName, e.getValue(), favoriteCategoryCount, false));
|
||||
String favoriteCategoryCount;
|
||||
if (Algorithms.isEmpty(gpxFile.getPointsByCategories().get(e.getKey()))) {
|
||||
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 {
|
||||
|
@ -177,13 +190,8 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
View divider = itemView.findViewById(R.id.divider_bottom);
|
||||
divider.setVisibility(View.GONE);
|
||||
itemView.setPadding(0, 0, 0, 0);
|
||||
final RadioButton compoundButton = itemView.findViewById(R.id.compound_button);
|
||||
int activeColorId = nightMode ?
|
||||
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) {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
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;
|
||||
TextView text = itemView.findViewById(R.id.title);
|
||||
TextView description = itemView.findViewById(R.id.description);
|
||||
|
@ -204,7 +217,6 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
FragmentActivity a = getActivity();
|
||||
compoundButton.setSelected(true);
|
||||
if (a instanceof MapActivity) {
|
||||
PointEditor pointEditor = ((MapActivity) a).getContextMenu().getPointEditor(editorTag);
|
||||
if (pointEditor != null) {
|
||||
|
@ -222,6 +234,7 @@ public class SelectFavoriteCategoryBottomSheet extends MenuBottomSheetDialogFrag
|
|||
|
||||
public void restoreState(Bundle bundle) {
|
||||
editorTag = bundle.getString(KEY_CTX_SEL_CAT_EDITOR_TAG);
|
||||
selectedCategory = bundle.getString(KEY_CTX_SEL_CURRENT_CATEGORY);
|
||||
}
|
||||
|
||||
public interface CategorySelectionListener {
|
||||
|
|
|
@ -67,7 +67,7 @@ public class WptPtEditorFragment extends PointEditorFragment {
|
|||
protected DialogFragment createSelectCategoryDialog() {
|
||||
WptPtEditor editor = getWptPtEditor();
|
||||
if (editor != null) {
|
||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), "");
|
||||
GPXFile gpx = editor.getGpxFile();
|
||||
if (gpx != null) {
|
||||
selectCategoryDialogFragment.setGpxFile(gpx);
|
||||
|
|
|
@ -81,7 +81,7 @@ public class WptPtEditorFragmentNew extends PointEditorFragmentNew {
|
|||
protected DialogFragment createSelectCategoryDialog() {
|
||||
WptPtEditor editor = getWptPtEditor();
|
||||
if (editor != null) {
|
||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag());
|
||||
SelectFavoriteCategoryBottomSheet selectCategoryDialogFragment = SelectFavoriteCategoryBottomSheet.createInstance(editor.getFragmentTag(), getSelectedCategory());
|
||||
GPXFile gpx = editor.getGpxFile();
|
||||
if (gpx != null) {
|
||||
selectCategoryDialogFragment.setGpxFile(gpx);
|
||||
|
|
|
@ -176,7 +176,7 @@ public class FavoriteAction extends QuickAction {
|
|||
@Override
|
||||
public void onClick(final View view) {
|
||||
|
||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("");
|
||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("", "");
|
||||
|
||||
dialogFragment.show(
|
||||
activity.getSupportFragmentManager(),
|
||||
|
|
|
@ -120,7 +120,7 @@ public class GPXAction extends QuickAction {
|
|||
@Override
|
||||
public void onClick(final View view) {
|
||||
|
||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("");
|
||||
SelectFavoriteCategoryBottomSheet dialogFragment = SelectFavoriteCategoryBottomSheet.createInstance("", "");
|
||||
|
||||
dialogFragment.show(
|
||||
activity.getSupportFragmentManager(),
|
||||
|
|
Loading…
Reference in a new issue