Android Open Source - baracus-framework Error View






From Project

Back to project page baracus-framework.

License

The source code is released under:

Apache License

If you think the Android project baracus-framework listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.mantucon.baracus.ui;
/*from   ww w. j  a va  2 s. c  om*/
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import net.mantucon.baracus.context.BaracusApplicationContext;
import net.mantucon.baracus.errorhandling.CustomErrorHandler;
import net.mantucon.baracus.errorhandling.ErrorSeverity;
import net.mantucon.baracus.util.Logger;

/**
 * Created with IntelliJ IDEA.
 * User: marcus
 * Date: 20.09.13
 * Time: 07:54
 * To change this template use File | Settings | File Templates.
 */
public class ErrorView extends TextView implements CustomErrorHandler {

    private int displayMessageFor;
    private boolean highlightTarget;
    private int originalColour;

    public ErrorView(Context context) {
        super(context);
        BaracusApplicationContext.registerCustomErrorHandler(this);
    }

    public ErrorView(Context context, AttributeSet attrs) {
        super(context, attrs);
        parseAttribs(attrs);
        BaracusApplicationContext.registerCustomErrorHandler(this);
    }

    public ErrorView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        parseAttribs(attrs);
        BaracusApplicationContext.registerCustomErrorHandler(this);
    }

    private void parseAttribs(AttributeSet attributeSet) {

        Logger log = new Logger(this.getClass());
        log.info("---------------------------------");
        for (int i = 0; i < attributeSet.getAttributeCount(); ++i) {
            log.info("$1 -> $2 -> $3", attributeSet.getAttributeName(i), attributeSet.getAttributeValue(i), attributeSet.getPositionDescription());
            if ("displayMessageFor".equals(attributeSet.getAttributeName(i))) {
                this.displayMessageFor = attributeSet.getAttributeResourceValue(i, -1);
                log.info("DISPLAY MESSAGE HAS BEEN SET TO $1", displayMessageFor);
            }

            if ("highlightTarget".equals(attributeSet.getAttributeName(i))) {
                this.highlightTarget = "true".equals(attributeSet.getAttributeValue(i));
                log.info("HIGHLIGHT TARGET HAS BEEN SET TO $1", highlightTarget);
            }

        }
        log.info("---------------------------------");
    }

    /**
     * @return the ID of the component, whose errors affect this item
     */
    public int getDisplayMessageFor() {
        return displayMessageFor;
    }

    /**
     * @return true, if the referenced display shall be highlighted in case of an error
     */
    public Boolean getHighlightTarget() {
        return highlightTarget;
    }

    @Override
    public void handleError(View view, int errorMessageId, ErrorSeverity severity, String... params) {
        String errorMessage = BaracusApplicationContext.resolveString(errorMessageId, params);
        ErrorView visualRepresentation = (ErrorView) view.findViewById(this.getId());
        visualRepresentation.setText(errorMessage);

        if (highlightTarget && displayMessageFor != -1) {
            View target = view.findViewById(getIdToDisplayFor());
            originalColour = target.getDrawingCacheBackgroundColor();
            target.setBackgroundColor(Color.argb(100, 255, 100, 100));
        }
    }

    @Override
    public void reset(View view) {
        this.setText("");

        if (highlightTarget && displayMessageFor != -1) {
            View target = view.findViewById(getIdToDisplayFor());
            target.setBackgroundColor(originalColour);
        }
    }

    @Override
    public int getIdToDisplayFor() {
        return displayMessageFor;
    }

}




Java Source Code List

net.mantucon.baracus.annotations.Bean.java
net.mantucon.baracus.context.AnnotationScanner.java
net.mantucon.baracus.context.BaracusApplicationContext.java
net.mantucon.baracus.context.BeanContainer.java
net.mantucon.baracus.context.Exceptions.java
net.mantucon.baracus.context.ManagedActivity.java
net.mantucon.baracus.context.ManagedFragment.java
net.mantucon.baracus.dao.BaracusOpenHelper.java
net.mantucon.baracus.dao.BaseDao.java
net.mantucon.baracus.dao.ConfigurationDao.java
net.mantucon.baracus.errorhandling.CustomErrorHandler.java
net.mantucon.baracus.errorhandling.ErrorHandler.java
net.mantucon.baracus.errorhandling.ErrorHandlingFactory.java
net.mantucon.baracus.errorhandling.ErrorSeverity.java
net.mantucon.baracus.errorhandling.StandardErrorHandler.java
net.mantucon.baracus.errorhandling.TextEditErrorHandler.java
net.mantucon.baracus.lifecycle.ApplicationContextInitializer.java
net.mantucon.baracus.lifecycle.Destroyable.java
net.mantucon.baracus.lifecycle.Initializeable.java
net.mantucon.baracus.migr8.MigrationStep.java
net.mantucon.baracus.migr8.ModelVersion000.java
net.mantucon.baracus.model.ConfigurationParameter.java
net.mantucon.baracus.orm.AbstractModelBase.java
net.mantucon.baracus.orm.FieldList.java
net.mantucon.baracus.orm.Field.java
net.mantucon.baracus.orm.Identifiable.java
net.mantucon.baracus.orm.LazyCollection.java
net.mantucon.baracus.orm.LazyMorphicCollection.java
net.mantucon.baracus.orm.LazyReference.java
net.mantucon.baracus.orm.LegacyModelBase.java
net.mantucon.baracus.orm.ModelBase.java
net.mantucon.baracus.orm.NullReference.java
net.mantucon.baracus.orm.ObjectReference.java
net.mantucon.baracus.orm.OptimisticLockingModelBase.java
net.mantucon.baracus.orm.OptmisticLocking.java
net.mantucon.baracus.orm.ReferenceLoader.java
net.mantucon.baracus.orm.Reference.java
net.mantucon.baracus.orm.Timestamped.java
net.mantucon.baracus.signalling.ConfigurationChangeListener.java
net.mantucon.baracus.signalling.DataChangeAwareComponent.java
net.mantucon.baracus.signalling.DataSetChangeAwareComponent.java
net.mantucon.baracus.signalling.DeleteAwareComponent.java
net.mantucon.baracus.signalling.GenericEventAwareComponent.java
net.mantucon.baracus.signalling.GenericEvent.java
net.mantucon.baracus.ui.ConstrainedEditText.java
net.mantucon.baracus.ui.ConstrainedSpinner.java
net.mantucon.baracus.ui.ErrorView.java
net.mantucon.baracus.ui.Popup.java
net.mantucon.baracus.util.DBBackup.java
net.mantucon.baracus.util.DataUtil.java
net.mantucon.baracus.util.DateUtil.java
net.mantucon.baracus.util.DayDate.java
net.mantucon.baracus.util.Logger.java
net.mantucon.baracus.util.StringUtil.java
net.mantucon.baracus.validation.AbstractValidator.java
net.mantucon.baracus.validation.ConstrainedView.java
net.mantucon.baracus.validation.ValidatableView.java
net.mantucon.baracus.validation.ValidationFactory.java
net.mantucon.baracus.validation.Validator.java
net.mantucon.baracus.validation.builtins.DateFromNow.java
net.mantucon.baracus.validation.builtins.NumberMustBeGreaterThanZero.java
net.mantucon.baracus.validation.builtins.StringIsNumericDouble.java
net.mantucon.baracus.validation.builtins.StringIsNumericInteger.java
net.mantucon.baracus.validation.builtins.StringNotEmpty.java