package com.reactnativenavigation.params.parsers;
import android.os.Bundle;
import com.reactnativenavigation.params.FabParams;
import com.reactnativenavigation.params.TitleBarButtonParams;
import com.reactnativenavigation.params.TitleBarLeftButtonParams;
import java.util.List;
public class ButtonParser extends Parser {
private static final String KEY_RIGHT_BUTTONS = "rightButtons";
private static final String KEY_LEFT_BUTTON = "leftButton";
private static final String KEY_FAB = "fab";
private static final String KEY_BACK_BUTTON_HIDDEN = "backButtonHidden";
public static List<TitleBarButtonParams> parseRightButton(Bundle params) {
List<TitleBarButtonParams> rightButtons = null;
if (hasKey(params, KEY_RIGHT_BUTTONS)) {
rightButtons = new TitleBarButtonParamsParser().parseButtons(params.getBundle(KEY_RIGHT_BUTTONS));
}
return rightButtons;
}
public static TitleBarLeftButtonParams parseLeftButton(Bundle params) {
TitleBarLeftButtonParams leftButton = null;
if (hasKey(params, KEY_LEFT_BUTTON)) {
leftButton = new TitleBarLeftButtonParamsParser().parseSingleButton(params.getBundle(KEY_LEFT_BUTTON));
boolean backButtonHidden = params.getBoolean(KEY_BACK_BUTTON_HIDDEN, false);
if (backButtonHidden && leftButton.isBackButton()) {
leftButton = null;
}
}
return leftButton;
}
public static FabParams parseFab(Bundle params, String navigatorEventId, String screenInstanceId) {
FabParams fabParams = null;
if (hasKey(params, KEY_FAB)) {
fabParams = new FabParamsParser().parse(params.getBundle(KEY_FAB), navigatorEventId, screenInstanceId);
}
return fabParams;
}
}