package org.itsnat.droid.impl.xmlinflater.layout.attr.view; import android.view.View; import org.itsnat.droid.impl.dom.DOMAttr; import org.itsnat.droid.impl.util.MiscUtil; import org.itsnat.droid.impl.xmlinflater.layout.AttrLayoutContext; import org.itsnat.droid.impl.xmlinflater.layout.PendingViewPostCreateProcess; import org.itsnat.droid.impl.xmlinflater.layout.classtree.ClassDescViewBased; import org.itsnat.droid.impl.xmlinflater.shared.attr.AttrDescReflecFieldFieldMethod; /** * Created by jmarranz on 30/04/14. */ public class AttrDescView_view_View_scrollbarAlwaysDrawHVTrack_Base extends AttrDescReflecFieldFieldMethod<ClassDescViewBased,View,AttrLayoutContext> { public AttrDescView_view_View_scrollbarAlwaysDrawHVTrack_Base(ClassDescViewBased parent, String name, String fieldName1, String fieldName2, String methodName, Class<?> field2Class, Class<?> methodClass, Class<?> classParam) { super(parent,name,"mScrollCache","scrollBar",methodName,MiscUtil.resolveClass("android.view.View$ScrollabilityCache"),MiscUtil.resolveClass("android.widget.ScrollBarDrawable"),boolean.class); } @Override public void setAttribute(final View view, DOMAttr attr, AttrLayoutContext attrCtx) { final boolean convertedValue = getBoolean(attr.getResourceDesc(), attrCtx.getXMLInflaterContext()); final Runnable task = new Runnable() { @Override public void run() { callFieldFieldMethod(view, convertedValue); } }; PendingViewPostCreateProcess pendingViewPostCreateProcess = attrCtx.getPendingViewPostCreateProcess(); if (pendingViewPostCreateProcess != null) { // Delegamos al final para que esté totalmente claro si hay o no scrollbars pendingViewPostCreateProcess.addPendingSetAttribsTask(task); } else task.run(); } @Override public void removeAttribute(View view, AttrLayoutContext attrCtx) { setAttributeToRemove(view, "false",attrCtx); } }