diff options
-rw-r--r-- | api/current.txt | 3 | ||||
-rw-r--r-- | core/java/android/database/AbstractCursor.java | 4 | ||||
-rw-r--r-- | core/java/android/database/Cursor.java | 10 | ||||
-rw-r--r-- | core/java/android/database/CursorWrapper.java | 4 | ||||
-rw-r--r-- | test-runner/src/android/test/mock/MockCursor.java | 7 |
5 files changed, 24 insertions, 4 deletions
diff --git a/api/current.txt b/api/current.txt index fb487b2..f3c654c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -7634,6 +7634,7 @@ package android.database { method public abstract float getFloat(int); method public abstract int getInt(int); method public abstract long getLong(int); + method public abstract android.net.Uri getNotificationUri(); method public abstract int getPosition(); method public abstract short getShort(int); method public abstract java.lang.String getString(int); @@ -7739,6 +7740,7 @@ package android.database { method public float getFloat(int); method public int getInt(int); method public long getLong(int); + method public android.net.Uri getNotificationUri(); method public int getPosition(); method public short getShort(int); method public java.lang.String getString(int); @@ -22628,6 +22630,7 @@ package android.test.mock { method public float getFloat(int); method public int getInt(int); method public long getLong(int); + method public android.net.Uri getNotificationUri(); method public int getPosition(); method public short getShort(int); method public java.lang.String getString(int); diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java index 300b4d1..b5b89dd 100644 --- a/core/java/android/database/AbstractCursor.java +++ b/core/java/android/database/AbstractCursor.java @@ -369,7 +369,9 @@ public abstract class AbstractCursor implements CrossProcessCursor { } public Uri getNotificationUri() { - return mNotifyUri; + synchronized (mSelfObserverLock) { + return mNotifyUri; + } } public boolean getWantsAllOnMoveCalls() { diff --git a/core/java/android/database/Cursor.java b/core/java/android/database/Cursor.java index 907833d..7381e2c 100644 --- a/core/java/android/database/Cursor.java +++ b/core/java/android/database/Cursor.java @@ -425,6 +425,16 @@ public interface Cursor extends Closeable { void setNotificationUri(ContentResolver cr, Uri uri); /** + * Return the URI at which notifications of changes in this Cursor's data + * will be delivered, as previously set by {@link #setNotificationUri}. + * @return Returns a URI that can be used with + * {@link ContentResolver#registerContentObserver(android.net.Uri, boolean, ContentObserver) + * ContentResolver.registerContentObserver} to find out about changes to this Cursor's + * data. May be null if no notification URI has been set. + */ + Uri getNotificationUri(); + + /** * onMove() will only be called across processes if this method returns true. * @return whether all cursor movement should result in a call to onMove(). */ diff --git a/core/java/android/database/CursorWrapper.java b/core/java/android/database/CursorWrapper.java index 7baeb8c..d8fcb17 100644 --- a/core/java/android/database/CursorWrapper.java +++ b/core/java/android/database/CursorWrapper.java @@ -194,6 +194,10 @@ public class CursorWrapper implements Cursor { mCursor.setNotificationUri(cr, uri); } + public Uri getNotificationUri() { + return mCursor.getNotificationUri(); + } + public void unregisterContentObserver(ContentObserver observer) { mCursor.unregisterContentObserver(observer); } diff --git a/test-runner/src/android/test/mock/MockCursor.java b/test-runner/src/android/test/mock/MockCursor.java index baa150a..5b8a4f4 100644 --- a/test-runner/src/android/test/mock/MockCursor.java +++ b/test-runner/src/android/test/mock/MockCursor.java @@ -177,17 +177,18 @@ public class MockCursor implements Cursor { throw new UnsupportedOperationException("unimplemented mock method"); } - @SuppressWarnings("deprecation") public void setNotificationUri(ContentResolver cr, Uri uri) { throw new UnsupportedOperationException("unimplemented mock method"); } - @SuppressWarnings("deprecation") + public Uri getNotificationUri() { + throw new UnsupportedOperationException("unimplemented mock method"); + } + public void unregisterContentObserver(ContentObserver observer) { throw new UnsupportedOperationException("unimplemented mock method"); } - @SuppressWarnings("deprecation") public void unregisterDataSetObserver(DataSetObserver observer) { throw new UnsupportedOperationException("unimplemented mock method"); } |