// Path: src/com/github/nukc/plugin/axml/decode/BTagNode.java
// public static class Attribute {
// 	public static final int SIZE = 5;
// 		
// 	public int mNameSpace;
// 	public int mName;
// 	public int mString;
// 	public int mType;
// 	public int mValue;
// 		
// 	public Attribute(int ns, int name, int type){
// 		mNameSpace = ns;
// 		mName = name;
// 		mType = type<<24;
// 	}
// 		
// 	public void setString(int str){
// 		if((mType>>24) != TypedValue.TYPE_STRING){
// 			throw new RuntimeException("Can't set string for none string type");
// 		}
// 			
// 		mString = str;
// 		mValue = str;
// 	}
// 		
// 	/**
// 	 * TODO type >>> 16 = real type , so how to fix it
// 	 * @param type
// 	 * @param value
// 	 */
// 	public void setValue(int type, int value){
// 		mType = type<<24;
// 		if(type == TypedValue.TYPE_STRING){
// 			mValue = value;
// 			mString = value;
// 		}else{
// 			mValue = value;
// 			mString = -1;
// 		}
// 			
// 	}
// 		
// 	public Attribute(int[] raw){
// 		mNameSpace = raw[0];
// 		mName = raw[1];
// 		mString = raw[2];
// 		mType = raw[3];
// 		mValue = raw[4];
// 	}
// 		
// 	public boolean hasNamespace(){
// 		return (mNameSpace != -1);
// 	}
// }
// 
// Path: src/com/github/nukc/plugin/axml/utils/TypedValue.java
// public class TypedValue {
// 
//     public int type;
//     public CharSequence string;
//     public int data;
//     public int assetCookie;
//     public int resourceId;
//     public int changingConfigurations;
// 	
//     public static final int 
//     	TYPE_NULL				=0,
//     	TYPE_REFERENCE			=1,
//     	TYPE_ATTRIBUTE			=2,
//     	TYPE_STRING				=3,
//     	TYPE_FLOAT				=4,
//     	TYPE_DIMENSION			=5,
//     	TYPE_FRACTION			=6,
//     	TYPE_FIRST_INT			=16,
//     	TYPE_INT_DEC			=16,
//     	TYPE_INT_HEX			=17,
//     	TYPE_INT_BOOLEAN		=18,
//     	TYPE_FIRST_COLOR_INT	=28,
//     	TYPE_INT_COLOR_ARGB8	=28,
//     	TYPE_INT_COLOR_RGB8		=29,
//     	TYPE_INT_COLOR_ARGB4	=30,
//     	TYPE_INT_COLOR_RGB4		=31,
//     	TYPE_LAST_COLOR_INT		=31,
//     	TYPE_LAST_INT			=31;
//     
//     public static final int
// 	    COMPLEX_UNIT_PX			=0,
// 	    COMPLEX_UNIT_DIP		=1,
// 	    COMPLEX_UNIT_SP			=2,
// 	    COMPLEX_UNIT_PT			=3,
// 	    COMPLEX_UNIT_IN			=4,
// 	    COMPLEX_UNIT_MM			=5,
//     	COMPLEX_UNIT_SHIFT		=0,
// 	    COMPLEX_UNIT_MASK		=15,
// 	    COMPLEX_UNIT_FRACTION	=0,
// 	    COMPLEX_UNIT_FRACTION_PARENT=1,
// 	    COMPLEX_RADIX_23p0		=0,
// 	    COMPLEX_RADIX_16p7		=1,
// 	    COMPLEX_RADIX_8p15		=2,
// 	    COMPLEX_RADIX_0p23		=3,
// 	    COMPLEX_RADIX_SHIFT		=4,
// 	    COMPLEX_RADIX_MASK		=3,
// 	    COMPLEX_MANTISSA_SHIFT	=8,
// 	    COMPLEX_MANTISSA_MASK	=0xFFFFFF;
// 	
// }


import com.github.nukc.plugin.axml.decode.BTagNode.Attribute;
import com.github.nukc.plugin.axml.utils.TypedValue;
			String name = getStringAt(attr.mName);
			if("id".equals(name)){
				System.out.println("hehe");
			}
			sb.append(name).append('=');
			sb.append('\"').append(getAttributeValue(attr)).append('\"');
			
			print(sb.toString());
		}
	}
	final String intent = "                                ";
	final int step = 4;
	private void print(String str){
		System.out.println(intent.substring(0, depth*step)+str);
	}
	
	private String getStringAt(int index){
		return mStrings.getStringFor(index);
	}
	
	@SuppressWarnings("unused")
	private int getResIdAt(int index){
		//TODO final res result in resources.arsc
		return mRes.getResourceIdAt(index);
	}
	
	private String getAttributeValue(Attribute attr) {
		int type = attr.mType >> 24;
		int data = attr.mValue;
		
// Path: src/com/github/nukc/plugin/axml/decode/BTagNode.java
// public static class Attribute {
// 	public static final int SIZE = 5;
// 		
// 	public int mNameSpace;
// 	public int mName;
// 	public int mString;
// 	public int mType;
// 	public int mValue;
// 		
// 	public Attribute(int ns, int name, int type){
// 		mNameSpace = ns;
// 		mName = name;
// 		mType = type<<24;
// 	}
// 		
// 	public void setString(int str){
// 		if((mType>>24) != TypedValue.TYPE_STRING){
// 			throw new RuntimeException("Can't set string for none string type");
// 		}
// 			
// 		mString = str;
// 		mValue = str;
// 	}
// 		
// 	/**
// 	 * TODO type >>> 16 = real type , so how to fix it
// 	 * @param type
// 	 * @param value
// 	 */
// 	public void setValue(int type, int value){
// 		mType = type<<24;
// 		if(type == TypedValue.TYPE_STRING){
// 			mValue = value;
// 			mString = value;
// 		}else{
// 			mValue = value;
// 			mString = -1;
// 		}
// 			
// 	}
// 		
// 	public Attribute(int[] raw){
// 		mNameSpace = raw[0];
// 		mName = raw[1];
// 		mString = raw[2];
// 		mType = raw[3];
// 		mValue = raw[4];
// 	}
// 		
// 	public boolean hasNamespace(){
// 		return (mNameSpace != -1);
// 	}
// }
// 
// Path: src/com/github/nukc/plugin/axml/utils/TypedValue.java
// public class TypedValue {
// 
//     public int type;
//     public CharSequence string;
//     public int data;
//     public int assetCookie;
//     public int resourceId;
//     public int changingConfigurations;
// 	
//     public static final int 
//     	TYPE_NULL				=0,
//     	TYPE_REFERENCE			=1,
//     	TYPE_ATTRIBUTE			=2,
//     	TYPE_STRING				=3,
//     	TYPE_FLOAT				=4,
//     	TYPE_DIMENSION			=5,
//     	TYPE_FRACTION			=6,
//     	TYPE_FIRST_INT			=16,
//     	TYPE_INT_DEC			=16,
//     	TYPE_INT_HEX			=17,
//     	TYPE_INT_BOOLEAN		=18,
//     	TYPE_FIRST_COLOR_INT	=28,
//     	TYPE_INT_COLOR_ARGB8	=28,
//     	TYPE_INT_COLOR_RGB8		=29,
//     	TYPE_INT_COLOR_ARGB4	=30,
//     	TYPE_INT_COLOR_RGB4		=31,
//     	TYPE_LAST_COLOR_INT		=31,
//     	TYPE_LAST_INT			=31;
//     
//     public static final int
// 	    COMPLEX_UNIT_PX			=0,
// 	    COMPLEX_UNIT_DIP		=1,
// 	    COMPLEX_UNIT_SP			=2,
// 	    COMPLEX_UNIT_PT			=3,
// 	    COMPLEX_UNIT_IN			=4,
// 	    COMPLEX_UNIT_MM			=5,
//     	COMPLEX_UNIT_SHIFT		=0,
// 	    COMPLEX_UNIT_MASK		=15,
// 	    COMPLEX_UNIT_FRACTION	=0,
// 	    COMPLEX_UNIT_FRACTION_PARENT=1,
// 	    COMPLEX_RADIX_23p0		=0,
// 	    COMPLEX_RADIX_16p7		=1,
// 	    COMPLEX_RADIX_8p15		=2,
// 	    COMPLEX_RADIX_0p23		=3,
// 	    COMPLEX_RADIX_SHIFT		=4,
// 	    COMPLEX_RADIX_MASK		=3,
// 	    COMPLEX_MANTISSA_SHIFT	=8,
// 	    COMPLEX_MANTISSA_MASK	=0xFFFFFF;
// 	
// }


// Path: src/com/github/nukc/plugin/axml/decode/XMLVisitor.java
import com.github.nukc.plugin.axml.decode.BTagNode.Attribute;
import com.github.nukc.plugin.axml.utils.TypedValue;

			String name = getStringAt(attr.mName);
			if("id".equals(name)){
				System.out.println("hehe");
			}
			sb.append(name).append('=');
			sb.append('\"').append(getAttributeValue(attr)).append('\"');
			
			print(sb.toString());
		}
	}
	final String intent = "                                ";
	final int step = 4;
	private void print(String str){
		System.out.println(intent.substring(0, depth*step)+str);
	}
	
	private String getStringAt(int index){
		return mStrings.getStringFor(index);
	}
	
	@SuppressWarnings("unused")
	private int getResIdAt(int index){
		//TODO final res result in resources.arsc
		return mRes.getResourceIdAt(index);
	}
	
	private String getAttributeValue(Attribute attr) {
		int type = attr.mType >> 24;
		int data = attr.mValue;
		
		if (type==TypedValue.TYPE_STRING) {