Merge "Add AbstractCursor.setExtras()"
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user