Merge "RingtoneManager: verify default ringtone is audio" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1e91c08ce0
@@ -814,10 +814,10 @@ public class RingtoneManager {
|
|||||||
|
|
||||||
return ringtoneUri;
|
return ringtoneUri;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the {@link Uri} of the default sound for a given sound type.
|
* Sets the {@link Uri} of the default sound for a given sound type.
|
||||||
*
|
*
|
||||||
* @param context A context used for querying.
|
* @param context A context used for querying.
|
||||||
* @param type The type whose default sound should be set. One of
|
* @param type The type whose default sound should be set. One of
|
||||||
* {@link #TYPE_RINGTONE}, {@link #TYPE_NOTIFICATION}, or
|
* {@link #TYPE_RINGTONE}, {@link #TYPE_NOTIFICATION}, or
|
||||||
@@ -833,6 +833,21 @@ public class RingtoneManager {
|
|||||||
if(!isInternalRingtoneUri(ringtoneUri)) {
|
if(!isInternalRingtoneUri(ringtoneUri)) {
|
||||||
ringtoneUri = ContentProvider.maybeAddUserId(ringtoneUri, context.getUserId());
|
ringtoneUri = ContentProvider.maybeAddUserId(ringtoneUri, context.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ringtoneUri != null) {
|
||||||
|
final String mimeType = resolver.getType(ringtoneUri);
|
||||||
|
if (mimeType == null) {
|
||||||
|
Log.e(TAG, "setActualDefaultRingtoneUri for URI:" + ringtoneUri
|
||||||
|
+ " ignored: failure to find mimeType (no access from this context?)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!(mimeType.startsWith("audio/") || mimeType.equals("application/ogg"))) {
|
||||||
|
Log.e(TAG, "setActualDefaultRingtoneUri for URI:" + ringtoneUri
|
||||||
|
+ " ignored: associated mimeType:" + mimeType + " is not an audio type");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Settings.System.putStringForUser(resolver, setting,
|
Settings.System.putStringForUser(resolver, setting,
|
||||||
ringtoneUri != null ? ringtoneUri.toString() : null, context.getUserId());
|
ringtoneUri != null ? ringtoneUri.toString() : null, context.getUserId());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user