Added database entities

Added database entities
pull/18/head
atbest 6 years ago committed by GitHub
commit c8a425d827
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  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 androidx.sqlite.db.SupportSQLiteDatabase
import io.legado.app.data.dao.BookDao import io.legado.app.data.dao.BookDao
import io.legado.app.data.entities.Book 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) // @TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() { abstract class AppDatabase : RoomDatabase() {

@ -1,6 +1,5 @@
package io.legado.app.data.entities package io.legado.app.data.entities
import android.annotation.SuppressLint
import android.os.Parcelable import android.os.Parcelable
import androidx.room.* import androidx.room.*
import kotlinx.android.parcel.Parcelize import kotlinx.android.parcel.Parcelize
@ -14,7 +13,7 @@ data class Book(@PrimaryKey
var tag: String = "", var tag: String = "",
var author: String? = null, var author: String? = null,
var coverUrl: String? = null, var coverUrl: String? = null,
var customCoverUrl: String? = null, var userCoverUrl: String? = null,
var introduction: String? = null, var introduction: String? = null,
var charset: String? = null, var charset: String? = null,
var type: Int = 0, // 0: text, 1: audio var type: Int = 0, // 0: text, 1: audio
@ -26,7 +25,7 @@ data class Book(@PrimaryKey
var durChapterPage: Int = 0, var durChapterPage: Int = 0,
var totalChapterNum: Int = 0, var totalChapterNum: Int = 0,
var hasNewChapter: Boolean = false, var hasNewChapter: Boolean = false,
var allowUpdate: Boolean = true var canUpdate: Boolean = true
) : Parcelable { ) : Parcelable {
fun getUnreadChapterNum() = Math.max(totalChapterNum - durChapterIndex - 1, 0) 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_tools">Tools</string>
<string name="menu_share">Share</string> <string name="menu_share">Share</string>
<string name="menu_send">Send</string> <string name="menu_send">Send</string>
<string name="action">Replace with your own action</string>
</resources> </resources>

Loading…
Cancel
Save