// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;

public final class SentryFeedbackOptions
{
    private boolean isNameRequired;
    private boolean showName;
    private boolean isEmailRequired;
    private boolean showEmail;
    private boolean useSentryUser;
    private boolean showBranding;
    @NotNull
    private CharSequence formTitle;
    @NotNull
    private CharSequence submitButtonLabel;
    @NotNull
    private CharSequence cancelButtonLabel;
    @NotNull
    private CharSequence nameLabel;
    @NotNull
    private CharSequence namePlaceholder;
    @NotNull
    private CharSequence emailLabel;
    @NotNull
    private CharSequence emailPlaceholder;
    @NotNull
    private CharSequence isRequiredLabel;
    @NotNull
    private CharSequence messageLabel;
    @NotNull
    private CharSequence messagePlaceholder;
    @NotNull
    private CharSequence successMessageText;
    @Nullable
    private Runnable onFormOpen;
    @Nullable
    private Runnable onFormClose;
    @Nullable
    private SentryFeedbackCallback onSubmitSuccess;
    @Nullable
    private SentryFeedbackCallback onSubmitError;
    @NotNull
    private IDialogHandler iDialogHandler;
    
    public SentryFeedbackOptions(@NotNull final IDialogHandler iDialogHandler) {
        this.isNameRequired = false;
        this.showName = true;
        this.isEmailRequired = false;
        this.showEmail = true;
        this.useSentryUser = true;
        this.showBranding = true;
        this.formTitle = "Report a Bug";
        this.submitButtonLabel = "Send Bug Report";
        this.cancelButtonLabel = "Cancel";
        this.nameLabel = "Name";
        this.namePlaceholder = "Your Name";
        this.emailLabel = "Email";
        this.emailPlaceholder = "your.email@example.org";
        this.isRequiredLabel = " (Required)";
        this.messageLabel = "Description";
        this.messagePlaceholder = "What's the bug? What did you expect?";
        this.successMessageText = "Thank you for your report!";
        this.iDialogHandler = iDialogHandler;
    }
    
    public SentryFeedbackOptions(@NotNull final SentryFeedbackOptions other) {
        this.isNameRequired = false;
        this.showName = true;
        this.isEmailRequired = false;
        this.showEmail = true;
        this.useSentryUser = true;
        this.showBranding = true;
        this.formTitle = "Report a Bug";
        this.submitButtonLabel = "Send Bug Report";
        this.cancelButtonLabel = "Cancel";
        this.nameLabel = "Name";
        this.namePlaceholder = "Your Name";
        this.emailLabel = "Email";
        this.emailPlaceholder = "your.email@example.org";
        this.isRequiredLabel = " (Required)";
        this.messageLabel = "Description";
        this.messagePlaceholder = "What's the bug? What did you expect?";
        this.successMessageText = "Thank you for your report!";
        this.isNameRequired = other.isNameRequired;
        this.showName = other.showName;
        this.isEmailRequired = other.isEmailRequired;
        this.showEmail = other.showEmail;
        this.useSentryUser = other.useSentryUser;
        this.showBranding = other.showBranding;
        this.formTitle = other.formTitle;
        this.submitButtonLabel = other.submitButtonLabel;
        this.cancelButtonLabel = other.cancelButtonLabel;
        this.nameLabel = other.nameLabel;
        this.namePlaceholder = other.namePlaceholder;
        this.emailLabel = other.emailLabel;
        this.emailPlaceholder = other.emailPlaceholder;
        this.isRequiredLabel = other.isRequiredLabel;
        this.messageLabel = other.messageLabel;
        this.messagePlaceholder = other.messagePlaceholder;
        this.successMessageText = other.successMessageText;
        this.onFormOpen = other.onFormOpen;
        this.onFormClose = other.onFormClose;
        this.onSubmitSuccess = other.onSubmitSuccess;
        this.onSubmitError = other.onSubmitError;
        this.iDialogHandler = other.iDialogHandler;
    }
    
    public boolean isNameRequired() {
        return this.isNameRequired;
    }
    
    public void setNameRequired(final boolean isNameRequired) {
        this.isNameRequired = isNameRequired;
    }
    
    public boolean isShowName() {
        return this.showName;
    }
    
    public void setShowName(final boolean showName) {
        this.showName = showName;
    }
    
    public boolean isEmailRequired() {
        return this.isEmailRequired;
    }
    
    public void setEmailRequired(final boolean isEmailRequired) {
        this.isEmailRequired = isEmailRequired;
    }
    
    public boolean isShowEmail() {
        return this.showEmail;
    }
    
    public void setShowEmail(final boolean showEmail) {
        this.showEmail = showEmail;
    }
    
    public boolean isUseSentryUser() {
        return this.useSentryUser;
    }
    
    public void setUseSentryUser(final boolean useSentryUser) {
        this.useSentryUser = useSentryUser;
    }
    
    public boolean isShowBranding() {
        return this.showBranding;
    }
    
    public void setShowBranding(final boolean showBranding) {
        this.showBranding = showBranding;
    }
    
    @NotNull
    public CharSequence getFormTitle() {
        return this.formTitle;
    }
    
    public void setFormTitle(@NotNull final CharSequence formTitle) {
        this.formTitle = formTitle;
    }
    
    @NotNull
    public CharSequence getSubmitButtonLabel() {
        return this.submitButtonLabel;
    }
    
    public void setSubmitButtonLabel(@NotNull final CharSequence submitButtonLabel) {
        this.submitButtonLabel = submitButtonLabel;
    }
    
    @NotNull
    public CharSequence getCancelButtonLabel() {
        return this.cancelButtonLabel;
    }
    
    public void setCancelButtonLabel(@NotNull final CharSequence cancelButtonLabel) {
        this.cancelButtonLabel = cancelButtonLabel;
    }
    
    @NotNull
    public CharSequence getNameLabel() {
        return this.nameLabel;
    }
    
    public void setNameLabel(@NotNull final CharSequence nameLabel) {
        this.nameLabel = nameLabel;
    }
    
    @NotNull
    public CharSequence getNamePlaceholder() {
        return this.namePlaceholder;
    }
    
    public void setNamePlaceholder(@NotNull final CharSequence namePlaceholder) {
        this.namePlaceholder = namePlaceholder;
    }
    
    @NotNull
    public CharSequence getEmailLabel() {
        return this.emailLabel;
    }
    
    public void setEmailLabel(@NotNull final CharSequence emailLabel) {
        this.emailLabel = emailLabel;
    }
    
    @NotNull
    public CharSequence getEmailPlaceholder() {
        return this.emailPlaceholder;
    }
    
    public void setEmailPlaceholder(@NotNull final CharSequence emailPlaceholder) {
        this.emailPlaceholder = emailPlaceholder;
    }
    
    @NotNull
    public CharSequence getIsRequiredLabel() {
        return this.isRequiredLabel;
    }
    
    public void setIsRequiredLabel(@NotNull final CharSequence isRequiredLabel) {
        this.isRequiredLabel = isRequiredLabel;
    }
    
    @NotNull
    public CharSequence getMessageLabel() {
        return this.messageLabel;
    }
    
    public void setMessageLabel(@NotNull final CharSequence messageLabel) {
        this.messageLabel = messageLabel;
    }
    
    @NotNull
    public CharSequence getMessagePlaceholder() {
        return this.messagePlaceholder;
    }
    
    public void setMessagePlaceholder(@NotNull final CharSequence messagePlaceholder) {
        this.messagePlaceholder = messagePlaceholder;
    }
    
    @NotNull
    public CharSequence getSuccessMessageText() {
        return this.successMessageText;
    }
    
    public void setSuccessMessageText(@NotNull final CharSequence successMessageText) {
        this.successMessageText = successMessageText;
    }
    
    @Nullable
    public Runnable getOnFormOpen() {
        return this.onFormOpen;
    }
    
    public void setOnFormOpen(@Nullable final Runnable onFormOpen) {
        this.onFormOpen = onFormOpen;
    }
    
    @Nullable
    public Runnable getOnFormClose() {
        return this.onFormClose;
    }
    
    public void setOnFormClose(@Nullable final Runnable onFormClose) {
        this.onFormClose = onFormClose;
    }
    
    @Nullable
    public SentryFeedbackCallback getOnSubmitSuccess() {
        return this.onSubmitSuccess;
    }
    
    public void setOnSubmitSuccess(@Nullable final SentryFeedbackCallback onSubmitSuccess) {
        this.onSubmitSuccess = onSubmitSuccess;
    }
    
    @Nullable
    public SentryFeedbackCallback getOnSubmitError() {
        return this.onSubmitError;
    }
    
    public void setOnSubmitError(@Nullable final SentryFeedbackCallback onSubmitError) {
        this.onSubmitError = onSubmitError;
    }
    
    @ApiStatus.Internal
    public void setDialogHandler(@NotNull final IDialogHandler iDialogHandler) {
        this.iDialogHandler = iDialogHandler;
    }
    
    @ApiStatus.Internal
    @NotNull
    public IDialogHandler getDialogHandler() {
        return this.iDialogHandler;
    }
    
    @Override
    public String toString() {
        return "SentryFeedbackOptions{isNameRequired=" + this.isNameRequired + ", showName=" + this.showName + ", isEmailRequired=" + this.isEmailRequired + ", showEmail=" + this.showEmail + ", useSentryUser=" + this.useSentryUser + ", showBranding=" + this.showBranding + ", formTitle='" + (Object)this.formTitle + '\'' + ", submitButtonLabel='" + (Object)this.submitButtonLabel + '\'' + ", cancelButtonLabel='" + (Object)this.cancelButtonLabel + '\'' + ", nameLabel='" + (Object)this.nameLabel + '\'' + ", namePlaceholder='" + (Object)this.namePlaceholder + '\'' + ", emailLabel='" + (Object)this.emailLabel + '\'' + ", emailPlaceholder='" + (Object)this.emailPlaceholder + '\'' + ", isRequiredLabel='" + (Object)this.isRequiredLabel + '\'' + ", messageLabel='" + (Object)this.messageLabel + '\'' + ", messagePlaceholder='" + (Object)this.messagePlaceholder + '\'' + '}';
    }
    
    @ApiStatus.Internal
    public interface IDialogHandler
    {
        void showDialog(@Nullable final SentryId p0, @Nullable final OptionsConfigurator p1);
    }
    
    public interface OptionsConfigurator
    {
        void configure(@NotNull final SentryFeedbackOptions p0);
    }
    
    public interface SentryFeedbackCallback
    {
        void call(@NotNull final Feedback p0);
    }
}
