mirror of
https://github.com/Ashinch/ReadYou.git
synced 2025-02-01 20:07:24 +01:00
refactor(*): move package (#465)
Initial reorganization of the package structure, there may be missing files, I'll check them one by one later on
This commit is contained in:
parent
bfe336b33a
commit
8f1966d10a
@ -1,321 +0,0 @@
|
||||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 2,
|
||||
"identityHash": "98462c2e9c32394054102313366e7262",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "account",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `type` INTEGER NOT NULL, `updateAt` INTEGER)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "type",
|
||||
"columnName": "type",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": true,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "feed",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `icon` TEXT, `url` TEXT NOT NULL, `groupId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isNotification` INTEGER NOT NULL DEFAULT false, `isFullContent` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`), FOREIGN KEY(`groupId`) REFERENCES `group`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon",
|
||||
"columnName": "icon",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "groupId",
|
||||
"columnName": "groupId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isNotification",
|
||||
"columnName": "isNotification",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isFullContent",
|
||||
"columnName": "isFullContent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_feed_groupId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"groupId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_groupId` ON `${TABLE_NAME}` (`groupId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_feed_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "group",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"groupId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "article",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `date` INTEGER NOT NULL, `title` TEXT NOT NULL, `author` TEXT, `rawDescription` TEXT NOT NULL, `shortDescription` TEXT NOT NULL, `fullContent` TEXT, `img` TEXT, `link` TEXT NOT NULL, `feedId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isUnread` INTEGER NOT NULL DEFAULT true, `isStarred` INTEGER NOT NULL DEFAULT false, `isReadLater` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`), FOREIGN KEY(`feedId`) REFERENCES `feed`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "date",
|
||||
"columnName": "date",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "title",
|
||||
"columnName": "title",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "author",
|
||||
"columnName": "author",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "rawDescription",
|
||||
"columnName": "rawDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "shortDescription",
|
||||
"columnName": "shortDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "fullContent",
|
||||
"columnName": "fullContent",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "img",
|
||||
"columnName": "img",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "link",
|
||||
"columnName": "link",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "feedId",
|
||||
"columnName": "feedId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isUnread",
|
||||
"columnName": "isUnread",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isStarred",
|
||||
"columnName": "isStarred",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isReadLater",
|
||||
"columnName": "isReadLater",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_article_feedId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"feedId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_feedId` ON `${TABLE_NAME}` (`feedId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_article_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "feed",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"feedId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "group",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `accountId` INTEGER NOT NULL, PRIMARY KEY(`id`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_group_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_group_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"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, '98462c2e9c32394054102313366e7262')"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,364 +0,0 @@
|
||||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 3,
|
||||
"identityHash": "b13c17e4d1ff644caeecce9fc365db2e",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "account",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `type` INTEGER NOT NULL, `updateAt` INTEGER, `syncInterval` INTEGER NOT NULL DEFAULT 30, `syncOnStart` INTEGER NOT NULL DEFAULT 0, `syncOnlyOnWiFi` INTEGER NOT NULL DEFAULT 0, `syncOnlyWhenCharging` INTEGER NOT NULL DEFAULT 0, `keepArchived` INTEGER NOT NULL DEFAULT 2592000000, `syncBlockList` TEXT NOT NULL DEFAULT '')",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "type",
|
||||
"columnName": "type",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncInterval",
|
||||
"columnName": "syncInterval",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "30"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnStart",
|
||||
"columnName": "syncOnStart",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnlyOnWiFi",
|
||||
"columnName": "syncOnlyOnWiFi",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnlyWhenCharging",
|
||||
"columnName": "syncOnlyWhenCharging",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "keepArchived",
|
||||
"columnName": "keepArchived",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "2592000000"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncBlockList",
|
||||
"columnName": "syncBlockList",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true,
|
||||
"defaultValue": "''"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": true,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "feed",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `icon` TEXT, `url` TEXT NOT NULL, `groupId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isNotification` INTEGER NOT NULL, `isFullContent` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`groupId`) REFERENCES `group`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon",
|
||||
"columnName": "icon",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "groupId",
|
||||
"columnName": "groupId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isNotification",
|
||||
"columnName": "isNotification",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isFullContent",
|
||||
"columnName": "isFullContent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_feed_groupId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"groupId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_groupId` ON `${TABLE_NAME}` (`groupId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_feed_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "group",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"groupId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "article",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `date` INTEGER NOT NULL, `title` TEXT NOT NULL, `author` TEXT, `rawDescription` TEXT NOT NULL, `shortDescription` TEXT NOT NULL, `fullContent` TEXT, `img` TEXT, `link` TEXT NOT NULL, `feedId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isUnread` INTEGER NOT NULL, `isStarred` INTEGER NOT NULL, `isReadLater` INTEGER NOT NULL, `updateAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`feedId`) REFERENCES `feed`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "date",
|
||||
"columnName": "date",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "title",
|
||||
"columnName": "title",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "author",
|
||||
"columnName": "author",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "rawDescription",
|
||||
"columnName": "rawDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "shortDescription",
|
||||
"columnName": "shortDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "fullContent",
|
||||
"columnName": "fullContent",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "img",
|
||||
"columnName": "img",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "link",
|
||||
"columnName": "link",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "feedId",
|
||||
"columnName": "feedId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isUnread",
|
||||
"columnName": "isUnread",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isStarred",
|
||||
"columnName": "isStarred",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isReadLater",
|
||||
"columnName": "isReadLater",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_article_feedId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"feedId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_feedId` ON `${TABLE_NAME}` (`feedId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_article_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "feed",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"feedId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "group",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `accountId` INTEGER NOT NULL, PRIMARY KEY(`id`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_group_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_group_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"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, 'b13c17e4d1ff644caeecce9fc365db2e')"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,371 +0,0 @@
|
||||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 4,
|
||||
"identityHash": "ff6225eee095fd62d3d3bff48aa0be8e",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "account",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `type` INTEGER NOT NULL, `updateAt` INTEGER, `syncInterval` INTEGER NOT NULL DEFAULT 30, `syncOnStart` INTEGER NOT NULL DEFAULT 0, `syncOnlyOnWiFi` INTEGER NOT NULL DEFAULT 0, `syncOnlyWhenCharging` INTEGER NOT NULL DEFAULT 0, `keepArchived` INTEGER NOT NULL DEFAULT 2592000000, `syncBlockList` TEXT NOT NULL DEFAULT '', `securityKey` TEXT DEFAULT 'CvJ1PKM8EW8=')",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "type",
|
||||
"columnName": "type",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncInterval",
|
||||
"columnName": "syncInterval",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "30"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnStart",
|
||||
"columnName": "syncOnStart",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnlyOnWiFi",
|
||||
"columnName": "syncOnlyOnWiFi",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncOnlyWhenCharging",
|
||||
"columnName": "syncOnlyWhenCharging",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "0"
|
||||
},
|
||||
{
|
||||
"fieldPath": "keepArchived",
|
||||
"columnName": "keepArchived",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "2592000000"
|
||||
},
|
||||
{
|
||||
"fieldPath": "syncBlockList",
|
||||
"columnName": "syncBlockList",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true,
|
||||
"defaultValue": "''"
|
||||
},
|
||||
{
|
||||
"fieldPath": "securityKey",
|
||||
"columnName": "securityKey",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false,
|
||||
"defaultValue": "'CvJ1PKM8EW8='"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": true,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "feed",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `icon` TEXT, `url` TEXT NOT NULL, `groupId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isNotification` INTEGER NOT NULL, `isFullContent` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`groupId`) REFERENCES `group`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon",
|
||||
"columnName": "icon",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "groupId",
|
||||
"columnName": "groupId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isNotification",
|
||||
"columnName": "isNotification",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isFullContent",
|
||||
"columnName": "isFullContent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_feed_groupId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"groupId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_groupId` ON `${TABLE_NAME}` (`groupId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_feed_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "group",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"groupId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "article",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `date` INTEGER NOT NULL, `title` TEXT NOT NULL, `author` TEXT, `rawDescription` TEXT NOT NULL, `shortDescription` TEXT NOT NULL, `fullContent` TEXT, `img` TEXT, `link` TEXT NOT NULL, `feedId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isUnread` INTEGER NOT NULL, `isStarred` INTEGER NOT NULL, `isReadLater` INTEGER NOT NULL, `updateAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`feedId`) REFERENCES `feed`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "date",
|
||||
"columnName": "date",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "title",
|
||||
"columnName": "title",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "author",
|
||||
"columnName": "author",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "rawDescription",
|
||||
"columnName": "rawDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "shortDescription",
|
||||
"columnName": "shortDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "fullContent",
|
||||
"columnName": "fullContent",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "img",
|
||||
"columnName": "img",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "link",
|
||||
"columnName": "link",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "feedId",
|
||||
"columnName": "feedId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isUnread",
|
||||
"columnName": "isUnread",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isStarred",
|
||||
"columnName": "isStarred",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isReadLater",
|
||||
"columnName": "isReadLater",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_article_feedId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"feedId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_feedId` ON `${TABLE_NAME}` (`feedId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_article_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "feed",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"feedId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "group",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `accountId` INTEGER NOT NULL, PRIMARY KEY(`id`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_group_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_group_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"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, 'ff6225eee095fd62d3d3bff48aa0be8e')"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,321 +0,0 @@
|
||||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 2,
|
||||
"identityHash": "98462c2e9c32394054102313366e7262",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "account",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `type` INTEGER NOT NULL, `updateAt` INTEGER)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "type",
|
||||
"columnName": "type",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "updateAt",
|
||||
"columnName": "updateAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": true,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "feed",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `icon` TEXT, `url` TEXT NOT NULL, `groupId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isNotification` INTEGER NOT NULL DEFAULT false, `isFullContent` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`), FOREIGN KEY(`groupId`) REFERENCES `group`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon",
|
||||
"columnName": "icon",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "groupId",
|
||||
"columnName": "groupId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isNotification",
|
||||
"columnName": "isNotification",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isFullContent",
|
||||
"columnName": "isFullContent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_feed_groupId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"groupId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_groupId` ON `${TABLE_NAME}` (`groupId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_feed_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "group",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"groupId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "article",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `date` INTEGER NOT NULL, `title` TEXT NOT NULL, `author` TEXT, `rawDescription` TEXT NOT NULL, `shortDescription` TEXT NOT NULL, `fullContent` TEXT, `img` TEXT, `link` TEXT NOT NULL, `feedId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `isUnread` INTEGER NOT NULL DEFAULT true, `isStarred` INTEGER NOT NULL DEFAULT false, `isReadLater` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`), FOREIGN KEY(`feedId`) REFERENCES `feed`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "date",
|
||||
"columnName": "date",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "title",
|
||||
"columnName": "title",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "author",
|
||||
"columnName": "author",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "rawDescription",
|
||||
"columnName": "rawDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "shortDescription",
|
||||
"columnName": "shortDescription",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "fullContent",
|
||||
"columnName": "fullContent",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "img",
|
||||
"columnName": "img",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "link",
|
||||
"columnName": "link",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "feedId",
|
||||
"columnName": "feedId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isUnread",
|
||||
"columnName": "isUnread",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isStarred",
|
||||
"columnName": "isStarred",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
},
|
||||
{
|
||||
"fieldPath": "isReadLater",
|
||||
"columnName": "isReadLater",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "false"
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_article_feedId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"feedId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_feedId` ON `${TABLE_NAME}` (`feedId`)"
|
||||
},
|
||||
{
|
||||
"name": "index_article_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_article_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "feed",
|
||||
"onDelete": "CASCADE",
|
||||
"onUpdate": "CASCADE",
|
||||
"columns": [
|
||||
"feedId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "group",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `accountId` INTEGER NOT NULL, PRIMARY KEY(`id`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "name",
|
||||
"columnName": "name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"autoGenerate": false,
|
||||
"columnNames": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_group_accountId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"accountId"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_group_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"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, '98462c2e9c32394054102313366e7262')"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,13 +1,11 @@
|
||||
package me.ash.reader
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
@ -21,4 +19,4 @@ class ExampleInstrumentedTest {
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("me.ash.reader", appContext.packageName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ import androidx.profileinstaller.ProfileInstallerInitializer
|
||||
import coil.ImageLoader
|
||||
import coil.compose.LocalImageLoader
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.model.preference.AccountSettingsProvider
|
||||
import me.ash.reader.data.model.preference.LanguagesPreference
|
||||
import me.ash.reader.data.model.preference.SettingsProvider
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.infrastructure.preference.AccountSettingsProvider
|
||||
import me.ash.reader.infrastructure.preference.LanguagesPreference
|
||||
import me.ash.reader.infrastructure.preference.SettingsProvider
|
||||
import me.ash.reader.ui.ext.languages
|
||||
import me.ash.reader.ui.page.common.HomeEntry
|
||||
import javax.inject.Inject
|
||||
|
@ -10,12 +10,12 @@ import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import me.ash.reader.data.module.ApplicationScope
|
||||
import me.ash.reader.data.module.IODispatcher
|
||||
import me.ash.reader.data.repository.*
|
||||
import me.ash.reader.data.source.OPMLDataSource
|
||||
import me.ash.reader.data.source.RYDatabase
|
||||
import me.ash.reader.data.source.RYNetworkDataSource
|
||||
import me.ash.reader.domain.service.*
|
||||
import me.ash.reader.infrastructure.di.ApplicationScope
|
||||
import me.ash.reader.infrastructure.di.IODispatcher
|
||||
import me.ash.reader.infrastructure.source.OPMLDataSource
|
||||
import me.ash.reader.infrastructure.source.RYDatabase
|
||||
import me.ash.reader.infrastructure.source.RYNetworkDataSource
|
||||
import me.ash.reader.ui.ext.del
|
||||
import me.ash.reader.ui.ext.getLatestApk
|
||||
import me.ash.reader.ui.ext.isFdroid
|
||||
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import me.ash.reader.data.model.account.security.DESUtils
|
||||
import me.ash.reader.data.model.preference.*
|
||||
import me.ash.reader.domain.model.account.security.DESUtils
|
||||
import me.ash.reader.infrastructure.preference.*
|
||||
import java.util.*
|
||||
|
||||
/**
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.material.icons.Icons
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.KeepArchivedPreference
|
||||
import me.ash.reader.infrastructure.preference.KeepArchivedPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [KeepArchivedPreference] for [RoomDatabase].
|
@ -1,9 +1,9 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.SyncBlockList
|
||||
import me.ash.reader.data.model.preference.SyncBlockListPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncBlockList
|
||||
import me.ash.reader.infrastructure.preference.SyncBlockListPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [SyncBlockListPreference] for [RoomDatabase].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.SyncIntervalPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncIntervalPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [SyncIntervalPreference] for [RoomDatabase].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.SyncOnStartPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncOnStartPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [SyncOnStartPreference] for [RoomDatabase].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.SyncOnlyOnWiFiPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncOnlyOnWiFiPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [SyncOnlyOnWiFiPreference] for [RoomDatabase].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.account
|
||||
package me.ash.reader.domain.model.account
|
||||
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverter
|
||||
import me.ash.reader.data.model.preference.SyncOnlyWhenChargingPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncOnlyWhenChargingPreference
|
||||
|
||||
/**
|
||||
* Provide [TypeConverter] of [SyncOnlyWhenChargingPreference] for [RoomDatabase].
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account.security
|
||||
package me.ash.reader.domain.model.account.security
|
||||
|
||||
import android.util.Base64
|
||||
import javax.crypto.Cipher
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account.security
|
||||
package me.ash.reader.domain.model.account.security
|
||||
|
||||
class FeverSecurityKey private constructor() : SecurityKey() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account.security
|
||||
package me.ash.reader.domain.model.account.security
|
||||
|
||||
class GoogleReaderSecurityKey private constructor() : SecurityKey() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account.security
|
||||
package me.ash.reader.domain.model.account.security
|
||||
|
||||
class LocalSecurityKey private constructor() : SecurityKey() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.account.security
|
||||
package me.ash.reader.domain.model.account.security
|
||||
|
||||
import com.google.gson.Gson
|
||||
|
@ -1,7 +1,7 @@
|
||||
package me.ash.reader.data.model.article
|
||||
package me.ash.reader.domain.model.article
|
||||
|
||||
import androidx.room.*
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
import java.util.*
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package me.ash.reader.data.model.article
|
||||
package me.ash.reader.domain.model.article
|
||||
|
||||
import androidx.paging.PagingData
|
||||
import androidx.paging.insertSeparators
|
||||
import androidx.paging.map
|
||||
import me.ash.reader.data.repository.StringsRepository
|
||||
import me.ash.reader.domain.service.StringsRepository
|
||||
|
||||
/**
|
||||
* Provide paginated and inserted separator data types for article list view.
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.article
|
||||
package me.ash.reader.domain.model.article
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.PrimaryKey
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.article
|
||||
package me.ash.reader.domain.model.article
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
|
||||
/**
|
||||
* An [article] contains a [feed].
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.constant
|
||||
package me.ash.reader.domain.model.constant
|
||||
|
||||
/**
|
||||
* The tonal elevation tokens.
|
@ -1,7 +1,7 @@
|
||||
package me.ash.reader.data.model.feed
|
||||
package me.ash.reader.domain.model.feed
|
||||
|
||||
import androidx.room.*
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
|
||||
/**
|
||||
* TODO: Add class description
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.feed
|
||||
package me.ash.reader.domain.model.feed
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
import me.ash.reader.data.model.article.Article
|
||||
import me.ash.reader.domain.model.article.Article
|
||||
|
||||
/**
|
||||
* A [feed] contains many [articles].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.feed
|
||||
package me.ash.reader.domain.model.feed
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
|
||||
/**
|
||||
* A [feed] contains a [group].
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.feed
|
||||
package me.ash.reader.domain.model.feed
|
||||
|
||||
/**
|
||||
* Counting the [important] number of articles in feeds and groups is generally
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.general
|
||||
package me.ash.reader.domain.model.general
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.FiberManualRecord
|
||||
@ -13,9 +13,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.pluralStringResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import me.ash.reader.R
|
||||
import me.ash.reader.data.model.general.Filter.Companion.All
|
||||
import me.ash.reader.data.model.general.Filter.Companion.Starred
|
||||
import me.ash.reader.data.model.general.Filter.Companion.Unread
|
||||
import me.ash.reader.domain.model.general.Filter.Companion.All
|
||||
import me.ash.reader.domain.model.general.Filter.Companion.Starred
|
||||
import me.ash.reader.domain.model.general.Filter.Companion.Unread
|
||||
|
||||
/**
|
||||
* Indicates filter conditions.
|
@ -1,6 +1,6 @@
|
||||
package me.ash.reader.data.model.general
|
||||
package me.ash.reader.domain.model.general
|
||||
|
||||
import me.ash.reader.data.model.general.MarkAsReadConditions.*
|
||||
import me.ash.reader.domain.model.general.MarkAsReadConditions.*
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
@ -12,6 +12,7 @@ import java.util.*
|
||||
* - [All]: Mark all as read
|
||||
*/
|
||||
enum class MarkAsReadConditions {
|
||||
|
||||
SevenDays,
|
||||
ThreeDays,
|
||||
OneDay,
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.general
|
||||
package me.ash.reader.domain.model.general
|
||||
|
||||
/**
|
||||
* Application version number, consisting of three fields.
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.group
|
||||
package me.ash.reader.domain.model.group
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.model.group
|
||||
package me.ash.reader.domain.model.group
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
|
||||
/**
|
||||
* A [group] contains many [feeds].
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.dao
|
||||
package me.ash.reader.domain.repository
|
||||
|
||||
import androidx.room.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import me.ash.reader.data.model.account.Account
|
||||
import me.ash.reader.domain.model.account.Account
|
||||
|
||||
@Dao
|
||||
interface AccountDao {
|
@ -1,12 +1,12 @@
|
||||
package me.ash.reader.data.dao
|
||||
package me.ash.reader.domain.repository
|
||||
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.room.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import me.ash.reader.data.model.article.Article
|
||||
import me.ash.reader.data.model.article.ArticleMeta
|
||||
import me.ash.reader.data.model.article.ArticleWithFeed
|
||||
import me.ash.reader.data.model.feed.ImportantNum
|
||||
import me.ash.reader.domain.model.article.Article
|
||||
import me.ash.reader.domain.model.article.ArticleMeta
|
||||
import me.ash.reader.domain.model.article.ArticleWithFeed
|
||||
import me.ash.reader.domain.model.feed.ImportantNum
|
||||
import java.util.*
|
||||
|
||||
@Dao
|
||||
@ -556,14 +556,14 @@ interface ArticleDao {
|
||||
|
||||
@Transaction
|
||||
@Query(
|
||||
"""
|
||||
"""
|
||||
SELECT id, isUnread, isStarred FROM article
|
||||
WHERE accountId = :accountId
|
||||
ORDER BY date DESC
|
||||
"""
|
||||
)
|
||||
fun queryArticleMetadataAll(
|
||||
accountId: Int
|
||||
accountId: Int,
|
||||
): List<ArticleMeta>
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
@ -1,7 +1,7 @@
|
||||
package me.ash.reader.data.dao
|
||||
package me.ash.reader.domain.repository
|
||||
|
||||
import androidx.room.*
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
|
||||
@Dao
|
||||
interface FeedDao {
|
||||
@ -99,7 +99,7 @@ interface FeedDao {
|
||||
@Delete
|
||||
suspend fun delete(vararg feed: Feed)
|
||||
|
||||
suspend fun insertOrUpdate(feeds: List<Feed>) {
|
||||
suspend fun insertOrUpdate(feeds: List<Feed>) {
|
||||
feeds.forEach {
|
||||
val feed = queryById(it.id)
|
||||
if (feed == null) {
|
@ -1,9 +1,9 @@
|
||||
package me.ash.reader.data.dao
|
||||
package me.ash.reader.domain.repository
|
||||
|
||||
import androidx.room.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.data.model.group.GroupWithFeed
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
import me.ash.reader.domain.model.group.GroupWithFeed
|
||||
|
||||
@Dao
|
||||
interface GroupDao {
|
||||
@ -67,7 +67,7 @@ interface GroupDao {
|
||||
@Delete
|
||||
suspend fun delete(vararg group: Group)
|
||||
|
||||
suspend fun insertOrUpdate(groups: List<Group>) {
|
||||
suspend fun insertOrUpdate(groups: List<Group>) {
|
||||
groups.forEach {
|
||||
val group = queryById(it.id)
|
||||
if (group == null) {
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
@ -13,23 +13,23 @@ import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.flow.mapLatest
|
||||
import kotlinx.coroutines.supervisorScope
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.ArticleDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.model.article.Article
|
||||
import me.ash.reader.data.model.article.ArticleWithFeed
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.data.model.feed.FeedWithArticle
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.data.model.group.GroupWithFeed
|
||||
import me.ash.reader.data.model.preference.KeepArchivedPreference
|
||||
import me.ash.reader.data.model.preference.SyncIntervalPreference
|
||||
import me.ash.reader.domain.model.article.Article
|
||||
import me.ash.reader.domain.model.article.ArticleWithFeed
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.FeedWithArticle
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
import me.ash.reader.domain.model.group.GroupWithFeed
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.ArticleDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.infrastructure.preference.KeepArchivedPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncIntervalPreference
|
||||
import me.ash.reader.ui.ext.currentAccountId
|
||||
import me.ash.reader.ui.ext.spacerDollar
|
||||
import java.util.*
|
||||
|
||||
abstract class AbstractRssRepository constructor(
|
||||
abstract class AbstractRssRepository(
|
||||
private val context: Context,
|
||||
private val accountDao: AccountDao,
|
||||
private val articleDao: ArticleDao,
|
@ -1,17 +1,17 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Looper
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import me.ash.reader.R
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.ArticleDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.model.account.Account
|
||||
import me.ash.reader.data.model.account.AccountType
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.domain.model.account.Account
|
||||
import me.ash.reader.domain.model.account.AccountType
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.ArticleDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.ui.ext.*
|
||||
import javax.inject.Inject
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.text.Html
|
||||
@ -11,20 +11,20 @@ import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.supervisorScope
|
||||
import kotlinx.coroutines.withContext
|
||||
import me.ash.reader.R
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.ArticleDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.model.account.security.FeverSecurityKey
|
||||
import me.ash.reader.data.model.article.Article
|
||||
import me.ash.reader.data.model.article.ArticleMeta
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.data.model.group.Group
|
||||
import me.ash.reader.data.module.DefaultDispatcher
|
||||
import me.ash.reader.data.module.IODispatcher
|
||||
import me.ash.reader.data.module.MainDispatcher
|
||||
import me.ash.reader.data.provider.fever.FeverAPI
|
||||
import me.ash.reader.data.provider.fever.FeverDTO
|
||||
import me.ash.reader.domain.model.account.security.FeverSecurityKey
|
||||
import me.ash.reader.domain.model.article.Article
|
||||
import me.ash.reader.domain.model.article.ArticleMeta
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
import me.ash.reader.domain.model.group.Group
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.ArticleDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.infrastructure.di.DefaultDispatcher
|
||||
import me.ash.reader.infrastructure.di.IODispatcher
|
||||
import me.ash.reader.infrastructure.di.MainDispatcher
|
||||
import me.ash.reader.infrastructure.provider.fever.FeverAPI
|
||||
import me.ash.reader.infrastructure.provider.fever.FeverDTO
|
||||
import me.ash.reader.ui.ext.currentAccountId
|
||||
import me.ash.reader.ui.ext.dollarLast
|
||||
import me.ash.reader.ui.ext.showToast
|
||||
@ -182,10 +182,10 @@ class FeverRssRepository @Inject constructor(
|
||||
val shouldBeUnread = unreadArticleIds?.contains(articleId)
|
||||
val shouldBeStarred = starredArticleIds?.contains(articleId)
|
||||
if (meta.isUnread != shouldBeUnread) {
|
||||
articleDao.markAsReadByArticleId(accountId, meta.id, shouldBeUnread?:true)
|
||||
articleDao.markAsReadByArticleId(accountId, meta.id, shouldBeUnread ?: true)
|
||||
}
|
||||
if (meta.isStarred != shouldBeStarred){
|
||||
articleDao.markAsStarredByArticleId(accountId, meta.id, shouldBeStarred?:false)
|
||||
if (meta.isStarred != shouldBeStarred) {
|
||||
articleDao.markAsStarredByArticleId(accountId, meta.id, shouldBeStarred ?: false)
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import androidx.work.WorkManager
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.ArticleDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.module.DefaultDispatcher
|
||||
import me.ash.reader.data.module.IODispatcher
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.ArticleDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.infrastructure.di.DefaultDispatcher
|
||||
import me.ash.reader.infrastructure.di.IODispatcher
|
||||
import javax.inject.Inject
|
||||
|
||||
class LocalRssRepository @Inject constructor(
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.app.*
|
||||
import android.content.Context
|
||||
@ -9,7 +9,7 @@ import androidx.core.app.NotificationManagerCompat
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import me.ash.reader.MainActivity
|
||||
import me.ash.reader.R
|
||||
import me.ash.reader.data.model.feed.FeedWithArticle
|
||||
import me.ash.reader.domain.model.feed.FeedWithArticle
|
||||
import me.ash.reader.ui.page.common.ExtraName
|
||||
import me.ash.reader.ui.page.common.NotificationGroupName
|
||||
import java.util.*
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import be.ceau.opml.OpmlWriter
|
||||
@ -7,11 +7,11 @@ import be.ceau.opml.entity.Head
|
||||
import be.ceau.opml.entity.Opml
|
||||
import be.ceau.opml.entity.Outline
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.data.source.OPMLDataSource
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.infrastructure.source.OPMLDataSource
|
||||
import me.ash.reader.ui.ext.currentAccountId
|
||||
import me.ash.reader.ui.ext.getDefaultGroupId
|
||||
import java.io.InputStream
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
@ -8,14 +8,14 @@ import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.emptyFlow
|
||||
import kotlinx.coroutines.withContext
|
||||
import me.ash.reader.R
|
||||
import me.ash.reader.data.model.general.toVersion
|
||||
import me.ash.reader.data.model.preference.*
|
||||
import me.ash.reader.data.model.preference.NewVersionSizePreference.formatSize
|
||||
import me.ash.reader.data.module.IODispatcher
|
||||
import me.ash.reader.data.module.MainDispatcher
|
||||
import me.ash.reader.data.source.Download
|
||||
import me.ash.reader.data.source.RYNetworkDataSource
|
||||
import me.ash.reader.data.source.downloadToFileWithProgress
|
||||
import me.ash.reader.domain.model.general.toVersion
|
||||
import me.ash.reader.infrastructure.di.IODispatcher
|
||||
import me.ash.reader.infrastructure.di.MainDispatcher
|
||||
import me.ash.reader.infrastructure.preference.*
|
||||
import me.ash.reader.infrastructure.preference.NewVersionSizePreference.formatSize
|
||||
import me.ash.reader.infrastructure.source.Download
|
||||
import me.ash.reader.infrastructure.source.RYNetworkDataSource
|
||||
import me.ash.reader.infrastructure.source.downloadToFileWithProgress
|
||||
import me.ash.reader.ui.ext.getCurrentVersion
|
||||
import me.ash.reader.ui.ext.getLatestApk
|
||||
import me.ash.reader.ui.ext.showToast
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.text.Html
|
||||
@ -9,11 +9,11 @@ import com.rometools.rome.io.XmlReader
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.withContext
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.model.article.Article
|
||||
import me.ash.reader.data.model.feed.Feed
|
||||
import me.ash.reader.data.model.feed.FeedWithArticle
|
||||
import me.ash.reader.data.module.IODispatcher
|
||||
import me.ash.reader.domain.model.article.Article
|
||||
import me.ash.reader.domain.model.feed.Feed
|
||||
import me.ash.reader.domain.model.feed.FeedWithArticle
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.infrastructure.di.IODispatcher
|
||||
import me.ash.reader.ui.ext.currentAccountId
|
||||
import me.ash.reader.ui.ext.spacerDollar
|
||||
import net.dankito.readability4j.extended.Readability4JExtended
|
@ -1,8 +1,8 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import me.ash.reader.data.model.account.AccountType
|
||||
import me.ash.reader.domain.model.account.AccountType
|
||||
import me.ash.reader.ui.ext.currentAccountType
|
||||
import javax.inject.Inject
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.repository
|
||||
package me.ash.reader.domain.service
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
@ -8,9 +8,9 @@ import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import me.ash.reader.data.model.preference.SyncIntervalPreference
|
||||
import me.ash.reader.data.model.preference.SyncOnlyOnWiFiPreference
|
||||
import me.ash.reader.data.model.preference.SyncOnlyWhenChargingPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncIntervalPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncOnlyOnWiFiPreference
|
||||
import me.ash.reader.infrastructure.preference.SyncOnlyWhenChargingPreference
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import javax.inject.Qualifier
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import javax.inject.Qualifier
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import android.content.Context
|
||||
import dagger.Module
|
||||
@ -6,11 +6,11 @@ import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.dao.ArticleDao
|
||||
import me.ash.reader.data.dao.FeedDao
|
||||
import me.ash.reader.data.dao.GroupDao
|
||||
import me.ash.reader.data.source.RYDatabase
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.domain.repository.ArticleDao
|
||||
import me.ash.reader.domain.repository.FeedDao
|
||||
import me.ash.reader.domain.repository.GroupDao
|
||||
import me.ash.reader.infrastructure.source.RYDatabase
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
@ -18,7 +18,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import android.content.Context
|
||||
import dagger.Module
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import me.ash.reader.data.source.RYNetworkDataSource
|
||||
import me.ash.reader.infrastructure.source.RYNetworkDataSource
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.module
|
||||
package me.ash.reader.infrastructure.di
|
||||
|
||||
import android.content.Context
|
||||
import androidx.work.WorkManager
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.runtime.compositionLocalOf
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.domain.repository.AccountDao
|
||||
import me.ash.reader.ui.ext.collectAsStateValue
|
||||
import me.ash.reader.ui.ext.currentAccountId
|
||||
|
||||
@ -30,7 +30,8 @@ fun AccountSettingsProvider(
|
||||
LocalSyncInterval provides (accountSettings?.syncInterval ?: SyncIntervalPreference.default),
|
||||
LocalSyncOnStart provides (accountSettings?.syncOnStart ?: SyncOnStartPreference.default),
|
||||
LocalSyncOnlyOnWiFi provides (accountSettings?.syncOnlyOnWiFi ?: SyncOnlyOnWiFiPreference.default),
|
||||
LocalSyncOnlyWhenCharging provides (accountSettings?.syncOnlyWhenCharging ?: SyncOnlyWhenChargingPreference.default),
|
||||
LocalSyncOnlyWhenCharging provides (accountSettings?.syncOnlyWhenCharging
|
||||
?: SyncOnlyWhenChargingPreference.default),
|
||||
LocalKeepArchived provides (accountSettings?.keepArchived ?: KeepArchivedPreference.default),
|
||||
LocalSyncBlockList provides (accountSettings?.syncBlockList ?: SyncBlockListPreference.default),
|
||||
) {
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.material3.Typography
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,10 +1,10 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.constant.ElevationTokens
|
||||
import me.ash.reader.domain.model.constant.ElevationTokens
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import me.ash.reader.R
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import android.os.LocaleList
|
||||
@ -96,7 +96,8 @@ sealed class LanguagesPreference(val value: Int) : Preference() {
|
||||
companion object {
|
||||
|
||||
val default = UseDeviceLanguages
|
||||
val values = listOf(UseDeviceLanguages,
|
||||
val values = listOf(
|
||||
UseDeviceLanguages,
|
||||
English,
|
||||
ChineseSimplified,
|
||||
German,
|
||||
@ -125,7 +126,7 @@ sealed class LanguagesPreference(val value: Int) : Preference() {
|
||||
8 -> Spanish
|
||||
9 -> Polish
|
||||
10 -> Russian
|
||||
11 -> Basque
|
||||
11 -> Basque
|
||||
12 -> Indonesian
|
||||
13 -> ChineseTraditional
|
||||
else -> default
|
||||
@ -144,7 +145,7 @@ sealed class LanguagesPreference(val value: Int) : Preference() {
|
||||
8 -> Spanish
|
||||
9 -> Polish
|
||||
10 -> Russian
|
||||
11 -> Basque
|
||||
11 -> Basque
|
||||
12 -> Indonesian
|
||||
13 -> ChineseTraditional
|
||||
else -> default
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,12 +1,12 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import me.ash.reader.data.model.general.Version
|
||||
import me.ash.reader.data.model.general.toVersion
|
||||
import me.ash.reader.domain.model.general.Version
|
||||
import me.ash.reader.domain.model.general.toVersion
|
||||
import me.ash.reader.ui.ext.DataStoreKeys
|
||||
import me.ash.reader.ui.ext.dataStore
|
||||
import me.ash.reader.ui.ext.put
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,7 +1,6 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.ui.text.style.Hyphens.Companion.Auto
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.runtime.Composable
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.ui.text.font.FontFamily
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
@ -1,4 +1,4 @@
|
||||
package me.ash.reader.data.model.preference
|
||||
package me.ash.reader.infrastructure.preference
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.preferences.core.Preferences
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user