Merge "Add AbstractCursor.setExtras()"

This commit is contained in:
Makoto Onuki
2011-09-01 12:51:58 -07:00
committed by Android (Google) Code Review

View File

@@ -36,6 +36,8 @@ public abstract class AbstractCursor implements CrossProcessCursor {
DataSetObservable mDataSetObservable = new DataSetObservable(); DataSetObservable mDataSetObservable = new DataSetObservable();
ContentObservable mContentObservable = new ContentObservable(); ContentObservable mContentObservable = new ContentObservable();
Bundle mExtras = Bundle.EMPTY;
/* -------------------------------------------------------- */ /* -------------------------------------------------------- */
/* These need to be implemented by subclasses */ /* These need to be implemented by subclasses */
abstract public int getCount(); abstract public int getCount();
@@ -71,11 +73,11 @@ public abstract class AbstractCursor implements CrossProcessCursor {
public int getColumnCount() { public int getColumnCount() {
return getColumnNames().length; return getColumnNames().length;
} }
public void deactivate() { public void deactivate() {
deactivateInternal(); deactivateInternal();
} }
/** /**
* @hide * @hide
*/ */
@@ -99,7 +101,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
public boolean isClosed() { public boolean isClosed() {
return mClosed; return mClosed;
} }
public void close() { public void close() {
mClosed = true; mClosed = true;
mContentObservable.unregisterAll(); mContentObservable.unregisterAll();
@@ -120,7 +122,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
return true; return true;
} }
public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) { public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) {
// Default implementation, uses getString // Default implementation, uses getString
String result = getString(columnIndex); String result = getString(columnIndex);
@@ -136,7 +138,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
buffer.sizeCopied = 0; buffer.sizeCopied = 0;
} }
} }
/* -------------------------------------------------------- */ /* -------------------------------------------------------- */
/* Implementation */ /* Implementation */
public AbstractCursor() { public AbstractCursor() {
@@ -181,7 +183,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
return result; return result;
} }
/** /**
* Copy data from cursor to CursorWindow * Copy data from cursor to CursorWindow
* @param position start position of data * @param position start position of data
@@ -199,7 +201,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
window.setStartPosition(position); window.setStartPosition(position);
int columnNum = getColumnCount(); int columnNum = getColumnCount();
window.setNumColumns(columnNum); window.setNumColumns(columnNum);
while (moveToNext() && window.allocRow()) { while (moveToNext() && window.allocRow()) {
for (int i = 0; i < columnNum; i++) { for (int i = 0; i < columnNum; i++) {
String field = getString(i); String field = getString(i);
if (field != null) { if (field != null) {
@@ -215,7 +217,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
} }
} }
} }
mPos = oldpos; mPos = oldpos;
} catch (IllegalStateException e){ } catch (IllegalStateException e){
// simply ignore it // simply ignore it
@@ -314,7 +316,7 @@ public abstract class AbstractCursor implements CrossProcessCursor {
mContentObservable.unregisterObserver(observer); mContentObservable.unregisterObserver(observer);
} }
} }
/** /**
* This is hidden until the data set change model has been re-evaluated. * This is hidden until the data set change model has been re-evaluated.
* @hide * @hide
@@ -322,14 +324,14 @@ public abstract class AbstractCursor implements CrossProcessCursor {
protected void notifyDataSetChange() { protected void notifyDataSetChange() {
mDataSetObservable.notifyChanged(); mDataSetObservable.notifyChanged();
} }
/** /**
* This is hidden until the data set change model has been re-evaluated. * This is hidden until the data set change model has been re-evaluated.
* @hide * @hide
*/ */
protected DataSetObservable getDataSetObservable() { protected DataSetObservable getDataSetObservable() {
return mDataSetObservable; return mDataSetObservable;
} }
public void registerDataSetObserver(DataSetObserver observer) { public void registerDataSetObserver(DataSetObserver observer) {
@@ -383,8 +385,19 @@ public abstract class AbstractCursor implements CrossProcessCursor {
return false; 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() { public Bundle getExtras() {
return Bundle.EMPTY; return mExtras;
} }
public Bundle respond(Bundle extras) { public Bundle respond(Bundle extras) {