core/src/main/java/org/hitogo/alert/core/AlertImpl.java
protected AlertImpl<T> create(final @NonNull HitogoContainer container, final @NonNull T params) {
        this.containerRef = new WeakReference<>(container);
        this.params = params;
        this.helper = getController().provideHelper();
        this.accessor = getController().provideAccessor();
        this.hashCode = helper.generateAlertHashCode(params);
        this.closeOthers = params.isClosingOthers();
        this.hasAnimation = params.hasAnimation();
        this.type = params.getType();
        this.tag = params.getTag();
        this.visibilityListeners = params.getVisibilityListener();
        this.state = params.getState() != null ? params.getState() : -1;

        if (getController().provideIsDebugState()) {
            onCheck(params);
        }

        for (VisibilityListener listener : visibilityListeners) {
            listener.onCreate(this);
        }

        onCreate(params);
        onCreate(getController(), params);

        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        switch (type) {
            case VIEW:
                view = onCreateView(inflater, getContext(), params);
                break;
            case DIALOG:
                dialog = onCreateDialog(inflater, getContext(), params);
                break;
            case POPUP:
                popup = onCreatePopup(inflater, getContext(), params);
                break;
            case OTHER:
                other = onCreateOther(inflater, getContext(), params);
        }
        return this;
    }
/**
     * Creates the alert and starts the internal lifecycle process. This method is only used by
     * the builder system internally.
     *
     * @param container Reference to the HitogoContainer which has been used to
     *                  create this object.
     * @param params    Reference to parameter holder class which is providing the builder values.
     * @return Created alert object which can be used to be displayed.
     * @see HitogoContainer
     * @see ViewAlertParams
     * @since 1.0.0
     */
Creates the alert and starts the internal lifecycle process. This method is only used by
the builder system internally.

@param container Reference to the HitogoContainer which has been used to
create this object.
@param params    Reference to parameter holder class which is providing the builder values.
@return Created alert object which can be used to be displayed.
Creates the alert and starts the internal lifecycle process . This method is only used by the builder system internally . @param container Reference to the HitogoContainer which has been used to create this object . @param params Reference to parameter holder class which is providing the builder values . @return Created alert object which can be used to be displayed .
protected AlertImpl<T> create(final @NonNull HitogoContainer container, final @NonNull T params) {
        this.containerRef = new WeakReference<>(container);
        this.params = params;
        this.helper = getController().provideHelper();
        this.accessor = getController().provideAccessor();
        this.hashCode = helper.generateAlertHashCode(params);
        this.closeOthers = params.isClosingOthers();
        this.hasAnimation = params.hasAnimation();
        this.type = params.getType();
        this.tag = params.getTag();
        this.visibilityListeners = params.getVisibilityListener();
        this.state = params.getState() != null ? params.getState() : -1;
        if (getController().provideIsDebugState()) {
            onCheck(params);
        }
        for (VisibilityListener listener : visibilityListeners) {
            listener.onCreate(this);
        }
        onCreate(params);
        onCreate(getController(), params);
        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        switch (type) {
            case VIEW:
                view = onCreateView(inflater, getContext(), params);
                break;
            case DIALOG:
                dialog = onCreateDialog(inflater, getContext(), params);
                break;
            case POPUP:
                popup = onCreatePopup(inflater, getContext(), params);
                break;
            case OTHER:
                other = onCreateOther(inflater, getContext(), params);
        }
        return this;
    }
protected AlertImpl < T > create ( final @ NonNull HitogoContainer container , final @ NonNull T params ) { this . containerRef = new WeakReference < > ( container ) ; this . params = params ; this . helper = getController ( ) . provideHelper ( ) ; this . accessor = getController ( ) . provideAccessor ( ) ; this . hashCode = helper . generateAlertHashCode ( params ) ; this . closeOthers = params . isClosingOthers ( ) ; this . hasAnimation = params . hasAnimation ( ) ; this . type = params . getType ( ) ; this . tag = params . getTag ( ) ; this . visibilityListeners = params . getVisibilityListener ( ) ; this . state = params . getState ( ) != null ? params . getState ( ) : - 1 ; if ( getController ( ) . provideIsDebugState ( ) ) { onCheck ( params ) ; } for ( VisibilityListener listener : visibilityListeners ) { listener . onCreate ( this ) ; } onCreate ( params ) ; onCreate ( getController ( ) , params ) ; LayoutInflater inflater = ( LayoutInflater ) getContext ( ) . getSystemService ( Context . LAYOUT_INFLATER_SERVICE ) ; switch ( type ) { case VIEW : view = onCreateView ( inflater , getContext ( ) , params ) ; break ; case DIALOG : dialog = onCreateDialog ( inflater , getContext ( ) , params ) ; break ; case POPUP : popup = onCreatePopup ( inflater , getContext ( ) , params ) ; break ; case OTHER : other = onCreateOther ( inflater , getContext ( ) , params ) ; } return this ; }
Creates the alert and starts the internal lifecycle process.
Creates the alert and starts the internal lifecycle process .