public static void cursorRowToContentValues(Cursor paramCursor, ContentValues paramContentValues)
 {
   AbstractWindowedCursor localAbstractWindowedCursor;
   String[] arrayOfString;
   int i;
   if ((paramCursor instanceof AbstractWindowedCursor))
   {
     localAbstractWindowedCursor = (AbstractWindowedCursor)paramCursor;
     arrayOfString = paramCursor.getColumnNames();
     int j = arrayOfString.length;
     i = 0;
     label27:
     if (i >= j) {
       return;
     }
     if ((localAbstractWindowedCursor == null) || (!localAbstractWindowedCursor.isBlob(i))) {
       break label74;
     }
     paramContentValues.put(arrayOfString[i], paramCursor.getBlob(i));
   }
   for (;;)
   {
     i += 1;
     break label27;
     localAbstractWindowedCursor = null;
     break;
     label74:
     paramContentValues.put(arrayOfString[i], paramCursor.getString(i));
   }
 }
  /**
   * Read the entire contents of a cursor row and store them in a ContentValues.
   *
   * @param cursor the cursor to read from.
   * @param values the {@link ContentValues} to put the row into.
   */
  public static void cursorRowToContentValues(Cursor cursor, ContentValues values) {
    AbstractWindowedCursor awc =
        (cursor instanceof AbstractWindowedCursor) ? (AbstractWindowedCursor) cursor : null;

    String[] columns = cursor.getColumnNames();
    int length = columns.length;
    for (int i = 0; i < length; i++) {
      if (awc != null && awc.isBlob(i)) {
        values.put(columns[i], cursor.getBlob(i));
      } else {
        values.put(columns[i], cursor.getString(i));
      }
    }
  }
 public static void cursorFillWindow(Cursor paramCursor, int paramInt, CursorWindow paramCursorWindow)
 {
   if ((paramInt < 0) || (paramInt >= paramCursor.getCount())) {
     return;
   }
   int j = paramCursor.getPosition();
   int k = paramCursor.getColumnCount();
   paramCursorWindow.clear();
   paramCursorWindow.setStartPosition(paramInt);
   paramCursorWindow.setNumColumns(k);
   int i;
   if (paramCursor.moveToPosition(paramInt)) {
     if (paramCursorWindow.allocRow()) {
       i = 0;
     }
   }
   for (;;)
   {
     Object localObject;
     boolean bool;
     if (i < k) {
       switch (paramCursor.getType(i))
       {
       case 3: 
       default: 
         localObject = paramCursor.getString(i);
         if (localObject != null) {
           bool = paramCursorWindow.putString((String)localObject, paramInt, i);
         }
         break;
       }
     }
     for (;;)
     {
       if (bool) {
         break label264;
       }
       paramCursorWindow.freeLastRow();
       paramInt += 1;
       if (paramCursor.moveToNext()) {
         break;
       }
       paramCursor.moveToPosition(j);
       return;
       bool = paramCursorWindow.putNull(paramInt, i);
       continue;
       bool = paramCursorWindow.putLong(paramCursor.getLong(i), paramInt, i);
       continue;
       bool = paramCursorWindow.putDouble(paramCursor.getDouble(i), paramInt, i);
       continue;
       localObject = paramCursor.getBlob(i);
       if (localObject != null)
       {
         bool = paramCursorWindow.putBlob((byte[])localObject, paramInt, i);
       }
       else
       {
         bool = paramCursorWindow.putNull(paramInt, i);
         continue;
         bool = paramCursorWindow.putNull(paramInt, i);
       }
     }
     label264:
     i += 1;
   }
 }
  public static void cursorFillWindow(
      final Cursor cursor, int position, final android.database.CursorWindow window) {
    if (position < 0 || position >= cursor.getCount()) {
      return;
    }
    final int oldPos = cursor.getPosition();
    final int numColumns = cursor.getColumnCount();
    window.clear();
    window.setStartPosition(position);
    window.setNumColumns(numColumns);
    if (cursor.moveToPosition(position)) {
      do {
        if (!window.allocRow()) {
          break;
        }
        for (int i = 0; i < numColumns; i++) {
          final int type = cursor.getType(i);
          final boolean success;
          switch (type) {
            case Cursor.FIELD_TYPE_NULL:
              success = window.putNull(position, i);
              break;

            case Cursor.FIELD_TYPE_INTEGER:
              success = window.putLong(cursor.getLong(i), position, i);
              break;

            case Cursor.FIELD_TYPE_FLOAT:
              success = window.putDouble(cursor.getDouble(i), position, i);
              break;

            case Cursor.FIELD_TYPE_BLOB:
              {
                final byte[] value = cursor.getBlob(i);
                success =
                    value != null
                        ? window.putBlob(value, position, i)
                        : window.putNull(position, i);
                break;
              }

            default: // assume value is convertible to String
            case Cursor.FIELD_TYPE_STRING:
              {
                final String value = cursor.getString(i);
                success =
                    value != null
                        ? window.putString(value, position, i)
                        : window.putNull(position, i);
                break;
              }
          }
          if (!success) {
            window.freeLastRow();
            break;
          }
        }
        position += 1;
      } while (cursor.moveToNext());
    }
    cursor.moveToPosition(oldPos);
  }