Added database entities

pull/17/head
atbest 6 years ago
parent c0fee8067a
commit 15c3eb8dd2
  1. 5
      app/src/main/java/io/legado/app/data/AppDatabase.kt
  2. 5
      app/src/main/java/io/legado/app/data/entities/Book.kt
  3. 23
      app/src/main/java/io/legado/app/data/entities/Chapter.kt
  4. 23
      app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt
  5. 5
      app/src/main/java/io/legado/app/data/entities/Rule.kt
  6. 2
      app/src/main/java/io/legado/app/data/entities/Source.kt
  7. 1
      app/src/main/res/values/strings.xml

@ -8,9 +8,12 @@ import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import io.legado.app.data.dao.BookDao
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.Chapter
import io.legado.app.data.entities.ReplaceRule
import javax.xml.transform.Source
@Database(entities = [Book::class], version = 1, exportSchema = true)
@Database(entities = [Book::class, Chapter::class, ReplaceRule::class, Source::class], version = 1, exportSchema = true)
// @TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() {

@ -1,6 +1,5 @@
package io.legado.app.data.entities
import android.annotation.SuppressLint
import android.os.Parcelable
import androidx.room.*
import kotlinx.android.parcel.Parcelize
@ -14,7 +13,7 @@ data class Book(@PrimaryKey
var tag: String = "",
var author: String? = null,
var coverUrl: String? = null,
var customCoverUrl: String? = null,
var userCoverUrl: String? = null,
var introduction: String? = null,
var charset: String? = null,
var type: Int = 0, // 0: text, 1: audio
@ -26,7 +25,7 @@ data class Book(@PrimaryKey
var durChapterPage: Int = 0,
var totalChapterNum: Int = 0,
var hasNewChapter: Boolean = false,
var allowUpdate: Boolean = true
var canUpdate: Boolean = true
) : Parcelable {
fun getUnreadChapterNum() = Math.max(totalChapterNum - durChapterIndex - 1, 0)

@ -0,0 +1,23 @@
package io.legado.app.data.entities
import android.os.Parcelable
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import kotlinx.android.parcel.Parcelize
@Parcelize
@Entity(tableName = "chapters",
indices = [(Index(value = ["url"]))])
data class Chapter(@PrimaryKey
var url: String = "",
var name: String = "",
var bookUrl: String = "",
var index: Int = 0,
var ResourceUrl: String? = null,
var tag: String? = null,
var start: Long? = null,
var end: Long? = null
) : Parcelable

@ -0,0 +1,23 @@
package io.legado.app.data.entities
import android.os.Parcelable
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import kotlinx.android.parcel.Parcelize
@Parcelize
@Entity(tableName = "replace_rules",
indices = [(Index(value = ["id"]))])
data class ReplaceRule(@PrimaryKey
val id: Int = 0,
val summary: String? = null,
val pattern: String? = null,
val replacement: String? = null,
val scope: String? = null,
val isEnabled: Boolean? = null,
val isRegex: Boolean? = null,
val order: Int = 0
) : Parcelable

@ -0,0 +1,5 @@
package io.legado.app.data.entities
class Rule {
}

@ -0,0 +1,2 @@
package io.legado.app.data.entities

@ -13,4 +13,5 @@
<string name="menu_tools">Tools</string>
<string name="menu_share">Share</string>
<string name="menu_send">Send</string>
<string name="action">Replace with your own action</string>
</resources>

Loading…
Cancel
Save