private boolean getValueAt(int index, TypedValue outValue) { final int[] data = mData; final int type = data[index + AssetManager.STYLE_TYPE]; if (type == TypedValue.TYPE_NULL) { return false; } outValue.type = type; outValue.data = data[index + AssetManager.STYLE_DATA]; outValue.assetCookie = data[index + AssetManager.STYLE_ASSET_COOKIE]; outValue.resourceId = data[index + AssetManager.STYLE_RESOURCE_ID]; outValue.changingConfigurations = data[index + AssetManager.STYLE_CHANGING_CONFIGURATIONS]; outValue.density = data[index + AssetManager.STYLE_DENSITY]; outValue.string = (type == TypedValue.TYPE_STRING) ? loadStringValueAt(index) : null; return true; }