OSDN Git Service

Fixed issue #4098: Ringtone#getTitle does not close its cursor.
authorJosh Guilfoyle <jasta00@gmail.com>
Fri, 2 Oct 2009 22:39:10 +0000 (15:39 -0700)
committerJosh Guilfoyle <jasta00@gmail.com>
Sat, 3 Oct 2009 00:39:36 +0000 (17:39 -0700)
http://code.google.com/p/android/issues/detail?id=4098

media/java/android/media/Ringtone.java

index e80d8aa..1713324 100644 (file)
@@ -137,11 +137,17 @@ public class Ringtone {
                     cursor = res.query(uri, MEDIA_COLUMNS, null, null, null);
                 }
                 
-                if (cursor != null && cursor.getCount() == 1) {
-                    cursor.moveToFirst();
-                    return cursor.getString(2);
-                } else {
-                    title = uri.getLastPathSegment();
+                try {
+                    if (cursor != null && cursor.getCount() == 1) {
+                        cursor.moveToFirst();
+                        return cursor.getString(2);
+                    } else {
+                        title = uri.getLastPathSegment();
+                    }
+                } finally {
+                    if (cursor != null) {
+                        cursor.close();
+                    }
                 }
             }
         }