From 2114d7e6cd3835501ac07a6401ae97a2689e9f02 Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Sat, 11 Jan 2025 12:59:03 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Migration=20(booksDir?= =?UTF-8?q?=20deletion)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Delete booksDir(if exists), which does not serve any purpose Part-of: #134 --- .../acclorite/book_story/data/di/AppModule.kt | 3 +++ .../data/local/room/BookDatabase.kt | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ua/acclorite/book_story/data/di/AppModule.kt b/app/src/main/java/ua/acclorite/book_story/data/di/AppModule.kt index 29a58bce..bd007306 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/di/AppModule.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/di/AppModule.kt @@ -62,6 +62,9 @@ object AppModule { @Provides @Singleton fun provideBookDao(app: Application): BookDao { + // Additional Migrations + DatabaseHelper.MIGRATION_7_8.removeBooksDir(app) + return Room.databaseBuilder( app, BookDatabase::class.java, diff --git a/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDatabase.kt b/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDatabase.kt index 06bbb226..142a9699 100644 --- a/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDatabase.kt +++ b/app/src/main/java/ua/acclorite/book_story/data/local/room/BookDatabase.kt @@ -1,5 +1,6 @@ package ua.acclorite.book_story.data.local.room +import android.app.Application import androidx.room.AutoMigration import androidx.room.Database import androidx.room.DeleteColumn @@ -12,6 +13,7 @@ import ua.acclorite.book_story.data.local.dto.BookEntity import ua.acclorite.book_story.data.local.dto.ColorPresetEntity import ua.acclorite.book_story.data.local.dto.FavoriteDirectoryEntity import ua.acclorite.book_story.data.local.dto.HistoryEntity +import java.io.File @Database( entities = [ @@ -87,5 +89,20 @@ object DatabaseHelper { @DeleteColumn("BookEntity", "textPath") @DeleteColumn("BookEntity", "chapters") - class MIGRATION_7_8 : AutoMigrationSpec + class MIGRATION_7_8 : AutoMigrationSpec { + companion object { + /** + * Along with textPath deletion, + * books directory with text does not + * serve any purpose. + */ + fun removeBooksDir(application: Application) { + val booksDir = File(application.filesDir, "books") + + if (booksDir.exists()) { + booksDir.deleteRecursively() + } + } + } + } } \ No newline at end of file