diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 2f51914fe..06ecdca29 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -24,4 +24,5 @@ French: lacouture, e2jk Italian (Italy): m.chinni Czech(Czech Republic): elich Azerbaijani: phoenixar -Portuguese: smarquespt \ No newline at end of file +Portuguese: smarquespt +Swedish: nilso, Bio, TwoD, bpnilsson diff --git a/assets/about.html b/assets/about.html index eb4853e64..a5fa5a1e2 100644 --- a/assets/about.html +++ b/assets/about.html @@ -1,63 +1,64 @@ - - - - About AntennaPod - - - -

Used libraries

-

ActionBarSherlock (Link)

- by Jake Wharton, licensed under the Apache 2.0 license - -

NineOldAndroids (Link)

- by Jake Wharton, licensed under the Apache 2.0 license - -

Apache Commons (Link)

- by The Apache Software Foundation, licensed under the Apache 2.0 license -

flattr4j (Link)

- licensed under the Apache 2.0 license -

drag-sort-listview (Link)

- licensed under the Apache 2.0 license -

Presto Client (Link)

- licensed under the Apache 2.0 license - + + } + + versiontag { + color: gray; + } + + h1 { + font-size: 15pt; + } + + h2 { + font-size: 13pt; + } + + a { + font-size: 14px; + color: #00A8DF; + text-decoration: none; + } + + + About AntennaPod + + + +

Used libraries

+ +

NineOldAndroids (Link)

+by Jake Wharton, licensed under the Apache 2.0 license + +

Apache Commons (Link)

+by The Apache Software Foundation, licensed under the Apache 2.0 license +

flattr4j (Link)

+licensed under the Apache 2.0 license +

drag-sort-listview (Link)

+licensed under the Apache 2.0 license +

Presto Client (Link)

+licensed under the Apache 2.0 license + diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 7047a2df2..66ba83a0b 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -129,6 +129,7 @@ AntennaPod\'un keçid tokeni uğurlu ləğv olundu. Flattrma uğurludur Flattrləmə + Siyahıda heç nə yoxdur Hələ heç bir kanala yazilmadınız @@ -140,7 +141,7 @@ Oynatma başa çatanda növbədə irəlidəki epizodu oynat Oynatma Şəbəkə - Təzələmə intervali + Təzələmə intervalı Kanalın avtomatik təzələməsinin intervalını seç ya da keçir onu Təkçə Wi-Fi vasitəsiilə yüklə Fasiləsiz oynatma @@ -214,7 +215,7 @@ MiroGuide\'da axtar Populyar Ən reytinqli - Kanalı əlavə et + Kanal əlavə et Kanal əlavə olundu Seçilən qovluq: diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index df2c3b719..2cecec36d 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -40,6 +40,7 @@ S\'està processant S\'està carregant... Imatge de:\u0020 + Tanca Enllaç del canal Escriviu l\'enllaç del canal aquí: @@ -129,6 +130,11 @@ El testimoni d\'accés a Flattr de l\'AntennaPod s\'ha revocat correctament. Per completar el procés, heu de suprimir aquesta aplicació de la llista d\'aplicacions aprovades que trobareu a l\'apartat de configuració del compte de la plana web de Flattr. S\'ha compartit el contingut a través de Flattr S\'està compartint amb Flattr + + Baixa el connector + Connector no instal·lat + Per a què funcioni la velocitat de reproducció variable, cal instal·lar una biblioteca addicional.\n\nFeu un toc a «Baixa el connector» per baixar-vos el connector gratuït des de la Play Store.\n\nQualsevol problema que sorgeixi en utilitzar aquest connector no és culpa de l\'AntennaPod. Cal informar-ne, doncs, al propietari del connector. + Velocitats de reproducció No hi ha elements a la llista. No us heu subscrit a cap canal. @@ -172,6 +178,8 @@ hores hora Manual + Velocitats de reproducció + Personalitzeu les velocitats disponibles per a una velocitat de reproducció d\'àudio variable Cerca canals o episodis Trobat a notes del programa diff --git a/res/values-cs-rCZ/strings.xml b/res/values-cs-rCZ/strings.xml index 84db0c7f6..5b9eb9be8 100644 --- a/res/values-cs-rCZ/strings.xml +++ b/res/values-cs-rCZ/strings.xml @@ -129,6 +129,7 @@ Úspěšně revokován přístup AntennPodu k vašemu účtu. Pro dokončení tohoto procesu je ještě zapotřebí na stránkách flattru odebrat z vašeho účtu AntennaPod ze seznamu povolených aplikací. Úspěšně flattrováno! Flattruji + Žádné položky v seznamu. Zatím nebyly přidány žádné zdroje. diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index ae57da607..b73118800 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -129,6 +129,7 @@ Du har succesfuldt tilbagekaldt AntennaPods adgangs polet til din konto. For at fuldføre processen skal du fjerne denne app fra listen af godkendte applikationer i din kontos indstillinger på flattr\'s hjemmeside. Det er lykkedes at flattr dette emne! Flattere + Der er ingen emner i denne liste. Du har endnu ikke abonneret til nogle feeds. diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 3afd65052..09d5e1bea 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -29,7 +29,7 @@ Fehler Ein Fehler ist aufgetreten: Aktualisieren - Der externe Speicher ist nicht verfügbar. Bitte stelle sicher, dass das externe Speichermedium eingelegt ist, damit die App funktioniert. + Der externe Speicher ist nicht verfügbar. Bitte stelle sicher, dass das externe Speichermedium eingelegt ist, damit die Anwendung funktioniert. Kapitel Notizen Letzte Episode:\u0020 @@ -38,8 +38,9 @@ Länge:\u0020 Größe:\u0020 Verarbeite - Lade... + Lade ... Bild von:\u0020 + Schließen Feed URL Gib die URL des Feeds hier ein: @@ -67,7 +68,7 @@ Episode überspringen Download erfolgreich - Download fehlgeschlagen + Herunterladen fehlgeschlagen Download anstehend Download läuft Speichermedium nicht gefunden @@ -119,16 +120,21 @@ Drücke den Button unten um den Authentifizierungsprozess zu starten. Du wirst dann zur Flattr-Anmeldeseite weitergeleitet, wo du gefragt wirst, AntennaPod die Erlaubnis zu geben, Dinge zu flattrn. Nachdem du die Erlaubnis erteilt hast, kehrst du automatisch zu diesem Bildschirm zurück. Authentifizieren Zur Hauptseite zurückkehren - Die Authentifizierung war erfolgreich! Du kannst nun in der App Flattr verwenden. + Die Authentifizierung war erfolgreich! Du kannst nun in der Anwendung Flattr verwenden. Kein Flattr Token gefunden - Dein Flattr Account scheint nicht mit AntennaPod verbunden zu sein. Du kannst entweder deinen Account mit AntennaPod verbinden, um direkt in der App Flattr zu verwenden, oder du kannst die Flattr-Seite der Sache im Web besuchen. + Dein Flattr Account scheint nicht mit AntennaPod verbunden zu sein. Du kannst entweder deinen Account mit AntennaPod verbinden, um direkt in der Anwendung Flattr zu verwenden, oder du kannst die Flattr-Seite der Sache im Netz besuchen. Authentifizieren Aktion verboten AntennaPod besitzt keine Erlaubnis für diese Aktion. Der Grund dafür könnte sein, dass AntennaPods Zugangstoken aufgehoben worden ist. Du kannst dich entweder erneut authentifizieren oder die Flattr-Seite der Sache im Web besuchen. Zugriff widerrufen - Du hast AntennaPod das Zugangstoken zu deinem Account entzogen. Um diesen Prozess abzuschließen, musst du diese App aus der Liste der zugelassenen Anwendungen in deinen Account Einstellungen auf der Flattr Webseite entfernen. + Du hast AntennaPod das Zugangstoken zu deinem Account entzogen. Um diesen Prozess abzuschließen, musst du diese Anwendung aus der Liste der zugelassenen Anwendungen in deinen Account Einstellungen auf der Flattr Webseite entfernen. Du hast erfolgreich diese Sache mit Flattr unterstützt! Flattre diese Sache + + Plugin herunterladen + Plugin nicht installiert + Um die Wiedergabegeschwindigkeit zu verändern, muss eine Drittanbieter-Bibliothek heruntegeladen werden.\n\nDrücke auf \"Plugin herunterladen\", um ein kostenloses Plugin aus dem Play Store zu installieren.\n\nProbleme, die bei der Benutzung des Plugins auftreten, sollten dem Entwickler des Plugins gemeldet werden. + Wiedergabegeschwindigkeiten Es sind keine Einträge in dieser Liste. Du hast noch keine Feeds abonniert. @@ -146,16 +152,16 @@ Durchgehendes Abspielen WiFi Medien-Download Kopfhörer-Trennung - Mobile Updates - Erlaube Updates über die mobile Datenverbindung + Mobile Aktualisierungen + Erlaube Aktualisierungen über die mobile Datenverbindung Aktualisiere Flattr Einstellungen Flattr Anmeldung - Melde dich mit deinem Flattr Account an, um direkt in der App zu flattrn. - Flattr diese App + Melde dich mit deinem Flattr Account an, um direkt in der Anwendung zu flattrn. + Flattr diese Anwendung Unterstütze die Entwicklung von AntennaPod mit Flattr. Danke! Zugriff entziehen - Entziehe dieser App die Zugriffserlaubnis für deinen Flattr account + Entziehe dieser Anwendung die Zugriffserlaubnis für deinen Flattr Account. Nur Episoden anzeigen Zeige nur Feed-Einträge mit Episoden an. Benutzeroberfläche @@ -172,6 +178,8 @@ Stunden Stunde Manuell + Wiedergabegeschwindigkeiten + Lege die verfügbaren Werte für die Veränderung der Wiedergabeschwindigkeit fest Suche nach Feeds oder Episoden In Sendungsnotizen gefunden @@ -200,10 +208,10 @@ OPML Export erfolgreich Die .opml Datei wurde unter dem folgenden Pfad gespeichert:\u0020 - Sleep timer setzen - Sleep Timer deaktivieren + Schlummerfunktion + Schlummerfunktion deaktivieren Zeit eingeben - Sleep timer + Schlummerfunktion Zeit übrig:\u0020 Ungültige Eingabe, Zeit muss eine Ganzzahl sein diff --git a/res/values-es-rES/strings.xml b/res/values-es-rES/strings.xml index 1eb829472..9acc90282 100644 --- a/res/values-es-rES/strings.xml +++ b/res/values-es-rES/strings.xml @@ -126,6 +126,7 @@ Ha revocado el token de acceso de AntennaPod a su cuenta. Para completar el proceso debe eliminar esta aplicación de la lista de aplicaciones aprobadas, en los ajustes de Flattr. Ha valorado esto en Flattr. Valoración en Flattr + Esta lista no tiene elementos. No se ha suscrito a ningún canal. diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 0afdd0d1e..9ae4b569b 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -12,14 +12,14 @@ Descargas Cancelar descarga Registro de descargas - Historial de reproducción + Histórico de reproducción Abrir en el navegador Copiar URL Compartir URL URL copiada al portapapeles. - Limpiar el historial + Vaciar el histórico Confirmar Cancelar @@ -40,6 +40,7 @@ Procesando Cargando... Imagen de:\u0020 + Cerrar URL del canal Escriba aquí la URL del canal: @@ -64,7 +65,7 @@ Añadir a Flattr Ponerlos todos en cola Descargarlos todos - Saltar episodio + Omitir episodio Descarga exitosa Descarga errónea @@ -82,9 +83,9 @@ Cancelar todas las descargas Descarga cancelada Descargas completadas - URL malformada + URL con formato incorrecto Error de E/S - Error de petición + Error de solicitud \u0020descargas restantes Descargando datos del podcast %1$d descargas exitosas, %2$d fallidas @@ -110,7 +111,7 @@ Mostrar el registro Mostrar el reproductor - Limpiar la cola + Vaciar la cola Organizar cola Deshacer Artículo eliminado @@ -129,6 +130,11 @@ Ha revocado el token de acceso de AntennaPod a su cuenta. Para completar el proceso debe eliminar esta aplicación de la lista de aplicaciones aprobadas, en los ajustes de Flattr. Ha valorado esto en Flattr. Valoración en Flattr + + Descargar complemento + Complemento no instalado + Para que la reproducción a velocidad variable funcione, es necesario instalar un complemento adicional.\n\nPulse «Descargar complemento» para descargar un complemento gratuito de la Play Store.\n\nSi aparece cualquier problema durante la utilización del complemento, informe de él al propietario, pues éste no es responsabilidad de AntennaPod. + Velocidades de reproducción Esta lista no tiene elementos. No se ha suscrito a ningún canal. @@ -172,6 +178,8 @@ horas hora Manual + Velocidades de reproducción + Personalice las velocidades disponibles para la reproducción de audio a velocidad variable Buscar canales o episodios Encontrado en las notas del programa @@ -190,7 +198,7 @@ ¡ERROR! Leyendo el archivo OPML Ha ocurrido un error al leer el archivo OPML - El directorio de importación está vacío + El directorio de importación está vacío. Seleccionar todo Deseleccionar todo Elegir qué archivo importar diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 5589b59f3..83ef470dd 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -32,7 +32,7 @@ Aucun stockage externe n\'est disponible. Merci de connecter un volume de stockage externe pour que l\'application puisse fonctionner correctement. Chapitres Notes d\'épisode - Episode le plus récent :\u0020 + Épisode le plus récent :\u0020 \u0020épisodes Publié :\u0020 Durée :\u0020 @@ -40,6 +40,7 @@ Traitement en cours En chargement... Image :\u0020 + Fermer URL du flux Entrez l\'URL du flux ici : @@ -117,7 +118,7 @@ Connecter à Flattr Appuyez sur le bouton ci-dessous pour vous authentifier. Vous serez envoyés à l\'écran de connexion Flattr dans le navigateur, et il vous sera demandé de donner à AntennaPod la permission de flattr. Une fois ceci fait, vous reviendrez automatiquement à cet écran. - Authentifier + S\'authentifier Revenir au départ L\'authentification a réussi. Vous pouvez maintenant flattr depuis cette application. Aucun jeton Flattr trouvé. @@ -129,6 +130,11 @@ Vous avez révoqué le jeton d\'accès d\'AntennaPod à votre compte. Pour terminer cette opération, vous devez retirer AntennaPod de la liste des applications autorisées sur le site web de Flattr. Flattr réussi ! Flattr en cours + + Télécharger une extension + Extension non installée + Pour pouvoir changer la vitesse de lecture il est nécessaire d\'installer une librairie tierce.\n\nSélectionnez \"Télécharger une extension\" pour télécharger une extension gratuite depuis le Play Store\n\nLes problèmes concernant les extensions sont de la responsabilité de leur créateur et non d\'AntennaPod. Veillez à notifier le créateur de l\'extension de tout problème. + Vitesses de lecture Cette liste est vide. Vous n\'êtes encore abonné à aucun flux. @@ -136,18 +142,18 @@ Autres À propos Liste - Interrompre la lecture lorsque le casque est débranché. - Après la fin d\'un épisode, passer au suivant. + Interrompre la lecture lorsque le casque est débranché + Après la fin d\'un épisode, passer au suivant Lecture Réseau Intervalle de mise à jour Indiquer un intervalle de mise à jour automatique des flux, ou le désactiver - Ne télécharger les épisodes que par WiFi + Ne télécharger les épisodes que par Wi-Fi Lecture continue - Téléchargement en WiFi + Téléchargement en Wi-Fi Déconnexion du casque Mise à jour mobile - Autoriser les mises à jour à travers la connexion de données mobile. + Autoriser les mises à jour à travers la connexion de données mobile Mise à jour en cours Paramètres Flattr Connexion à Flattr @@ -172,6 +178,8 @@ heures heure Manuel + Vitesses de lecture + Modifier la liste des vitesses disponibles pour la lecture audio Chercher des flux ou épisodes Trouvé dans les notes @@ -184,13 +192,13 @@ Trouvé dans le titre Vous pouvez aussi importer un fichier OPML. Ces fichiers permettent de transférer les flux d\'un podcatcher à un autre : - Pour importer un fichier OPML, copiez-le dans le répertoire suivant, et appuyez sur le bouton ci-dessous pour l\'importer. + Pour importer un fichier OPML, copiez-le dans le répertoire suivant, et appuyez sur le bouton ci-dessous pour l\'importer. Démarrer l\'importation Importation OPML ERREUR ! - Lecture du fichier OPML + Lecture du fichier OPML en cours Une erreur s\'est produite à la lecture du document OPML : - Le répertoire d\'import est vide. + Le répertoire d\'importation est vide. Tout choisir Ne rien choisir Choisir le fichier à importer @@ -201,7 +209,7 @@ Le fichier .opml a été écrit ici :\u0020 Définir le minuteur d\'arrêt automatique - Désactiver l\'arrêt automatique + Désactiver le minuteur d\'arrêt automatique Entrer l\'heure Arrêt automatique Durée restante :\u0020 @@ -220,8 +228,8 @@ Répertoire choisi : Créer répertoire Choisir le répertoire - Créer un répertoire nommé \"%1$s\"? - Répertoire créé avec succès + Créer un répertoire nommé \"%1$s\" ? + Répertoire créé Impossible d\'écrire dans ce répertoire Le répertoire existe déjà Impossible de créer le répertoire diff --git a/res/values-it-rIT/strings.xml b/res/values-it-rIT/strings.xml index 0fe45c2df..ba31e2ead 100644 --- a/res/values-it-rIT/strings.xml +++ b/res/values-it-rIT/strings.xml @@ -129,6 +129,7 @@ Hai revocato l\'accesso di AntennaPod al tuo account. Al fine di completare il processo devi rimuovere l\'app dalla lista delle applicazioni autorizzare nelle impostazioni del tuo account sul sito di flattr. Flattr eseguito con successo! Flattr in corso + Non ci sono oggetti in questa lista. Non sei ancora abbonato a nessun feed. diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index 299e282ee..cdef8c805 100644 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -29,9 +29,10 @@ Erro Um erro ocorreu: Atualizar - Não há dispositivos de armazenamento disponíveis. Por favor, certifique-se de que um dispositivo de armazenamento externo está montado para que o aplicativo possa funcionar adequadamente. + Não há dispositivos de armazenamento externo disponíveis. Por favor, certifique-se de que um dispositivo de armazenamento externo está montado para que o aplicativo possa funcionar adequadamente. Capítulos Notas do podcast + Episódio mais recente:\u0020 \u0020episódios Publicado:\u0020 Duração:\u0020 @@ -66,7 +67,7 @@ Pular episódio Download com sucesso - Download falhou + Falha no download Download pendente Download em execução Dispositivo de armazenamento não encontrado @@ -111,6 +112,8 @@ Limpar fila Organizar fila + Desfazer + Item removido Logar no Flattr Pressione o botão abaixo para iniciar o processo de autenticação. Você será direcionado para a tela de login do Flattr, que pedirá autorização para que o AntennaPod utilize o Flattr. Após conceder a permissão, você retornará a esta tela automaticamente. @@ -126,22 +129,23 @@ Você revogou o token de acesso do AntennaPod com sucesso. Para finalizar o processo, você deve remover esta app da lista de aplicativos aprovados nas configurações de sua conta no website do Flattr. Registrado no Flattr com sucesso! Registrando no Flattr + Não existem itens nesta lista. Você ainda não assinou nenhum feed. - Outro + Outros Sobre Fila Interromper a reprodução quando o fone de ouvido for desconectado Pular para próximo item da fila quando a reprodução terminar - Playback + Reprodução Rede Intervalo de atualização Especifica o intervalo em que os feeds serão atualizados automaticamente ou desabilita esta funcionalidade - Baixar arquivo apenas com WiFi + Fazer download dos arquivos apenas via rede WiFi Reprodução contínua - Baixar mídia via WiFi + Download de mídia via WiFi Fones de ouvido desconectados Atualizações via Rede de Dados Celular Permite atualizações quando conectado na rede de dados celular @@ -163,6 +167,12 @@ Habilitar filtro Wi-Fi Permitir download automático somente pelas redes Wi-Fi selecionadas. Cache de episódios + Claro + Escuro + Ilimitado + horas + hora + Manual Procurar por Feeds ou Episódios Encontrado nas notas do podcast diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 8b9383979..4b83efcb3 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -40,6 +40,7 @@ A processar... A carregar... Imagem de:\u0020 + Fechar URL da fonte Introduza o URL da fonte: @@ -129,6 +130,11 @@ Você revogou o token de acesso do AntennaPod à sua conta. Para concluir o processo, tem que remover esta aplicação da lista de aplicações presentes nas definições de conta no sítio web do flattr. Flattered com sucesso! Flattring + + Transferir extra + Extra não instalado + Para melhorar a reprodução, deve transferir e instalar um biblioteca de terceiros.\nClique Transferir extra para transferir o extra através da loja Google..\n\nSe encontrar problemas ao utilizar esta biblioteca, os programadores do AntennaPod não podem ser responsabilizados e deve contactar o programador do extra. + Velocidades de reprodução Não existem itens na lista. Ainda não possui quaisquer fontes. @@ -172,6 +178,8 @@ horas hora Manual + Velocidades de reprodução + Personalize as velocidades de reprodução disponíveis. Procurar fontes ou episódios Encontrado nas notas diff --git a/res/values-ro-rRO/strings.xml b/res/values-ro-rRO/strings.xml index c1320964a..4470cbad6 100644 --- a/res/values-ro-rRO/strings.xml +++ b/res/values-ro-rRO/strings.xml @@ -40,6 +40,7 @@ Procesează Încărcare... Imagine a:\u0020 + închide Adresă feed Scrieți adresa feedului aici: @@ -129,6 +130,11 @@ Ați revocat cu succes accesul AntennaPod la contul vostru. Pentru a completa acest proces trebuie să ștergeți aplicația din lista de aplicații aprobate din setările contului de pe site-ul flattr. Ați flattr cu succes! Flattring + + Descarcă plugin + Plugin neinstalat + Pentru ca viteza variabilă de ascultare să funcționeze este necesară o librărie externă.\n\nApăsați \'Descarcă Plugin\' pentru a descărca un plugin gratuit din Play Store\n\nOrice probleme găsite folosind acest plugin nu sunt responsabilitatea AntennaPod și trebuie raportate autorului pluginului. + Viteze de ascultare Nu sunt elemente în listă. Nu v-ați abonat la nici un feed momentan. @@ -172,6 +178,8 @@ ore oră Manual + Viteze de ascutare + Modifică vitezele disponibile pentru viteza de ascultare. Caută feeduri sau episoade Găsit în notițe diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 871803e2d..994fe526a 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -29,7 +29,7 @@ Ошибка Произошла ошибка: Обновить - Внешний носитель недоступен. Убедитесь что внешний носитель смонтирован, иначе приложение не сможет нормально работать. + Внешний носитель недоступен. Убедитесь что внешний носитель установлен, иначе приложение не сможет нормально работать. Разделы Описание Следующий эпизод:\u0020 @@ -49,7 +49,7 @@ Удалить канал Поделиться ссылкой на сайт Поделиться ссылкой на канал - Подтвердите удаление канала и ВСЕХ закачанных выпусков этого канала. + Подтвердите удаление канала и ВСЕХ загруженных с этого канала выпусков. Загрузить Воспроизвести @@ -71,7 +71,7 @@ Загрузка в ожидании Загрузка в процессе Устройство хранения не найдено - Недостаточно свободного места + Недостаточно памяти Ошибка файла Ошибка протокола HTTP Неизвестная ошибка @@ -116,19 +116,20 @@ Удален Авторизоваться в Flattr - Нажмите кнопку чтобы начать процесс авторизации. Вы будете перенаправлены на сайт Flattr где вам нужно будет подключить AntennaPod к вашему аккаунту. После этого вы автоматически будете перенаправлены обратно. + Нажмите кнопку, чтобы начать процесс авторизации. Вы будете перенаправлены на сайт Flattr, где вам нужно будет разрешить AntennaPod использовать ваш аккаунт. После этого вы автоматически будете перенаправлены обратно. Авторизовать Вернуться к началу Успешная авторизация! Теперь вы можете использовать Flattr прямо из приложения. Токен Flattr не найден - Похоже что ваш аккаунт Flattr не подключен к AntennaPod. Можно подключить аккаунт к AntennaPod или посетить сайт канала чтобы использовать Flattr прямо на сайте. + Кажется, ваш аккаунт Flattr не подключен к AntennaPod. Вы можете подключить аккаунт к AntennaPod или посетить сайт канала, чтобы пожертвовать через Flattr прямо на сайте. Авторизоваться Действие запрещено - AntennaPod не имеет прав для выполнения этого действия. Возможно потому что доступ к вашему аккаунту был отозван. Вы можете авторизоваться заново или попробовать посетить сайт. + AntennaPod не имеет прав для выполнения этого действия. Возможно, доступ к вашему аккаунту был отозван. Вы можете авторизоваться заново или посетить сайт, которому вы пожертвовали через Flattr. Доступ отозван Вы успешно отключили AntennaPod от вашего аккаунта в Flattr. Чтобы завершить этот процесс вам нужно удалить AntennaPod из списка приложений подключенных к вашему аккаунту на сайте Flattr. Поддержка через Flattr прошла успешно! Отправляется запрос на Flattr + Список пуст Вы еще не подписаны ни на один канал @@ -142,7 +143,7 @@ Сеть Интервал обновлений Укажите интервал через который каналы обновляются автоматически, или отключите его - Загружать файлы только по Wi-Fi + Загружать файлы только через Wi-Fi Непрерывное воспроизведение Загрузка по Wi-Fi Наушники отсоединены @@ -153,14 +154,14 @@ Авторизация Flattr Авторизуйтесь в Flattr чтобы поддерживать каналы прямо из приложения Поддержать это приложение в Flattr - Поддержать разработку AntennaPod через Flattr. Спасибо! + Поддержите разработку AntennaPod через Flattr. Спасибо! Отозвать доступ Отменить доступ этого приложения к вашему аккаунту Flattr. Показывать только выпуски Показывать только те элементы списка, которые содержат выпуски Интерфейс Выбор темы - Изменить тему оформление AntennaPod + Изменить тему оформления AntennaPod Автоматическая загрузка Настроить автоматическую загрузку выпусков. Включить фильтр Wi-Fi diff --git a/res/values-sv-rSE/strings.xml b/res/values-sv-rSE/strings.xml new file mode 100644 index 000000000..a84800edc --- /dev/null +++ b/res/values-sv-rSE/strings.xml @@ -0,0 +1,239 @@ + + + + AntennaPod + Flöden + PODCASTS + AVSNITT + Ny + Väntelista + Inställningar + Lägg till nytt flöde + Nedladdningar + Avbryt nedladdnin + Nedladdningslogg + Uppspelningshistorik + + Öppna i webbläsare + Kopiera URL + Dela URL + Kopierade URL till clipboard. + + Rensa historik + + Bekräfta + Avbryt + Skapare + Språk + Omslag + Fel + Ett fel inträffade: + Uppdatera + Ingen extern lagring är tillgänglig. Se till att montera en extern lagringsenhet så att appen kan fungera korrekt. + Kapitel + Shownotes + Senaste avsnittet:\u0020 + \u0020episoder + Publicerad:\u0020 + Längd:\u0020 + Storlek:\u0020 + Bearbetar + Laddar... + Bild av:\u0020 + Stäng + + Flöde URL + Skriv in webbadressen till flödet här: + + Markera alla som lästa + Visa information + Ta bort flöde + Dela hemsidans länk + Dela flödeslänk + Bekräfta att du vill ta bort denna feed och ALLA avsnitt av denna feed som du har hämtat. + + Ladda ned + Spela + Pausa + Stream + Ta bort + Markera som läst + Markera som oläst + Lägg till i kön + Ta bort från Kön + Besök websidan + Flattr det här + Ställ alla i kö + Ladda ner alla + Hoppa över avsnitt + + Nedladdning framgångsrik + Nedladdning misslyckades + Avvaktar nerladdning + Nerladdning pågår + Lagringsenhet hittades inte + Otillräckligt utrymme + Filfel + HTTP data fel + Okänt fel + Parserfel + Flödestyp utan stöd + Anslutningsfel + Okänd värd + Avbryt alla nedladdningar + Nerladdning avbruten + Nerladdningar färdiga + Felaktig webbadress + IO fel + Request fel + \u0020Nedladdningar kvar + Laddar ner podcastdata + %1$d nedladdningar lyckades, %2$d misslyckades + Okänd titel + Flöde + Mediafil + Bild + Ett fel uppstod vid försöket att ladda ner filen:\u0020 + + Fel! + Inget media spelar + Förbereder + Beredd + Söker + Servern dog + Okänt fel + Inget media spelar + 00:00:00 + Buffrar + Spelar podcast + Tryck här för mer information + + Visa log + Visa spelare + + Rensa kön + Organisera kö + Ångra + Föremålet avlägsnades + + Flattr inloggning + Tryck på knappen nedan för att starta autentiseringen. Du kommer att vidarebefordras till Flattrs inloggningsskärm i din webbläsare och uppmanas att ge AntennaPod tillstånd att Flattra saker. Efter att du har gett tillstånd, kommer du automatiskt tillbaka till den här skärmen. + Autentisera + Återgå till Startsidan + Autentiseringen lyckades! Du kan nu Flattra saker i appen. + Ingen Flattr token hittades + Ditt Flattr konto verkar inte vara ansluten till AntennaPod. Du kan antingen ansluta ditt konto till AntennaPod att Flattr saker i app eller så kan du besöka webbplatsen för att Flattr det där. + Autentisera + Åtgärd förbjuden + AntennaPod saknar behörighet för den här åtgärden. Anledningen till detta kan vara att AntennaPods tillgång till ditt konto har återkallats. Du kan antingen åter autentisera AntennaPod eller besöka hemsidan istället. + Tillgång återkallad + Du har nu återkallat AntennaPods tillgång till ditt konto. För att slutföra processen, måste du ta bort den här appen från listan godkända appar i dina kontoinställningar på Flattrs hemsida. + Framgångsrikt flattrat denna sak! + Flattrar + + Ladda ner tillägg + Tillägg ej installerat + För att variabel uppspelningshastighet skall fungera måste ett tredjepartstillägg installeras.\n\nTryck på \'Ladda ner tillägg\' för att ladda ner ett gratis tilläg från Play store.\n\nAntennaPod ansvarar inte för problem med detta tillägg och de bör rapporteras till tilläggets skapare.\n + Uppspelningshastigheter + + Det finns inget i denna lista. + Du har inte prenumererat på något flöde ännu. + + Annat + Om + + Pausa uppspelningen när hörlurarna bortkopplas + Hoppa till nästa i kön när uppspelningen är klar + Uppspelning + Nätverk + Uppdateringsintervall + Ange ett intervall för att automatiskt uppdatera flödet eller avaktivera det + Hämta mediefiler endast över WiFi + Kontinuerlig uppspelning + WiFi nedladdning + Hörlurar bortkopplade + Mobila uppdateringar + Tillåt uppdateringar via mobil dataanslutning + Uppdatera + Flattr inställningar + Flattr inloggning + För att Flattra saker direkt från appen, logga in på ditt Flattr-konto. + Flattra den här appen + Stöd utvecklingen av AntennaPod genom att flattra den. Tack! + Återkalla åtkomst + Återkalla behörigheten till ditt Flattr-konto för denna app. + Visa endast episoder + Visa endast objekt som har minst ett avsnitt. + Användargränssnitt + Välj tema + Ändra utseendet på AntennaPod. + Automatisk nedladdning + Konfigurera automatisk nedladdning av episoder. + Aktivera WiFi filtrering + Tillåt automatisk nedladdning endast för utvalda WiFi-nätverk. + Avsnittscache + Ljust + Mörkt + Obegränsat + timmar + timme + Manuell + Uppspelningshastigheter + Anpassa de tillgängliga hastigheterna för variabel uppspelningshastighet. + + Sök efter flöden eller avsnitt + Hittad i shownotes + Hittad i kapitel + Söker... + Inga resultat hittades + Sökresultat + du sökte:\u0020 + Sök + Hittad i titeln + + Du kan också importera en OPML-fil. Med OPML-filer kan du flytta dina podcasts från en podcatcher till en annan: + Om du vill importera en OPML-fil, måste du placera den i följande katalog och tryck på knappen nedan för att starta importen. + Börja import + OPML import + FEL! + Läser OPML fil + Ett fel har skett vid iläsning av opml dokumentet: + Katalogen är tom. + Välj alla + Avmarkera alla + Välj fil att importera + OPML export + Exporterar... + Exporteringsfel + OPML export lyckades + .opml filen skrevs till:\u0020 + + Ställ in sömntimer + Stäng av sömntimer + Ange tid + Sömntimer + Återstående tid:\u0020 + Ogiltigt tal, tiden måste vara ett heltal + + Laddar kategorier... + Bläddra i Miro Guide + Eller bläddra i Miro Guide: + Miro Guide + Leta i Miro Guide + Populärt + Bästa betyg + Lägg till flöde + Flödet läggs till + + Vald mapp: + Skapa mapp + Välj mapp + Skapa ny mapp med namnet \"%1$s\"? + Skapade ny mapp + Kan inte skriva till den här mappen + Mappen finns redan + Kunde inte skapa mapp + Mappen är inte tom + Den mapp du har valt är inte tom. Filer kommer att placeras direkt i denna mapp. Fortsätt ändå? + Välj standardmapp + diff --git a/res/values-uk-rUA/strings.xml b/res/values-uk-rUA/strings.xml index 84f51ab7d..bb8718dd5 100644 --- a/res/values-uk-rUA/strings.xml +++ b/res/values-uk-rUA/strings.xml @@ -40,6 +40,7 @@ Обробка Завантаження категорій ... Зображення:\u0020 + Закрити Посилання на канал Введіть адресу URL каналу тут: @@ -129,6 +130,11 @@ Ви відкликали доступ AntennaPod до облікового запису. Для закінчення процессу вам потрібно видалити додаток з затвержденного списку в вашому облікову запису на сайті flattr Успішно flattr це Йде flattr + + Завантажити Plugin + Plugin не встановлено + Для керування швидкістю програвання потрібно встановити plugin\nНатисніть \"Завантажити Plugin\" для завантаження безкоштовного plugin з Play Store\nЯкщо при використанні plugin будуть які небудь проблеми це відповідальність автору plugin, а не автору AntennaPod + Швидкість програвання Нічного в цьому списку Немає підписаних каналів @@ -172,6 +178,8 @@ годин година Інструкція + Швидкість програвання + Налаштування швідкості доступно для змінної швидкості програвання Пошук каналів та епізодів Знайдено у примітках diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index f7bf7d493..214e3a666 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -40,6 +40,7 @@ 处理中 加载中... 图片:\u0020 + 关闭 订阅 URL 输入订阅 URL: @@ -129,6 +130,11 @@ 您已经成功撤销 AntennaPod 对账户令牌的访问. 为了完成这个过程, 您必须到 Flattr 网站 \"账户设置->已批准应用\" 列表内删除本应用. Flattr 成功! Flattring + + 插件下载 + 插件没有安装 + 安装第三方库后播放速度设置起作用.\n点击 \'插件下载\' 从 \'Pay 商店\' 下载免费插件.\n使用这些插件中碰到的任何问题请报告给插件作者, 跟 AntennaPod 无关. + 播放速度 列表为空. 还没有任何订阅. @@ -172,6 +178,8 @@ 小时 手动 + 播放速度 + 自定义音频播放速度 搜索订阅或者曲目 笔记中查找 diff --git a/src/de/danoeh/antennapod/activity/FeedInfoActivity.java b/src/de/danoeh/antennapod/activity/FeedInfoActivity.java index 4a8a2f1f8..3cb46a4f8 100644 --- a/src/de/danoeh/antennapod/activity/FeedInfoActivity.java +++ b/src/de/danoeh/antennapod/activity/FeedInfoActivity.java @@ -9,7 +9,6 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.widget.ImageView; import android.widget.TextView; - import de.danoeh.antennapod.AppConfig; import de.danoeh.antennapod.R; import de.danoeh.antennapod.asynctask.ImageLoader; @@ -21,80 +20,81 @@ import de.danoeh.antennapod.storage.DownloadRequestException; import de.danoeh.antennapod.util.LangUtils; import de.danoeh.antennapod.util.menuhandler.FeedMenuHandler; -/** Displays information about a feed. */ +/** + * Displays information about a feed. + */ public class FeedInfoActivity extends ActionBarActivity { - private static final String TAG = "FeedInfoActivity"; + private static final String TAG = "FeedInfoActivity"; - public static final String EXTRA_FEED_ID = "de.danoeh.antennapod.extra.feedId"; + public static final String EXTRA_FEED_ID = "de.danoeh.antennapod.extra.feedId"; - private Feed feed; + private Feed feed; - private ImageView imgvCover; - private TextView txtvTitle; - private TextView txtvDescription; - private TextView txtvLanguage; - private TextView txtvAuthor; + private ImageView imgvCover; + private TextView txtvTitle; + private TextView txtvDescription; + private TextView txtvLanguage; + private TextView txtvAuthor; - @Override - protected void onCreate(Bundle savedInstanceState) { - setTheme(UserPreferences.getTheme()); - super.onCreate(savedInstanceState); - setContentView(R.layout.feedinfo); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - long feedId = getIntent().getLongExtra(EXTRA_FEED_ID, -1); - - AsyncTask loadTask = new AsyncTask() { + @Override + protected void onCreate(Bundle savedInstanceState) { + setTheme(UserPreferences.getTheme()); + super.onCreate(savedInstanceState); + setContentView(R.layout.feedinfo); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + long feedId = getIntent().getLongExtra(EXTRA_FEED_ID, -1); - @Override - protected Feed doInBackground(Long... params) { - return DBReader.getFeed(FeedInfoActivity.this, params[0]); - } + AsyncTask loadTask = new AsyncTask() { - @Override - protected void onPostExecute(Feed result) { - super.onPostExecute(result); - if (result != null) { - feed = result; - if (feed != null) { - if (AppConfig.DEBUG) - Log.d(TAG, "Language is " + feed.getLanguage()); - if (AppConfig.DEBUG) - Log.d(TAG, "Author is " + feed.getAuthor()); - imgvCover = (ImageView) findViewById(R.id.imgvCover); - txtvTitle = (TextView) findViewById(R.id.txtvTitle); - txtvDescription = (TextView) findViewById(R.id.txtvDescription); - txtvLanguage = (TextView) findViewById(R.id.txtvLanguage); - txtvAuthor = (TextView) findViewById(R.id.txtvAuthor); - imgvCover.post(new Runnable() { + @Override + protected Feed doInBackground(Long... params) { + return DBReader.getFeed(FeedInfoActivity.this, params[0]); + } - @Override - public void run() { - ImageLoader.getInstance().loadThumbnailBitmap( - feed.getImage(), imgvCover); - } - }); + @Override + protected void onPostExecute(Feed result) { + super.onPostExecute(result); + if (result != null) { + feed = result; + if (AppConfig.DEBUG) + Log.d(TAG, "Language is " + feed.getLanguage()); + if (AppConfig.DEBUG) + Log.d(TAG, "Author is " + feed.getAuthor()); + imgvCover = (ImageView) findViewById(R.id.imgvCover); + txtvTitle = (TextView) findViewById(R.id.txtvTitle); + txtvDescription = (TextView) findViewById(R.id.txtvDescription); + txtvLanguage = (TextView) findViewById(R.id.txtvLanguage); + txtvAuthor = (TextView) findViewById(R.id.txtvAuthor); + imgvCover.post(new Runnable() { - txtvTitle.setText(feed.getTitle()); - txtvDescription.setText(feed.getDescription()); - if (feed.getAuthor() != null) { - txtvAuthor.setText(feed.getAuthor()); - } - if (feed.getLanguage() != null) { - txtvLanguage.setText(LangUtils - .getLanguageString(feed.getLanguage())); - } - supportInvalidateOptionsMenu(); - } - } else { - Log.e(TAG, "Activity was started with invalid arguments"); - } - } - }; - loadTask.execute(feedId); - } + @Override + public void run() { + ImageLoader.getInstance().loadThumbnailBitmap( + feed.getImage(), imgvCover); + } + }); - @Override - public boolean onCreateOptionsMenu(Menu menu) { + txtvTitle.setText(feed.getTitle()); + txtvDescription.setText(feed.getDescription()); + if (feed.getAuthor() != null) { + txtvAuthor.setText(feed.getAuthor()); + } + if (feed.getLanguage() != null) { + txtvLanguage.setText(LangUtils + .getLanguageString(feed.getLanguage())); + } + supportInvalidateOptionsMenu(); + + } else { + Log.e(TAG, "Activity was started with invalid arguments"); + } + } + }; + loadTask.execute(feedId); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { if (feed != null) { MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.feedinfo, menu); @@ -102,32 +102,35 @@ public class FeedInfoActivity extends ActionBarActivity { } else { return false; } - } + } - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - menu.findItem(R.id.support_item).setVisible( - feed.getPaymentLink() != null); - menu.findItem(R.id.share_link_item).setVisible(feed.getLink() != null); + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (feed != null) { + menu.findItem(R.id.support_item).setVisible( + feed.getPaymentLink() != null); + menu.findItem(R.id.share_link_item).setVisible(feed.getLink() != null); + return true; + } else { + return false; + } + } - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; - default: - try { - return FeedMenuHandler.onOptionsItemClicked(this, item, feed); - } catch (DownloadRequestException e) { - e.printStackTrace(); - DownloadRequestErrorDialogCreator.newRequestErrorDialog(this, - e.getMessage()); - } - return super.onOptionsItemSelected(item); - } - } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + default: + try { + return FeedMenuHandler.onOptionsItemClicked(this, item, feed); + } catch (DownloadRequestException e) { + e.printStackTrace(); + DownloadRequestErrorDialogCreator.newRequestErrorDialog(this, + e.getMessage()); + } + return super.onOptionsItemSelected(item); + } + } } diff --git a/src/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/src/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java index 933263d7d..3f967bbbe 100644 --- a/src/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java +++ b/src/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java @@ -138,7 +138,10 @@ public class ExternalPlayerFragment extends Fragment { @Override public void loadMediaInfo() { - ExternalPlayerFragment.this.loadMediaInfo(); + ExternalPlayerFragment fragment = ExternalPlayerFragment.this; + if (fragment != null) { + fragment.loadMediaInfo(); + } } @Override diff --git a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java index 6283a4b7f..ed607b279 100644 --- a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java +++ b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarActivity; @@ -244,10 +245,11 @@ public class FeedlistFragment extends Fragment implements } private boolean actionModeDestroyWorkaround = false; // TODO remove this workaround + private boolean skipWorkAround = Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH; @Override public void onDestroyActionMode(ActionMode mode) { - if (actionModeDestroyWorkaround) { + if (skipWorkAround || actionModeDestroyWorkaround) { mActionMode = null; selectedFeed = null; fla.setSelectedItemIndex(FeedlistAdapter.SELECTION_NONE); diff --git a/src/de/danoeh/antennapod/service/PlaybackService.java b/src/de/danoeh/antennapod/service/PlaybackService.java index 556a58ee8..025bf7dc4 100644 --- a/src/de/danoeh/antennapod/service/PlaybackService.java +++ b/src/de/danoeh/antennapod/service/PlaybackService.java @@ -1460,8 +1460,7 @@ public class PlaybackService extends Service { Log.d(TAG, "Received SKIP_CURRENT_EPISODE intent"); if (media != null) { setStatus(PlayerStatus.STOPPED); - player.reset(); - endPlayback(false); + endPlayback(true); } } } diff --git a/src/de/danoeh/antennapod/storage/DBWriter.java b/src/de/danoeh/antennapod/storage/DBWriter.java index d995424c4..b5cab8b5a 100644 --- a/src/de/danoeh/antennapod/storage/DBWriter.java +++ b/src/de/danoeh/antennapod/storage/DBWriter.java @@ -572,6 +572,7 @@ public class DBWriter { itemCursor.moveToFirst(); for (int i = 0; i < itemIds.length; i++) { itemIds[i] = itemCursor.getLong(PodDBAdapter.KEY_ID_INDEX); + itemCursor.moveToNext(); } itemCursor.close(); adapter.setFeedItemRead(true, itemIds); @@ -600,6 +601,7 @@ public class DBWriter { itemCursor.moveToFirst(); for (int i = 0; i < itemIds.length; i++) { itemIds[i] = itemCursor.getLong(PodDBAdapter.KEY_ID_INDEX); + itemCursor.moveToNext(); } itemCursor.close(); adapter.setFeedItemRead(true, itemIds); diff --git a/src/de/danoeh/antennapod/util/playback/PlaybackController.java b/src/de/danoeh/antennapod/util/playback/PlaybackController.java index f5d1847b3..017a0cd5b 100644 --- a/src/de/danoeh/antennapod/util/playback/PlaybackController.java +++ b/src/de/danoeh/antennapod/util/playback/PlaybackController.java @@ -273,10 +273,13 @@ public abstract class PlaybackController { public void onServiceConnected(ComponentName className, IBinder service) { playbackService = ((PlaybackService.LocalBinder) service) .getService(); - - queryService(); - if (AppConfig.DEBUG) - Log.d(TAG, "Connection to Service established"); + if (!released) { + queryService(); + if (AppConfig.DEBUG) + Log.d(TAG, "Connection to Service established"); + } else { + Log.i(TAG, "Connection to playback service has been established, but controller has already been released"); + } } @Override diff --git a/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java b/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java index 84ac7a9cc..0483a3084 100644 --- a/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java +++ b/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java @@ -681,4 +681,58 @@ public class DBWriterTest extends InstrumentationTestCase { } } + public void testMarkFeedRead() throws InterruptedException, ExecutionException, TimeoutException { + final Context context = getInstrumentation().getTargetContext(); + final int NUM_ITEMS = 10; + Feed feed = new Feed("url", new Date(), "title"); + feed.setItems(new ArrayList()); + for (int i = 0; i < NUM_ITEMS; i++) { + FeedItem item = new FeedItem(0, "title " + i, "id " + i, "link " + i, new Date(), false, feed); + feed.getItems().add(item); + } + + PodDBAdapter adapter = new PodDBAdapter(context); + adapter.open(); + adapter.setCompleteFeed(feed); + adapter.close(); + + assertTrue(feed.getId() != 0); + for (FeedItem item : feed.getItems()) { + assertTrue(item.getId() != 0); + } + + DBWriter.markFeedRead(context, feed.getId()).get(TIMEOUT, TimeUnit.SECONDS); + List loadedItems = DBReader.getFeedItemList(context, feed); + for (FeedItem item : loadedItems) { + assertTrue(item.isRead()); + } + } + + public void testMarkAllItemsReadSameFeed() { + final Context context = getInstrumentation().getTargetContext(); + final int NUM_ITEMS = 10; + Feed feed = new Feed("url", new Date(), "title"); + feed.setItems(new ArrayList()); + for (int i = 0; i < NUM_ITEMS; i++) { + FeedItem item = new FeedItem(0, "title " + i, "id " + i, "link " + i, new Date(), false, feed); + feed.getItems().add(item); + } + + PodDBAdapter adapter = new PodDBAdapter(context); + adapter.open(); + adapter.setCompleteFeed(feed); + adapter.close(); + + assertTrue(feed.getId() != 0); + for (FeedItem item : feed.getItems()) { + assertTrue(item.getId() != 0); + } + + DBWriter.markAllItemsRead(context); + List loadedItems = DBReader.getFeedItemList(context, feed); + for (FeedItem item : loadedItems) { + assertTrue(item.isRead()); + } + } + }