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

Commit 96d98a9f authored by Robert Chou's avatar Robert Chou Committed by Gerrit Code Review
Browse files

Merge "Ringtone uri should add type query"

parents 2c3e56fc 3b25df9a
Loading
Loading
Loading
Loading
+13 −2
Original line number Original line Diff line number Diff line
@@ -1129,12 +1129,14 @@ public class RingtoneManager {
            }
            }


            // Try finding the scanned ringtone
            // Try finding the scanned ringtone
            final String whichAudio = getQueryStringForType(type);
            final String filename = getDefaultRingtoneFilename(type);
            final String filename = getDefaultRingtoneFilename(type);
            final String where = MediaColumns.DISPLAY_NAME + "=?," + whichAudio + "=?";
            final Uri baseUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
            final Uri baseUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
            try (Cursor cursor = context.getContentResolver().query(baseUri,
            try (Cursor cursor = context.getContentResolver().query(baseUri,
                    new String[] { MediaColumns._ID },
                    new String[] { MediaColumns._ID },
                    MediaColumns.DISPLAY_NAME + "=?",
                    where,
                    new String[] { filename }, null)) {
                    new String[] { filename , "1"}, null)) {
                if (cursor.moveToFirst()) {
                if (cursor.moveToFirst()) {
                    final Uri ringtoneUri = context.getContentResolver().canonicalizeOrElse(
                    final Uri ringtoneUri = context.getContentResolver().canonicalizeOrElse(
                            ContentUris.withAppendedId(baseUri, cursor.getLong(0)));
                            ContentUris.withAppendedId(baseUri, cursor.getLong(0)));
@@ -1162,4 +1164,13 @@ public class RingtoneManager {
            default: throw new IllegalArgumentException();
            default: throw new IllegalArgumentException();
        }
        }
    }
    }

    private static String getQueryStringForType(int type) {
        switch (type) {
            case TYPE_RINGTONE: return MediaStore.Audio.AudioColumns.IS_RINGTONE;
            case TYPE_NOTIFICATION: return MediaStore.Audio.AudioColumns.IS_NOTIFICATION;
            case TYPE_ALARM: return MediaStore.Audio.AudioColumns.IS_ALARM;
            default: throw new IllegalArgumentException();
        }
    }
}
}