class GuidanceSpeedView extends BaseView {

    public void setCurrentSpeedData(@Nullable GuidanceSpeedData data) {
        populateUi(data);
        if (data == null || !data.isValid()) {
            mGuidanceSpeedData = data;
            return;
        }
        boolean refreshBackground = false;
        if (mGuidanceSpeedData == null || !mGuidanceSpeedData.isValid() ||
                data.isSpeeding() != mGuidanceSpeedData.isSpeeding()) {
            refreshBackground = true;
        }
        mGuidanceSpeedData = data;
        if (refreshBackground) {
            post(this::refreshDrawableState);
        }
    }

    public  GuidanceSpeedView(Context context);
    public  GuidanceSpeedView(Context context, @Nullable AttributeSet attrs);
    public  GuidanceSpeedView(Context context, @Nullable AttributeSet attrs, int defStyleAttr);
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public  GuidanceSpeedView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes);

}