package com.reactnativenavigation.params.parsers;
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import com.reactnativenavigation.params.AppStyle;
import com.reactnativenavigation.params.SnackbarParams;
import com.reactnativenavigation.params.StyleParams;
public class SnackbarParamsParser extends Parser {
public SnackbarParams parse(Bundle params) {
SnackbarParams result = new SnackbarParams();
result.text = params.getString("text");
result.textColor = getColor(params, "textColor", new StyleParams.Color(Color.WHITE));
result.buttonText = params.getString("actionText");
result.buttonColor = getColor(params, "actionColor", AppStyle.appStyle.snackbarButtonColor);
result.backgroundColor = getColor(params, "backgroundColor");
result.duration = getDuration(params.getString("duration", "short"));
result.eventId = params.getString("actionId");
return result;
}
private int getDuration(String duration) {
switch (duration) {
case "short":
return Snackbar.LENGTH_SHORT;
case "long":
return Snackbar.LENGTH_LONG;
case "indefinite":
return Snackbar.LENGTH_INDEFINITE;
default:
return Snackbar.LENGTH_SHORT;
}
}
}