Merge "in GB requery() didn't throw exceptions (mostly). replicate that in HC" into honeycomb
This commit is contained in:
@@ -407,15 +407,29 @@ public class SQLiteCursor extends AbstractWindowedCursor {
|
|||||||
mWindow.clear();
|
mWindow.clear();
|
||||||
}
|
}
|
||||||
mPos = -1;
|
mPos = -1;
|
||||||
SQLiteDatabase db = mQuery.mDatabase.getDatabaseHandle(mQuery.mSql);
|
SQLiteDatabase db = null;
|
||||||
|
try {
|
||||||
|
db = mQuery.mDatabase.getDatabaseHandle(mQuery.mSql);
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
// for backwards compatibility, just return false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (!db.equals(mQuery.mDatabase)) {
|
if (!db.equals(mQuery.mDatabase)) {
|
||||||
// since we need to use a different database connection handle,
|
// since we need to use a different database connection handle,
|
||||||
// re-compile the query
|
// re-compile the query
|
||||||
db.lock();
|
try {
|
||||||
|
db.lock();
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
// for backwards compatibility, just return false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// close the old mQuery object and open a new one
|
// close the old mQuery object and open a new one
|
||||||
mQuery.close();
|
mQuery.close();
|
||||||
mQuery = new SQLiteQuery(db, mQuery);
|
mQuery = new SQLiteQuery(db, mQuery);
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
// for backwards compatibility, just return false
|
||||||
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
db.unlock();
|
db.unlock();
|
||||||
}
|
}
|
||||||
@@ -427,6 +441,9 @@ public class SQLiteCursor extends AbstractWindowedCursor {
|
|||||||
queryThreadLock();
|
queryThreadLock();
|
||||||
try {
|
try {
|
||||||
mQuery.requery();
|
mQuery.requery();
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
// for backwards compatibility, just return false
|
||||||
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
queryThreadUnlock();
|
queryThreadUnlock();
|
||||||
}
|
}
|
||||||
@@ -437,7 +454,12 @@ public class SQLiteCursor extends AbstractWindowedCursor {
|
|||||||
Log.v(TAG, "--- Requery()ed cursor " + this + ": " + mQuery);
|
Log.v(TAG, "--- Requery()ed cursor " + this + ": " + mQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean result = super.requery();
|
boolean result = false;
|
||||||
|
try {
|
||||||
|
result = super.requery();
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
// for backwards compatibility, just return false
|
||||||
|
}
|
||||||
if (Config.LOGV) {
|
if (Config.LOGV) {
|
||||||
long timeEnd = System.currentTimeMillis();
|
long timeEnd = System.currentTimeMillis();
|
||||||
Log.v(TAG, "requery (" + (timeEnd - timeStart) + " ms): " + mDriver.toString());
|
Log.v(TAG, "requery (" + (timeEnd - timeStart) + " ms): " + mDriver.toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user