Automatically delete missing OpenTask account

pull/1143/head
Alex Baker 5 years ago
parent 42d0982acd
commit 7d994d06da

@ -172,9 +172,6 @@ SELECT EXISTS(SELECT 1
""")
abstract suspend fun anyExist(urls: List<String>): Boolean
@Query("SELECT COUNT(*) FROM caldav_lists WHERE cdl_account = :account")
abstract suspend fun listCount(account: String): Int
@Query("SELECT * FROM caldav_lists WHERE cdl_uuid = :uuid LIMIT 1")
abstract suspend fun getCalendar(uuid: String): CaldavCalendar?
@ -193,15 +190,6 @@ SELECT EXISTS(SELECT 1
@Query("SELECT * FROM caldav_lists WHERE cdl_account = :account AND cdl_url = :url LIMIT 1")
abstract suspend fun getCalendarByUrl(account: String, url: String): CaldavCalendar?
@Query("""
SELECT *
FROM caldav_lists
INNER JOIN caldav_accounts ON cdl_account = cda_uuid
WHERE cda_account_type = $TYPE_OPENTASKS
AND cdl_url = :url
""")
abstract suspend fun getOpenTaskCalendarByUrl(url: String): CaldavCalendar?
@Query("SELECT caldav_accounts.* from caldav_accounts"
+ " INNER JOIN caldav_tasks ON cd_task = :task"
+ " INNER JOIN caldav_lists ON cd_calendar = cdl_uuid"

@ -80,14 +80,9 @@ class OpenTasksSynchronizer @Inject constructor(
)
}
caldavDao.getAccounts(CaldavAccount.TYPE_OPENTASKS).forEach { account ->
val uuid = account.uuid!!
val entries = lists[uuid]
val entries = lists[account.uuid!!]
if (entries == null) {
if (caldavDao.listCount(uuid) == 0) {
taskDeleter.delete(account)
} else {
setError(account, context.getString(R.string.account_not_found))
}
} else if (!inventory.hasPro()) {
setError(account, context.getString(R.string.requires_pro_subscription))
} else {
@ -110,12 +105,6 @@ class OpenTasksSynchronizer @Inject constructor(
private suspend fun toLocalCalendar(account: String, remote: CaldavCalendar): CaldavCalendar {
val local = caldavDao.getCalendarByUrl(account, remote.url!!)
?: caldavDao.getOpenTaskCalendarByUrl(remote.url!!)?.apply {
this.account = account
caldavDao.update(this)
Timber.d("Moved calendar: $this")
localBroadcastManager.broadcastRefreshList()
}
?: CaldavCalendar().apply {
uuid = UUID
.nameUUIDFromBytes("${account.openTaskType()}${remote.url}".toByteArray())

@ -102,7 +102,6 @@
<string name="EPr_fullTask_title">Vis hele opgavetitlen</string>
<string name="astrid_sort_order">Astrids manuelle sortering</string>
<string name="manage_lists">Administrer lister</string>
<string name="account_not_found">Konto ikke fundet</string>
<string name="permission_read_tasks">Fuld adgang til Tasks-databasen</string>
<string name="reset_sort_order">Nulstil rækkefølge</string>
<string name="lists">Lister</string>

@ -630,7 +630,6 @@
<string name="manage_lists">Listen verwalten</string>
<string name="permission_read_tasks">Vollzugriff auf die Tasks-Datenbank</string>
<string name="tell_me_how_im_doing">Erzählen Sie mir bitte, wie gut ich das mache</string>
<string name="account_not_found">Konto nicht gefunden</string>
<string name="davx5_selection_description">Aufgaben mit der DAVx⁵-App synchronisieren</string>
<string name="no_app_found">Keine App konnte diese Anfrage bearbeiten</string>
<string name="foreground_location">Standort im Vordergrund</string>

@ -630,7 +630,6 @@
<string name="reset_sort_order">Restablecer orden de clasificación</string>
<string name="manage_lists">Administrar listas</string>
<string name="permission_read_tasks">Acceso completo a la base de datos de Tasks</string>
<string name="account_not_found">Cuenta no encontrada</string>
<string name="davx5_selection_description">Sincronice sus tareas con la aplicación DAVx⁵</string>
<string name="account">Cuenta</string>
<string name="device_settings">Configuración del dispositivo</string>

@ -625,7 +625,6 @@
<string name="reset_sort_order">Réinitialiser lordre de tri</string>
<string name="manage_lists">Gérer les listes</string>
<string name="permission_read_tasks">Accès complet à la base de données de Tasks</string>
<string name="account_not_found">Compte introuvable</string>
<string name="davx5_selection_description">Synchroniser vos tâches avec lapplication DAVx⁵</string>
<string name="account">Compte</string>
<string name="device_settings">Paramètres de lappareil</string>

@ -628,7 +628,6 @@
<string name="reset_sort_order">Sorbarendezés visszaállítása</string>
<string name="manage_lists">Listák kezelése</string>
<string name="permission_read_tasks">Teljes hozzáférés a Tasks adatbázishoz</string>
<string name="account_not_found">A fiók nem található</string>
<string name="davx5_selection_description">Feladatok szinkronizálása DAVx⁵ alkalmazással</string>
<string name="account">Fiók</string>
<string name="device_settings">Eszköz beállítások</string>

@ -5,5 +5,4 @@
<string name="keep_editing">Sequer le edition</string>
<string name="DLG_undo">Disfacer</string>
<string name="display_name">Monstrar le nomine</string>
<string name="account_not_found">Conto non trovate</string>
</resources>

@ -626,5 +626,4 @@
<string name="manage_lists">Gestisci liste</string>
<string name="permission_read_tasks">Accesso completo alla banca dati di Tasks</string>
<string name="davx5_selection_description">Sincronizza le tue attività con l\'app DAVx⁵</string>
<string name="account_not_found">Account non trovato</string>
</resources>

@ -652,7 +652,6 @@
<string name="on_launch">עם ההפעלה</string>
<string name="astrid_sort_order_summary">הפעלת מצב מיון ידני של אסטריד עבור ה‚משימות שלי’, ‚היום’ ותגיות. מצב מיון זה יוחלף ב‚סידור עצמאי’ בעדכונים עתידיים</string>
<string name="astrid_sort_order">מיון אסטריד ידני</string>
<string name="account_not_found">החשבון לא נמצא</string>
<string name="sort_modified_group">%s נערך</string>
<string name="sort_created_group">%s נוצר</string>
<string name="davx5_selection_description">סנכרון המשימות שלך עם היישומון DAVx⁵</string>

@ -630,7 +630,6 @@
<string name="date_shortcut_tomorrow_night">I morgen på natten</string>
<string name="astrid_sort_order_summary">Skru på Astrids manuelle sorteringsmodus for \"Mine gjøremål\", \"I dag\", og tagger. Denne sorteringsmodusen erstattes av \"Min rekkefølge\" i en fremtidig oppdatering</string>
<string name="astrid_sort_order">Astrids manuelle sorteringsmodus</string>
<string name="account_not_found">Kontoen ble ikke funnet</string>
<string name="davx5_selection_description">Synkroniser dine gjøremål med DAVx⁵-programmet</string>
<string name="account">Konto</string>
<string name="device_settings">Enhetsinnstillinger</string>

@ -625,7 +625,6 @@
<string name="manage_lists">Beheer lijsten</string>
<string name="reset_sort_order">Sorteervolgorde resetten</string>
<string name="permission_read_tasks">Volledige toegang tot Tasks database</string>
<string name="account_not_found">Account niet gevonden</string>
<string name="davx5_selection_description">Synchroniseer je taken met de DAVx⁵ applicatie</string>
<string name="account">Account</string>
<string name="device_settings">Apparaat instellingen</string>

@ -641,6 +641,5 @@
<string name="astrid_sort_order_summary">Aktywuje ręczny (jak w Astrid) tryb sortowania dla \'Moich zadań\', \'Dzisiaj\' oraz tagów. Ten tryb sortowania będzie zastąpiony przez \'Ręczne\' w kolejnych aktualizacjach</string>
<string name="astrid_sort_order">Ręczne sortowanie (jak w Astrid)</string>
<string name="manage_lists">Zarządzaj listami</string>
<string name="account_not_found">Konto nie znalezione</string>
<string name="davx5_selection_description">Synchronizuj swoje zadania z aplikacją DAVx⁵</string>
</resources>

@ -592,7 +592,6 @@
<string name="manage_lists">Gerenciar Listas</string>
<string name="backup_BPr_header">Cópia de Segurança</string>
<string name="display_name">Mostrar nome</string>
<string name="account_not_found">Conta não encontrada</string>
<string name="permission_read_tasks">Acesso completo ao base de dados do Tasks</string>
<string name="reset_sort_order">Resetar ordenação</string>
<string name="lists">Listas</string>

@ -609,7 +609,6 @@
<string name="network_error">Não foi possível conectar</string>
<string name="location_radius_meters">%s m</string>
<string name="davx5_selection_description">Sincronize a suas tarefas com a app DAVx⁵</string>
<string name="account_not_found">Conta não encontrada</string>
<string name="permission_read_tasks">Acesso completo à base de dados do Tasks</string>
<string name="reset_sort_order">Resetar ordenação</string>
<string name="open_last_viewed_list">Abra a última lista utilizada</string>

@ -646,7 +646,6 @@
<string name="astrid_sort_order_summary">Включите режим ручной сортировки Astrid для «Мои задачи», «Сегодня» и тегов. Этот режим сортировки будет заменен на «Мой порядок» в будущем обновлении</string>
<string name="astrid_sort_order">Ручная сортировка Astrid</string>
<string name="manage_lists">Управление списками</string>
<string name="account_not_found">Аккаунт не найден</string>
<string name="davx5_selection_description">Синхронизируйте свои задачи с приложением DAVx⁵</string>
<string name="account">Учётная запись</string>
<string name="device_settings">Настройки устройства</string>

@ -477,7 +477,6 @@
<string name="SSD_sort_my_order">Min ordning</string>
<string name="error_adding_account">Fel: %s</string>
<string name="caldav_account_repeating_tasks">Låt servern schemalägga återkommande uppgifter</string>
<string name="account_not_found">Kontot hittades inte</string>
<string name="lists">Listor</string>
<string name="sort_modified_group">Modifierad %s</string>
<string name="sort_created_group">Skapad %s</string>

@ -594,7 +594,6 @@
<string name="TEA_timer_elap">கழிந்தது %s</string>
<string name="TEA_timer_est">எஸ்டி. %s</string>
<string name="FLA_search_filter">பொருந்தும் \'%s\'</string>
<string name="account_not_found">கணக்கு கிடைக்கவில்லை</string>
<string name="auto_dismiss_datetime_summary">தேதி தேர்வை, தேர்வுக்கு பின் மூடவும்</string>
<string name="auto_dismiss_datetime">தேதி தேர்வை தானாகவே மூடவும்</string>
<string name="upgrade_blurb_4">உங்கள் ஆதரவு எனக்கு என்றென்றும் தேவை, நன்றி!</string>

@ -630,7 +630,6 @@
<string name="date_shortcut_tomorrow_evening">Yarın akşam</string>
<string name="manage_lists">Listeleri yönet</string>
<string name="permission_read_tasks">Tasks veri tabanına tam erişim</string>
<string name="account_not_found">Hesap bulunamadı</string>
<string name="davx5_selection_description">DAVx⁵ uygulamasıyla görevlerinizi eşitleyin</string>
<string name="background_location_permission_required">Konum izinleri, konum tabanlı anımsatıcılar için gereklidir. Eğer daha önce konum izni isteğini reddettiyseniz, aygıt ayarlarınızdan elle izin vermelisiniz.</string>
<string name="background_location">Ön plan konumu</string>

@ -621,7 +621,6 @@
<string name="reset_sort_order">重置排列顺序</string>
<string name="manage_lists">管理列表</string>
<string name="permission_read_tasks">对Tasks数据库的完全访问</string>
<string name="account_not_found">未找到账户</string>
<string name="davx5_selection_description">用 DAVx⁵应用同步你的任务</string>
<string name="account">账户</string>
<string name="device_settings">设备设置</string>

@ -634,7 +634,6 @@ File %1$s contained %2$s.\n\n
<string name="lists">Lists</string>
<string name="reset_sort_order">Reset sort order</string>
<string name="permission_read_tasks">Full access to Tasks database</string>
<string name="account_not_found">Account not found</string>
<string name="automatic_backups">Automatic backups</string>
<string name="android_auto_backup">Android Backup Service</string>
<string name="android_auto_backup_device_summary">You must also opt in to backup service through your device settings. Not all devices provide backup service.</string>

Loading…
Cancel
Save