summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/tv/TvProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/tv/TvProvider.java')
-rw-r--r--src/com/android/providers/tv/TvProvider.java45
1 files changed, 36 insertions, 9 deletions
diff --git a/src/com/android/providers/tv/TvProvider.java b/src/com/android/providers/tv/TvProvider.java
index cd70ad1..3f39769 100644
--- a/src/com/android/providers/tv/TvProvider.java
+++ b/src/com/android/providers/tv/TvProvider.java
@@ -82,7 +82,7 @@ public class TvProvider extends ContentProvider {
private static final String OP_UPDATE = "update";
private static final String OP_DELETE = "delete";
- private static final int DATABASE_VERSION = 23;
+ private static final int DATABASE_VERSION = 24;
private static final String DATABASE_NAME = "tv.db";
private static final String CHANNELS_TABLE = "channels";
private static final String PROGRAMS_TABLE = "programs";
@@ -173,6 +173,14 @@ public class TvProvider extends ContentProvider {
CHANNELS_TABLE + "." + Channels.COLUMN_LOCKED);
sChannelProjectionMap.put(Channels.COLUMN_INTERNAL_PROVIDER_DATA,
CHANNELS_TABLE + "." + Channels.COLUMN_INTERNAL_PROVIDER_DATA);
+ sChannelProjectionMap.put(Channels.COLUMN_INTERNAL_PROVIDER_FLAG1,
+ CHANNELS_TABLE + "." + Channels.COLUMN_INTERNAL_PROVIDER_FLAG1);
+ sChannelProjectionMap.put(Channels.COLUMN_INTERNAL_PROVIDER_FLAG2,
+ CHANNELS_TABLE + "." + Channels.COLUMN_INTERNAL_PROVIDER_FLAG2);
+ sChannelProjectionMap.put(Channels.COLUMN_INTERNAL_PROVIDER_FLAG3,
+ CHANNELS_TABLE + "." + Channels.COLUMN_INTERNAL_PROVIDER_FLAG3);
+ sChannelProjectionMap.put(Channels.COLUMN_INTERNAL_PROVIDER_FLAG4,
+ CHANNELS_TABLE + "." + Channels.COLUMN_INTERNAL_PROVIDER_FLAG4);
sChannelProjectionMap.put(Channels.COLUMN_VERSION_NUMBER,
CHANNELS_TABLE + "." + Channels.COLUMN_VERSION_NUMBER);
@@ -275,6 +283,10 @@ public class TvProvider extends ContentProvider {
+ Channels.COLUMN_SEARCHABLE + " INTEGER NOT NULL DEFAULT 1,"
+ Channels.COLUMN_LOCKED + " INTEGER NOT NULL DEFAULT 0,"
+ Channels.COLUMN_INTERNAL_PROVIDER_DATA + " BLOB,"
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG1 + " INTEGER,"
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG2 + " INTEGER,"
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG3 + " INTEGER,"
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG4 + " INTEGER,"
+ CHANNELS_COLUMN_LOGO + " BLOB,"
+ Channels.COLUMN_VERSION_NUMBER + " INTEGER,"
// Needed for foreign keys in other tables.
@@ -344,14 +356,29 @@ public class TvProvider extends ContentProvider {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- Log.i(TAG, "Upgrading from version " + oldVersion + " to " + newVersion
- + ", data will be lost!");
- db.execSQL("DROP TABLE IF EXISTS " + DELETED_CHANNELS_TABLE);
- db.execSQL("DROP TABLE IF EXISTS " + WATCHED_PROGRAMS_TABLE);
- db.execSQL("DROP TABLE IF EXISTS " + PROGRAMS_TABLE);
- db.execSQL("DROP TABLE IF EXISTS " + CHANNELS_TABLE);
-
- onCreate(db);
+ if (oldVersion < 23) {
+ Log.i(TAG, "Upgrading from version " + oldVersion + " to " + newVersion
+ + ", data will be lost!");
+ db.execSQL("DROP TABLE IF EXISTS " + DELETED_CHANNELS_TABLE);
+ db.execSQL("DROP TABLE IF EXISTS " + WATCHED_PROGRAMS_TABLE);
+ db.execSQL("DROP TABLE IF EXISTS " + PROGRAMS_TABLE);
+ db.execSQL("DROP TABLE IF EXISTS " + CHANNELS_TABLE);
+
+ onCreate(db);
+ return;
+ }
+
+ Log.i(TAG, "Upgrading from version " + oldVersion + " to " + newVersion + ".");
+ if (oldVersion == 23) {
+ db.execSQL("ALTER TABLE " + CHANNELS_TABLE + " ADD "
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG1 + " INTEGER;");
+ db.execSQL("ALTER TABLE " + CHANNELS_TABLE + " ADD "
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG2 + " INTEGER;");
+ db.execSQL("ALTER TABLE " + CHANNELS_TABLE + " ADD "
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG3 + " INTEGER;");
+ db.execSQL("ALTER TABLE " + CHANNELS_TABLE + " ADD "
+ + Channels.COLUMN_INTERNAL_PROVIDER_FLAG4 + " INTEGER;");
+ }
}
}