mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
## Details This PR updates the device profile used by ExoPlayer. It should more accurately report support for HDR formats. ## Acknowledgements This PR contains a commit (cd6351912af72d274b0baf50af4d777b986f0f46) that has code copied and slightly modified from https://github.com/jellyfin/jellyfin-androidtv `v0.19.4`. Major acknowledgement & credit to the Jellyfin Android TV developers for this code! ## Issues Related to #15
308 lines
8.8 KiB
JSON
308 lines
8.8 KiB
JSON
{
|
|
"formatVersion": 1,
|
|
"database": {
|
|
"version": 7,
|
|
"identityHash": "a4fd9e29c8cbcd13c24e8644f62e8551",
|
|
"entities": [
|
|
{
|
|
"tableName": "servers",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT, `url` TEXT NOT NULL, `version` TEXT, PRIMARY KEY(`id`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "url",
|
|
"columnName": "url",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "version",
|
|
"columnName": "version",
|
|
"affinity": "TEXT"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": false,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"tableName": "users",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`rowId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `id` TEXT NOT NULL, `name` TEXT, `serverId` TEXT NOT NULL, `accessToken` TEXT, FOREIGN KEY(`serverId`) REFERENCES `servers`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "rowId",
|
|
"columnName": "rowId",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "serverId",
|
|
"columnName": "serverId",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "accessToken",
|
|
"columnName": "accessToken",
|
|
"affinity": "TEXT"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"rowId"
|
|
]
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_users_id_serverId",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"id",
|
|
"serverId"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_users_id_serverId` ON `${TABLE_NAME}` (`id`, `serverId`)"
|
|
},
|
|
{
|
|
"name": "index_users_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"id"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE INDEX IF NOT EXISTS `index_users_id` ON `${TABLE_NAME}` (`id`)"
|
|
},
|
|
{
|
|
"name": "index_users_serverId",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"serverId"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE INDEX IF NOT EXISTS `index_users_serverId` ON `${TABLE_NAME}` (`serverId`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "servers",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"serverId"
|
|
],
|
|
"referencedColumns": [
|
|
"id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "ItemPlayback",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`rowId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `userId` INTEGER NOT NULL, `itemId` TEXT NOT NULL, `sourceId` TEXT, `audioIndex` INTEGER NOT NULL, `subtitleIndex` INTEGER NOT NULL, FOREIGN KEY(`userId`) REFERENCES `users`(`rowId`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "rowId",
|
|
"columnName": "rowId",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "userId",
|
|
"columnName": "userId",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "itemId",
|
|
"columnName": "itemId",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "sourceId",
|
|
"columnName": "sourceId",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "audioIndex",
|
|
"columnName": "audioIndex",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "subtitleIndex",
|
|
"columnName": "subtitleIndex",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"rowId"
|
|
]
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_ItemPlayback_userId_itemId",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"userId",
|
|
"itemId"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_ItemPlayback_userId_itemId` ON `${TABLE_NAME}` (`userId`, `itemId`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "users",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "CASCADE",
|
|
"columns": [
|
|
"userId"
|
|
],
|
|
"referencedColumns": [
|
|
"rowId"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "NavDrawerPinnedItem",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` INTEGER NOT NULL, `itemId` TEXT NOT NULL, `type` TEXT NOT NULL, PRIMARY KEY(`userId`, `itemId`), FOREIGN KEY(`userId`) REFERENCES `users`(`rowId`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "userId",
|
|
"columnName": "userId",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "itemId",
|
|
"columnName": "itemId",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "type",
|
|
"columnName": "type",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": false,
|
|
"columnNames": [
|
|
"userId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"foreignKeys": [
|
|
{
|
|
"table": "users",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "CASCADE",
|
|
"columns": [
|
|
"userId"
|
|
],
|
|
"referencedColumns": [
|
|
"rowId"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "LibraryDisplayInfo",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` INTEGER NOT NULL, `itemId` TEXT NOT NULL, `sort` TEXT NOT NULL, `direction` TEXT NOT NULL, PRIMARY KEY(`userId`, `itemId`), FOREIGN KEY(`userId`) REFERENCES `users`(`rowId`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "userId",
|
|
"columnName": "userId",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "itemId",
|
|
"columnName": "itemId",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "sort",
|
|
"columnName": "sort",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "direction",
|
|
"columnName": "direction",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": false,
|
|
"columnNames": [
|
|
"userId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_LibraryDisplayInfo_userId_itemId",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"userId",
|
|
"itemId"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_LibraryDisplayInfo_userId_itemId` ON `${TABLE_NAME}` (`userId`, `itemId`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "users",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "CASCADE",
|
|
"columns": [
|
|
"userId"
|
|
],
|
|
"referencedColumns": [
|
|
"rowId"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"setupQueries": [
|
|
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
|
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a4fd9e29c8cbcd13c24e8644f62e8551')"
|
|
]
|
|
}
|
|
}
|