Welcome to mirror list, hosted at ThFree Co, Russian Federation.

RoutingToolbarButton.java « widget « maps « mapswithme « com « src « android - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c5eb96d6a405dc555fe3524fbac5203b179cbe62 (plain)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package com.mapswithme.maps.widget;

import android.content.Context;
import android.os.Build;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.v7.widget.AppCompatRadioButton;
import android.util.AttributeSet;

import com.mapswithme.maps.R;
import com.mapswithme.util.ThemeUtils;

public class RoutingToolbarButton extends AppCompatRadioButton
{
  private boolean mInProgress;
  @DrawableRes
  private int mIcon;

  public RoutingToolbarButton(Context context, AttributeSet attrs, int defStyleAttr)
  {
    super(context, attrs, defStyleAttr);
    initView();
  }

  public RoutingToolbarButton(Context context, AttributeSet attrs)
  {
    super(context, attrs);
    initView();
  }

  public RoutingToolbarButton(Context context)
  {
    super(context);
    initView();
  }

  private void initView()
  {
    setBackgroundResource(ThemeUtils.isNightTheme() ? R.drawable.routing_toolbar_button_night
                                                    : R.drawable.routing_toolbar_button);
    setButtonTintList(ThemeUtils.isNightTheme() ? R.color.routing_toolbar_icon_tint_night
                                                : R.color.routing_toolbar_icon_tint);
  }

  public void progress()
  {
    if (mInProgress)
      return;

    setButtonDrawable(mIcon);
    mInProgress = true;
    setActivated(false);
    setSelected(true);
  }

  public void error()
  {
    mInProgress = false;
    setSelected(false);
    setButtonDrawable(R.drawable.ic_routing_error);
    setActivated(true);
  }

  public void activate()
  {
    if (!mInProgress)
    {
      setButtonDrawable(mIcon);
      setSelected(false);
      setActivated(true);
    }
  }

  public void complete()
  {
    mInProgress = false;
    activate();
  }

  public void deactivate()
  {
    setActivated(false);
    mInProgress = false;
  }

  public void setButtonTintList(@ColorRes int color)
  {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
      setSupportButtonTintList(getResources().getColorStateList(color));
    else
      setButtonTintList(getResources().getColorStateList(color));
  }

  public void setIcon(@DrawableRes int icon)
  {
    mIcon = icon;
    setButtonDrawable(icon);
  }
}