summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jean-Michel Trivi <jmtrivi@google.com> 2020-09-30 00:07:29 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-09-30 00:07:29 +0000
commit0a2fb51a9eed1541acb0c296daff9ca5bfe7d529 (patch)
tree81d28af258c9e8b330f34e6fc5d348f85ea8300d
parent3a0dd0df135255c85a7b53fd9ef7681d5199a6c0 (diff)
parentd715c91c2ac3a819c1816ece5129f81e34a545bc (diff)
Merge "Use the try catch to deal with the StaleDataException." am: 1fa847ad64 am: 15698dd32d am: 4b16237ab7 am: d715c91c2a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433917 Change-Id: I910b327fba414ae7ce3574acc078a0af40756b87
-rw-r--r--media/java/android/media/RingtoneManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index c75296c73a90..9deeb8fbab16 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -34,6 +34,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
+import android.database.StaleDataException;
import android.net.Uri;
import android.os.Environment;
import android.os.FileUtils;
@@ -492,7 +493,12 @@ public class RingtoneManager {
public Uri getRingtoneUri(int position) {
// use cursor directly instead of requerying it, which could easily
// cause position to shuffle.
- if (mCursor == null || !mCursor.moveToPosition(position)) {
+ try {
+ if (mCursor == null || !mCursor.moveToPosition(position)) {
+ return null;
+ }
+ } catch (StaleDataException | IllegalStateException e) {
+ Log.e(TAG, "Unexpected Exception has been catched.", e);
return null;
}