diff --git a/android/app/src/main/java/app/organicmaps/maplayer/LayerBottomSheetItem.java b/android/app/src/main/java/app/organicmaps/maplayer/LayerBottomSheetItem.java index a8b06d26c..3aa543822 100644 --- a/android/app/src/main/java/app/organicmaps/maplayer/LayerBottomSheetItem.java +++ b/android/app/src/main/java/app/organicmaps/maplayer/LayerBottomSheetItem.java @@ -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 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 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 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 diff --git a/android/app/src/main/java/app/organicmaps/maplayer/LayersAdapter.java b/android/app/src/main/java/app/organicmaps/maplayer/LayersAdapter.java index fc8021cc7..e54c40482 100644 --- a/android/app/src/main/java/app/organicmaps/maplayer/LayersAdapter.java +++ b/android/app/src/main/java/app/organicmaps/maplayer/LayersAdapter.java @@ -45,7 +45,8 @@ public class LayersAdapter extends RecyclerView.Adapter 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; } diff --git a/android/app/src/main/res/drawable/ic_layers_isoline_active.xml b/android/app/src/main/res/drawable/ic_layers_isoline_active.xml deleted file mode 100644 index a55d34c1b..000000000 --- a/android/app/src/main/res/drawable/ic_layers_isoline_active.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_isoline_dark.xml b/android/app/src/main/res/drawable/ic_layers_isoline_dark.xml new file mode 100644 index 000000000..305cca79c --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_isoline_dark.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_isoline_inactive.xml b/android/app/src/main/res/drawable/ic_layers_isoline_inactive.xml deleted file mode 100644 index 1b5467333..000000000 --- a/android/app/src/main/res/drawable/ic_layers_isoline_inactive.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_isoline_light.xml b/android/app/src/main/res/drawable/ic_layers_isoline_light.xml new file mode 100644 index 000000000..cf6508078 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_isoline_light.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_outdoors_active.xml b/android/app/src/main/res/drawable/ic_layers_outdoors_active.xml deleted file mode 100644 index ff0868415..000000000 --- a/android/app/src/main/res/drawable/ic_layers_outdoors_active.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_outdoors_dark.xml b/android/app/src/main/res/drawable/ic_layers_outdoors_dark.xml new file mode 100644 index 000000000..5458c3d51 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_outdoors_dark.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_outdoors_inactive.xml b/android/app/src/main/res/drawable/ic_layers_outdoors_inactive.xml deleted file mode 100644 index 952bf0824..000000000 --- a/android/app/src/main/res/drawable/ic_layers_outdoors_inactive.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_outdoors_light.xml b/android/app/src/main/res/drawable/ic_layers_outdoors_light.xml new file mode 100644 index 000000000..d90788471 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_outdoors_light.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_outline_selector.xml b/android/app/src/main/res/drawable/ic_layers_outline_selector.xml new file mode 100644 index 000000000..514f02497 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_outline_selector.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_subway_active.xml b/android/app/src/main/res/drawable/ic_layers_subway_active.xml deleted file mode 100644 index fbbf1f007..000000000 --- a/android/app/src/main/res/drawable/ic_layers_subway_active.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_subway_dark.xml b/android/app/src/main/res/drawable/ic_layers_subway_dark.xml new file mode 100644 index 000000000..d607f1297 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_subway_dark.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_layers_subway_inactive.xml b/android/app/src/main/res/drawable/ic_layers_subway_inactive.xml deleted file mode 100644 index 2a6ef02d4..000000000 --- a/android/app/src/main/res/drawable/ic_layers_subway_inactive.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - diff --git a/android/app/src/main/res/drawable/ic_layers_subway_light.xml b/android/app/src/main/res/drawable/ic_layers_subway_light.xml new file mode 100644 index 000000000..a36a2c4eb --- /dev/null +++ b/android/app/src/main/res/drawable/ic_layers_subway_light.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + diff --git a/android/app/src/main/res/layout/item_layer.xml b/android/app/src/main/res/layout/item_layer.xml index 459844931..376f4b340 100644 --- a/android/app/src/main/res/layout/item_layer.xml +++ b/android/app/src/main/res/layout/item_layer.xml @@ -20,7 +20,8 @@ android:background="@null" android:minWidth="@dimen/margin_double_plus" android:minHeight="@dimen/margin_double_plus" - tools:background="?attr/subwayMenuDisabled" /> + android:src="@drawable/ic_layers_outline_selector" + tools:background="?attr/subwayMenuIcon" /> - - - - - - - -