Fix backup backwards compatibility

This commit is contained in:
Bnyro 2023-01-23 15:15:03 +01:00
parent cbbfa64f76
commit 93b235abea
2 changed files with 15 additions and 15 deletions

View File

@ -11,12 +11,12 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class BackupFile( data class BackupFile(
var watchHistory: List<WatchHistoryItem> = emptyList(), var watchHistory: List<WatchHistoryItem>? = emptyList(),
var watchPositions: List<WatchPosition> = emptyList(), var watchPositions: List<WatchPosition>? = emptyList(),
var searchHistory: List<SearchHistoryItem> = emptyList(), var searchHistory: List<SearchHistoryItem>? = emptyList(),
var localSubscriptions: List<LocalSubscription> = emptyList(), var localSubscriptions: List<LocalSubscription>? = emptyList(),
var customInstances: List<CustomInstance> = emptyList(), var customInstances: List<CustomInstance>? = emptyList(),
var playlistBookmarks: List<PlaylistBookmark> = emptyList(), var playlistBookmarks: List<PlaylistBookmark>? = emptyList(),
var localPlaylists: List<LocalPlaylistWithVideos> = emptyList(), var localPlaylists: List<LocalPlaylistWithVideos>? = emptyList(),
var preferences: List<PreferenceItem> = emptyList() var preferences: List<PreferenceItem>? = emptyList()
) )

View File

@ -50,25 +50,25 @@ class BackupHelper(private val context: Context) {
query { query {
Database.watchHistoryDao().insertAll( Database.watchHistoryDao().insertAll(
*backupFile.watchHistory.toTypedArray() *backupFile.watchHistory.orEmpty().toTypedArray()
) )
Database.searchHistoryDao().insertAll( Database.searchHistoryDao().insertAll(
*backupFile.searchHistory.toTypedArray() *backupFile.searchHistory.orEmpty().toTypedArray()
) )
Database.watchPositionDao().insertAll( Database.watchPositionDao().insertAll(
*backupFile.watchPositions.toTypedArray() *backupFile.watchPositions.orEmpty().toTypedArray()
) )
Database.localSubscriptionDao().insertAll( Database.localSubscriptionDao().insertAll(
*backupFile.localSubscriptions.toTypedArray() *backupFile.localSubscriptions.orEmpty().toTypedArray()
) )
Database.customInstanceDao().insertAll( Database.customInstanceDao().insertAll(
*backupFile.customInstances.toTypedArray() *backupFile.customInstances.orEmpty().toTypedArray()
) )
Database.playlistBookmarkDao().insertAll( Database.playlistBookmarkDao().insertAll(
*backupFile.playlistBookmarks.toTypedArray() *backupFile.playlistBookmarks.orEmpty().toTypedArray()
) )
backupFile.localPlaylists.forEach { backupFile.localPlaylists.orEmpty().forEach {
Database.localPlaylistsDao().createPlaylist(it.playlist) Database.localPlaylistsDao().createPlaylist(it.playlist)
val playlistId = Database.localPlaylistsDao().getAll().last().playlist.id val playlistId = Database.localPlaylistsDao().getAll().last().playlist.id
it.videos.forEach { it.videos.forEach {