check for db validity in has/pending offlinedata functions

This commit is contained in:
Andrew Dolgov 2011-12-07 11:31:43 +03:00
parent 65c9eeb773
commit 5c48526057

View File

@ -123,14 +123,18 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
private boolean hasPendingOfflineData() {
Cursor c = getReadableDb().query("articles",
new String[] { "COUNT(*)" }, "modified = 1", null, null, null,
null);
if (c.moveToFirst()) {
int modified = c.getInt(0);
c.close();
return modified > 0;
try {
Cursor c = getReadableDb().query("articles",
new String[] { "COUNT(*)" }, "modified = 1", null, null, null,
null);
if (c.moveToFirst()) {
int modified = c.getInt(0);
c.close();
return modified > 0;
}
} catch (IllegalStateException e) {
// db is closed? ugh
}
return false;
@ -141,13 +145,17 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
private boolean hasOfflineData() {
Cursor c = getReadableDb().query("articles",
new String[] { "COUNT(*)" }, null, null, null, null, null);
if (c.moveToFirst()) {
int modified = c.getInt(0);
c.close();
return modified > 0;
try {
Cursor c = getReadableDb().query("articles",
new String[] { "COUNT(*)" }, null, null, null, null, null);
if (c.moveToFirst()) {
int modified = c.getInt(0);
c.close();
return modified > 0;
}
} catch (IllegalStateException e) {
// db is closed?
}
return false;