diff options
| author | 2011-09-01 12:51:58 -0700 | |
|---|---|---|
| committer | 2011-09-01 12:51:58 -0700 | |
| commit | e39b7a3d846584b76bf26262ab15fa10b876208a (patch) | |
| tree | bfb9d63f732b8f4ccc4108145f8d7162628b9d4f | |
| parent | 73d50d3edc54ee1836ce48d8e46c3a54ea2de31f (diff) | |
| parent | 630f6b1cf8a671890f7bb590f5219d8b63614cd9 (diff) | |
Merge "Add AbstractCursor.setExtras()"
| -rw-r--r-- | core/java/android/database/AbstractCursor.java | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java index b6487bd2f7f6..5fe42dbc3282 100644 --- a/core/java/android/database/AbstractCursor.java +++ b/core/java/android/database/AbstractCursor.java @@ -36,6 +36,8 @@ public abstract class AbstractCursor implements CrossProcessCursor { DataSetObservable mDataSetObservable = new DataSetObservable(); ContentObservable mContentObservable = new ContentObservable(); + Bundle mExtras = Bundle.EMPTY; + /* -------------------------------------------------------- */ /* These need to be implemented by subclasses */ abstract public int getCount(); @@ -71,11 +73,11 @@ public abstract class AbstractCursor implements CrossProcessCursor { public int getColumnCount() { return getColumnNames().length; } - + public void deactivate() { deactivateInternal(); } - + /** * @hide */ @@ -99,7 +101,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { public boolean isClosed() { return mClosed; } - + public void close() { mClosed = true; mContentObservable.unregisterAll(); @@ -120,7 +122,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { return true; } - + public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) { // Default implementation, uses getString String result = getString(columnIndex); @@ -136,7 +138,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { buffer.sizeCopied = 0; } } - + /* -------------------------------------------------------- */ /* Implementation */ public AbstractCursor() { @@ -181,7 +183,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { return result; } - + /** * Copy data from cursor to CursorWindow * @param position start position of data @@ -199,7 +201,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { window.setStartPosition(position); int columnNum = getColumnCount(); window.setNumColumns(columnNum); - while (moveToNext() && window.allocRow()) { + while (moveToNext() && window.allocRow()) { for (int i = 0; i < columnNum; i++) { String field = getString(i); if (field != null) { @@ -215,7 +217,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { } } } - + mPos = oldpos; } catch (IllegalStateException e){ // simply ignore it @@ -314,7 +316,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { mContentObservable.unregisterObserver(observer); } } - + /** * This is hidden until the data set change model has been re-evaluated. * @hide @@ -322,14 +324,14 @@ public abstract class AbstractCursor implements CrossProcessCursor { protected void notifyDataSetChange() { mDataSetObservable.notifyChanged(); } - + /** * This is hidden until the data set change model has been re-evaluated. * @hide */ protected DataSetObservable getDataSetObservable() { return mDataSetObservable; - + } public void registerDataSetObserver(DataSetObserver observer) { @@ -383,8 +385,19 @@ public abstract class AbstractCursor implements CrossProcessCursor { return false; } + /** + * Sets a {@link Bundle} that will be returned by {@link #getExtras()}. <code>null</code> will + * be converted into {@link Bundle#EMPTY}. + * + * @param extras {@link Bundle} to set. + * @hide + */ + public void setExtras(Bundle extras) { + mExtras = (extras == null) ? Bundle.EMPTY : extras; + } + public Bundle getExtras() { - return Bundle.EMPTY; + return mExtras; } public Bundle respond(Bundle extras) { |