mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-14 16:14:23 +00:00
[android] New layers icons
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
This commit is contained in:
@@ -13,9 +13,7 @@ import app.organicmaps.util.ThemeUtils;
|
||||
public class LayerBottomSheetItem
|
||||
{
|
||||
@DrawableRes
|
||||
private final int mEnabledStateDrawableResId;
|
||||
@DrawableRes
|
||||
private final int mDisabledStateDrawableResId;
|
||||
private final int mDrawableResId;
|
||||
@StringRes
|
||||
private final int mTitleResId;
|
||||
@NonNull
|
||||
@@ -23,12 +21,10 @@ public class LayerBottomSheetItem
|
||||
@NonNull
|
||||
private final OnItemClickListener<LayerBottomSheetItem> mItemClickListener;
|
||||
|
||||
LayerBottomSheetItem(@DrawableRes int enabledStateDrawableResId, @DrawableRes int disabledStateDrawableResId,
|
||||
@StringRes int titleResId, @NonNull Mode mode,
|
||||
LayerBottomSheetItem(@DrawableRes int drawableResId, @StringRes int titleResId, @NonNull Mode mode,
|
||||
@NonNull OnItemClickListener<LayerBottomSheetItem> itemClickListener)
|
||||
{
|
||||
mEnabledStateDrawableResId = enabledStateDrawableResId;
|
||||
mDisabledStateDrawableResId = disabledStateDrawableResId;
|
||||
mDrawableResId = drawableResId;
|
||||
mTitleResId = titleResId;
|
||||
mMode = mode;
|
||||
mItemClickListener = itemClickListener;
|
||||
@@ -37,35 +33,32 @@ public class LayerBottomSheetItem
|
||||
public static LayerBottomSheetItem create(@NonNull Context mContext, Mode mode,
|
||||
@NonNull OnItemClickListener<LayerBottomSheetItem> layerItemClickListener)
|
||||
{
|
||||
int disabledResource = 0;
|
||||
int enabledResource = 0;
|
||||
@AttrRes
|
||||
int drawableRes = 0;
|
||||
@StringRes
|
||||
int buttonTextResource = R.string.layers_title;
|
||||
switch (mode)
|
||||
{
|
||||
case OUTDOORS:
|
||||
disabledResource = R.attr.outdoorsMenuDisabled;
|
||||
enabledResource = R.attr.outdoorsMenuEnabled;
|
||||
drawableRes = R.attr.outdoorsMenuIcon;
|
||||
buttonTextResource = R.string.button_layer_outdoor;
|
||||
break;
|
||||
case SUBWAY:
|
||||
disabledResource = R.attr.subwayMenuDisabled;
|
||||
enabledResource = R.attr.subwayMenuEnabled;
|
||||
buttonTextResource = R.string.subway;
|
||||
drawableRes = R.attr.subwayMenuIcon;
|
||||
buttonTextResource = R.string.button_layer_subway;
|
||||
break;
|
||||
case ISOLINES:
|
||||
disabledResource = R.attr.isoLinesMenuDisabled;
|
||||
enabledResource = R.attr.isoLinesMenuEnabled;
|
||||
drawableRes = R.attr.isolinesMenuIcon;
|
||||
buttonTextResource = R.string.button_layer_isolines;
|
||||
break;
|
||||
case TRAFFIC:
|
||||
disabledResource = R.attr.trafficMenuDisabled;
|
||||
enabledResource = R.attr.trafficMenuEnabled;
|
||||
drawableRes = R.attr.trafficMenuIcon;
|
||||
buttonTextResource = R.string.button_layer_traffic;
|
||||
break;
|
||||
}
|
||||
int disabled = ThemeUtils.getResource(mContext, disabledResource);
|
||||
int enabled = ThemeUtils.getResource(mContext, enabledResource);
|
||||
return new LayerBottomSheetItem(enabled, disabled, buttonTextResource, mode, layerItemClickListener);
|
||||
@DrawableRes
|
||||
final int drawableResId = ThemeUtils.getResource(mContext, drawableRes);
|
||||
return new LayerBottomSheetItem(drawableResId, buttonTextResource, mode, layerItemClickListener);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -75,15 +68,9 @@ public class LayerBottomSheetItem
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
public int getEnabledStateDrawable()
|
||||
public int getDrawable()
|
||||
{
|
||||
return mEnabledStateDrawableResId;
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
public int getDisabledStateDrawable()
|
||||
{
|
||||
return mDisabledStateDrawableResId;
|
||||
return mDrawableResId;
|
||||
}
|
||||
|
||||
@StringRes
|
||||
|
||||
@@ -45,7 +45,8 @@ public class LayersAdapter extends RecyclerView.Adapter<LayerHolder>
|
||||
holder.mTitle.setText(item.getTitle());
|
||||
boolean isNewLayer = SharedPropertiesUtils.shouldShowNewMarkerForLayerMode(item.getMode());
|
||||
UiUtils.showIf(isNewLayer, holder.mNewMarker);
|
||||
holder.mButton.setImageResource(isEnabled ? item.getEnabledStateDrawable() : item.getDisabledStateDrawable());
|
||||
holder.mButton.setBackgroundResource(item.getDrawable());
|
||||
holder.mButton.setActivated(isEnabled);
|
||||
holder.mListener = item::onClick;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user