Poll notifications (#1229)
* show poll notifications in the app * show poll notifications in the app * allow filtering poll notifications in the poll fragment * show poll notifications in system notifications
This commit is contained in:
parent
647238052b
commit
e735e4843e
44 changed files with 1076 additions and 318 deletions
680
app/schemas/com.keylesspalace.tusky.db.AppDatabase/16.json
Normal file
680
app/schemas/com.keylesspalace.tusky.db.AppDatabase/16.json
Normal file
|
@ -0,0 +1,680 @@
|
|||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 16,
|
||||
"identityHash": "821df8c72aa78a288b4ae9fe2df21dda",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "TootEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `text` TEXT, `urls` TEXT, `descriptions` TEXT, `contentWarning` TEXT, `inReplyToId` TEXT, `inReplyToText` TEXT, `inReplyToUsername` TEXT, `visibility` INTEGER)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "uid",
|
||||
"columnName": "uid",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "text",
|
||||
"columnName": "text",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "urls",
|
||||
"columnName": "urls",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "descriptions",
|
||||
"columnName": "descriptions",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "contentWarning",
|
||||
"columnName": "contentWarning",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "inReplyToId",
|
||||
"columnName": "inReplyToId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "inReplyToText",
|
||||
"columnName": "inReplyToText",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "inReplyToUsername",
|
||||
"columnName": "inReplyToUsername",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "visibility",
|
||||
"columnName": "visibility",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"uid"
|
||||
],
|
||||
"autoGenerate": true
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "AccountEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `domain` TEXT NOT NULL, `accessToken` TEXT NOT NULL, `isActive` INTEGER NOT NULL, `accountId` TEXT NOT NULL, `username` TEXT NOT NULL, `displayName` TEXT NOT NULL, `profilePictureUrl` TEXT NOT NULL, `notificationsEnabled` INTEGER NOT NULL, `notificationsMentioned` INTEGER NOT NULL, `notificationsFollowed` INTEGER NOT NULL, `notificationsReblogged` INTEGER NOT NULL, `notificationsFavorited` INTEGER NOT NULL, `notificationsPolls` INTEGER NOT NULL, `notificationSound` INTEGER NOT NULL, `notificationVibration` INTEGER NOT NULL, `notificationLight` INTEGER NOT NULL, `defaultPostPrivacy` INTEGER NOT NULL, `defaultMediaSensitivity` INTEGER NOT NULL, `alwaysShowSensitiveMedia` INTEGER NOT NULL, `mediaPreviewEnabled` INTEGER NOT NULL, `lastNotificationId` TEXT NOT NULL, `activeNotifications` TEXT NOT NULL, `emojis` TEXT NOT NULL, `tabPreferences` TEXT NOT NULL, `notificationsFilter` TEXT NOT NULL)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "domain",
|
||||
"columnName": "domain",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accessToken",
|
||||
"columnName": "accessToken",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "isActive",
|
||||
"columnName": "isActive",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "username",
|
||||
"columnName": "username",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "displayName",
|
||||
"columnName": "displayName",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "profilePictureUrl",
|
||||
"columnName": "profilePictureUrl",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsEnabled",
|
||||
"columnName": "notificationsEnabled",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsMentioned",
|
||||
"columnName": "notificationsMentioned",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsFollowed",
|
||||
"columnName": "notificationsFollowed",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsReblogged",
|
||||
"columnName": "notificationsReblogged",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsFavorited",
|
||||
"columnName": "notificationsFavorited",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsPolls",
|
||||
"columnName": "notificationsPolls",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationSound",
|
||||
"columnName": "notificationSound",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationVibration",
|
||||
"columnName": "notificationVibration",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationLight",
|
||||
"columnName": "notificationLight",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "defaultPostPrivacy",
|
||||
"columnName": "defaultPostPrivacy",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "defaultMediaSensitivity",
|
||||
"columnName": "defaultMediaSensitivity",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "alwaysShowSensitiveMedia",
|
||||
"columnName": "alwaysShowSensitiveMedia",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "mediaPreviewEnabled",
|
||||
"columnName": "mediaPreviewEnabled",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastNotificationId",
|
||||
"columnName": "lastNotificationId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "activeNotifications",
|
||||
"columnName": "activeNotifications",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "emojis",
|
||||
"columnName": "emojis",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "tabPreferences",
|
||||
"columnName": "tabPreferences",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationsFilter",
|
||||
"columnName": "notificationsFilter",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id"
|
||||
],
|
||||
"autoGenerate": true
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_AccountEntity_domain_accountId",
|
||||
"unique": true,
|
||||
"columnNames": [
|
||||
"domain",
|
||||
"accountId"
|
||||
],
|
||||
"createSql": "CREATE UNIQUE INDEX `index_AccountEntity_domain_accountId` ON `${TABLE_NAME}` (`domain`, `accountId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "InstanceEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`instance` TEXT NOT NULL, `emojiList` TEXT, `maximumTootCharacters` INTEGER, PRIMARY KEY(`instance`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "instance",
|
||||
"columnName": "instance",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "emojiList",
|
||||
"columnName": "emojiList",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "maximumTootCharacters",
|
||||
"columnName": "maximumTootCharacters",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"instance"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "TimelineStatusEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`serverId` TEXT NOT NULL, `url` TEXT, `timelineUserId` INTEGER NOT NULL, `authorServerId` TEXT, `inReplyToId` TEXT, `inReplyToAccountId` TEXT, `content` TEXT, `createdAt` INTEGER NOT NULL, `emojis` TEXT, `reblogsCount` INTEGER NOT NULL, `favouritesCount` INTEGER NOT NULL, `reblogged` INTEGER NOT NULL, `favourited` INTEGER NOT NULL, `sensitive` INTEGER NOT NULL, `spoilerText` TEXT, `visibility` INTEGER, `attachments` TEXT, `mentions` TEXT, `application` TEXT, `reblogServerId` TEXT, `reblogAccountId` TEXT, `poll` TEXT, PRIMARY KEY(`serverId`, `timelineUserId`), FOREIGN KEY(`authorServerId`, `timelineUserId`) REFERENCES `TimelineAccountEntity`(`serverId`, `timelineUserId`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "serverId",
|
||||
"columnName": "serverId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "timelineUserId",
|
||||
"columnName": "timelineUserId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "authorServerId",
|
||||
"columnName": "authorServerId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "inReplyToId",
|
||||
"columnName": "inReplyToId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "inReplyToAccountId",
|
||||
"columnName": "inReplyToAccountId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "content",
|
||||
"columnName": "content",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "createdAt",
|
||||
"columnName": "createdAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "emojis",
|
||||
"columnName": "emojis",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "reblogsCount",
|
||||
"columnName": "reblogsCount",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "favouritesCount",
|
||||
"columnName": "favouritesCount",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "reblogged",
|
||||
"columnName": "reblogged",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "favourited",
|
||||
"columnName": "favourited",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "sensitive",
|
||||
"columnName": "sensitive",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "spoilerText",
|
||||
"columnName": "spoilerText",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "visibility",
|
||||
"columnName": "visibility",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachments",
|
||||
"columnName": "attachments",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "mentions",
|
||||
"columnName": "mentions",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "application",
|
||||
"columnName": "application",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "reblogServerId",
|
||||
"columnName": "reblogServerId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "reblogAccountId",
|
||||
"columnName": "reblogAccountId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "poll",
|
||||
"columnName": "poll",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"serverId",
|
||||
"timelineUserId"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_TimelineStatusEntity_authorServerId_timelineUserId",
|
||||
"unique": false,
|
||||
"columnNames": [
|
||||
"authorServerId",
|
||||
"timelineUserId"
|
||||
],
|
||||
"createSql": "CREATE INDEX `index_TimelineStatusEntity_authorServerId_timelineUserId` ON `${TABLE_NAME}` (`authorServerId`, `timelineUserId`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"table": "TimelineAccountEntity",
|
||||
"onDelete": "NO ACTION",
|
||||
"onUpdate": "NO ACTION",
|
||||
"columns": [
|
||||
"authorServerId",
|
||||
"timelineUserId"
|
||||
],
|
||||
"referencedColumns": [
|
||||
"serverId",
|
||||
"timelineUserId"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "TimelineAccountEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`serverId` TEXT NOT NULL, `timelineUserId` INTEGER NOT NULL, `localUsername` TEXT NOT NULL, `username` TEXT NOT NULL, `displayName` TEXT NOT NULL, `url` TEXT NOT NULL, `avatar` TEXT NOT NULL, `emojis` TEXT NOT NULL, PRIMARY KEY(`serverId`, `timelineUserId`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "serverId",
|
||||
"columnName": "serverId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "timelineUserId",
|
||||
"columnName": "timelineUserId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "localUsername",
|
||||
"columnName": "localUsername",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "username",
|
||||
"columnName": "username",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "displayName",
|
||||
"columnName": "displayName",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "url",
|
||||
"columnName": "url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "avatar",
|
||||
"columnName": "avatar",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "emojis",
|
||||
"columnName": "emojis",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"serverId",
|
||||
"timelineUserId"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "ConversationEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`accountId` INTEGER NOT NULL, `id` TEXT NOT NULL, `accounts` TEXT NOT NULL, `unread` INTEGER NOT NULL, `s_id` TEXT NOT NULL, `s_url` TEXT, `s_inReplyToId` TEXT, `s_inReplyToAccountId` TEXT, `s_account` TEXT NOT NULL, `s_content` TEXT NOT NULL, `s_createdAt` INTEGER NOT NULL, `s_emojis` TEXT NOT NULL, `s_favouritesCount` INTEGER NOT NULL, `s_favourited` INTEGER NOT NULL, `s_sensitive` INTEGER NOT NULL, `s_spoilerText` TEXT NOT NULL, `s_attachments` TEXT NOT NULL, `s_mentions` TEXT NOT NULL, `s_showingHiddenContent` INTEGER NOT NULL, `s_expanded` INTEGER NOT NULL, `s_collapsible` INTEGER NOT NULL, `s_collapsed` INTEGER NOT NULL, `s_poll` TEXT, PRIMARY KEY(`id`, `accountId`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "accountId",
|
||||
"columnName": "accountId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "accounts",
|
||||
"columnName": "accounts",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "unread",
|
||||
"columnName": "unread",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.id",
|
||||
"columnName": "s_id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.url",
|
||||
"columnName": "s_url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.inReplyToId",
|
||||
"columnName": "s_inReplyToId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.inReplyToAccountId",
|
||||
"columnName": "s_inReplyToAccountId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.account",
|
||||
"columnName": "s_account",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.content",
|
||||
"columnName": "s_content",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.createdAt",
|
||||
"columnName": "s_createdAt",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.emojis",
|
||||
"columnName": "s_emojis",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.favouritesCount",
|
||||
"columnName": "s_favouritesCount",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.favourited",
|
||||
"columnName": "s_favourited",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.sensitive",
|
||||
"columnName": "s_sensitive",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.spoilerText",
|
||||
"columnName": "s_spoilerText",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.attachments",
|
||||
"columnName": "s_attachments",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.mentions",
|
||||
"columnName": "s_mentions",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.showingHiddenContent",
|
||||
"columnName": "s_showingHiddenContent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.expanded",
|
||||
"columnName": "s_expanded",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.collapsible",
|
||||
"columnName": "s_collapsible",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.collapsed",
|
||||
"columnName": "s_collapsed",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastStatus.poll",
|
||||
"columnName": "s_poll",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id",
|
||||
"accountId"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"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, \"821df8c72aa78a288b4ae9fe2df21dda\")"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -74,7 +74,7 @@ public class TuskyApplication extends Application implements HasActivityInjector
|
|||
AppDatabase.MIGRATION_5_6, AppDatabase.MIGRATION_6_7, AppDatabase.MIGRATION_7_8,
|
||||
AppDatabase.MIGRATION_8_9, AppDatabase.MIGRATION_9_10, AppDatabase.MIGRATION_10_11,
|
||||
AppDatabase.MIGRATION_11_12, AppDatabase.MIGRATION_12_13, AppDatabase.MIGRATION_10_13,
|
||||
AppDatabase.MIGRATION_13_14, AppDatabase.MIGRATION_14_15)
|
||||
AppDatabase.MIGRATION_13_14, AppDatabase.MIGRATION_14_15, AppDatabase.MIGRATION_15_16)
|
||||
.build();
|
||||
accountManager = new AccountManager(appDatabase);
|
||||
serviceLocator = new ServiceLocator() {
|
||||
|
|
|
@ -68,7 +68,7 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
}
|
||||
|
||||
|
||||
private static final int VIEW_TYPE_MENTION = 0;
|
||||
private static final int VIEW_TYPE_STATUS = 0;
|
||||
private static final int VIEW_TYPE_STATUS_NOTIFICATION = 1;
|
||||
private static final int VIEW_TYPE_FOLLOW = 2;
|
||||
private static final int VIEW_TYPE_PLACEHOLDER = 3;
|
||||
|
@ -77,6 +77,7 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
private static final InputFilter[] COLLAPSE_INPUT_FILTER = new InputFilter[]{SmartLengthInputFilter.INSTANCE};
|
||||
private static final InputFilter[] NO_INPUT_FILTER = new InputFilter[0];
|
||||
|
||||
private String accountId;
|
||||
private StatusActionListener statusListener;
|
||||
private NotificationActionListener notificationActionListener;
|
||||
private boolean mediaPreviewEnabled;
|
||||
|
@ -84,10 +85,12 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
private BidiFormatter bidiFormatter;
|
||||
private AdapterDataSource<NotificationViewData> dataSource;
|
||||
|
||||
public NotificationsAdapter(AdapterDataSource<NotificationViewData> dataSource,
|
||||
public NotificationsAdapter(String accountId,
|
||||
AdapterDataSource<NotificationViewData> dataSource,
|
||||
StatusActionListener statusListener,
|
||||
NotificationActionListener notificationActionListener) {
|
||||
super();
|
||||
|
||||
this.accountId = accountId;
|
||||
this.dataSource = dataSource;
|
||||
this.statusListener = statusListener;
|
||||
this.notificationActionListener = notificationActionListener;
|
||||
|
@ -101,7 +104,7 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
|
||||
switch (viewType) {
|
||||
case VIEW_TYPE_MENTION: {
|
||||
case VIEW_TYPE_STATUS: {
|
||||
View view = inflater
|
||||
.inflate(R.layout.item_status, parent, false);
|
||||
return new StatusViewHolder(view, useAbsoluteTime);
|
||||
|
@ -159,17 +162,20 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
}
|
||||
NotificationViewData.Concrete concreteNotificaton =
|
||||
(NotificationViewData.Concrete) notification;
|
||||
Notification.Type type = concreteNotificaton.getType();
|
||||
switch (type) {
|
||||
case MENTION: {
|
||||
switch (viewHolder.getItemViewType()) {
|
||||
case VIEW_TYPE_STATUS: {
|
||||
StatusViewHolder holder = (StatusViewHolder) viewHolder;
|
||||
StatusViewData.Concrete status = concreteNotificaton.getStatusViewData();
|
||||
holder.setupWithStatus(status,
|
||||
statusListener, mediaPreviewEnabled, payloadForHolder);
|
||||
if(concreteNotificaton.getType() == Notification.Type.POLL) {
|
||||
holder.setPollInfo(accountId.equals(concreteNotificaton.getAccount().getId()));
|
||||
} else {
|
||||
holder.hideStatusInfo();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FAVOURITE:
|
||||
case REBLOG: {
|
||||
case VIEW_TYPE_STATUS_NOTIFICATION: {
|
||||
StatusNotificationViewHolder holder = (StatusNotificationViewHolder) viewHolder;
|
||||
StatusViewData.Concrete statusViewData = concreteNotificaton.getStatusViewData();
|
||||
if (payloadForHolder == null) {
|
||||
|
@ -200,7 +206,7 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
}
|
||||
break;
|
||||
}
|
||||
case FOLLOW: {
|
||||
case VIEW_TYPE_FOLLOW: {
|
||||
if (payloadForHolder == null) {
|
||||
FollowViewHolder holder = (FollowViewHolder) viewHolder;
|
||||
holder.setMessage(concreteNotificaton.getAccount(), bidiFormatter);
|
||||
|
@ -225,8 +231,9 @@ public class NotificationsAdapter extends RecyclerView.Adapter {
|
|||
if (notification instanceof NotificationViewData.Concrete) {
|
||||
NotificationViewData.Concrete concrete = ((NotificationViewData.Concrete) notification);
|
||||
switch (concrete.getType()) {
|
||||
case MENTION: {
|
||||
return VIEW_TYPE_MENTION;
|
||||
case MENTION:
|
||||
case POLL: {
|
||||
return VIEW_TYPE_STATUS;
|
||||
}
|
||||
case FAVOURITE:
|
||||
case REBLOG: {
|
||||
|
|
|
@ -815,13 +815,13 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
|
||||
for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) {
|
||||
if(i < options.size()) {
|
||||
long percent = calculatePollPercent(options.get(i).getVotesCount(), poll.getVotesCount());
|
||||
int percent = options.get(i).getPercent(poll.getVotesCount());
|
||||
|
||||
String pollOptionText = pollResults[i].getContext().getString(R.string.poll_option_format, percent, options.get(i).getTitle());
|
||||
pollResults[i].setText(CustomEmojiHelper.emojifyText(HtmlUtils.fromHtml(pollOptionText), emojis, pollResults[i]));
|
||||
pollResults[i].setVisibility(View.VISIBLE);
|
||||
|
||||
int level = (int) percent * 100;
|
||||
int level = percent * 100;
|
||||
|
||||
pollResults[i].getBackground().setLevel(level);
|
||||
|
||||
|
@ -920,10 +920,4 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
}
|
||||
}
|
||||
|
||||
private static long calculatePollPercent(int votes, int totalVotes) {
|
||||
if(votes == 0) {
|
||||
return 0;
|
||||
}
|
||||
return Math.round(votes / (double) totalVotes * 100);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,18 +29,19 @@ import com.keylesspalace.tusky.viewdata.StatusViewData;
|
|||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import at.connyduck.sparkbutton.helpers.Utils;
|
||||
|
||||
public class StatusViewHolder extends StatusBaseViewHolder {
|
||||
private static final InputFilter[] COLLAPSE_INPUT_FILTER = new InputFilter[]{SmartLengthInputFilter.INSTANCE};
|
||||
private static final InputFilter[] NO_INPUT_FILTER = new InputFilter[0];
|
||||
|
||||
private TextView rebloggedBar;
|
||||
private TextView statusInfo;
|
||||
private ToggleButton contentCollapseButton;
|
||||
|
||||
StatusViewHolder(View itemView, boolean useAbsoluteTime) {
|
||||
super(itemView, useAbsoluteTime);
|
||||
rebloggedBar = itemView.findViewById(R.id.status_reblogged);
|
||||
statusInfo = itemView.findViewById(R.id.status_info);
|
||||
contentCollapseButton = itemView.findViewById(R.id.button_toggle_content);
|
||||
}
|
||||
|
||||
|
@ -71,7 +72,7 @@ public class StatusViewHolder extends StatusBaseViewHolder {
|
|||
@Override
|
||||
protected void setupWithStatus(StatusViewData.Concrete status, final StatusActionListener listener,
|
||||
boolean mediaPreviewEnabled, @Nullable Object payloads) {
|
||||
if (status == null || payloads==null) {
|
||||
if (status == null || payloads == null) {
|
||||
if (status == null) {
|
||||
showContent(false);
|
||||
} else {
|
||||
|
@ -81,30 +82,39 @@ public class StatusViewHolder extends StatusBaseViewHolder {
|
|||
|
||||
String rebloggedByDisplayName = status.getRebloggedByUsername();
|
||||
if (rebloggedByDisplayName == null) {
|
||||
hideRebloggedByDisplayName();
|
||||
hideStatusInfo();
|
||||
} else {
|
||||
setRebloggedByDisplayName(rebloggedByDisplayName);
|
||||
statusInfo.setOnClickListener(v -> listener.onOpenReblog(getAdapterPosition()));
|
||||
}
|
||||
|
||||
rebloggedBar.setOnClickListener(v -> listener.onOpenReblog(getAdapterPosition()));}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
super.setupWithStatus(status, listener, mediaPreviewEnabled, payloads);
|
||||
}
|
||||
}
|
||||
|
||||
private void setRebloggedByDisplayName(final String name) {
|
||||
Context context = rebloggedBar.getContext();
|
||||
Context context = statusInfo.getContext();
|
||||
String boostedText = context.getString(R.string.status_boosted_format, name);
|
||||
rebloggedBar.setText(boostedText);
|
||||
rebloggedBar.setVisibility(View.VISIBLE);
|
||||
statusInfo.setText(boostedText);
|
||||
statusInfo.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
private void hideRebloggedByDisplayName() {
|
||||
if (rebloggedBar == null) {
|
||||
// don't use this on the same ViewHolder as setRebloggedByDisplayName, will cause recycling issues as paddings are changed
|
||||
void setPollInfo(final boolean ownPoll) {
|
||||
statusInfo.setText(ownPoll ? R.string.poll_ended_created : R.string.poll_ended_voted);
|
||||
statusInfo.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.ic_poll_24dp, 0, 0, 0);
|
||||
statusInfo.setCompoundDrawablePadding(Utils.dpToPx(statusInfo.getContext(), 10));
|
||||
statusInfo.setPaddingRelative(Utils.dpToPx(statusInfo.getContext(), 28), 0, 0, 0);
|
||||
statusInfo.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
void hideStatusInfo() {
|
||||
if (statusInfo == null) {
|
||||
return;
|
||||
}
|
||||
rebloggedBar.setVisibility(View.GONE);
|
||||
statusInfo.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void setupCollapsedState(final StatusViewData.Concrete status, final StatusActionListener listener) {
|
||||
|
|
|
@ -41,6 +41,7 @@ data class AccountEntity(@field:PrimaryKey(autoGenerate = true) var id: Long,
|
|||
var notificationsFollowed: Boolean = true,
|
||||
var notificationsReblogged: Boolean = true,
|
||||
var notificationsFavorited: Boolean = true,
|
||||
var notificationsPolls: Boolean = true,
|
||||
var notificationSound: Boolean = true,
|
||||
var notificationVibration: Boolean = true,
|
||||
var notificationLight: Boolean = true,
|
||||
|
|
|
@ -30,7 +30,7 @@ import androidx.annotation.NonNull;
|
|||
|
||||
@Database(entities = {TootEntity.class, AccountEntity.class, InstanceEntity.class, TimelineStatusEntity.class,
|
||||
TimelineAccountEntity.class, ConversationEntity.class
|
||||
}, version = 15)
|
||||
}, version = 16)
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract TootDao tootDao();
|
||||
|
@ -279,4 +279,11 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||
}
|
||||
};
|
||||
|
||||
public static final Migration MIGRATION_15_16 = new Migration(15, 16) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE `AccountEntity` ADD COLUMN `notificationsPolls` INTEGER NOT NULL DEFAULT 1");
|
||||
}
|
||||
};
|
||||
|
||||
}
|
|
@ -30,7 +30,8 @@ data class Notification(
|
|||
MENTION("mention"),
|
||||
REBLOG("reblog"),
|
||||
FAVOURITE("favourite"),
|
||||
FOLLOW("follow");
|
||||
FOLLOW("follow"),
|
||||
POLL("poll");
|
||||
|
||||
companion object {
|
||||
|
||||
|
@ -42,7 +43,7 @@ data class Notification(
|
|||
}
|
||||
return UNKNOWN
|
||||
}
|
||||
val asList = listOf(MENTION,REBLOG,FAVOURITE,FOLLOW)
|
||||
val asList = listOf(MENTION, REBLOG, FAVOURITE, FOLLOW, POLL)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.keylesspalace.tusky.entity
|
|||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import java.util.*
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
data class Poll(
|
||||
val id: String,
|
||||
|
@ -30,4 +31,12 @@ data class Poll(
|
|||
data class PollOption(
|
||||
val title: String,
|
||||
@SerializedName("votes_count") val votesCount: Int
|
||||
)
|
||||
) {
|
||||
fun getPercent(totalVotes: Int): Int {
|
||||
return if (votesCount == 0) {
|
||||
0
|
||||
} else {
|
||||
(votesCount / totalVotes.toDouble() * 100).roundToInt()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -222,7 +222,8 @@ public class NotificationsFragment extends SFragment implements
|
|||
|
||||
recyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
|
||||
|
||||
adapter = new NotificationsAdapter(dataSource, this, this);
|
||||
adapter = new NotificationsAdapter(accountManager.getActiveAccount().getAccountId(),
|
||||
dataSource, this, this);
|
||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
alwaysShowSensitiveMedia = accountManager.getActiveAccount().getAlwaysShowSensitiveMedia();
|
||||
boolean mediaPreviewEnabled = accountManager.getActiveAccount().getMediaPreviewEnabled();
|
||||
|
@ -652,13 +653,15 @@ public class NotificationsFragment extends SFragment implements
|
|||
private String getNotificationText(Notification.Type type) {
|
||||
switch (type) {
|
||||
case MENTION:
|
||||
return getString(R.string.filter_mentions);
|
||||
return getString(R.string.notification_mention_name);
|
||||
case FAVOURITE:
|
||||
return getString(R.string.filter_favorites);
|
||||
return getString(R.string.notification_favourite_name);
|
||||
case REBLOG:
|
||||
return getString(R.string.filter_boosts);
|
||||
return getString(R.string.notification_boost_name);
|
||||
case FOLLOW:
|
||||
return getString(R.string.filter_follows);
|
||||
return getString(R.string.notification_follow_name);
|
||||
case POLL:
|
||||
return getString(R.string.notification_poll_name);
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
|
|
|
@ -62,6 +62,10 @@ class NotificationPreferencesFragment : PreferenceFragmentCompat(), Preference.O
|
|||
favoritedPref.isChecked = activeAccount.notificationsFavorited
|
||||
favoritedPref.onPreferenceChangeListener = this
|
||||
|
||||
val pollsPref = requirePreference("notificationFilterPolls") as SwitchPreference
|
||||
pollsPref.isChecked = activeAccount.notificationsPolls
|
||||
pollsPref.onPreferenceChangeListener = this
|
||||
|
||||
val soundPref = requirePreference("notificationAlertSound") as SwitchPreference
|
||||
soundPref.isChecked = activeAccount.notificationSound
|
||||
soundPref.onPreferenceChangeListener = this
|
||||
|
@ -94,6 +98,7 @@ class NotificationPreferencesFragment : PreferenceFragmentCompat(), Preference.O
|
|||
"notificationFilterFollows" -> activeAccount.notificationsFollowed = newValue as Boolean
|
||||
"notificationFilterReblogs" -> activeAccount.notificationsReblogged = newValue as Boolean
|
||||
"notificationFilterFavourites" -> activeAccount.notificationsFavorited = newValue as Boolean
|
||||
"notificationFilterPolls" -> activeAccount.notificationsPolls = newValue as Boolean
|
||||
"notificationAlertSound" -> activeAccount.notificationSound = newValue as Boolean
|
||||
"notificationAlertVibrate" -> activeAccount.notificationVibration = newValue as Boolean
|
||||
"notificationAlertLight" -> activeAccount.notificationLight = newValue as Boolean
|
||||
|
|
|
@ -35,6 +35,8 @@ import androidx.core.app.RemoteInput;
|
|||
import androidx.core.app.TaskStackBuilder;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.text.BidiFormatter;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
|
@ -48,6 +50,8 @@ import com.keylesspalace.tusky.R;
|
|||
import com.keylesspalace.tusky.db.AccountEntity;
|
||||
import com.keylesspalace.tusky.db.AccountManager;
|
||||
import com.keylesspalace.tusky.entity.Notification;
|
||||
import com.keylesspalace.tusky.entity.Poll;
|
||||
import com.keylesspalace.tusky.entity.PollOption;
|
||||
import com.keylesspalace.tusky.entity.Status;
|
||||
import com.keylesspalace.tusky.receiver.NotificationClearBroadcastReceiver;
|
||||
import com.keylesspalace.tusky.receiver.SendStatusBroadcastReceiver;
|
||||
|
@ -105,6 +109,7 @@ public class NotificationHelper {
|
|||
public static final String CHANNEL_FOLLOW = "CHANNEL_FOLLOW";
|
||||
public static final String CHANNEL_BOOST = "CHANNEL_BOOST";
|
||||
public static final String CHANNEL_FAVOURITE = "CHANNEL_FAVOURITE";
|
||||
public static final String CHANNEL_POLL = "CHANNEL_POLL";
|
||||
|
||||
/**
|
||||
* time in minutes between notification checks
|
||||
|
@ -159,12 +164,12 @@ public class NotificationHelper {
|
|||
|
||||
notificationId++;
|
||||
|
||||
builder.setContentTitle(titleForType(context, body, bidiFormatter))
|
||||
.setContentText(bodyForType(body));
|
||||
builder.setContentTitle(titleForType(context, body, bidiFormatter, account))
|
||||
.setContentText(bodyForType(body, context));
|
||||
|
||||
if (body.getType() == Notification.Type.MENTION) {
|
||||
if (body.getType() == Notification.Type.MENTION || body.getType() == Notification.Type.POLL) {
|
||||
builder.setStyle(new NotificationCompat.BigTextStyle()
|
||||
.bigText(bodyForType(body)));
|
||||
.bigText(bodyForType(body, context)));
|
||||
}
|
||||
|
||||
//load the avatar synchronously
|
||||
|
@ -337,21 +342,25 @@ public class NotificationHelper {
|
|||
CHANNEL_MENTION + account.getIdentifier(),
|
||||
CHANNEL_FOLLOW + account.getIdentifier(),
|
||||
CHANNEL_BOOST + account.getIdentifier(),
|
||||
CHANNEL_FAVOURITE + account.getIdentifier()};
|
||||
CHANNEL_FAVOURITE + account.getIdentifier(),
|
||||
CHANNEL_POLL + account.getIdentifier(),
|
||||
};
|
||||
int[] channelNames = {
|
||||
R.string.notification_channel_mention_name,
|
||||
R.string.notification_channel_follow_name,
|
||||
R.string.notification_channel_boost_name,
|
||||
R.string.notification_channel_favourite_name
|
||||
R.string.notification_mention_name,
|
||||
R.string.notification_follow_name,
|
||||
R.string.notification_boost_name,
|
||||
R.string.notification_favourite_name,
|
||||
R.string.notification_poll_name
|
||||
};
|
||||
int[] channelDescriptions = {
|
||||
R.string.notification_channel_mention_descriptions,
|
||||
R.string.notification_channel_follow_description,
|
||||
R.string.notification_channel_boost_description,
|
||||
R.string.notification_channel_favourite_description
|
||||
R.string.notification_mention_descriptions,
|
||||
R.string.notification_follow_description,
|
||||
R.string.notification_boost_description,
|
||||
R.string.notification_favourite_description,
|
||||
R.string.notification_poll_description
|
||||
};
|
||||
|
||||
List<NotificationChannel> channels = new ArrayList<>(4);
|
||||
List<NotificationChannel> channels = new ArrayList<>(5);
|
||||
|
||||
NotificationChannelGroup channelGroup = new NotificationChannelGroup(account.getIdentifier(), account.getFullName());
|
||||
|
||||
|
@ -472,8 +481,13 @@ public class NotificationHelper {
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
|
||||
String channelId = getChannelId(account, notification);
|
||||
if(channelId == null) {
|
||||
// unknown notificationtype
|
||||
return false;
|
||||
}
|
||||
//noinspection ConstantConditions
|
||||
NotificationChannel channel = notificationManager.getNotificationChannel(getChannelId(account, notification));
|
||||
NotificationChannel channel = notificationManager.getNotificationChannel(channelId);
|
||||
return channel.getImportance() > NotificationManager.IMPORTANCE_NONE;
|
||||
}
|
||||
|
||||
|
@ -486,14 +500,15 @@ public class NotificationHelper {
|
|||
return account.getNotificationsReblogged();
|
||||
case FAVOURITE:
|
||||
return account.getNotificationsFavorited();
|
||||
case POLL:
|
||||
return account.getNotificationsPolls();
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static String getChannelId(AccountEntity account, Notification notification) {
|
||||
private static @Nullable String getChannelId(AccountEntity account, Notification notification) {
|
||||
switch (notification.getType()) {
|
||||
default:
|
||||
case MENTION:
|
||||
return CHANNEL_MENTION + account.getIdentifier();
|
||||
case FOLLOW:
|
||||
|
@ -502,6 +517,10 @@ public class NotificationHelper {
|
|||
return CHANNEL_BOOST + account.getIdentifier();
|
||||
case FAVOURITE:
|
||||
return CHANNEL_FAVOURITE + account.getIdentifier();
|
||||
case POLL:
|
||||
return CHANNEL_POLL + account.getIdentifier();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -554,7 +573,7 @@ public class NotificationHelper {
|
|||
}
|
||||
|
||||
@Nullable
|
||||
private static String titleForType(Context context, Notification notification, BidiFormatter bidiFormatter) {
|
||||
private static String titleForType(Context context, Notification notification, BidiFormatter bidiFormatter, AccountEntity account) {
|
||||
String accountName = bidiFormatter.unicodeWrap(notification.getAccount().getName());
|
||||
switch (notification.getType()) {
|
||||
case MENTION:
|
||||
|
@ -569,22 +588,43 @@ public class NotificationHelper {
|
|||
case REBLOG:
|
||||
return String.format(context.getString(R.string.notification_reblog_format),
|
||||
accountName);
|
||||
case POLL:
|
||||
if(notification.getStatus().getAccount().getId().equals(account.getAccountId())) {
|
||||
return context.getString(R.string.poll_ended_created);
|
||||
} else {
|
||||
return context.getString(R.string.poll_ended_voted);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String bodyForType(Notification notification) {
|
||||
private static String bodyForType(Notification notification, Context context) {
|
||||
switch (notification.getType()) {
|
||||
case FOLLOW:
|
||||
return "@" + notification.getAccount().getUsername();
|
||||
case MENTION:
|
||||
case FAVOURITE:
|
||||
case REBLOG:
|
||||
if (notification.getStatus().getSensitive()) {
|
||||
if (!TextUtils.isEmpty(notification.getStatus().getSpoilerText())) {
|
||||
return notification.getStatus().getSpoilerText();
|
||||
} else {
|
||||
return notification.getStatus().getContent().toString();
|
||||
}
|
||||
case POLL:
|
||||
if (!TextUtils.isEmpty(notification.getStatus().getSpoilerText())) {
|
||||
return notification.getStatus().getSpoilerText();
|
||||
} else {
|
||||
StringBuilder builder = new StringBuilder(notification.getStatus().getContent());
|
||||
builder.append('\n');
|
||||
Poll poll = notification.getStatus().getPoll();
|
||||
for(PollOption option: poll.getOptions()) {
|
||||
int percent = option.getPercent(poll.getVotesCount());
|
||||
CharSequence optionText = HtmlUtils.fromHtml(context.getString(R.string.poll_option_format, percent, option.getTitle()));
|
||||
builder.append(optionText);
|
||||
builder.append('\n');
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
9
app/src/main/res/drawable/ic_poll_24dp.xml
Normal file
9
app/src/main/res/drawable/ic_poll_24dp.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@color/tusky_blue"
|
||||
android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM9,17L7,17v-7h2v7zM13,17h-2L11,7h2v10zM17,17h-2v-4h2v4z" />
|
||||
</vector>
|
|
@ -13,7 +13,7 @@
|
|||
android:paddingRight="14dp">
|
||||
|
||||
<androidx.emoji.widget.EmojiTextView
|
||||
android:id="@+id/status_reblogged"
|
||||
android:id="@+id/status_info"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/status_reblogged_bar_padding_top"
|
||||
|
@ -40,7 +40,7 @@
|
|||
android:importantForAccessibility="no"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/status_reblogged"
|
||||
app:layout_constraintTop_toBottomOf="@id/status_info"
|
||||
tools:src="@drawable/avatar_default" />
|
||||
|
||||
<com.keylesspalace.tusky.view.RoundedImageView
|
||||
|
@ -72,7 +72,7 @@
|
|||
app:layout_constraintEnd_toStartOf="@id/status_timestamp_info"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintStart_toEndOf="@id/status_avatar"
|
||||
app:layout_constraintTop_toBottomOf="@id/status_reblogged"
|
||||
app:layout_constraintTop_toBottomOf="@id/status_info"
|
||||
tools:text="Ente r the void you foooooo" />
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -212,14 +212,14 @@
|
|||
<string name="media_hide_sensitive">إخفاء الوسائط المعينة كحساسة</string>
|
||||
<string name="media_hide_none">اظهار الوسائط المعينة كمحتوى حساس دائمًا</string>
|
||||
<string name="media_hide_all">إخفاء كافة الوسائط دائما</string>
|
||||
<string name="notification_channel_mention_name">إشارات جديدة</string>
|
||||
<string name="notification_channel_mention_descriptions">الإخطارات عندما يشار إليك</string>
|
||||
<string name="notification_channel_follow_name">متابِعون جدد</string>
|
||||
<string name="notification_channel_follow_description">إخطارات عند تلقي متابعين جدد</string>
|
||||
<string name="notification_channel_boost_name">الترقيات</string>
|
||||
<string name="notification_channel_boost_description">إخطارات عندما يقوم أحدهم بترقية تبويقاتي</string>
|
||||
<string name="notification_channel_favourite_name">المفضلة</string>
|
||||
<string name="notification_channel_favourite_description">الإشعار عندما يقوم أحدهم بإضافة تبويقاتك إلى مفضلاته</string>
|
||||
<string name="notification_mention_name">إشارات جديدة</string>
|
||||
<string name="notification_mention_descriptions">الإخطارات عندما يشار إليك</string>
|
||||
<string name="notification_follow_name">متابِعون جدد</string>
|
||||
<string name="notification_follow_description">إخطارات عند تلقي متابعين جدد</string>
|
||||
<string name="notification_boost_name">الترقيات</string>
|
||||
<string name="notification_boost_description">إخطارات عندما يقوم أحدهم بترقية تبويقاتي</string>
|
||||
<string name="notification_favourite_name">المفضلة</string>
|
||||
<string name="notification_favourite_description">الإشعار عندما يقوم أحدهم بإضافة تبويقاتك إلى مفضلاته</string>
|
||||
<string name="notification_mention_format">%s أشار إليك</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s و %4$d أخرى</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, و %3$s</string>
|
||||
|
|
|
@ -168,14 +168,14 @@
|
|||
|
||||
<string name="pref_status_text_size">Mida de text de l\'estat</string>
|
||||
|
||||
<string name="notification_channel_mention_name">Mencions noves</string>
|
||||
<string name="notification_channel_mention_descriptions">Notificacions sobre mencions noves</string>
|
||||
<string name="notification_channel_follow_name">Seguidors nous</string>
|
||||
<string name="notification_channel_follow_description">Notificacions sobre nous seguidors</string>
|
||||
<string name="notification_channel_boost_name">Retoots</string>
|
||||
<string name="notification_channel_boost_description">Notificacions si retootejents els teus toots</string>
|
||||
<string name="notification_channel_favourite_name">Preferits</string>
|
||||
<string name="notification_channel_favourite_description">Notificacions si marquen com a preferits els teus toots</string>
|
||||
<string name="notification_mention_name">Mencions noves</string>
|
||||
<string name="notification_mention_descriptions">Notificacions sobre mencions noves</string>
|
||||
<string name="notification_follow_name">Seguidors nous</string>
|
||||
<string name="notification_follow_description">Notificacions sobre nous seguidors</string>
|
||||
<string name="notification_boost_name">Retoots</string>
|
||||
<string name="notification_boost_description">Notificacions si retootejents els teus toots</string>
|
||||
<string name="notification_favourite_name">Preferits</string>
|
||||
<string name="notification_favourite_description">Notificacions si marquen com a preferits els teus toots</string>
|
||||
|
||||
|
||||
<string name="notification_mention_format">%s et mencionen</string>
|
||||
|
|
|
@ -218,14 +218,14 @@
|
|||
<string name="media_hide_sensitive">Skrýt média označená jako citlivá</string>
|
||||
<string name="media_hide_none">Vždy zobrazovat média označená jako citlivá</string>
|
||||
<string name="media_hide_all">Vždy skrývat všechna média</string>
|
||||
<string name="notification_channel_mention_name">Nové zmínky</string>
|
||||
<string name="notification_channel_mention_descriptions">Oznámení o nových zmínkách</string>
|
||||
<string name="notification_channel_follow_name">Noví sledující</string>
|
||||
<string name="notification_channel_follow_description">Oznámení o nových sledujících</string>
|
||||
<string name="notification_channel_boost_name">Boosty</string>
|
||||
<string name="notification_channel_boost_description">Oznámení, když jsou vaše tooty boostnuty</string>
|
||||
<string name="notification_channel_favourite_name">Oblíbení</string>
|
||||
<string name="notification_channel_favourite_description">Oznámení, když jsou vaše tooty označeny jako oblíbené</string>
|
||||
<string name="notification_mention_name">Nové zmínky</string>
|
||||
<string name="notification_mention_descriptions">Oznámení o nových zmínkách</string>
|
||||
<string name="notification_follow_name">Noví sledující</string>
|
||||
<string name="notification_follow_description">Oznámení o nových sledujících</string>
|
||||
<string name="notification_boost_name">Boosty</string>
|
||||
<string name="notification_boost_description">Oznámení, když jsou vaše tooty boostnuty</string>
|
||||
<string name="notification_favourite_name">Oblíbení</string>
|
||||
<string name="notification_favourite_description">Oznámení, když jsou vaše tooty označeny jako oblíbené</string>
|
||||
<string name="notification_mention_format">%s vás zmínil/a</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s a dalších %4$d</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s a %3$s</string>
|
||||
|
@ -386,10 +386,6 @@
|
|||
|
||||
<string name="notifications_clear">Vymazat</string>
|
||||
<string name="notifications_apply_filter">Filtrovat</string>
|
||||
<string name="filter_favorites">\@string/notification_channel_favourite_name</string>
|
||||
<string name="filter_boosts">\@string/notification_channel_boost_name</string>
|
||||
<string name="filter_follows">\@string/notification_channel_follow_name</string>
|
||||
<string name="filter_mentions">\@string/notification_channel_mention_name</string>
|
||||
<string name="filter_apply">Použít</string>
|
||||
|
||||
<string name="pref_title_bot_overlay">Zobrazovat indikátor pro roboty</string>
|
||||
|
|
|
@ -183,14 +183,14 @@
|
|||
<string name="status_text_size_medium">Canolig </string>
|
||||
<string name="status_text_size_large">Mawr </string>
|
||||
<string name="status_text_size_largest">Mwyaf </string>
|
||||
<string name="notification_channel_mention_name">Yn sôn amdanoch o\'r newydd </string>
|
||||
<string name="notification_channel_mention_descriptions">Hysbysiadau sôn amdanoch o\'r newydd</string>
|
||||
<string name="notification_channel_follow_name">Dilynwyr Newydd</string>
|
||||
<string name="notification_channel_follow_description">Hysbysiadau am ddilynwyr newydd </string>
|
||||
<string name="notification_channel_boost_name">Hybiadau</string>
|
||||
<string name="notification_channel_boost_description">Hysbysiadau pan gaiff eich tŵtiau eu hybu </string>
|
||||
<string name="notification_channel_favourite_name">Ffefrynnau</string>
|
||||
<string name="notification_channel_favourite_description">Hysbysiadau pan fo\'r tŵtiau wedi\'u marcio fel ffefryn </string>
|
||||
<string name="notification_mention_name">Yn sôn amdanoch o\'r newydd </string>
|
||||
<string name="notification_mention_descriptions">Hysbysiadau sôn amdanoch o\'r newydd</string>
|
||||
<string name="notification_follow_name">Dilynwyr Newydd</string>
|
||||
<string name="notification_follow_description">Hysbysiadau am ddilynwyr newydd </string>
|
||||
<string name="notification_boost_name">Hybiadau</string>
|
||||
<string name="notification_boost_description">Hysbysiadau pan gaiff eich tŵtiau eu hybu </string>
|
||||
<string name="notification_favourite_name">Ffefrynnau</string>
|
||||
<string name="notification_favourite_description">Hysbysiadau pan fo\'r tŵtiau wedi\'u marcio fel ffefryn </string>
|
||||
<string name="notification_mention_format">Soniodd %s amdanoch </string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s a %4$d eraill</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, a %3$s</string>
|
||||
|
|
|
@ -215,14 +215,14 @@
|
|||
<string name="media_hide_sensitive">Verberge Medien welche als heikel makiert sind</string>
|
||||
<string name="media_hide_none">Medien, die als sensibel markiert sind, immer anzeigen</string>
|
||||
<string name="media_hide_all">Medien immer verstecken</string>
|
||||
<string name="notification_channel_mention_name">Neue Erwähnungen</string>
|
||||
<string name="notification_channel_mention_descriptions">Benachrichtigungen über neue Erwähnungen</string>
|
||||
<string name="notification_channel_follow_name">Neue Folgende</string>
|
||||
<string name="notification_channel_follow_description">Benachrichtigunen über neue Folgende</string>
|
||||
<string name="notification_channel_boost_name">Geteilte Beiträge</string>
|
||||
<string name="notification_channel_boost_description">Benachrichtigungen wenn deine Beiträge geteilt werden</string>
|
||||
<string name="notification_channel_favourite_name">Favorisierte Beiträge</string>
|
||||
<string name="notification_channel_favourite_description">Benachrichtigungen wenn deine Beiträge favorisiert werden</string>
|
||||
<string name="notification_mention_name">Neue Erwähnungen</string>
|
||||
<string name="notification_mention_descriptions">Benachrichtigungen über neue Erwähnungen</string>
|
||||
<string name="notification_follow_name">Neue Folgende</string>
|
||||
<string name="notification_follow_description">Benachrichtigunen über neue Folgende</string>
|
||||
<string name="notification_boost_name">Geteilte Beiträge</string>
|
||||
<string name="notification_boost_description">Benachrichtigungen wenn deine Beiträge geteilt werden</string>
|
||||
<string name="notification_favourite_name">Favorisierte Beiträge</string>
|
||||
<string name="notification_favourite_description">Benachrichtigungen wenn deine Beiträge favorisiert werden</string>
|
||||
<string name="notification_mention_format">%s hat dich erwähnt</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s und %4$d andere</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, und %3$s</string>
|
||||
|
|
|
@ -214,14 +214,14 @@
|
|||
<string name="media_hide_sensitive">Kaŝi aŭdovidaĵojn markitajn kiel tiklaj</string>
|
||||
<string name="media_hide_none">Ĉiam montri aŭdovidaĵojn markitajn kiel tiklaj</string>
|
||||
<string name="media_hide_all">Ĉiam kaŝi ĉiujn aŭdovidaĵojn</string>
|
||||
<string name="notification_channel_mention_name">Novaj mencioj</string>
|
||||
<string name="notification_channel_mention_descriptions">Sciigoj pri novajn menciojn</string>
|
||||
<string name="notification_channel_follow_name">Novaj sekvantoj</string>
|
||||
<string name="notification_channel_follow_description">Sciigoj pri novajn sekvantojn</string>
|
||||
<string name="notification_channel_boost_name">Diskonigoj</string>
|
||||
<string name="notification_channel_boost_description">Sciigoj kiam viaj mesaĝoj estas diskonigita</string>
|
||||
<string name="notification_channel_favourite_name">Stelumoj</string>
|
||||
<string name="notification_channel_favourite_description">Sciigoj kiam viaj mesaĝoj estas stelumitaj</string>
|
||||
<string name="notification_mention_name">Novaj mencioj</string>
|
||||
<string name="notification_mention_descriptions">Sciigoj pri novajn menciojn</string>
|
||||
<string name="notification_follow_name">Novaj sekvantoj</string>
|
||||
<string name="notification_follow_description">Sciigoj pri novajn sekvantojn</string>
|
||||
<string name="notification_boost_name">Diskonigoj</string>
|
||||
<string name="notification_boost_description">Sciigoj kiam viaj mesaĝoj estas diskonigita</string>
|
||||
<string name="notification_favourite_name">Stelumoj</string>
|
||||
<string name="notification_favourite_description">Sciigoj kiam viaj mesaĝoj estas stelumitaj</string>
|
||||
<string name="notification_mention_format">%s menciis vin</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s kaj %4$d aliaj</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, kaj %3$s</string>
|
||||
|
|
|
@ -201,14 +201,14 @@
|
|||
<string name="media_hide_sensitive">Ocultar medios marcados como sensibles</string>
|
||||
<string name="media_hide_none">Mostrar siempre los medios marcados como sensibles</string>
|
||||
<string name="media_hide_all">Ocultar siempre todos los medios</string>
|
||||
<string name="notification_channel_mention_name">Nuevas menciones</string>
|
||||
<string name="notification_channel_mention_descriptions">Notificaciones de nuevas menciones</string>
|
||||
<string name="notification_channel_follow_name">Nuevos seguidores</string>
|
||||
<string name="notification_channel_follow_description">Notificaciones de nuevos seguidores</string>
|
||||
<string name="notification_channel_boost_name">Compartidos</string>
|
||||
<string name="notification_channel_boost_description">Notificaciones de estados que fueron compartidos</string>
|
||||
<string name="notification_channel_favourite_name">Favoritos</string>
|
||||
<string name="notification_channel_favourite_description">Notificaciones de estados que recibieron favorito</string>
|
||||
<string name="notification_mention_name">Nuevas menciones</string>
|
||||
<string name="notification_mention_descriptions">Notificaciones de nuevas menciones</string>
|
||||
<string name="notification_follow_name">Nuevos seguidores</string>
|
||||
<string name="notification_follow_description">Notificaciones de nuevos seguidores</string>
|
||||
<string name="notification_boost_name">Compartidos</string>
|
||||
<string name="notification_boost_description">Notificaciones de estados que fueron compartidos</string>
|
||||
<string name="notification_favourite_name">Favoritos</string>
|
||||
<string name="notification_favourite_description">Notificaciones de estados que recibieron favorito</string>
|
||||
<string name="notification_mention_format">%s te mencionó</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s y %4$d otros</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, y %3$s</string>
|
||||
|
|
|
@ -187,14 +187,14 @@
|
|||
<string name="media_hide_sensitive">Ezkutatu eduki mingarri gisa markatutako multimedia</string>
|
||||
<string name="media_hide_none">Beti erakutsi eduki mingarri gisa markatutako multimedia</string>
|
||||
<string name="media_hide_all">Beti ezkutatu multimedia guztiak</string>
|
||||
<string name="notification_channel_mention_name">Aipamen berriak</string>
|
||||
<string name="notification_channel_mention_descriptions">Aipamen berrien jakinarazpenak</string>
|
||||
<string name="notification_channel_follow_name">Jarritzaile berriak</string>
|
||||
<string name="notification_channel_follow_description">Jarraitzaile berrien jakinarazpenak</string>
|
||||
<string name="notification_channel_boost_name">Bultzadak</string>
|
||||
<string name="notification_channel_boost_description">Bultzatutako tuten jakinarazpenak</string>
|
||||
<string name="notification_channel_favourite_name">Gogokoak</string>
|
||||
<string name="notification_channel_favourite_description">Gogokoen jakinarazpenak</string>
|
||||
<string name="notification_mention_name">Aipamen berriak</string>
|
||||
<string name="notification_mention_descriptions">Aipamen berrien jakinarazpenak</string>
|
||||
<string name="notification_follow_name">Jarritzaile berriak</string>
|
||||
<string name="notification_follow_description">Jarraitzaile berrien jakinarazpenak</string>
|
||||
<string name="notification_boost_name">Bultzadak</string>
|
||||
<string name="notification_boost_description">Bultzatutako tuten jakinarazpenak</string>
|
||||
<string name="notification_favourite_name">Gogokoak</string>
|
||||
<string name="notification_favourite_description">Gogokoen jakinarazpenak</string>
|
||||
<string name="notification_mention_format">%s-k aipatu zaitu</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s eta beste %4$d</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s eta %3$s</string>
|
||||
|
|
|
@ -183,14 +183,14 @@
|
|||
<string name="media_hide_sensitive">رسانههای نشانگذاری شده به عنوان حساس را پنهان کن</string>
|
||||
<string name="media_hide_none">رسانههای نشانهگذاری شده به عنوان حساس را همواره نشان بده</string>
|
||||
<string name="media_hide_all">همه رسانهها را همواره پنهان کن</string>
|
||||
<string name="notification_channel_mention_name">صدا زدن جدید</string>
|
||||
<string name="notification_channel_mention_descriptions">هشدار در مورد صدازدن جدید</string>
|
||||
<string name="notification_channel_follow_name">دنبالکنندههای جدید</string>
|
||||
<string name="notification_channel_follow_description">هشدارها درمورد دنبالکنندگان جدید</string>
|
||||
<string name="notification_channel_boost_name">تقویت</string>
|
||||
<string name="notification_channel_boost_description">وقتی بوقهای شما تقویت شد هشدار بده</string>
|
||||
<string name="notification_channel_favourite_name">مورد علاقهها</string>
|
||||
<string name="notification_channel_favourite_description">هشدارها، زمانی که بوقهای شما مورد علاقه قرار گرفت</string>
|
||||
<string name="notification_mention_name">صدا زدن جدید</string>
|
||||
<string name="notification_mention_descriptions">هشدار در مورد صدازدن جدید</string>
|
||||
<string name="notification_follow_name">دنبالکنندههای جدید</string>
|
||||
<string name="notification_follow_description">هشدارها درمورد دنبالکنندگان جدید</string>
|
||||
<string name="notification_boost_name">تقویت</string>
|
||||
<string name="notification_boost_description">وقتی بوقهای شما تقویت شد هشدار بده</string>
|
||||
<string name="notification_favourite_name">مورد علاقهها</string>
|
||||
<string name="notification_favourite_description">هشدارها، زمانی که بوقهای شما مورد علاقه قرار گرفت</string>
|
||||
<string name="notification_mention_format">%s شما را صدا زد</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s و %4$d دیگر</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, و %3$s</string>
|
||||
|
|
|
@ -218,14 +218,14 @@
|
|||
<string name="media_hide_sensitive">Masquer les médias marqués comme sensibles</string>
|
||||
<string name="media_hide_none">Toujours afficher les médias marqués comme sensibles</string>
|
||||
<string name="media_hide_all">Toujours masquer tous les médias</string>
|
||||
<string name="notification_channel_mention_name">Nouvelles mentions</string>
|
||||
<string name="notification_channel_mention_descriptions">Notifications pour les nouvelles mentions</string>
|
||||
<string name="notification_channel_follow_name">Nouveaux abonnés</string>
|
||||
<string name="notification_channel_follow_description">Notifications pour les nouveaux abonnés</string>
|
||||
<string name="notification_channel_boost_name">Boosts</string>
|
||||
<string name="notification_channel_boost_description">Notifications quand vos pouets sont boostés</string>
|
||||
<string name="notification_channel_favourite_name">Favoris</string>
|
||||
<string name="notification_channel_favourite_description">Notifications quand vos pouets sont mis en favoris</string>
|
||||
<string name="notification_mention_name">Nouvelles mentions</string>
|
||||
<string name="notification_mention_descriptions">Notifications pour les nouvelles mentions</string>
|
||||
<string name="notification_follow_name">Nouveaux abonnés</string>
|
||||
<string name="notification_follow_description">Notifications pour les nouveaux abonnés</string>
|
||||
<string name="notification_boost_name">Boosts</string>
|
||||
<string name="notification_boost_description">Notifications quand vos pouets sont boostés</string>
|
||||
<string name="notification_favourite_name">Favoris</string>
|
||||
<string name="notification_favourite_description">Notifications quand vos pouets sont mis en favoris</string>
|
||||
<string name="notification_mention_format">%s vous a mentionné</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s et %4$d autres</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s et %3$s</string>
|
||||
|
|
|
@ -203,14 +203,14 @@
|
|||
<string name="media_hide_sensitive">Rejtsd el az érzékenynek jelölt médiát</string>
|
||||
<string name="media_hide_none">Mindig mutasd az érzékenynek jelölt médiát</string>
|
||||
<string name="media_hide_all">Mindig rejtsd el a média tartalmakat</string>
|
||||
<string name="notification_channel_mention_name">Új említések</string>
|
||||
<string name="notification_channel_mention_descriptions">Értesítések új említések esetén</string>
|
||||
<string name="notification_channel_follow_name">Új követők</string>
|
||||
<string name="notification_channel_follow_description">Értesítések az új követők esetén</string>
|
||||
<string name="notification_channel_boost_name">Rebloggok</string>
|
||||
<string name="notification_channel_boost_description">Értesítések posztjaid rebloggolása esetén</string>
|
||||
<string name="notification_channel_favourite_name">Kedvencek</string>
|
||||
<string name="notification_channel_favourite_description">Értesítések mikor Tülköléseid kedvencnek jelölik</string>
|
||||
<string name="notification_mention_name">Új említések</string>
|
||||
<string name="notification_mention_descriptions">Értesítések új említések esetén</string>
|
||||
<string name="notification_follow_name">Új követők</string>
|
||||
<string name="notification_follow_description">Értesítések az új követők esetén</string>
|
||||
<string name="notification_boost_name">Rebloggok</string>
|
||||
<string name="notification_boost_description">Értesítések posztjaid rebloggolása esetén</string>
|
||||
<string name="notification_favourite_name">Kedvencek</string>
|
||||
<string name="notification_favourite_description">Értesítések mikor Tülköléseid kedvencnek jelölik</string>
|
||||
<string name="notification_mention_format">%s megemített téged</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s és még %4$d</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s meg %3$s</string>
|
||||
|
|
|
@ -214,14 +214,14 @@
|
|||
<string name="media_hide_sensitive">Nascondi media segnati come sensibili</string>
|
||||
<string name="media_hide_none">Mostra sempre media segnati come sensibili</string>
|
||||
<string name="media_hide_all">Nascondi sempre tutti i media</string>
|
||||
<string name="notification_channel_mention_name">Nuove Menzioni</string>
|
||||
<string name="notification_channel_mention_descriptions">Notifiche quando qualcuno ti menziona</string>
|
||||
<string name="notification_channel_follow_name">Nuove persone che ti seguono</string>
|
||||
<string name="notification_channel_follow_description">Notifiche su nuove persone che ti seguono</string>
|
||||
<string name="notification_channel_boost_name">Boost</string>
|
||||
<string name="notification_channel_boost_description">Notifiche quando i tuoi toot vengono boostati</string>
|
||||
<string name="notification_channel_favourite_name">Preferiti</string>
|
||||
<string name="notification_channel_favourite_description">Notifiche quando i tuoi toot vengono segnati come preferiti</string>
|
||||
<string name="notification_mention_name">Nuove Menzioni</string>
|
||||
<string name="notification_mention_descriptions">Notifiche quando qualcuno ti menziona</string>
|
||||
<string name="notification_follow_name">Nuove persone che ti seguono</string>
|
||||
<string name="notification_follow_description">Notifiche su nuove persone che ti seguono</string>
|
||||
<string name="notification_boost_name">Boost</string>
|
||||
<string name="notification_boost_description">Notifiche quando i tuoi toot vengono boostati</string>
|
||||
<string name="notification_favourite_name">Preferiti</string>
|
||||
<string name="notification_favourite_description">Notifiche quando i tuoi toot vengono segnati come preferiti</string>
|
||||
<string name="notification_mention_format">%s ti ha menzionato</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s e %4$d altri</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s e %3$s</string>
|
||||
|
|
|
@ -206,14 +206,14 @@
|
|||
<string name="media_hide_sensitive">閲覧注意としてマークされたメディアは隠す</string>
|
||||
<string name="media_hide_none">閲覧注意としてマークされたメディアも常に表示する</string>
|
||||
<string name="media_hide_all">全てのメディアを常に隠す</string>
|
||||
<string name="notification_channel_mention_name">新しい返信</string>
|
||||
<string name="notification_channel_mention_descriptions">新しい返信の通知</string>
|
||||
<string name="notification_channel_follow_name">新しいフォロワー</string>
|
||||
<string name="notification_channel_follow_description">新しいフォロワーの通知</string>
|
||||
<string name="notification_channel_boost_name">ブースト</string>
|
||||
<string name="notification_channel_boost_description">あなたのトゥートがブーストされたときの通知</string>
|
||||
<string name="notification_channel_favourite_name">お気に入り</string>
|
||||
<string name="notification_channel_favourite_description">あなたのトゥートがお気に入りに登録されたときの通知</string>
|
||||
<string name="notification_mention_name">新しい返信</string>
|
||||
<string name="notification_mention_descriptions">新しい返信の通知</string>
|
||||
<string name="notification_follow_name">新しいフォロワー</string>
|
||||
<string name="notification_follow_description">新しいフォロワーの通知</string>
|
||||
<string name="notification_boost_name">ブースト</string>
|
||||
<string name="notification_boost_description">あなたのトゥートがブーストされたときの通知</string>
|
||||
<string name="notification_favourite_name">お気に入り</string>
|
||||
<string name="notification_favourite_description">あなたのトゥートがお気に入りに登録されたときの通知</string>
|
||||
<string name="notification_mention_format">%sさんが返信しました</string>
|
||||
<string name="notification_summary_large">%1$sさん、%2$sさん、%3$sさんと他%4$d人</string>
|
||||
<string name="notification_summary_medium">%1$sさん、%2$sさん、%3$sさん</string>
|
||||
|
|
|
@ -213,14 +213,14 @@
|
|||
<string name="media_hide_sensitive">Als gevoelig gemarkeerde media verbergen</string>
|
||||
<string name="media_hide_none">Als gevoelig gemarkeerde media altijd verbergen</string>
|
||||
<string name="media_hide_all">Media altijd verbergen</string>
|
||||
<string name="notification_channel_mention_name">Nieuwe vermeldingen</string>
|
||||
<string name="notification_channel_mention_descriptions">Meldingen over nieuwe vermeldingen</string>
|
||||
<string name="notification_channel_follow_name">Nieuwe volgers</string>
|
||||
<string name="notification_channel_follow_description">Meldingen over nieuwe volgers</string>
|
||||
<string name="notification_channel_boost_name">Boosts</string>
|
||||
<string name="notification_channel_boost_description">Meldingen wanneer jouw toots worden geboost</string>
|
||||
<string name="notification_channel_favourite_name">Favorieten</string>
|
||||
<string name="notification_channel_favourite_description">Meldingen wanneer jouw toots als favoriet worden gemarkeerd</string>
|
||||
<string name="notification_mention_name">Nieuwe vermeldingen</string>
|
||||
<string name="notification_mention_descriptions">Meldingen over nieuwe vermeldingen</string>
|
||||
<string name="notification_follow_name">Nieuwe volgers</string>
|
||||
<string name="notification_follow_description">Meldingen over nieuwe volgers</string>
|
||||
<string name="notification_boost_name">Boosts</string>
|
||||
<string name="notification_boost_description">Meldingen wanneer jouw toots worden geboost</string>
|
||||
<string name="notification_favourite_name">Favorieten</string>
|
||||
<string name="notification_favourite_description">Meldingen wanneer jouw toots als favoriet worden gemarkeerd</string>
|
||||
<string name="notification_mention_format">%s vermeldde jou</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s en %4$d anderen</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s en %3$s</string>
|
||||
|
|
|
@ -229,12 +229,12 @@
|
|||
|
||||
<string name="pref_media_display">Mediavisning</string>
|
||||
|
||||
<string name="notification_channel_follow_name">Nye følgere</string>
|
||||
<string name="notification_channel_follow_description">Varsler om nye følgere</string>
|
||||
<string name="notification_channel_boost_name">Boosts</string>
|
||||
<string name="notification_channel_boost_description">Varsler når tootene dine blir boostet</string>
|
||||
<string name="notification_channel_favourite_name">Favoritter</string>
|
||||
<string name="notification_channel_favourite_description">Varsler når tootene dine blir favorisert</string>
|
||||
<string name="notification_follow_name">Nye følgere</string>
|
||||
<string name="notification_follow_description">Varsler om nye følgere</string>
|
||||
<string name="notification_boost_name">Boosts</string>
|
||||
<string name="notification_boost_description">Varsler når tootene dine blir boostet</string>
|
||||
<string name="notification_favourite_name">Favoritter</string>
|
||||
<string name="notification_favourite_description">Varsler når tootene dine blir favorisert</string>
|
||||
|
||||
|
||||
<string name="notification_mention_format">%s nevnte deg</string>
|
||||
|
@ -302,8 +302,8 @@
|
|||
<string name="action_remove_from_list">Slett konto fra listen</string>
|
||||
|
||||
<string name="pref_default_post_privacy">Standard synlighet for toots</string>
|
||||
<string name="notification_channel_mention_name">Nye omtaler</string>
|
||||
<string name="notification_channel_mention_descriptions">Varsler om nye omtaler</string>
|
||||
<string name="notification_mention_name">Nye omtaler</string>
|
||||
<string name="notification_mention_descriptions">Varsler om nye omtaler</string>
|
||||
<string name="about_tusky_license">Tusky er fri og åpen kildekode. Applikasjonen er lisensiert under GNU General Public License versjon 3. Du kan se lisensen her: https://www.gnu.org/licenses/gpl-3.0.en.html</string>
|
||||
<string name="about_project_site">Hjemmeside:
|
||||
\n https://tusky.app</string>
|
||||
|
@ -400,10 +400,6 @@
|
|||
<string name="hashtag">Emneord</string>
|
||||
<string name="notifications_clear">Slett</string>
|
||||
<string name="notifications_apply_filter">Filter</string>
|
||||
<string name="filter_favorites">\@string/notification_channel_favourite_name</string>
|
||||
<string name="filter_boosts">\@string/notification_channel_boost_name</string>
|
||||
<string name="filter_follows">\@string/notification_channel_follow_name</string>
|
||||
<string name="filter_mentions">\@string/notification_channel_mention_name</string>
|
||||
<string name="filter_apply">Bruk</string>
|
||||
|
||||
<string name="compose_shortcut_long_label">Skriv Toot</string>
|
||||
|
|
|
@ -178,14 +178,14 @@
|
|||
<string name="status_text_size_medium">Mejana</string>
|
||||
<string name="status_text_size_large">Granda</string>
|
||||
<string name="status_text_size_largest">Grandassa</string>
|
||||
<string name="notification_channel_mention_name">Mencions nòvas</string>
|
||||
<string name="notification_channel_mention_descriptions">Notificacions de mencions noves</string>
|
||||
<string name="notification_channel_follow_name">Seguidors nòus</string>
|
||||
<string name="notification_channel_follow_description">Notificacions de nòus seguidors</string>
|
||||
<string name="notification_channel_boost_name">Retuts</string>
|
||||
<string name="notification_channel_boost_description">Notificacions de compartiment de vòstres tuts</string>
|
||||
<string name="notification_channel_favourite_name">Preferits</string>
|
||||
<string name="notification_channel_favourite_description">Notificacions s’agradan vòstres tuts</string>
|
||||
<string name="notification_mention_name">Mencions nòvas</string>
|
||||
<string name="notification_mention_descriptions">Notificacions de mencions noves</string>
|
||||
<string name="notification_follow_name">Seguidors nòus</string>
|
||||
<string name="notification_follow_description">Notificacions de nòus seguidors</string>
|
||||
<string name="notification_boost_name">Retuts</string>
|
||||
<string name="notification_boost_description">Notificacions de compartiment de vòstres tuts</string>
|
||||
<string name="notification_favourite_name">Preferits</string>
|
||||
<string name="notification_favourite_description">Notificacions s’agradan vòstres tuts</string>
|
||||
<string name="notification_mention_format">%s vos mencionan</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s e %4$d mai</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s e %3$s</string>
|
||||
|
|
|
@ -177,14 +177,14 @@
|
|||
<string name="status_text_size_medium">Średni</string>
|
||||
<string name="status_text_size_large">Duży</string>
|
||||
<string name="status_text_size_largest">Ogromny</string>
|
||||
<string name="notification_channel_mention_name">Nowe wspomnienia</string>
|
||||
<string name="notification_channel_mention_descriptions">Powiadomienia o nowych wspomnieniach</string>
|
||||
<string name="notification_channel_follow_name">Nowi śledzący</string>
|
||||
<string name="notification_channel_follow_description">Powiadomienia o nowych śledzących</string>
|
||||
<string name="notification_channel_boost_name">Podbicia</string>
|
||||
<string name="notification_channel_boost_description">Powiadomienia o podbiciu wpisów</string>
|
||||
<string name="notification_channel_favourite_name">Ulubione</string>
|
||||
<string name="notification_channel_favourite_description">Powiadomienia o dodaniu wpisów do ulubionych</string>
|
||||
<string name="notification_mention_name">Nowe wspomnienia</string>
|
||||
<string name="notification_mention_descriptions">Powiadomienia o nowych wspomnieniach</string>
|
||||
<string name="notification_follow_name">Nowi śledzący</string>
|
||||
<string name="notification_follow_description">Powiadomienia o nowych śledzących</string>
|
||||
<string name="notification_boost_name">Podbicia</string>
|
||||
<string name="notification_boost_description">Powiadomienia o podbiciu wpisów</string>
|
||||
<string name="notification_favourite_name">Ulubione</string>
|
||||
<string name="notification_favourite_description">Powiadomienia o dodaniu wpisów do ulubionych</string>
|
||||
<string name="notification_mention_format">%s wspomniał o Tobie</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s i %4$d innych</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, i %3$s</string>
|
||||
|
|
|
@ -197,14 +197,14 @@
|
|||
<string name="status_text_size_largest">Maior</string>
|
||||
<string name="media_hide_sensitive">Ocultar mídia marcada como sensível</string>
|
||||
|
||||
<string name="notification_channel_mention_name">Novas Menções</string>
|
||||
<string name="notification_channel_mention_descriptions">Notificações sobre novas menções</string>
|
||||
<string name="notification_channel_follow_name">Novos Seguidores</string>
|
||||
<string name="notification_channel_follow_description">Notificações sobre novos seguidores</string>
|
||||
<string name="notification_channel_boost_name">Compartilhamentos</string>
|
||||
<string name="notification_channel_boost_description">Notificações quando seus toots forem compartilhados</string>
|
||||
<string name="notification_channel_favourite_name">Favoritos</string>
|
||||
<string name="notification_channel_favourite_description">Notificações quando seus toots forem favoritados</string>
|
||||
<string name="notification_mention_name">Novas Menções</string>
|
||||
<string name="notification_mention_descriptions">Notificações sobre novas menções</string>
|
||||
<string name="notification_follow_name">Novos Seguidores</string>
|
||||
<string name="notification_follow_description">Notificações sobre novos seguidores</string>
|
||||
<string name="notification_boost_name">Compartilhamentos</string>
|
||||
<string name="notification_boost_description">Notificações quando seus toots forem compartilhados</string>
|
||||
<string name="notification_favourite_name">Favoritos</string>
|
||||
<string name="notification_favourite_description">Notificações quando seus toots forem favoritados</string>
|
||||
<string name="notification_mention_format">%s mencionou você</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s e %4$d outros</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, e %3$s</string>
|
||||
|
|
|
@ -229,14 +229,14 @@
|
|||
<string name="media_hide_none">Всегда показывать чувствительные медиафайлы</string>
|
||||
<string name="media_hide_all">Всегда скрывать все медиафайлы</string>
|
||||
|
||||
<string name="notification_channel_mention_name">Новые упоминания</string>
|
||||
<string name="notification_channel_mention_descriptions">Уведомлять о новых упоминаниях</string>
|
||||
<string name="notification_channel_follow_name">Новые подписчики</string>
|
||||
<string name="notification_channel_follow_description">Уведомлять о новых подписчиках</string>
|
||||
<string name="notification_channel_boost_name">Продвижения</string>
|
||||
<string name="notification_channel_boost_description">Уведомлять, если кто-то продвинул ваши сообщения</string>
|
||||
<string name="notification_channel_favourite_name">Избранное</string>
|
||||
<string name="notification_channel_favourite_description">Уведомлять, когда ваши сообщения отмечают как «избранные»</string>
|
||||
<string name="notification_mention_name">Новые упоминания</string>
|
||||
<string name="notification_mention_descriptions">Уведомлять о новых упоминаниях</string>
|
||||
<string name="notification_follow_name">Новые подписчики</string>
|
||||
<string name="notification_follow_description">Уведомлять о новых подписчиках</string>
|
||||
<string name="notification_boost_name">Продвижения</string>
|
||||
<string name="notification_boost_description">Уведомлять, если кто-то продвинул ваши сообщения</string>
|
||||
<string name="notification_favourite_name">Избранное</string>
|
||||
<string name="notification_favourite_description">Уведомлять, когда ваши сообщения отмечают как «избранные»</string>
|
||||
|
||||
|
||||
<string name="notification_mention_format">%s упомянул(а) Вас</string>
|
||||
|
|
|
@ -227,14 +227,14 @@
|
|||
|
||||
<string name="pref_media_display">Prikaz medijev</string>
|
||||
|
||||
<string name="notification_channel_mention_name">Nove omembe</string>
|
||||
<string name="notification_channel_mention_descriptions">Obvestila o novih omembah</string>
|
||||
<string name="notification_channel_follow_name">Novi sledilci</string>
|
||||
<string name="notification_channel_follow_description">Obvestila o novih sledilcih</string>
|
||||
<string name="notification_channel_boost_name">Spodbude</string>
|
||||
<string name="notification_channel_boost_description">Obvestila, ko so vaši tuti spodbujeni</string>
|
||||
<string name="notification_channel_favourite_name">Priljubljeni</string>
|
||||
<string name="notification_channel_favourite_description">Obvestila, ko so vaši tuti vzljubljeni</string>
|
||||
<string name="notification_mention_name">Nove omembe</string>
|
||||
<string name="notification_mention_descriptions">Obvestila o novih omembah</string>
|
||||
<string name="notification_follow_name">Novi sledilci</string>
|
||||
<string name="notification_follow_description">Obvestila o novih sledilcih</string>
|
||||
<string name="notification_boost_name">Spodbude</string>
|
||||
<string name="notification_boost_description">Obvestila, ko so vaši tuti spodbujeni</string>
|
||||
<string name="notification_favourite_name">Priljubljeni</string>
|
||||
<string name="notification_favourite_description">Obvestila, ko so vaši tuti vzljubljeni</string>
|
||||
|
||||
|
||||
<string name="notification_mention_format">%s vas je omenil-a</string>
|
||||
|
@ -403,10 +403,6 @@
|
|||
<string name="hashtag">Ključnik</string>
|
||||
<string name="notifications_clear">Počisti</string>
|
||||
<string name="notifications_apply_filter">Filter</string>
|
||||
<string name="filter_favorites">\@string/notification_channel_favourite_name</string>
|
||||
<string name="filter_boosts">\@string/notification_channel_boost_name</string>
|
||||
<string name="filter_follows">\@string/notification_channel_follow_name</string>
|
||||
<string name="filter_mentions">\@string/notification_channel_mention_name</string>
|
||||
<string name="filter_apply">Uporabi</string>
|
||||
|
||||
<string name="compose_shortcut_long_label">Sestavi tut</string>
|
||||
|
|
|
@ -215,14 +215,14 @@
|
|||
<string name="media_hide_sensitive">Dölj media som markerat känsligt</string>
|
||||
<string name="media_hide_none">Visa alltid media som markerat känsligt</string>
|
||||
<string name="media_hide_all">Dölj alltid media</string>
|
||||
<string name="notification_channel_mention_name">Nya omnämnanden</string>
|
||||
<string name="notification_channel_mention_descriptions">Notifieringar om nya omnämnanden</string>
|
||||
<string name="notification_channel_follow_name">Nya följare</string>
|
||||
<string name="notification_channel_follow_description">Notifieringar för nya följare</string>
|
||||
<string name="notification_channel_boost_name">Knuffar</string>
|
||||
<string name="notification_channel_boost_description">Notifieringar när dina toots blir knuffade</string>
|
||||
<string name="notification_channel_favourite_name">Favoriter</string>
|
||||
<string name="notification_channel_favourite_description">Notifieringar när dina toots blir markerade som favoriter</string>
|
||||
<string name="notification_mention_name">Nya omnämnanden</string>
|
||||
<string name="notification_mention_descriptions">Notifieringar om nya omnämnanden</string>
|
||||
<string name="notification_follow_name">Nya följare</string>
|
||||
<string name="notification_follow_description">Notifieringar för nya följare</string>
|
||||
<string name="notification_boost_name">Knuffar</string>
|
||||
<string name="notification_boost_description">Notifieringar när dina toots blir knuffade</string>
|
||||
<string name="notification_favourite_name">Favoriter</string>
|
||||
<string name="notification_favourite_description">Notifieringar när dina toots blir markerade som favoriter</string>
|
||||
<string name="notification_mention_format">%s omnämnde dig</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s och %4$d andra</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, och %3$s</string>
|
||||
|
@ -385,10 +385,6 @@
|
|||
|
||||
<string name="notifications_clear">Rensa</string>
|
||||
<string name="notifications_apply_filter">Filtrera</string>
|
||||
<string name="filter_favorites">\@string/notification_channel_favourite_name</string>
|
||||
<string name="filter_boosts">\@string/notification_channel_boost_name</string>
|
||||
<string name="filter_follows">\@string/notification_channel_follow_name</string>
|
||||
<string name="filter_mentions">\@string/notification_channel_mention_name</string>
|
||||
<string name="filter_apply">Utför</string>
|
||||
|
||||
<string name="pref_title_bot_overlay">Visa robotindikator</string>
|
||||
|
|
|
@ -163,14 +163,14 @@
|
|||
<string name="post_privacy_unlisted">பட்டியலிடப்படாதவர்களுக்கு</string>
|
||||
<string name="post_privacy_followers_only">பின்பற்றுபவர்களுக்கு மட்டும்</string>
|
||||
<string name="pref_status_text_size">நிலை உரை அளவு</string>
|
||||
<string name="notification_channel_mention_name">புதிய குறிப்புகள்</string>
|
||||
<string name="notification_channel_mention_descriptions">புதிய குறிப்புகள் பற்றிய அறிவிப்புகள்</string>
|
||||
<string name="notification_channel_follow_name">புதிய பின்பற்றுபவர்கள்</string>
|
||||
<string name="notification_channel_follow_description">புதிய பின்தொடர்பவர்களைப் பற்றிய அறிவிப்புகள்</string>
|
||||
<string name="notification_channel_boost_name">ஊக்கியாக</string>
|
||||
<string name="notification_channel_boost_description">எமது toot மேலேற்றும் போது தெரிவி.</string>
|
||||
<string name="notification_channel_favourite_name">பிடித்தவைகள்</string>
|
||||
<string name="notification_channel_favourite_description">எமது toot பிடித்தவையானால் தெரிவி.</string>
|
||||
<string name="notification_mention_name">புதிய குறிப்புகள்</string>
|
||||
<string name="notification_mention_descriptions">புதிய குறிப்புகள் பற்றிய அறிவிப்புகள்</string>
|
||||
<string name="notification_follow_name">புதிய பின்பற்றுபவர்கள்</string>
|
||||
<string name="notification_follow_description">புதிய பின்தொடர்பவர்களைப் பற்றிய அறிவிப்புகள்</string>
|
||||
<string name="notification_boost_name">ஊக்கியாக</string>
|
||||
<string name="notification_boost_description">எமது toot மேலேற்றும் போது தெரிவி.</string>
|
||||
<string name="notification_favourite_name">பிடித்தவைகள்</string>
|
||||
<string name="notification_favourite_description">எமது toot பிடித்தவையானால் தெரிவி.</string>
|
||||
<string name="notification_mention_format">%s தங்களை குறிபிட்டுள்ளார்</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s மற்றும் %4$d மற்றவர்கள்</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, மற்றும் %3$s</string>
|
||||
|
|
|
@ -200,14 +200,14 @@
|
|||
<string name="media_hide_sensitive">Hassas olarak işaretlenmiş medyayı gizle</string>
|
||||
<string name="media_hide_none">Hassas olarak işaretlenmiş medyayı göster</string>
|
||||
<string name="media_hide_all">Tüm medyayı gizle</string>
|
||||
<string name="notification_channel_mention_name">Yeni Bahsedilenler</string>
|
||||
<string name="notification_channel_mention_descriptions">Yeni bahsedilenler hakkında bildirim</string>
|
||||
<string name="notification_channel_follow_name">Yeni Takipçiler</string>
|
||||
<string name="notification_channel_follow_description">Yeni takipçiler hakkında bildirim</string>
|
||||
<string name="notification_channel_boost_name">Yükseltilenler</string>
|
||||
<string name="notification_channel_boost_description">Tootların yükseltildiğinde bildirimler</string>
|
||||
<string name="notification_channel_favourite_name">Favoriler</string>
|
||||
<string name="notification_channel_favourite_description">Tootların favori olarak işaretlendiğinde</string>
|
||||
<string name="notification_mention_name">Yeni Bahsedilenler</string>
|
||||
<string name="notification_mention_descriptions">Yeni bahsedilenler hakkında bildirim</string>
|
||||
<string name="notification_follow_name">Yeni Takipçiler</string>
|
||||
<string name="notification_follow_description">Yeni takipçiler hakkında bildirim</string>
|
||||
<string name="notification_boost_name">Yükseltilenler</string>
|
||||
<string name="notification_boost_description">Tootların yükseltildiğinde bildirimler</string>
|
||||
<string name="notification_favourite_name">Favoriler</string>
|
||||
<string name="notification_favourite_description">Tootların favori olarak işaretlendiğinde</string>
|
||||
<string name="notification_mention_format">%s senden bahsetti</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s ve %4$d daha</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s ve %3$s</string>
|
||||
|
|
|
@ -194,14 +194,14 @@
|
|||
<string name="media_hide_sensitive">自动隐藏敏感媒体</string>
|
||||
<string name="media_hide_none">总是显示敏感媒体</string>
|
||||
<string name="media_hide_all">总是隐藏所有媒体</string>
|
||||
<string name="notification_channel_mention_name">被提及</string>
|
||||
<string name="notification_channel_mention_descriptions">当有用户在嘟文中提及我时</string>
|
||||
<string name="notification_channel_follow_name">关注者</string>
|
||||
<string name="notification_channel_follow_description">当有用户关注我时</string>
|
||||
<string name="notification_channel_boost_name">转嘟</string>
|
||||
<string name="notification_channel_boost_description">当有用户转嘟了我的嘟文时</string>
|
||||
<string name="notification_channel_favourite_name">收藏</string>
|
||||
<string name="notification_channel_favourite_description">当有用户收藏了我的嘟文时</string>
|
||||
<string name="notification_mention_name">被提及</string>
|
||||
<string name="notification_mention_descriptions">当有用户在嘟文中提及我时</string>
|
||||
<string name="notification_follow_name">关注者</string>
|
||||
<string name="notification_follow_description">当有用户关注我时</string>
|
||||
<string name="notification_boost_name">转嘟</string>
|
||||
<string name="notification_boost_description">当有用户转嘟了我的嘟文时</string>
|
||||
<string name="notification_favourite_name">收藏</string>
|
||||
<string name="notification_favourite_description">当有用户收藏了我的嘟文时</string>
|
||||
<string name="notification_mention_format">%s 提及了你</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s 和 %4$d 人</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, 和 %3$s</string>
|
||||
|
|
|
@ -183,14 +183,14 @@
|
|||
<string name="media_hide_sensitive">自動隱藏敏感媒體</string>
|
||||
<string name="media_hide_none">總是顯示敏感媒體</string>
|
||||
<string name="media_hide_all">總是隱藏所有媒體</string>
|
||||
<string name="notification_channel_mention_name">被提及</string>
|
||||
<string name="notification_channel_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_channel_follow_name">關注者</string>
|
||||
<string name="notification_channel_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_channel_boost_name">轉嘟</string>
|
||||
<string name="notification_channel_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_channel_favourite_name">收藏</string>
|
||||
<string name="notification_channel_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_name">被提及</string>
|
||||
<string name="notification_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_follow_name">關注者</string>
|
||||
<string name="notification_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_boost_name">轉嘟</string>
|
||||
<string name="notification_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_favourite_name">收藏</string>
|
||||
<string name="notification_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_format">%s 提及了你</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s 和 %4$d 人</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, 和 %3$s</string>
|
||||
|
|
|
@ -183,14 +183,14 @@
|
|||
<string name="media_hide_sensitive">自動隱藏敏感媒體</string>
|
||||
<string name="media_hide_none">總是顯示敏感媒體</string>
|
||||
<string name="media_hide_all">總是隱藏所有媒體</string>
|
||||
<string name="notification_channel_mention_name">被提及</string>
|
||||
<string name="notification_channel_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_channel_follow_name">關注者</string>
|
||||
<string name="notification_channel_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_channel_boost_name">轉嘟</string>
|
||||
<string name="notification_channel_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_channel_favourite_name">收藏</string>
|
||||
<string name="notification_channel_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_name">被提及</string>
|
||||
<string name="notification_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_follow_name">關注者</string>
|
||||
<string name="notification_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_boost_name">轉嘟</string>
|
||||
<string name="notification_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_favourite_name">收藏</string>
|
||||
<string name="notification_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_format">%s 提及了你</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s 和 %4$d 人</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, 和 %3$s</string>
|
||||
|
|
|
@ -185,14 +185,14 @@
|
|||
<string name="media_hide_sensitive">自动隐藏敏感媒体</string>
|
||||
<string name="media_hide_none">总是显示敏感媒体</string>
|
||||
<string name="media_hide_all">总是隐藏所有媒体</string>
|
||||
<string name="notification_channel_mention_name">被提及</string>
|
||||
<string name="notification_channel_mention_descriptions">当有用户在嘟文中提及我时</string>
|
||||
<string name="notification_channel_follow_name">关注者</string>
|
||||
<string name="notification_channel_follow_description">当有用户关注我时</string>
|
||||
<string name="notification_channel_boost_name">转嘟</string>
|
||||
<string name="notification_channel_boost_description">当有用户转嘟了我的嘟文时</string>
|
||||
<string name="notification_channel_favourite_name">被收藏</string>
|
||||
<string name="notification_channel_favourite_description">当有用户收藏了我的嘟文时</string>
|
||||
<string name="notification_mention_name">被提及</string>
|
||||
<string name="notification_mention_descriptions">当有用户在嘟文中提及我时</string>
|
||||
<string name="notification_follow_name">关注者</string>
|
||||
<string name="notification_follow_description">当有用户关注我时</string>
|
||||
<string name="notification_boost_name">转嘟</string>
|
||||
<string name="notification_boost_description">当有用户转嘟了我的嘟文时</string>
|
||||
<string name="notification_favourite_name">被收藏</string>
|
||||
<string name="notification_favourite_description">当有用户收藏了我的嘟文时</string>
|
||||
<string name="notification_mention_format">%s 提及了你</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s 和 %4$d 人</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, 和 %3$s</string>
|
||||
|
|
|
@ -183,14 +183,14 @@
|
|||
<string name="media_hide_sensitive">自動隱藏敏感媒體</string>
|
||||
<string name="media_hide_none">總是顯示敏感媒體</string>
|
||||
<string name="media_hide_all">總是隱藏所有媒體</string>
|
||||
<string name="notification_channel_mention_name">被提及</string>
|
||||
<string name="notification_channel_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_channel_follow_name">關注者</string>
|
||||
<string name="notification_channel_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_channel_boost_name">轉嘟</string>
|
||||
<string name="notification_channel_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_channel_favourite_name">收藏</string>
|
||||
<string name="notification_channel_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_name">被提及</string>
|
||||
<string name="notification_mention_descriptions">當有使用者在嘟文中提及我時</string>
|
||||
<string name="notification_follow_name">關注者</string>
|
||||
<string name="notification_follow_description">當有使用者關注我時</string>
|
||||
<string name="notification_boost_name">轉嘟</string>
|
||||
<string name="notification_boost_description">當有使用者轉嘟了我的嘟文時</string>
|
||||
<string name="notification_favourite_name">收藏</string>
|
||||
<string name="notification_favourite_description">當有使用者收藏了我的嘟文時</string>
|
||||
<string name="notification_mention_format">%s 提及了你</string>
|
||||
<string name="notification_summary_large">%1$s, %2$s, %3$s 和 %4$d 人</string>
|
||||
<string name="notification_summary_medium">%1$s, %2$s, 和 %3$s</string>
|
||||
|
|
|
@ -200,6 +200,7 @@
|
|||
<string name="pref_title_notification_filter_follows">followed</string>
|
||||
<string name="pref_title_notification_filter_reblogs">my posts are boosted</string>
|
||||
<string name="pref_title_notification_filter_favourites">my posts are favourited</string>
|
||||
<string name="pref_title_notification_filter_poll">polls have ended</string>
|
||||
<string name="pref_title_appearance_settings">Appearance</string>
|
||||
<string name="pref_title_app_theme">App Theme</string>
|
||||
<string name="pref_title_timelines">Timelines</string>
|
||||
|
@ -249,14 +250,16 @@
|
|||
<string name="media_hide_none">Always show media marked as sensitive</string>
|
||||
<string name="media_hide_all">Always hide all media</string>
|
||||
|
||||
<string name="notification_channel_mention_name">New Mentions</string>
|
||||
<string name="notification_channel_mention_descriptions">Notifications about new mentions</string>
|
||||
<string name="notification_channel_follow_name">New Followers</string>
|
||||
<string name="notification_channel_follow_description">Notifications about new followers</string>
|
||||
<string name="notification_channel_boost_name">Boosts</string>
|
||||
<string name="notification_channel_boost_description">Notifications when your toots get boosted</string>
|
||||
<string name="notification_channel_favourite_name">Favourites</string>
|
||||
<string name="notification_channel_favourite_description">Notifications when your toots get marked as favourite</string>
|
||||
<string name="notification_mention_name">New Mentions</string>
|
||||
<string name="notification_mention_descriptions">Notifications about new mentions</string>
|
||||
<string name="notification_follow_name">New Followers</string>
|
||||
<string name="notification_follow_description">Notifications about new followers</string>
|
||||
<string name="notification_boost_name">Boosts</string>
|
||||
<string name="notification_boost_description">Notifications when your toots get boosted</string>
|
||||
<string name="notification_favourite_name">Favourites</string>
|
||||
<string name="notification_favourite_description">Notifications when your toots get marked as favourite</string>
|
||||
<string name="notification_poll_name">Polls</string>
|
||||
<string name="notification_poll_description">Notifications about polls that have ended</string>
|
||||
|
||||
|
||||
<string name="notification_mention_format">%s mentioned you</string>
|
||||
|
@ -462,10 +465,6 @@
|
|||
<string name="hashtag">Hashtag</string>
|
||||
<string name="notifications_clear">Clear</string>
|
||||
<string name="notifications_apply_filter">Filter</string>
|
||||
<string name="filter_favorites">@string/notification_channel_favourite_name</string>
|
||||
<string name="filter_boosts">@string/notification_channel_boost_name</string>
|
||||
<string name="filter_follows">@string/notification_channel_follow_name</string>
|
||||
<string name="filter_mentions">@string/notification_channel_mention_name</string>
|
||||
<string name="filter_apply">Apply</string>
|
||||
|
||||
<string name="compose_shortcut_long_label">Compose Toot</string>
|
||||
|
@ -490,5 +489,8 @@
|
|||
|
||||
<string name="poll_vote">Vote</string>
|
||||
|
||||
<string name="poll_ended_voted">A poll you have voted in has ended</string>
|
||||
<string name="poll_ended_created">A poll you created has ended</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -39,6 +39,12 @@
|
|||
android:title="@string/pref_title_notification_filter_favourites"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="notificationFilterPolls"
|
||||
android:title="@string/pref_title_notification_filter_poll"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
|
Loading…
Reference in a new issue