Merge "RingtoneManager: Don't crash if the ringtone doesn't have a numerical ID" am: ff78aab391

Change-Id: Ia4af051076066cb3cd66cb5d95162339b989dad4
This commit is contained in:
Automerger Merge Worker
2020-02-18 22:06:22 +00:00

View File

@@ -509,15 +509,19 @@ public class RingtoneManager {
* @return The position of the {@link Uri}, or -1 if it cannot be found. * @return The position of the {@link Uri}, or -1 if it cannot be found.
*/ */
public int getRingtonePosition(Uri ringtoneUri) { public int getRingtonePosition(Uri ringtoneUri) {
if (ringtoneUri == null) return -1; try {
final long ringtoneId = ContentUris.parseId(ringtoneUri); if (ringtoneUri == null) return -1;
final long ringtoneId = ContentUris.parseId(ringtoneUri);
final Cursor cursor = getCursor(); final Cursor cursor = getCursor();
cursor.moveToPosition(-1); cursor.moveToPosition(-1);
while (cursor.moveToNext()) { while (cursor.moveToNext()) {
if (ringtoneId == cursor.getLong(ID_COLUMN_INDEX)) { if (ringtoneId == cursor.getLong(ID_COLUMN_INDEX)) {
return cursor.getPosition(); return cursor.getPosition();
}
} }
} catch (NumberFormatException e) {
Log.e(TAG, "NumberFormatException while getting ringtone position, returning -1", e);
} }
return -1; return -1;
} }