android.database.Cursor Java Examples

The following examples show how to use android.database.Cursor. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ServerDatabaseHandler.java    From an2linuxclient with GNU General Public License v3.0 9 votes vote down vote up
/**
 * @return certificate id or -1 if not found
 */
public long getCertificateId(byte[] certificateBytes){
    Formatter formatter = new Formatter();
    for (byte b : Sha256Helper.sha256(certificateBytes)){
        formatter.format("%02x", b);
    }

    SQLiteDatabase db = this.getWritableDatabase();

    Cursor c = db.query(TABLE_CERTIFICATES,
            new String[]{COLUMN_ID},
            COLUMN_FINGERPRINT + "=?", new String[]{formatter.toString()},
            null, null, null);

    long returnValue;
    if (c.moveToFirst()){
        returnValue = c.getLong(0);
    } else {
        returnValue = -1;
    }
    c.close();
    db.close();
    return returnValue;
}
 
Example #2
Source File: MediaListItem.java    From uPods-android with Apache License 2.0 7 votes vote down vote up
public static ArrayList<MediaListItem> withMediaType(String mediaType) {
    ArrayList<MediaListItem> mediaListItems = new ArrayList<>();
    SQLiteDatabase database = UpodsApplication.getDatabaseManager().getReadableDatabase();
    String[] args = {mediaType};
    String table = "radio_stations";
    if (mediaType.equals(TYPE_PODCAST)) {
        table = "podcasts";
    }
    Cursor cursor = database.rawQuery("SELECT r.id, r.name, m.list_type FROM " + table + " as r\n" +
            "LEFT JOIN media_list as m ON r.id = m.media_id\n" +
            "WHERE m.media_type =  ?", args);
    while (cursor.moveToNext()) {
        MediaListItem mediaListItem = new MediaListItem();
        mediaListItem.isExistsInDb = true;
        mediaListItem.id = cursor.getLong(cursor.getColumnIndex("id"));
        mediaListItem.mediaItemName = cursor.getString(cursor.getColumnIndex("name"));
        mediaListItem.listType = cursor.getString(cursor.getColumnIndex("list_type"));
        mediaListItems.add(mediaListItem);
    }
    cursor.close();
    return mediaListItems;
}
 
Example #3
Source File: NameLoader.java    From callmeter with GNU General Public License v3.0 7 votes vote down vote up
@Override
protected String doInBackground(final Void... params) {
    String ret = null;
    if (CallMeter.hasPermission(ctx, Manifest.permission.READ_CONTACTS)) {
        // resolve names only when permission is granted
        try {
            //noinspection ConstantConditions
            Cursor c = ctx.getContentResolver().query(
                    Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, num),
                    new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null);
            if (c != null) {
                if (c.moveToFirst()) {
                    ret = c.getString(0);
                }
                c.close();
            }
        } catch (Exception e) {
            Log.e(TAG, "error loading name", e);
        }
    }
    return ret;
}
 
Example #4
Source File: RecentsAdapter.java    From FireFiles with Apache License 2.0 6 votes vote down vote up
public void setData(Cursor cursor){
    mDocumentInfo = DocumentInfo.fromDirectoryCursor(cursor);
    final String docAuthority = getCursorString(cursor, RootCursorWrapper.COLUMN_AUTHORITY);
    final String docId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID);
    final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
    final String docPath = getCursorString(cursor, Document.COLUMN_PATH);
    final String docDisplayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME);
    final int docIcon = getCursorInt(cursor, Document.COLUMN_ICON);
    final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);

    mIconHelper.stopLoading(iconThumb);

    iconMimeBackground.setVisibility(View.VISIBLE);
    iconMimeBackground.setBackgroundColor(IconColorUtils.loadMimeColor(mContext, docMimeType, docAuthority, docId, mDefaultColor));
    iconThumb.animate().cancel();
    iconThumb.setAlpha(0f);

    final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId);
    mIconHelper.loadThumbnail(uri, docPath, docMimeType, docFlags, docIcon, iconMime, iconThumb, iconMimeBackground);
}
 
Example #5
Source File: UserInfoDao.java    From narrate-android with Apache License 2.0 6 votes vote down vote up
public static long getLastQueryDate() {
    // Open the database
    SQLiteDatabase db = DatabaseHelper.getInstance(GlobalApplication.getAppContext()).getReadableDatabase();

    // Query the database
    Cursor cursor = db.rawQuery("select * from " + USER_INFO, null);

    // If the query returned anything, return true, else return false
    long date = 0;

    if ( (cursor != null) && (cursor.getCount() > 0) ) {
        cursor.moveToFirst();
        date = cursor.getLong(2);
        cursor.close();
        LogUtil.log("UserInfoDao", "Last Query: " + date);
    }

    return date;
}
 
Example #6
Source File: MongoBrowserProvider.java    From MongoExplorer with MIT License 6 votes vote down vote up
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
	Cursor cursor;
	
	switch (URI_MATCHER.match(uri)) {
		case CONNECTION_ALL:
			cursor = mDatabase.query(TABLE_NAME_CONNECTIONS, projection, selection, selectionArgs, null, null, sortOrder);
			break;
		case CONNECTION_ONE:
			String xid = uri.getPathSegments().get(1);
			cursor = mDatabase.query(TABLE_NAME_CONNECTIONS, projection, BaseColumns._ID + " = ?", new String[] { xid }, null, null, sortOrder);
			break;
		case QUERY_ALL:
			cursor = mDatabase.query(TABLE_NAME_QUERIES, projection, selection, selectionArgs, null, null, sortOrder);
			break;
		case QUERY_ONE:
			String yid = uri.getPathSegments().get(1);
			cursor = mDatabase.query(TABLE_NAME_QUERIES, projection, BaseColumns._ID + " = ?", new String[] { yid }, null, null, sortOrder);
			break;
		default:
			throw new IllegalArgumentException("Unsupported URI:" + uri);				
	}
	
	cursor.setNotificationUri(getContext().getContentResolver(), uri);					
	return cursor;
}
 
Example #7
Source File: DBUtils.java    From okhttp-OkGo with Apache License 2.0 6 votes vote down vote up
/** 是否需要升级表 */
public static boolean isNeedUpgradeTable(SQLiteDatabase db, TableEntity table) {
    if (!isTableExists(db, table.tableName)) return true;

    Cursor cursor = db.rawQuery("select * from " + table.tableName, null);
    if (cursor == null) return false;
    try {
        int columnCount = table.getColumnCount();
        if (columnCount == cursor.getColumnCount()) {
            for (int i = 0; i < columnCount; i++) {
                if (table.getColumnIndex(cursor.getColumnName(i)) == -1) {
                    return true;
                }
            }
        } else {
            return true;
        }
        return false;
    } finally {
        cursor.close();
    }
}
 
Example #8
Source File: DatabaseAccess.java    From QuranAndroid with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Function to get one aya tafser
 *
 * @param soraID Sora id
 * @param ayaID  Aya id
 * @param book   Tafseer book number
 * @return Aya information with tafseer
 */
public AyaTafseer getAyaTafseer(int soraID, int ayaID, int book, String ayaText) {

    AyaTafseer ayaTafseer = null;
    SQLiteDatabase db = openDB(TAFSEER_DATABASE + "/tafseer" + book + ".sqlite");
    String sql = "select tafseer from ayatafseer where soraid = " + soraID + " and ayaid = " + ayaID + " ;";
    Cursor cursor = db.rawQuery(sql, null);
    cursor.moveToFirst();
    if (!cursor.isAfterLast()) {
        ayaTafseer = new AyaTafseer(soraID,
                ayaID, cursor.getString(0).equals("") ? "لا يوجد تفسير" : cursor.getString(0),
                ayaText);
        cursor.moveToNext();
    }
    cursor.close();
    closeDB(db);
    return ayaTafseer;
}
 
Example #9
Source File: RegisteredActionParameterDbAdapter.java    From LibreTasks with Apache License 2.0 6 votes vote down vote up
/**
 * Return a Cursor contains all RegisteredActionParameter records which matches the parameters.
 * 
 * @param parameterName
 *          is the parameter name, or null to fetch any parameterName.
 * @param actionID
 *          is the action id, or null to fetch any actionID.
 * @param dataTypeID
 *          is the dataType id, or null to fetch any dataTypeID.
 * @return a Cursor contains all RegisteredActionParameter records which matches the parameters.
 */
public Cursor fetchAll(String parameterName, Long actionID, Long dataTypeID) {
  SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
  qb.setTables(DATABASE_TABLE);
  qb.appendWhere("1=1");
  if (parameterName != null) {
    qb.appendWhere(" AND " + KEY_ACTIONPARAMETERNAME + " = ");
    qb.appendWhereEscapeString(parameterName);
  }
  if (actionID != null) {
    qb.appendWhere(" AND " + KEY_ACTIONID + " = " + actionID);
  }
  if (dataTypeID != null) {
    qb.appendWhere(" AND " + KEY_DATATYPEID + " = " + dataTypeID);
  }
  // Not using additional selections, selectionArgs, groupBy, having, orderBy, set them to null.
  return qb.query(database, KEYS, null, null, null, null, null);
}
 
Example #10
Source File: DBHelper.java    From EasyVPN-Free with GNU General Public License v3.0 6 votes vote down vote up
public Server getGoodRandomServer(String country) {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor;
    if (country != null) {
        cursor = db.rawQuery("SELECT * FROM "
                + TABLE_SERVERS
                + " WHERE "
                + KEY_QUALITY
                + " <> 0 AND "
                + KEY_COUNTRY_LONG
                + " = ?", new String[] {country});
    } else {
        cursor = db.rawQuery("SELECT * FROM "
                + TABLE_SERVERS
                + " WHERE "
                + KEY_QUALITY
                + " <> 0", null);
    }

    return parseGoodRandomServer(cursor, db);
}
 
Example #11
Source File: CursorAdapter.java    From watchlist with Apache License 2.0 6 votes vote down vote up
public Cursor swapCursor(Cursor newCursor) {
    if (newCursor == mCursor) {
        return null;
    }
    final Cursor oldCursor = mCursor;
    if (oldCursor != null && mDataSetObserver != null) {
        oldCursor.unregisterDataSetObserver(mDataSetObserver);
    }
    mCursor = newCursor;
    if (mCursor != null) {
        if (mDataSetObserver != null) {
            mCursor.registerDataSetObserver(mDataSetObserver);
        }
        rowIdColumn = newCursor.getColumnIndexOrThrow("_id");
        dataIsValid = true;
        notifyDataSetChanged();
    } else {
        rowIdColumn = -1;
        dataIsValid = false;
        notifyDataSetChanged();
    }
    return oldCursor;
}
 
Example #12
Source File: Utils.java    From android-utils with MIT License 6 votes vote down vote up
/**
 * Get the file path from the Media Content Uri for video, audio or images.
 *
 * @param mediaContentUri Media content Uri.
 **/
public static String getPathForMediaUri(Context context, Uri mediaContentUri) {

    Cursor cur = null;
    String path = null;

    try {
        String[] projection = {MediaColumns.DATA};
        cur = context.getContentResolver().query(mediaContentUri, projection, null, null, null);

        if (cur != null && cur.getCount() != 0) {
            cur.moveToFirst();
            path = cur.getString(cur.getColumnIndexOrThrow(MediaColumns.DATA));
        }

        // Log.v( TAG, "#getRealPathFromURI Path: " + path );
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (cur != null && !cur.isClosed())
            cur.close();
    }

    return path;
}
 
Example #13
Source File: PlaylistSongLoader.java    From Orin with GNU General Public License v3.0 6 votes vote down vote up
public static Cursor makePlaylistSongCursor(@NonNull final Context context, final int playlistId) {
    try {
        return context.getContentResolver().query(
                MediaStore.Audio.Playlists.Members.getContentUri("external", playlistId),
                new String[]{
                        MediaStore.Audio.Playlists.Members.AUDIO_ID,// 0
                        AudioColumns.TITLE,// 1
                        AudioColumns.TRACK,// 2
                        AudioColumns.YEAR,// 3
                        AudioColumns.DURATION,// 4
                        AudioColumns.DATA,// 5
                        AudioColumns.DATE_MODIFIED,// 6
                        AudioColumns.ALBUM_ID,// 7
                        AudioColumns.ALBUM,// 8
                        AudioColumns.ARTIST_ID,// 9
                        AudioColumns.ARTIST,// 10
                        MediaStore.Audio.Playlists.Members._ID // 11
                }, SongLoader.BASE_SELECTION, null,
                MediaStore.Audio.Playlists.Members.DEFAULT_SORT_ORDER);
    } catch (SecurityException e) {
        return null;
    }
}
 
Example #14
Source File: QiscusDataBaseHelper.java    From qiscus-sdk-android with Apache License 2.0 6 votes vote down vote up
@Override
public List<QiscusComment> searchComments(String query, long roomId, int limit, int offset) {
    String sql = "SELECT * FROM "
            + QiscusDb.CommentTable.TABLE_NAME + " WHERE "
            + QiscusDb.CommentTable.COLUMN_ROOM_ID + " = " + roomId + " AND "
            + QiscusDb.CommentTable.COLUMN_MESSAGE + " LIKE '%" + query + "%' " + " AND "
            + QiscusDb.CommentTable.COLUMN_HARD_DELETED + " = " + 0
            + " ORDER BY " + QiscusDb.CommentTable.COLUMN_TIME + " DESC "
            + " LIMIT " + limit + " OFFSET " + offset;

    Cursor cursor = sqLiteReadDatabase.rawQuery(sql, null);
    List<QiscusComment> qiscusComments = new ArrayList<>();
    while (cursor.moveToNext()) {
        QiscusComment qiscusComment = QiscusDb.CommentTable.parseCursor(cursor);
        QiscusRoomMember qiscusRoomMember = getMember(qiscusComment.getSenderEmail());
        if (qiscusRoomMember != null) {
            qiscusComment.setSender(qiscusRoomMember.getUsername());
            qiscusComment.setSenderAvatar(qiscusRoomMember.getAvatar());
        }
        qiscusComments.add(qiscusComment);
    }
    cursor.close();
    return qiscusComments;
}
 
Example #15
Source File: ContactsServicePlugin.java    From flutter_contacts with MIT License 6 votes vote down vote up
private Cursor getCursorForPhone(String phone) {
  if (phone.isEmpty())
    return null;

  Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phone));
  String[] projection = new String[]{BaseColumns._ID};

  ArrayList<String> contactIds = new ArrayList<>();
  Cursor phoneCursor = contentResolver.query(uri, projection, null, null, null);
  while (phoneCursor != null && phoneCursor.moveToNext()){
    contactIds.add(phoneCursor.getString(phoneCursor.getColumnIndex(BaseColumns._ID)));
  }
  if (phoneCursor!= null)
    phoneCursor.close();

  if (!contactIds.isEmpty()) {
    String contactIdsListString = contactIds.toString().replace("[", "(").replace("]", ")");
    String contactSelection = ContactsContract.Data.CONTACT_ID + " IN " + contactIdsListString;
    return contentResolver.query(ContactsContract.Data.CONTENT_URI, PROJECTION, contactSelection, null, null);
  }

  return null;
}
 
Example #16
Source File: ItemDAO.java    From RecyclerExt with Apache License 2.0 6 votes vote down vote up
private void create(@NonNull SQLiteDatabase database) {
    String orderQuery = "SELECT COUNT(" + C_ID + ") AS count FROM " + TABLE_NAME;
    Cursor c = database.rawQuery(orderQuery, null);
    int currentItemCount = 0;

    if (c != null) {
        if (c.moveToFirst()) {
            currentItemCount = c.getInt(c.getColumnIndexOrThrow("count"));
        }

        c.close();
    }

    ContentValues values = new ContentValues();
    values.put(C_TEXT, text);
    values.put(C_ORDER, currentItemCount);

    //NOTE: in a real instance you would get the generated C_ID and store it in the id field
    database.insert(TABLE_NAME, null, values);
}
 
Example #17
Source File: AccountBlotterTest.java    From financisto with GNU General Public License v2.0 6 votes vote down vote up
private void assertAccountBlotterColumn(Account account, DatabaseHelper.BlotterColumns column, long... values) {
    WhereFilter filter = createBlotterForAccountFilter(account);
    Cursor c = db.getBlotterForAccount(filter);
    try {
        int i = 0;
        while (c.moveToNext()) {
            if (i >= values.length) {
                fail("Too many rows " + c.getCount() + ". Expected " + values.length);
            }
            long expectedAmount = values[i++];
            long amount = c.getLong(column.ordinal());
            assertEquals("Blotter row " + i, expectedAmount, amount);
        }
        if (i != values.length) {
            fail("Too few rows " + c.getCount() + ". Expected " + values.length);
        }
    } finally {
        c.close();
    }
}
 
Example #18
Source File: DocumentsContractApi19.java    From FireFiles with Apache License 2.0 5 votes vote down vote up
public static boolean exists(Context context, Uri self) {
    final ContentResolver resolver = context.getContentResolver();

    Cursor c = null;
    try {
        c = resolver.query(self, new String[] {
                DocumentsContract.Document.COLUMN_DOCUMENT_ID }, null, null, null);
        return c.getCount() > 0;
    } catch (Exception e) {
        Log.w(TAG, "Failed query: " + e);
        return false;
    } finally {
        closeQuietly(c);
    }
}
 
Example #19
Source File: CropUtil.java    From ImageChoose with MIT License 5 votes vote down vote up
public static File getFromMediaUri(ContentResolver resolver, Uri uri) {
    if (uri == null) return null;

    if (SCHEME_FILE.equals(uri.getScheme())) {
        return new File(uri.getPath());
    } else if (SCHEME_CONTENT.equals(uri.getScheme())) {
        final String[] filePathColumn = { MediaStore.MediaColumns.DATA, MediaStore.MediaColumns.DISPLAY_NAME };
        Cursor cursor = null;
        try {
            cursor = resolver.query(uri, filePathColumn, null, null, null);
            if (cursor != null && cursor.moveToFirst()) {
                final int columnIndex = (uri.toString().startsWith("content://com.google.android.gallery3d")) ?
                        cursor.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME) :
                        cursor.getColumnIndex(MediaStore.MediaColumns.DATA);
                // Picasa image on newer devices with Honeycomb and up
                if (columnIndex != -1) {
                    String filePath = cursor.getString(columnIndex);
                    if (!TextUtils.isEmpty(filePath)) {
                        return new File(filePath);
                    }
                }
            }
        } catch (SecurityException ignored) {
            // Nothing we can do
        } finally {
            if (cursor != null) cursor.close();
        }
    }
    return null;
}
 
Example #20
Source File: Synchronizer.java    From AudioAnchor with GNU General Public License v3.0 5 votes vote down vote up
private void updateAlbumCover(long albumId, String title) {
    // Get the previous cover path
    String oldCoverPath = null;
    String[] proj = new String[]{AnchorContract.AlbumEntry.COLUMN_COVER_PATH};
    String sel = AnchorContract.AlbumEntry._ID + "=?";
    String[] selArgs = {Long.toString(albumId)};
    Cursor c = mContext.getContentResolver().query(AnchorContract.AlbumEntry.CONTENT_URI,
            proj, sel, selArgs, null);
    if (c == null || c.getCount() < 1) {
        return;
    }
    if (c.moveToFirst()) {
        oldCoverPath = c.getString(c.getColumnIndex(AnchorContract.AlbumEntry.COLUMN_COVER_PATH));
    }
    c.close();

    if (oldCoverPath == null || !(new File(mDirectory.getAbsolutePath() + File.separator + oldCoverPath).exists())) {
        // Search for a cover in the album directory
        File albumDir = new File(mDirectory.getAbsolutePath() + File.separator + title);
        String coverPath = Utils.getImagePath(albumDir);
        if (coverPath != null) {
            coverPath = coverPath.replace(mDirectory.getAbsolutePath(), "");
        }

        // Update the album cover path in the albums table
        ContentValues values = new ContentValues();
        values.put(AnchorContract.AlbumEntry.COLUMN_COVER_PATH, coverPath);
        mContext.getContentResolver().update(AnchorContract.AlbumEntry.CONTENT_URI, values, sel, selArgs);
    }
}
 
Example #21
Source File: UserDictionarySettings.java    From Indic-Keyboard with Apache License 2.0 5 votes vote down vote up
public MyAdapter(final Context context, final int layout, final Cursor c,
        final String[] from, final int[] to) {
    super(context, layout, c, from, to, 0 /* flags */);

    if (null != c) {
        final String alphabet = context.getString(R.string.user_dict_fast_scroll_alphabet);
        final int wordColIndex = c.getColumnIndexOrThrow(UserDictionary.Words.WORD);
        mIndexer = new AlphabetIndexer(c, wordColIndex, alphabet);
    }
    setViewBinder(mViewBinder);
}
 
Example #22
Source File: ConversationAdater.java    From yiim_v2 with GNU General Public License v2.0 5 votes vote down vote up
public ConversationAdater(Context context, Cursor cursor,
		XmppBinder xmppServiceBinder) {
	// TODO Auto-generated constructor stub
	super(context, cursor, true);
	mContext = context;
	mXmppServiceBinder = xmppServiceBinder;
}
 
Example #23
Source File: SimpleEnvelopesAdapter.java    From budget-envelopes with GNU General Public License v3.0 5 votes vote down vote up
private void changeColor(int pos, View change) {
    Cursor csr = getCursor();
    csr.moveToPosition(pos);
    int color = csr.getInt(csr.getColumnIndexOrThrow("color"));
    if(sdkVersion < android.os.Build.VERSION_CODES.JELLY_BEAN) {
        change.setBackgroundDrawable(EnvelopesAdapter.getColorStateDrawable(color));
    } else {
        change.setBackground(EnvelopesAdapter.getColorStateDrawable(color));
    }
}
 
Example #24
Source File: DatabaseHelper.java    From android with MIT License 5 votes vote down vote up
public String getContactName(String contactId) {
    contactId = sanitizeContactId(contactId);
    Cursor c = getReadableDatabase().rawQuery("SELECT " + ContactColumns.CONTACT_NAME +
            " FROM " + CONTACTS_TABLE_NAME + " WHERE " + ContactColumns.CONTACT_ID + " = '" +
            contactId + "'", null);
    String result = "";
    if (c.moveToNext()) {
        result = c.getString(0);
    }
    c.close();
    return result;
}
 
Example #25
Source File: MeasurementManager.java    From NoiseCapture with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Return record center position
 *
 * @param recordId    record identifier
 * @param maxAccuracy ignore measurements with
 * @return
 */
public double[] getRecordCenterPosition(int recordId, double maxAccuracy) {
    SQLiteDatabase database = storage.getReadableDatabase();
    Cursor cursor = database.rawQuery("SELECT AVG(" +
            Storage.Leq.COLUMN_LATITUDE + ") LATAVG, AVG(" +
            Storage.Leq.COLUMN_LONGITUDE + ") LONGAVG FROM " + Storage.Leq.TABLE_NAME + " L " +
            "WHERE L." + Storage.Leq.COLUMN_RECORD_ID + " = ? AND " + Storage.Leq
            .COLUMN_ACCURACY + " BETWEEN 1 AND " +
            "? ", new String[]{String.valueOf(recordId), String.valueOf(maxAccuracy)});

    try {
        if (cursor.moveToNext()) {
            Double latavg = cursor.getDouble(0);
            Double longavg = cursor.getDouble(1);
            if(latavg.equals(0.0) && longavg.equals(0.0)) {
                return null;
            } else {
                return new double[]{latavg, longavg};
            }
        }
    } catch (IllegalStateException ex) {
        // Ignore
    } finally {
        cursor.close();
    }
    return null;
}
 
Example #26
Source File: MmsDatabase.java    From mollyim-android with GNU General Public License v3.0 5 votes vote down vote up
public int getMessageCountForThread(long threadId, long beforeTime) {
  SQLiteDatabase db = databaseHelper.getReadableDatabase();

  String[] cols  = new String[] {"COUNT(*)"};
  String   query = THREAD_ID + " = ? AND " + DATE_RECEIVED + " < ?";
  String[] args  = new String[]{String.valueOf(threadId), String.valueOf(beforeTime)};

  try (Cursor cursor = db.query(TABLE_NAME, cols, query, args, null, null, null)) {
    if (cursor != null && cursor.moveToFirst()) {
      return cursor.getInt(0);
    }
  }

  return 0;
}
 
Example #27
Source File: ElifutDataStore.java    From android with Apache License 2.0 5 votes vote down vote up
private <T extends Persistable> List<T> rawQuery(
    Persistable.Converter<T> converter, String query, String... args) {
  Cursor cursor = null;
  List<T> items = new ArrayList<>();
  try {
    cursor = db.query(query, args);
    while (cursor.moveToNext()) {
      items.add(cursorToObject(converter, cursor));
    }
  } finally {
    closeQuietly(cursor);
  }
  return items;
}
 
Example #28
Source File: UserListPage.java    From fanfouapp-opensource with Apache License 2.0 5 votes vote down vote up
@Override
public void onItemClick(final AdapterView<?> parent, final View view,
        final int position, final long id) {
    final Cursor c = (Cursor) parent.getItemAtPosition(position);
    final User u = User.parse(c);
    if (u != null) {
        if (AppContext.DEBUG) {
            log("userId=" + u.id + " username=" + u.screenName);
        }
        ActionManager.doProfile(this.mContext, u);
    }
}
 
Example #29
Source File: StorageProvider.java    From FireFiles with Apache License 2.0 5 votes vote down vote up
protected long getImageForBucketCleared(long bucketId) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Images.Media.EXTERNAL_CONTENT_URI,
                ImagesBucketThumbnailQuery.PROJECTION, ImageColumns.BUCKET_ID + "=" + bucketId,
                null, ImageColumns.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(ImagesBucketThumbnailQuery._ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No video found for bucket");
}
 
Example #30
Source File: DictionaryDownloadProgressBar.java    From Android-Keyboard with Apache License 2.0 5 votes vote down vote up
@Override
public void run() {
    try {
        final UpdateHelper updateHelper = new UpdateHelper();
        final Query query = new Query().setFilterById(mId);
        setIndeterminate(true);
        while (!isInterrupted()) {
            final Cursor cursor = mDownloadManagerWrapper.query(query);
            if (null == cursor) {
                // Can't contact DownloadManager: this should never happen.
                return;
            }
            try {
                if (cursor.moveToNext()) {
                    final int columnBytesDownloadedSoFar = cursor.getColumnIndex(
                            DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR);
                    final int bytesDownloadedSoFar =
                            cursor.getInt(columnBytesDownloadedSoFar);
                    updateHelper.setProgressFromAnotherThread(bytesDownloadedSoFar);
                } else {
                    // Download has finished and DownloadManager has already been asked to
                    // clean up the db entry.
                    updateHelper.setProgressFromAnotherThread(getMax());
                    return;
                }
            } finally {
                cursor.close();
            }
            Thread.sleep(REPORT_PERIOD);
        }
    } catch (InterruptedException e) {
        // Do nothing and terminate normally.
    }
}