summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShubang <shubang@google.com>2018-02-28 13:56:06 -0800
committerShubang Lu <shubang@google.com>2018-02-28 23:14:55 +0000
commitef1b7df26c118dfcd3d6fd63429635a4cc419d87 (patch)
tree38585628d7e07fdfb8452cc9efb826ee3943e3b8
parent47727c55abbc3d6ff7b21a1d62ad426ebacc46de (diff)
downloadTvProvider-ef1b7df26c118dfcd3d6fd63429635a4cc419d87.tar.gz
Fix IllegalStateException caused by DB closed
DB is closed because it's declared inside a try-with-resources statement Bug: 65493806 Test: make -j30 Change-Id: Ic7536f3488d8a501be72d7613f48002db9e90ae0
-rw-r--r--src/com/android/providers/tv/TvProvider.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/com/android/providers/tv/TvProvider.java b/src/com/android/providers/tv/TvProvider.java
index 6968196..01bc833 100644
--- a/src/com/android/providers/tv/TvProvider.java
+++ b/src/com/android/providers/tv/TvProvider.java
@@ -1166,7 +1166,8 @@ public class TvProvider extends ContentProvider {
default:
return null;
}
- try (SQLiteDatabase db = mOpenHelper.getWritableDatabase()) {
+ SQLiteDatabase db = mOpenHelper.getWritableDatabase();
+ try {
db.execSQL("ALTER TABLE " + tableName + " ADD "
+ columnName + " " + dataType + defaultValue + ";");
projectionMap.put(columnName.toString(), tableName + '.' + columnName);
@@ -1588,7 +1589,7 @@ public class TvProvider extends ContentProvider {
private static void updateProjectionMap(SQLiteDatabase db, String tableName,
Map<String, String> projectionMap) {
- try(Cursor cursor = db.rawQuery("SELECT * FROM " + tableName + " LIMIT 0", null)) {
+ try (Cursor cursor = db.rawQuery("SELECT * FROM " + tableName + " LIMIT 0", null)) {
for (String columnName : cursor.getColumnNames()) {
if (!projectionMap.containsKey(columnName)) {
projectionMap.put(columnName, tableName + '.' + columnName);