Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 580e5b89 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge "Compare ringtones using IDs." into qt-dev

am: 8be2c7de

Change-Id: I5ce598586853bd9f0a597c281b66ce197543e2c1
parents 410c0531 8be2c7de
Loading
Loading
Loading
Loading
+5 −24
Original line number Diff line number Diff line
@@ -509,35 +509,16 @@ public class RingtoneManager {
     * @return The position of the {@link Uri}, or -1 if it cannot be found.
     */
    public int getRingtonePosition(Uri ringtoneUri) {
        
        if (ringtoneUri == null) return -1;
        final long ringtoneId = ContentUris.parseId(ringtoneUri);
        
        final Cursor cursor = getCursor();
        final int cursorCount = cursor.getCount();
        
        if (!cursor.moveToFirst()) {
            return -1;
        }
        
        // Only create Uri objects when the actual URI changes
        Uri currentUri = null;
        String previousUriString = null;
        for (int i = 0; i < cursorCount; i++) {
            String uriString = cursor.getString(URI_COLUMN_INDEX);
            if (currentUri == null || !uriString.equals(previousUriString)) {
                currentUri = Uri.parse(uriString);
        cursor.moveToPosition(-1);
        while (cursor.moveToNext()) {
            if (ringtoneId == cursor.getLong(ID_COLUMN_INDEX)) {
                return cursor.getPosition();
            }
            
            if (ringtoneUri.equals(ContentUris.withAppendedId(currentUri, cursor
                    .getLong(ID_COLUMN_INDEX)))) {
                return i;
        }
            
            cursor.move(1);
            
            previousUriString = uriString;
        }
        
        return -1;
    }