package com.reactnativenavigation.params.parsers; import android.os.Bundle; import com.reactnativenavigation.params.FabActionParams; import com.reactnativenavigation.params.FabParams; import com.reactnativenavigation.params.StyleParams; import com.reactnativenavigation.react.ImageLoader; public class FabParamsParser extends Parser { public FabParams parse(Bundle params, final String navigatorEventId, String screenInstanceId) { FabParams fabParams = new FabParams(); fabParams.collapsedId = params.getString("collapsedId"); fabParams.expendedId = params.getString("expendedId"); fabParams.navigatorEventId = navigatorEventId; fabParams.screenInstanceId = screenInstanceId; fabParams.backgroundColor = getColor(params, "backgroundColor", new StyleParams.Color()); if (hasKey(params, "collapsedIcon")) { fabParams.collapsedIcon = ImageLoader.loadImage(params.getString("collapsedIcon")); } if (hasKey(params, "expendedIcon")) { fabParams.expendedIcon = ImageLoader.loadImage(params.getString("expendedIcon")); } if (hasKey(params, "actions")) { fabParams.actions = parseBundle(params.getBundle("actions"), new ParseStrategy<FabActionParams>() { @Override public FabActionParams parse(Bundle params) { return new FabActionParamsParser().parse(params, navigatorEventId); } }); } return fabParams; } }