Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca74897b authored by Vasu Nori's avatar Vasu Nori
Browse files

in GB requery() didn't throw exceptions (mostly). replicate that in HC

bug:3302851
Change-Id: I56e0bd178b200472cb1dbcbd2e80b844690b8964
parent 5dd6e9a9
Loading
Loading
Loading
Loading
+25 −3
Original line number Diff line number Diff line
@@ -407,15 +407,29 @@ public class SQLiteCursor extends AbstractWindowedCursor {
                mWindow.clear();
            }
            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)) {
                // since we need to use a different database connection handle,
                // re-compile the query
                try {
                    db.lock();
                } catch (IllegalStateException e) {
                    // for backwards compatibility, just return false
                    return false;
                }
                try {
                    // close the old mQuery object and open a new one
                    mQuery.close();
                    mQuery = new SQLiteQuery(db, mQuery);
                } catch (IllegalStateException e) {
                    // for backwards compatibility, just return false
                    return false;
                } finally {
                    db.unlock();
                }
@@ -427,6 +441,9 @@ public class SQLiteCursor extends AbstractWindowedCursor {
            queryThreadLock();
            try {
                mQuery.requery();
            } catch (IllegalStateException e) {
                // for backwards compatibility, just return false
                return false;
            } finally {
                queryThreadUnlock();
            }
@@ -437,7 +454,12 @@ public class SQLiteCursor extends AbstractWindowedCursor {
            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) {
            long timeEnd = System.currentTimeMillis();
            Log.v(TAG, "requery (" + (timeEnd - timeStart) + " ms): " + mDriver.toString());