rule-api

16:51:53.845 INFO  jd.cli.Main - Decompiling rule-api.jar
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;
import java.util.List;

@Beta
public class AbstractViewRule
  implements IViewRule
{
  public boolean onInitialize(@NonNull String fqcn, @NonNull IClientRulesEngine engine)
  {
    return true;
  }
  
  public void onDispose() {}
  
  @Nullable
  public String getDisplayName()
  {
    return null;
  }
  
  @Nullable
  public List<String> getSelectionHint(@NonNull INode parentNode, @NonNull INode childNode)
  {
    return null;
  }
  
  public void addLayoutActions(@NonNull List<RuleAction> actions, @NonNull INode parentNode, @NonNull List<? extends INode> children) {}
  
  public void addContextMenuActions(@NonNull List<RuleAction> actions, @NonNull INode node) {}
  
  @Nullable
  public String getDefaultActionId(@NonNull INode node)
  {
    return null;
  }
  
  public void paintSelectionFeedback(@NonNull IGraphics graphics, @NonNull INode parentNode, @NonNull List<? extends INode> childNodes, @Nullable Object view) {}
  
  @Nullable
  public DropFeedback onDropEnter(@NonNull INode targetNode, @Nullable Object targetView, @Nullable IDragElement[] elements)
  {
    return null;
  }
  
  @Nullable
  public DropFeedback onDropMove(@NonNull INode targetNode, @NonNull IDragElement[] elements, @Nullable DropFeedback feedback, @NonNull Point p)
  {
    return null;
  }
  
  public void onDropLeave(@NonNull INode targetNode, @NonNull IDragElement[] elements, @Nullable DropFeedback feedback) {}
  
  public void onDropped(@NonNull INode targetNode, @NonNull IDragElement[] elements, @Nullable DropFeedback feedback, @NonNull Point p) {}
  
  public void onPaste(@NonNull INode targetNode, @Nullable Object targetView, @NonNull IDragElement[] pastedElements) {}
  
  public void onCreate(@NonNull INode node, @NonNull INode parent, @NonNull InsertType insertType) {}
  
  public void onChildInserted(@NonNull INode child, @NonNull INode parent, @NonNull InsertType insertType) {}
  
  public void onRemovingChildren(@NonNull List<INode> deleted, @NonNull INode parent, boolean moved) {}
  
  @Nullable
  public DropFeedback onResizeBegin(@NonNull INode child, @NonNull INode parent, @Nullable SegmentType horizontalEdge, @Nullable SegmentType verticalEdge, @Nullable Object childView, @Nullable Object parentView)
  {
    return null;
  }
  
  public void onResizeUpdate(@Nullable DropFeedback feedback, @NonNull INode child, @NonNull INode parent, @NonNull Rect newBounds, int modifierMask) {}
  
  public void onResizeEnd(@Nullable DropFeedback feedback, @NonNull INode child, @NonNull INode parent, @NonNull Rect newBounds) {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.AbstractViewRule
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.google.common.annotations.Beta;

@Beta
public enum DrawingStyle
{
  SELECTION,  GUIDELINE,  GUIDELINE_SHADOW,  GUIDELINE_DASHED,  DISTANCE,  GRID,  HOVER,  HOVER_SELECTION,  ANCHOR,  OUTLINE,  DROP_RECIPIENT,  DROP_ZONE,  DROP_ZONE_ACTIVE,  DROP_PREVIEW,  RESIZE_PREVIEW,  RESIZE_FAIL,  HELP,  INVALID,  DEPENDENCY,  CYCLE,  DRAGGED,  EMPTY,  CUSTOM1,  CUSTOM2;
  
  private DrawingStyle() {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.DrawingStyle
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;

@Beta
public class DropFeedback
{
  @Nullable
  public Object userData;
  public boolean requestPaint;
  public boolean invalidTarget;
  @Nullable
  public IFeedbackPainter painter;
  @Nullable
  public Rect captureArea;
  public boolean isCopy;
  @Nullable
  public Rect dragBounds;
  public int dragBaseline = -1;
  public boolean sameCanvas;
  public double dipScale = 1.0D;
  @Nullable
  public String message;
  @Nullable
  public String errorMessage;
  @Nullable
  public String tooltip;
  @Nullable
  public SegmentType tooltipX;
  @Nullable
  public SegmentType tooltipY;
  public int modifierMask;
  public static final int MODIFIER1 = 1;
  public static final int MODIFIER2 = 2;
  public static final int MODIFIER3 = 4;
  
  public DropFeedback(@Nullable Object userData, @Nullable IFeedbackPainter painter)
  {
    this.userData = userData;
    this.painter = painter;
    requestPaint = (painter != null);
    captureArea = null;
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.DropFeedback
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

class IAttributeInfo$1 {}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IAttributeInfo.1
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.android.resources.ResourceType;
import java.util.EnumSet;

public enum IAttributeInfo$Format
{
  STRING,  BOOLEAN,  INTEGER,  FLOAT,  COLOR,  DIMENSION,  FRACTION,  ENUM,  FLAG,  REFERENCE;
  
  public static final EnumSet<Format> NONE = EnumSet.noneOf(Format.class);
  public static final EnumSet<Format> FLAG_SET = EnumSet.of(FLAG);
  public static final EnumSet<Format> ENUM_SET = EnumSet.of(ENUM);
  public static final EnumSet<Format> COLOR_SET = EnumSet.of(COLOR);
  public static final EnumSet<Format> STRING_SET = EnumSet.of(STRING);
  public static final EnumSet<Format> BOOLEAN_SET = EnumSet.of(BOOLEAN);
  public static final EnumSet<Format> INTEGER_SET = EnumSet.of(INTEGER);
  public static final EnumSet<Format> FLOAT_SET = EnumSet.of(FLOAT);
  public static final EnumSet<Format> DIMENSION_SET = EnumSet.of(DIMENSION);
  public static final EnumSet<Format> REFERENCE_SET = EnumSet.of(REFERENCE);
  
  private IAttributeInfo$Format() {}
  
  @NonNull
  public EnumSet<Format> asSet()
  {
    switch (IAttributeInfo.1.$SwitchMap$com$android$ide$common$api$IAttributeInfo$Format[ordinal()])
    {
    case 1: 
      return BOOLEAN_SET;
    case 2: 
      return COLOR_SET;
    case 3: 
      return DIMENSION_SET;
    case 4: 
      return ENUM_SET;
    case 5: 
      return FLAG_SET;
    case 6: 
      return FLOAT_SET;
    case 7: 
      return INTEGER_SET;
    case 8: 
      return STRING_SET;
    case 9: 
      return REFERENCE_SET;
    }
    return EnumSet.of(this);
  }
  
  @Nullable
  public ResourceType getResourceType()
  {
    switch (IAttributeInfo.1.$SwitchMap$com$android$ide$common$api$IAttributeInfo$Format[ordinal()])
    {
    case 8: 
      return ResourceType.STRING;
    case 1: 
      return ResourceType.BOOL;
    case 2: 
      return ResourceType.COLOR;
    case 3: 
      return ResourceType.DIMEN;
    case 10: 
      return ResourceType.FRACTION;
    case 7: 
      return ResourceType.INTEGER;
    case 4: 
    case 5: 
    case 6: 
    case 9: 
      return null;
    }
    return null;
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IAttributeInfo.Format
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.android.resources.ResourceType;
import com.google.common.annotations.Beta;
import java.util.EnumSet;

@Beta
public abstract interface IAttributeInfo
{
  @NonNull
  public abstract String getName();
  
  @NonNull
  public abstract EnumSet<Format> getFormats();
  
  @Nullable
  public abstract String[] getEnumValues();
  
  @Nullable
  public abstract String[] getFlagValues();
  
  @NonNull
  public abstract String getJavaDoc();
  
  @Nullable
  public abstract String getDeprecatedDoc();
  
  @NonNull
  public abstract String getDefinedBy();
  
  public static enum Format
  {
    STRING,  BOOLEAN,  INTEGER,  FLOAT,  COLOR,  DIMENSION,  FRACTION,  ENUM,  FLAG,  REFERENCE;
    
    public static final EnumSet<Format> NONE = EnumSet.noneOf(Format.class);
    public static final EnumSet<Format> FLAG_SET = EnumSet.of(FLAG);
    public static final EnumSet<Format> ENUM_SET = EnumSet.of(ENUM);
    public static final EnumSet<Format> COLOR_SET = EnumSet.of(COLOR);
    public static final EnumSet<Format> STRING_SET = EnumSet.of(STRING);
    public static final EnumSet<Format> BOOLEAN_SET = EnumSet.of(BOOLEAN);
    public static final EnumSet<Format> INTEGER_SET = EnumSet.of(INTEGER);
    public static final EnumSet<Format> FLOAT_SET = EnumSet.of(FLOAT);
    public static final EnumSet<Format> DIMENSION_SET = EnumSet.of(DIMENSION);
    public static final EnumSet<Format> REFERENCE_SET = EnumSet.of(REFERENCE);
    
    private Format() {}
    
    @NonNull
    public EnumSet<Format> asSet()
    {
      switch (IAttributeInfo.1.$SwitchMap$com$android$ide$common$api$IAttributeInfo$Format[ordinal()])
      {
      case 1: 
        return BOOLEAN_SET;
      case 2: 
        return COLOR_SET;
      case 3: 
        return DIMENSION_SET;
      case 4: 
        return ENUM_SET;
      case 5: 
        return FLAG_SET;
      case 6: 
        return FLOAT_SET;
      case 7: 
        return INTEGER_SET;
      case 8: 
        return STRING_SET;
      case 9: 
        return REFERENCE_SET;
      }
      return EnumSet.of(this);
    }
    
    @Nullable
    public ResourceType getResourceType()
    {
      switch (IAttributeInfo.1.$SwitchMap$com$android$ide$common$api$IAttributeInfo$Format[ordinal()])
      {
      case 8: 
        return ResourceType.STRING;
      case 1: 
        return ResourceType.BOOL;
      case 2: 
        return ResourceType.COLOR;
      case 3: 
        return ResourceType.DIMEN;
      case 10: 
        return ResourceType.FRACTION;
      case 7: 
        return ResourceType.INTEGER;
      case 4: 
      case 5: 
      case 6: 
      case 9: 
        return null;
      }
      return null;
    }
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IAttributeInfo
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;

public abstract interface IClientRulesEngine$AttributeFilter
{
  @Nullable
  public abstract String getAttribute(@NonNull INode paramINode, @Nullable String paramString1, @NonNull String paramString2);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IClientRulesEngine.AttributeFilter
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;
import java.util.Collection;
import java.util.Map;

@Beta
public abstract interface IClientRulesEngine
{
  @NonNull
  public abstract String getFqcn();
  
  @Nullable
  public abstract Object getViewObject(@NonNull INode paramINode);
  
  public abstract void debugPrintf(@NonNull String paramString, Object... paramVarArgs);
  
  @Nullable
  public abstract IViewRule loadRule(@NonNull String paramString);
  
  @NonNull
  public abstract IViewMetadata getMetadata(@NonNull String paramString);
  
  public abstract void displayAlert(@NonNull String paramString);
  
  @Nullable
  public abstract String displayInput(@NonNull String paramString1, @Nullable String paramString2, @Nullable IValidator paramIValidator);
  
  public abstract boolean rename(INode paramINode);
  
  public abstract int getMinApiLevel();
  
  @Nullable
  public abstract IValidator getResourceValidator(@NonNull String paramString, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3, String... paramVarArgs);
  
  @Nullable
  public abstract String displayReferenceInput(@Nullable String paramString);
  
  @Nullable
  public abstract String displayResourceInput(@NonNull String paramString1, @Nullable String paramString2);
  
  @Nullable
  public abstract String[] displayMarginInput(@Nullable String paramString1, @Nullable String paramString2, @Nullable String paramString3, @Nullable String paramString4, @Nullable String paramString5);
  
  @Nullable
  public abstract String displayIncludeSourceInput();
  
  @Nullable
  public abstract String displayFragmentSourceInput();
  
  @Nullable
  public abstract String displayCustomViewClassInput();
  
  public abstract void select(@NonNull Collection<INode> paramCollection);
  
  public abstract void redraw();
  
  public abstract void layout();
  
  public abstract int pxToDp(int paramInt);
  
  public abstract int dpToPx(int paramInt);
  
  public abstract int screenToLayout(int paramInt);
  
  @Nullable
  public abstract Map<INode, Rect> measureChildren(@NonNull INode paramINode, @Nullable AttributeFilter paramAttributeFilter);
  
  @NonNull
  public abstract String getUniqueId(@NonNull String paramString);
  
  @NonNull
  public abstract String getAppNameSpace();
  
  public static abstract interface AttributeFilter
  {
    @Nullable
    public abstract String getAttribute(@NonNull INode paramINode, @Nullable String paramString1, @NonNull String paramString2);
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IClientRulesEngine
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.google.common.annotations.Beta;

@Beta
public abstract interface IColor {}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IColor
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;

public abstract interface IDragElement$IDragAttribute
{
  @NonNull
  public abstract String getUri();
  
  @NonNull
  public abstract String getName();
  
  @NonNull
  public abstract String getValue();
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IDragElement.IDragAttribute
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;

@Beta
public abstract interface IDragElement
{
  @NonNull
  public abstract String getFqcn();
  
  @NonNull
  public abstract Rect getBounds();
  
  @Nullable
  public abstract String getParentFqcn();
  
  @NonNull
  public abstract Rect getParentBounds();
  
  @NonNull
  public abstract IDragAttribute[] getAttributes();
  
  @Nullable
  public abstract IDragAttribute getAttribute(@Nullable String paramString1, @NonNull String paramString2);
  
  @NonNull
  public abstract IDragElement[] getInnerElements();
  
  public abstract boolean isSame(@NonNull INode paramINode);
  
  public static abstract interface IDragAttribute
  {
    @NonNull
    public abstract String getUri();
    
    @NonNull
    public abstract String getName();
    
    @NonNull
    public abstract String getValue();
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IDragElement
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;

@Beta
public abstract interface IFeedbackPainter
{
  public abstract void paint(@NonNull IGraphics paramIGraphics, @NonNull INode paramINode, @NonNull DropFeedback paramDropFeedback);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IFeedbackPainter
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

public enum IGraphics$LineStyle
{
  LINE_SOLID,  LINE_DASH,  LINE_DOT,  LINE_DASHDOT,  LINE_DASHDOTDOT;
  
  private IGraphics$LineStyle() {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IGraphics.LineStyle
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;
import java.util.List;

@Beta
public abstract interface IGraphics
{
  public abstract void drawLine(int paramInt1, int paramInt2, int paramInt3, int paramInt4);
  
  public abstract void drawLine(@NonNull Point paramPoint1, @NonNull Point paramPoint2);
  
  public abstract void drawArrow(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5);
  
  public abstract void drawPoint(int paramInt1, int paramInt2);
  
  public abstract void drawRect(int paramInt1, int paramInt2, int paramInt3, int paramInt4);
  
  public abstract void drawRect(@NonNull Point paramPoint1, @NonNull Point paramPoint2);
  
  public abstract void drawRect(@NonNull Rect paramRect);
  
  public abstract void fillRect(int paramInt1, int paramInt2, int paramInt3, int paramInt4);
  
  public abstract void fillRect(@NonNull Point paramPoint1, @NonNull Point paramPoint2);
  
  public abstract void fillRect(@NonNull Rect paramRect);
  
  public abstract void drawString(@NonNull String paramString, int paramInt1, int paramInt2);
  
  public abstract void drawString(@NonNull String paramString, @NonNull Point paramPoint);
  
  public abstract void drawBoxedStrings(int paramInt1, int paramInt2, @NonNull List<?> paramList);
  
  public abstract void useStyle(@NonNull DrawingStyle paramDrawingStyle);
  
  @NonNull
  public abstract IColor registerColor(int paramInt);
  
  public abstract int getFontHeight();
  
  @NonNull
  public abstract IColor getForeground();
  
  public abstract void setForeground(@NonNull IColor paramIColor);
  
  @NonNull
  public abstract IColor getBackground();
  
  public abstract void setBackground(@NonNull IColor paramIColor);
  
  public abstract int getAlpha();
  
  public abstract void setAlpha(int paramInt);
  
  public abstract void setLineStyle(@NonNull LineStyle paramLineStyle);
  
  public abstract void setLineWidth(int paramInt);
  
  public static enum LineStyle
  {
    LINE_SOLID,  LINE_DASH,  LINE_DOT,  LINE_DASHDOT,  LINE_DASHDOTDOT;
    
    private LineStyle() {}
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IGraphics
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import java.util.List;

final class IMenuCallback$1
  implements IMenuCallback
{
  public void action(@NonNull RuleAction action, @NonNull List<? extends INode> selectedNodes, @Nullable String valueId, @Nullable Boolean newValue) {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IMenuCallback.1
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;
import java.util.List;

@Beta
public abstract interface IMenuCallback
{
  @NonNull
  public static final IMenuCallback NONE = new IMenuCallback()
  {
    public void action(@NonNull RuleAction action, @NonNull List<? extends INode> selectedNodes, @Nullable String valueId, @Nullable Boolean newValue) {}
  };
  
  public abstract void action(@NonNull RuleAction paramRuleAction, @NonNull List<? extends INode> paramList, @Nullable String paramString, @Nullable Boolean paramBoolean);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IMenuCallback
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

public abstract interface INode$IAttribute
  extends IDragElement.IDragAttribute
{}

/* Location:
 * Qualified Name:     com.android.ide.common.api.INode.IAttribute
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;
import java.util.List;

@Beta
public abstract interface INode
{
  @NonNull
  public abstract String getFqcn();
  
  @NonNull
  public abstract Rect getBounds();
  
  @NonNull
  public abstract Margins getMargins();
  
  public abstract int getBaseline();
  
  @Nullable
  public abstract INode getRoot();
  
  @Nullable
  public abstract INode getParent();
  
  @NonNull
  public abstract INode[] getChildren();
  
  public abstract void editXml(@NonNull String paramString, @NonNull INodeHandler paramINodeHandler);
  
  @NonNull
  public abstract INode appendChild(@NonNull String paramString);
  
  @NonNull
  public abstract INode insertChildAt(@NonNull String paramString, int paramInt);
  
  public abstract void removeChild(@NonNull INode paramINode);
  
  public abstract boolean setAttribute(@Nullable String paramString1, @NonNull String paramString2, @Nullable String paramString3);
  
  @Nullable
  public abstract String getStringAttr(@Nullable String paramString1, @NonNull String paramString2);
  
  @Nullable
  public abstract IAttributeInfo getAttributeInfo(@Nullable String paramString1, @NonNull String paramString2);
  
  @NonNull
  public abstract IAttributeInfo[] getDeclaredAttributes();
  
  @NonNull
  public abstract List<String> getAttributeSources();
  
  @NonNull
  public abstract IAttribute[] getLiveAttributes();
  
  public static abstract interface IAttribute
    extends IDragElement.IDragAttribute
  {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.INode
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;

@Beta
public abstract interface INodeHandler
{
  public abstract void handle(@NonNull INode paramINode);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.INodeHandler
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;

@Beta
public abstract interface IValidator
{
  @Nullable
  public abstract String validate(@NonNull String paramString);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IValidator
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

public enum IViewMetadata$FillPreference
{
  NONE,  BOTH,  WIDTH,  HEIGHT,  OPPOSITE,  WIDTH_IN_VERTICAL,  HEIGHT_IN_HORIZONTAL;
  
  private IViewMetadata$FillPreference() {}
  
  public boolean fillHorizontally(boolean verticalContext)
  {
    return (this == BOTH) || (this == WIDTH) || ((verticalContext) && ((this == OPPOSITE) || (this == WIDTH_IN_VERTICAL)));
  }
  
  public boolean fillVertically(boolean verticalContext)
  {
    return (this == BOTH) || (this == HEIGHT) || ((!verticalContext) && ((this == OPPOSITE) || (this == HEIGHT_IN_HORIZONTAL)));
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IViewMetadata.FillPreference
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;
import java.util.List;

@Beta
public abstract interface IViewMetadata
{
  @NonNull
  public abstract String getDisplayName();
  
  @NonNull
  public abstract Margins getInsets();
  
  @NonNull
  public abstract FillPreference getFillPreference();
  
  @NonNull
  public abstract List<String> getTopAttributes();
  
  public static enum FillPreference
  {
    NONE,  BOTH,  WIDTH,  HEIGHT,  OPPOSITE,  WIDTH_IN_VERTICAL,  HEIGHT_IN_HORIZONTAL;
    
    private FillPreference() {}
    
    public boolean fillHorizontally(boolean verticalContext)
    {
      return (this == BOTH) || (this == WIDTH) || ((verticalContext) && ((this == OPPOSITE) || (this == WIDTH_IN_VERTICAL)));
    }
    
    public boolean fillVertically(boolean verticalContext)
    {
      return (this == BOTH) || (this == HEIGHT) || ((!verticalContext) && ((this == OPPOSITE) || (this == HEIGHT_IN_HORIZONTAL)));
    }
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IViewMetadata
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import java.util.List;

public abstract interface IViewRule
{
  public abstract boolean onInitialize(@NonNull String paramString, @NonNull IClientRulesEngine paramIClientRulesEngine);
  
  public abstract void onDispose();
  
  @Nullable
  public abstract String getDisplayName();
  
  public abstract void addContextMenuActions(@NonNull List<RuleAction> paramList, @NonNull INode paramINode);
  
  @Nullable
  public abstract String getDefaultActionId(@NonNull INode paramINode);
  
  public abstract void addLayoutActions(@NonNull List<RuleAction> paramList, @NonNull INode paramINode, @NonNull List<? extends INode> paramList1);
  
  @Nullable
  public abstract List<String> getSelectionHint(@NonNull INode paramINode1, @NonNull INode paramINode2);
  
  public abstract void paintSelectionFeedback(@NonNull IGraphics paramIGraphics, @NonNull INode paramINode, @NonNull List<? extends INode> paramList, @Nullable Object paramObject);
  
  @Nullable
  public abstract DropFeedback onDropEnter(@NonNull INode paramINode, @Nullable Object paramObject, @Nullable IDragElement[] paramArrayOfIDragElement);
  
  @Nullable
  public abstract DropFeedback onDropMove(@NonNull INode paramINode, @NonNull IDragElement[] paramArrayOfIDragElement, @Nullable DropFeedback paramDropFeedback, @NonNull Point paramPoint);
  
  public abstract void onDropLeave(@NonNull INode paramINode, @NonNull IDragElement[] paramArrayOfIDragElement, @Nullable DropFeedback paramDropFeedback);
  
  public abstract void onDropped(@NonNull INode paramINode, @NonNull IDragElement[] paramArrayOfIDragElement, @Nullable DropFeedback paramDropFeedback, @NonNull Point paramPoint);
  
  public abstract void onPaste(@NonNull INode paramINode, @Nullable Object paramObject, @NonNull IDragElement[] paramArrayOfIDragElement);
  
  public abstract void onCreate(@NonNull INode paramINode1, @NonNull INode paramINode2, @NonNull InsertType paramInsertType);
  
  public abstract void onChildInserted(@NonNull INode paramINode1, @NonNull INode paramINode2, @NonNull InsertType paramInsertType);
  
  public abstract void onRemovingChildren(@NonNull List<INode> paramList, @NonNull INode paramINode, boolean paramBoolean);
  
  @Nullable
  public abstract DropFeedback onResizeBegin(@NonNull INode paramINode1, @NonNull INode paramINode2, @Nullable SegmentType paramSegmentType1, @Nullable SegmentType paramSegmentType2, @Nullable Object paramObject1, @Nullable Object paramObject2);
  
  public abstract void onResizeUpdate(@Nullable DropFeedback paramDropFeedback, @NonNull INode paramINode1, @NonNull INode paramINode2, @NonNull Rect paramRect, int paramInt);
  
  public abstract void onResizeEnd(@Nullable DropFeedback paramDropFeedback, @NonNull INode paramINode1, @NonNull INode paramINode2, @NonNull Rect paramRect);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.IViewRule
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.google.common.annotations.Beta;

@Beta
public enum InsertType
{
  CREATE,  CREATE_PREVIEW,  MOVE_WITHIN,  MOVE_INTO,  PASTE;
  
  private InsertType() {}
  
  public boolean isCreate()
  {
    return (this == CREATE) || (this == CREATE_PREVIEW);
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.InsertType
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.google.common.annotations.Beta;

@Beta
public enum MarginType
{
  WITH_MARGIN,  WITHOUT_MARGIN,  NO_MARGIN;
  
  private MarginType() {}
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.MarginType
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;

@Beta
public class Margins
{
  public final int left;
  public final int right;
  public final int top;
  public final int bottom;
  
  public Margins(int left, int right, int top, int bottom)
  {
    this.left = left;
    this.right = right;
    this.top = top;
    this.bottom = bottom;
  }
  
  @NonNull
  public String toString()
  {
    return "Margins [left=" + left + ", right=" + right + ", top=" + top + ", bottom=" + bottom + "]";
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.Margins
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;

@Beta
public class Point
{
  public int x;
  public int y;
  
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
  }
  
  public Point(@NonNull Point p)
  {
    x = x;
    y = y;
  }
  
  public void set(int x, int y)
  {
    this.x = x;
    this.y = y;
  }
  
  @NonNull
  public Point copy()
  {
    return new Point(x, y);
  }
  
  @NonNull
  public Point offsetBy(int x, int y)
  {
    this.x += x;
    this.y += y;
    return this;
  }
  
  public boolean equals(Object obj)
  {
    if ((obj instanceof Point))
    {
      Point rhs = (Point)obj;
      return (x == x) && (y == y);
    }
    return false;
  }
  
  public int hashCode()
  {
    int h = x ^ y >> 16 & 0xFFFF ^ (y & 0xFFFF) << 16;
    return h;
  }
  
  public String toString()
  {
    return String.format("Point [%dx%d]", new Object[] { Integer.valueOf(x), Integer.valueOf(y) });
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.Point
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.google.common.annotations.Beta;

@Beta
public class Rect
{
  public int x;
  public int y;
  public int w;
  public int h;
  
  public Rect() {}
  
  public Rect(int x, int y, int w, int h)
  {
    set(x, y, w, h);
  }
  
  public Rect(@NonNull Rect r)
  {
    set(r);
  }
  
  @NonNull
  public Rect set(int x, int y, int w, int h)
  {
    this.x = x;
    this.y = y;
    this.w = w;
    this.h = h;
    return this;
  }
  
  @NonNull
  public Rect set(@NonNull Rect r)
  {
    set(x, y, w, h);
    return this;
  }
  
  @NonNull
  public Rect copy()
  {
    return new Rect(x, y, w, h);
  }
  
  public boolean isValid()
  {
    return (w > 0) && (h > 0);
  }
  
  public boolean contains(int x, int y)
  {
    return (isValid()) && (x >= this.x) && (y >= this.y) && (x < this.x + w) && (y < this.y + h);
  }
  
  public boolean intersects(@Nullable Rect other)
  {
    if (other == null) {
      return false;
    }
    if ((x2() <= x) || (other.x2() <= x) || (y2() <= y) || (other.y2() <= y)) {
      return false;
    }
    return true;
  }
  
  public boolean contains(@Nullable Rect rect)
  {
    return (rect != null) && (x <= x) && (y <= y) && (x2() >= rect.x2()) && (y2() >= rect.y2());
  }
  
  public boolean contains(@Nullable Point p)
  {
    return (p != null) && (contains(x, y));
  }
  
  @NonNull
  public Rect moveTo(int x, int y)
  {
    this.x = x;
    this.y = y;
    return this;
  }
  
  @NonNull
  public Rect offsetBy(int x, int y)
  {
    this.x += x;
    this.y += y;
    return this;
  }
  
  @NonNull
  public Point getCenter()
  {
    return new Point(x + (w > 0 ? w / 2 : 0), y + (h > 0 ? h / 2 : 0));
  }
  
  @NonNull
  public Point getTopLeft()
  {
    return new Point(x, y);
  }
  
  @NonNull
  public Point getBottomLeft()
  {
    return new Point(x, y + (h > 0 ? h : 0));
  }
  
  @NonNull
  public Point getTopRight()
  {
    return new Point(x + (w > 0 ? w : 0), y);
  }
  
  @NonNull
  public Point getBottomRight()
  {
    return new Point(x + (w > 0 ? w : 0), y + (h > 0 ? h : 0));
  }
  
  public int x2()
  {
    return x + w;
  }
  
  public int y2()
  {
    return y + h;
  }
  
  public int centerX()
  {
    return x + w / 2;
  }
  
  public int centerY()
  {
    return y + h / 2;
  }
  
  public String toString()
  {
    return String.format("Rect [(%d,%d)-(%d,%d): %dx%d]", new Object[] { Integer.valueOf(x), Integer.valueOf(y), Integer.valueOf(x + w), Integer.valueOf(y + h), Integer.valueOf(w), Integer.valueOf(h) });
  }
  
  public boolean equals(Object obj)
  {
    if ((obj instanceof Rect))
    {
      Rect rhs = (Rect)obj;
      if (isValid() != rhs.isValid()) {
        return false;
      }
      if ((!isValid()) && (!rhs.isValid())) {
        return true;
      }
      return (x == x) && (y == y) && (w == w) && (h == h);
    }
    return false;
  }
  
  public int hashCode()
  {
    int hc = x;
    hc ^= (y >> 8 & 0xFFFFFF | (y & 0xFF) << 24);
    hc ^= (w >> 16 & 0xFFFF | (w & 0xFFFF) << 16);
    hc ^= (h >> 24 & 0xFF | (h & 0xFFFFFF) << 8);
    return hc;
  }
  
  @NonNull
  public Point center()
  {
    return new Point(x + w / 2, y + h / 2);
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.Rect
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.google.common.annotations.Beta;

@Beta
public class ResizePolicy
{
  private static final int NONE = 0;
  private static final int LEFT_EDGE = 1;
  private static final int RIGHT_EDGE = 2;
  private static final int TOP_EDGE = 4;
  private static final int BOTTOM_EDGE = 8;
  private static final int PRESERVE_RATIO = 16;
  private static final int HORIZONTAL = 3;
  private static final int VERTICAL = 12;
  private static final int ANY = 15;
  private static final ResizePolicy sAny = new ResizePolicy(15);
  private static final ResizePolicy sNone = new ResizePolicy(0);
  private static final ResizePolicy sHorizontal = new ResizePolicy(3);
  private static final ResizePolicy sVertical = new ResizePolicy(12);
  private static final ResizePolicy sScaled = new ResizePolicy(31);
  private final int mFlags;
  
  private ResizePolicy(int flags)
  {
    mFlags = flags;
  }
  
  public boolean isResizable()
  {
    return (mFlags & 0xF) != 0;
  }
  
  public boolean topAllowed()
  {
    return (mFlags & 0x4) != 0;
  }
  
  public boolean rightAllowed()
  {
    return (mFlags & 0x2) != 0;
  }
  
  public boolean bottomAllowed()
  {
    return (mFlags & 0x8) != 0;
  }
  
  public boolean leftAllowed()
  {
    return (mFlags & 0x1) != 0;
  }
  
  public boolean isAspectPreserving()
  {
    return (mFlags & 0x10) != 0;
  }
  
  @NonNull
  public static ResizePolicy full()
  {
    return sAny;
  }
  
  @NonNull
  public static ResizePolicy none()
  {
    return sNone;
  }
  
  @NonNull
  public static ResizePolicy horizontal()
  {
    return sHorizontal;
  }
  
  @NonNull
  public static ResizePolicy vertical()
  {
    return sVertical;
  }
  
  @NonNull
  public static ResizePolicy scaled()
  {
    return sScaled;
  }
  
  @NonNull
  public static ResizePolicy create(boolean top, boolean right, boolean bottom, boolean left, boolean preserve)
  {
    int mask = 0;
    if (top) {
      mask |= 0x4;
    }
    if (right) {
      mask |= 0x2;
    }
    if (bottom) {
      mask |= 0x8;
    }
    if (left) {
      mask |= 0x1;
    }
    if (preserve) {
      mask |= 0x10;
    }
    return new ResizePolicy(mask);
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.ResizePolicy
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

class RuleAction$1 {}

/* Location:
 * Qualified Name:     com.android.ide.common.api.RuleAction.1
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import java.util.List;

public abstract interface RuleAction$ActionProvider
{
  @NonNull
  public abstract List<RuleAction> getNestedActions(@NonNull INode paramINode);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.RuleAction.ActionProvider
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import java.net.URL;
import java.util.List;

public abstract interface RuleAction$ChoiceProvider
{
  public abstract void addChoices(@NonNull List<String> paramList1, @NonNull List<URL> paramList, @NonNull List<String> paramList2);
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.RuleAction.ChoiceProvider
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import java.net.URL;
import java.util.List;

public class RuleAction$Choices
  extends RuleAction
{
  protected List<String> mTitles;
  protected List<URL> mIconUrls;
  protected List<String> mIds;
  private boolean mRadio;
  protected final String mCurrent;
  
  private RuleAction$Choices(@NonNull String id, @NonNull String title, @NonNull IMenuCallback callback, @NonNull List<String> titles, @Nullable List<URL> iconUrls, @NonNull List<String> ids, @Nullable String current, int sortPriority, boolean supportsMultipleNodes)
  {
    super(id, title, callback, sortPriority, supportsMultipleNodes, null);
    mTitles = titles;
    mIconUrls = iconUrls;
    mIds = ids;
    mCurrent = current;
  }
  
  @Nullable
  public List<URL> getIconUrls()
  {
    return mIconUrls;
  }
  
  @NonNull
  public List<String> getIds()
  {
    return mIds;
  }
  
  @NonNull
  public List<String> getTitles()
  {
    return mTitles;
  }
  
  @Nullable
  public String getCurrent()
  {
    return mCurrent;
  }
  
  public void setRadio(boolean radio)
  {
    mRadio = radio;
  }
  
  public boolean isRadio()
  {
    return mRadio;
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.RuleAction.Choices
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

class RuleAction$DelayedChoices
  extends RuleAction.Choices
{
  private final RuleAction.ChoiceProvider mProvider;
  private boolean mInitialized;
  
  private RuleAction$DelayedChoices(@NonNull String id, @NonNull String title, @NonNull IMenuCallback callback, @Nullable String current, @NonNull RuleAction.ChoiceProvider provider, int sortPriority, boolean supportsMultipleNodes)
  {
    super(id, title, callback, new ArrayList(), new ArrayList(), new ArrayList(), current, sortPriority, supportsMultipleNodes, null);
    
    mProvider = provider;
  }
  
  private void ensureInitialized()
  {
    if (!mInitialized)
    {
      mInitialized = true;
      mProvider.addChoices(mTitles, mIconUrls, mIds);
    }
  }
  
  public List<URL> getIconUrls()
  {
    ensureInitialized();
    return mIconUrls;
  }
  
  @NonNull
  public List<String> getIds()
  {
    ensureInitialized();
    return mIds;
  }
  
  @NonNull
  public List<String> getTitles()
  {
    ensureInitialized();
    return mTitles;
  }
}

/* Location:
 * Qualified Name:     com.android.ide.common.api.RuleAction.DelayedChoices
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.android.ide.common.api;

import com.android.annotations.NonNull;
import java.util.List;

public class RuleAction$NestedAction
  extends RuleAction
{
  private final RuleAction.ActionProvider mProvider;
  
  private RuleAction$NestedAction(@NonNull String id, @NonNull String title, @NonNull RuleAction.ActionProvider provider, @NonNull IMenuCallback callback, int sortPriority, boolean supportsMultipleNodes)
  {
    super(id, title, callback, sortPriority, supports
1 2

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2017. Infinite Loop Ltd