Merge "Use the try catch to deal with the StaleDataException." am: 1fa847ad64
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433917 Change-Id: I7785f21c7d67e3bdfcef03615993836297a99b50
This commit is contained in:
@@ -34,6 +34,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
|
|||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.content.res.AssetFileDescriptor;
|
import android.content.res.AssetFileDescriptor;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
|
import android.database.StaleDataException;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.FileUtils;
|
import android.os.FileUtils;
|
||||||
@@ -492,9 +493,14 @@ public class RingtoneManager {
|
|||||||
public Uri getRingtoneUri(int position) {
|
public Uri getRingtoneUri(int position) {
|
||||||
// use cursor directly instead of requerying it, which could easily
|
// use cursor directly instead of requerying it, which could easily
|
||||||
// cause position to shuffle.
|
// cause position to shuffle.
|
||||||
|
try {
|
||||||
if (mCursor == null || !mCursor.moveToPosition(position)) {
|
if (mCursor == null || !mCursor.moveToPosition(position)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
} catch (StaleDataException | IllegalStateException e) {
|
||||||
|
Log.e(TAG, "Unexpected Exception has been catched.", e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return getUriFromCursor(mContext, mCursor);
|
return getUriFromCursor(mContext, mCursor);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user