1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
package com.mapswithme.maps.maplayer;
import android.content.Context;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import com.mapswithme.maps.R;
import com.mapswithme.util.ThemeUtils;
public abstract class BottomSheetItem
{
@DrawableRes
private final int mEnabledStateDrawableResId;
@DrawableRes
private final int mDisabledStateDrawableResId;
@StringRes
private final int mTitleResId;
@NonNull
private final Mode mMode;
BottomSheetItem(@DrawableRes int enabledStateDrawableResId,
@DrawableRes int disabledStateDrawableResId,
@StringRes int titleResId,
@NonNull Mode mode)
{
mEnabledStateDrawableResId = enabledStateDrawableResId;
mDisabledStateDrawableResId = disabledStateDrawableResId;
mTitleResId = titleResId;
mMode = mode;
}
@NonNull
public Mode getMode()
{
return mMode;
}
@DrawableRes
public int getEnabledStateDrawable()
{
return mEnabledStateDrawableResId;
}
@DrawableRes
public int getDisabledStateDrawable()
{
return mDisabledStateDrawableResId;
}
@StringRes
public int getTitle()
{
return mTitleResId;
}
public static class Subway extends BottomSheetItem
{
private Subway(int drawableResId, int disabledStateDrawableResId)
{
super(drawableResId, disabledStateDrawableResId, R.string.button_layer_subway, Mode.SUBWAY);
}
public static BottomSheetItem makeInstance(@NonNull Context mContext)
{
int disabled = ThemeUtils.getResource(mContext, R.attr.subwayMenuDisabled);
return new Subway(R.drawable.ic_subway_menu_on, disabled);
}
}
public static class Traffic extends BottomSheetItem
{
private Traffic(int drawableResId, int disabledStateDrawableResId)
{
super(drawableResId, disabledStateDrawableResId, R.string.button_layer_traffic, Mode.TRAFFIC);
}
public static BottomSheetItem makeInstance(@NonNull Context mContext)
{
int disabled = ThemeUtils.getResource(mContext, R.attr.trafficMenuDisabled);
return new Traffic(R.drawable.ic_traffic_menu_on, disabled);
}
}
}
|