public static ObjectInfo CreateFromDB(Cursor cursor) { ObjectInfo info = new ObjectInfo(); info.mAppWidgetId = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.WIDGET_ID)); info.mName = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.OBJECT_NAME)); info.mType = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.OBJECT_TYPE)); info.mID = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns._ID)); info.mShaderType = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.SHADER_TYPE)); info.mSceneName = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.SCENE_NAME)); String componentName = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.COMPONENT_NAME)); if (componentName != null) { info.mComponentName = ComponentName.unflattenFromString(componentName); } info.mSlotType = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.SLOT_TYPE)); info.mObjectSlot.mObjectID = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.OBJECT_ID)); info.mObjectSlot.mVesselID = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.VESSEL_ID)); info.mObjectSlot.mSlotIndex = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.SLOT_INDEX)); info.mObjectSlot.mStartX = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.SLOT_StartX)); info.mObjectSlot.mStartY = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.SLOT_StartY)); info.mObjectSlot.mSpanX = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.SLOT_SpanX)); info.mObjectSlot.mSpanY = cursor.getInt(cursor.getColumnIndexOrThrow(VesselColumns.SLOT_SpanY)); info.mClassName = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.CLASS_NAME)); byte[] bytes = cursor.getBlob(cursor.getColumnIndexOrThrow(ObjectInfoColumns.SHORTCUT_ICON)); if (bytes != null) { info.mShortcutIcon = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, null); } int nativeObj = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.IS_NATIVE_OBJ)); if (nativeObj > 0) { info.mIsNativeObject = true; } else { info.mIsNativeObject = false; } info.mShortcutUrl = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.SHORTCUT_URL)); info.mIndex = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.OBJECT_INDEX)); info.mDisplayName = cursor.getString(cursor.getColumnIndexOrThrow(ObjectInfoColumns.DISPLAY_NAME)); info.mFaceColor = cursor.getInt(cursor.getColumnIndexOrThrow(ObjectInfoColumns.FACE_COLOR)); return info; }