From 0b9d99fdc94e1ba1a83981f12e534e4b7b08bf44 Mon Sep 17 00:00:00 2001 From: Shaye Faletha Date: Tue, 24 Jan 2017 14:22:32 +0000 Subject: [PATCH 01/19] Translated using Weblate (Polish) Currently translated at 99.2% (140 of 141 strings) --- app/src/main/res/values-pl/strings.xml | 27 +++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f8e11d625..21e2b6277 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,5 +1,5 @@ -Wciśnij wyszukaj, aby rozpocząć +Wciśnij wyszukaj, aby rozpocząć Instaluj Anuluj Otwórz w przeglądarce @@ -81,7 +81,7 @@ RAPORT Info: Co się stało: - Co:\\nŻądanie:\\nJęzyk zawartości:\\nUsługa:\\nCzas GMT:\\nVersion:\\nWersja systemu:\\nGlobalny zakres IP: + Co:\\nŻądanie:\\nJęzyk zawartości:\\nUsługa:\\nCzas GMT:\\nPakiet:\\nWersja systemu:\\nGlobalny zakres IP: Szukane dla: Żądany strumień: Twój komentarz (po angielsku): @@ -136,8 +136,29 @@ Zniekształcony URL lub brak internetu Pobieranie NewPipe Dotknij dla szczegółów - Proszę czekać... + Proszę czekać… Skopiowano do schowka. Proszę wybrać dostępny katalog pobierania. + Nie można załadować obrazu + Aplikacja/Interfejs uległ awarii + (Eksperymentalne) Wymuś pobieranie przez Tor dla zwiększonej prywatności +(streaming video nie jest jeszcze wspierany). + To urządzenie nie dostarcza dekodera dla + +%1$s + To urządzenie nie zapewnia bezpiecznego dekodera dla + +%1$s + Nie można zainicjować dekodera + +%1$s + Start + AktywnośćKanału + Ustawienia + CAPTCHA + Rozwiąż ReCAPTCHA + Prośba o rozwiązanie ReCAPTCHA + + Nie można utworzyć zapytania o dekodery urządzenia From f845098b423d8316db66544c541dff9fdce1778d Mon Sep 17 00:00:00 2001 From: Nathan Follens Date: Thu, 26 Jan 2017 15:48:45 +0000 Subject: [PATCH 02/19] Translated using Weblate (Dutch) Currently translated at 100.0% (142 of 142 strings) --- app/src/main/res/values-nl/strings.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8e2ad7d14..31dcc6b10 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -150,7 +150,7 @@ Verkeerde URL of internet niet beschikbaar NewPipe is aan het downloaden Tik voor meer informatie - Even geduld... + Even geduld… Gekopieerd naar klembord. Kies een beschikbare downloadmap. @@ -294,4 +294,10 @@ " + Zwart + + reCAPTCHA + reCAPTCHA-uitdaging + reCAPTCHA-uitdaging gevraagd + From b52b3d4be03491ff103ab4fd04d486d7824abc10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Pejakovi=C4=87?= Date: Tue, 10 Jan 2017 20:08:50 +0000 Subject: [PATCH 03/19] Translated using Weblate (Serbian) Currently translated at 100.0% (142 of 142 strings) --- app/src/main/res/values-sr/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 749a302cb..7a7fb525b 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -306,4 +306,6 @@ Решите reCAPTCHA стопку + Црна + From 22bc81b0eb5c6a2047a3da88f4887fce94d3da2d Mon Sep 17 00:00:00 2001 From: naofum Date: Fri, 27 Jan 2017 14:50:38 +0000 Subject: [PATCH 04/19] Translated using Weblate (Japanese) Currently translated at 100.0% (142 of 142 strings) --- app/src/main/res/values-ja/strings.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 4569a751f..6df5c79b0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -54,9 +54,9 @@ Tor を使用する (実験的) 強制的に Tor を経由したトラフィックでダウンロードして、プライバシーを高めます (ビデオのストリーミングはまだサポートされていません)。 -外見 - - +テーマ + ダーク + ライト 外観 その他 @@ -304,4 +304,6 @@ reCAPTCHA を要求しました + ブラック + From 77db2f8a486b6938038fd420478acea3a55d9249 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Tue, 31 Jan 2017 10:58:53 +0100 Subject: [PATCH 05/19] update support Framework --- app/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 87e7b79e1..dcdb87191 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,10 +32,10 @@ android { dependencies { testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:25.1.0' - compile 'com.android.support:support-v4:25.1.0' - compile 'com.android.support:design:25.1.0' - compile 'com.android.support:recyclerview-v7:25.1.0' + compile 'com.android.support:appcompat-v7:25.1.1' + compile 'com.android.support:support-v4:25.1.1' + compile 'com.android.support:design:25.1.1' + compile 'com.android.support:recyclerview-v7:25.1.1' compile 'org.jsoup:jsoup:1.8.3' compile 'org.mozilla:rhino:1.7.7' compile 'info.guardianproject.netcipher:netcipher:1.2' From 140b480f8293353280084c634392a349c2e9b27a Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Tue, 31 Jan 2017 12:22:54 +0100 Subject: [PATCH 06/19] url signature fix * fixed stacktrace * changed player url * took regex fix from youtube-dl final fix taken from youtube-dl --- .../org/schabi/newpipe/detail/StreamInfoWorker.java | 5 ++++- .../java/org/schabi/newpipe/extractor/Parser.java | 12 ++++++++++-- .../services/youtube/YoutubeStreamExtractor.java | 7 ++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/detail/StreamInfoWorker.java b/app/src/main/java/org/schabi/newpipe/detail/StreamInfoWorker.java index dd1ae9f5a..17a4572bd 100644 --- a/app/src/main/java/org/schabi/newpipe/detail/StreamInfoWorker.java +++ b/app/src/main/java/org/schabi/newpipe/detail/StreamInfoWorker.java @@ -125,10 +125,13 @@ public class StreamInfoWorker { e.printStackTrace(); } catch (YoutubeStreamExtractor.DecryptException de) { // custom service related exceptions + ErrorActivity.reportError(h, a, de, VideoItemDetailFragment.class, null, + ErrorActivity.ErrorInfo.make(ErrorActivity.REQUESTED_STREAM, + service.getServiceInfo().name, videoUrl, R.string.youtube_signature_decryption_error)); h.post(new Runnable() { @Override public void run() { - onStreamInfoReceivedListener.onError(R.string.youtube_signature_decryption_error); + a.finish(); } }); de.printStackTrace(); diff --git a/app/src/main/java/org/schabi/newpipe/extractor/Parser.java b/app/src/main/java/org/schabi/newpipe/extractor/Parser.java index b68d01fa7..8e70f751c 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/Parser.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/Parser.java @@ -42,15 +42,23 @@ public class Parser { } public static String matchGroup1(String pattern, String input) throws RegexException { + return matchGroup(pattern, input, 1); + } + + public static String matchGroup(String pattern, String input, int group) throws RegexException { Pattern pat = Pattern.compile(pattern); Matcher mat = pat.matcher(input); boolean foundMatch = mat.find(); if (foundMatch) { - return mat.group(1); + return mat.group(group); } else { //Log.e(TAG, "failed to find pattern \""+pattern+"\" inside of \""+input+"\""); - throw new RegexException("failed to find pattern \""+pattern+" inside of "+input+"\""); + if(input.length() > 1024) { + throw new RegexException("failed to find pattern \""+pattern); + } else { + throw new RegexException("failed to find pattern \"" + pattern + " inside of " + input + "\""); + } } } diff --git a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractor.java b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractor.java index 63642e973..6dd0daa7c 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractor.java @@ -791,10 +791,15 @@ public class YoutubeStreamExtractor extends StreamExtractor { try { Downloader downloader = NewPipe.getDownloader(); + if(!playerUrl.contains("https://youtube.com")) { + //sometimes the https://youtube.com part does not get send with + //than we have to add it by hand + playerUrl = "https://youtube.com" + playerUrl; + } String playerCode = downloader.download(playerUrl); decryptionFuncName = - Parser.matchGroup1("\\.sig\\|\\|([a-zA-Z0-9$]+)\\(", playerCode); + Parser.matchGroup("([\"\\'])signature\\1\\s*,\\s*([a-zA-Z0-9$]+)\\(", playerCode, 2); String functionPattern = "(" + decryptionFuncName.replace("$", "\\$") From 7257cdacc8e4b30d524a1c8d4d130af3b4299cb9 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Tue, 31 Jan 2017 18:23:22 +0100 Subject: [PATCH 07/19] fix background button problem --- .../schabi/newpipe/detail/VideoItemDetailFragment.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java b/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java index 8efd549a2..eb75dfa6d 100644 --- a/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java @@ -144,6 +144,7 @@ public class VideoItemDetailFragment extends Fragment { TextView similarTitle = (TextView) activity.findViewById(R.id.detail_similar_title); Button backgroundButton = (Button) activity.findViewById(R.id.detail_stream_thumbnail_window_background_button); + View thumbnailView = activity.findViewById(R.id.detail_thumbnail_view); View topView = activity.findViewById(R.id.detailTopView); Button channelButton = (Button) activity.findViewById(R.id.channel_button); @@ -275,6 +276,14 @@ public class VideoItemDetailFragment extends Fragment { } }); + //todo: make backgroundButton handle this + thumbnailView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + playVideo(info); + } + }); + if (info.channel_url != null && info.channel_url != "") { channelButton.setOnClickListener(new View.OnClickListener() { @Override From 082c6128ade7600a1f1913ac2a853bda2a8fabe3 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Tue, 31 Jan 2017 18:28:47 +0100 Subject: [PATCH 08/19] moved on to 0.8.9 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dcdb87191..488012afc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "org.schabi.newpipe" minSdkVersion 15 targetSdkVersion 25 - versionCode 22 - versionName "0.8.8" + versionCode 23 + versionName "0.8.9" } buildTypes { release { From d48a7f1a187c27b5ffc536d8c7446a256ddd5e8e Mon Sep 17 00:00:00 2001 From: Marco Biscaro Date: Wed, 1 Feb 2017 12:32:06 -0200 Subject: [PATCH 09/19] Adding brazilian portuguese translation (Also set settings_keys as untranslatable) --- app/src/main/res/values-pt-rBR/strings.xml | 146 +++++++++++++++++++++ app/src/main/res/values/settings_keys.xml | 42 +++--- app/src/main/res/values/strings.xml | 2 +- 3 files changed, 168 insertions(+), 22 deletions(-) create mode 100644 app/src/main/res/values-pt-rBR/strings.xml diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 000000000..366440c22 --- /dev/null +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,146 @@ + + + Configurações + Áudio + Não foi possível decriptar a assinatura de URL do vídeo. + Seu comentário (em inglês): + O que aconteceu: + Informações: + WebM — formato aberto + %1$s visualizações + Ver + Vídeo com restrição de idade. Ative os vídeos com restrição de idade nas configurações. + Vídeo + Reproduz o vídeo automaticamente quando o NewPipe for aberto a partir de outro app. + Reproduzir automaticamente + Preto + Bloqueado pelo GEMA. + Cancelar + Checksum + Escolher navegador + Conteúdo + Conteúdo não disponível. + Não foi possível carregar nenhum stream. + Não foi possível carregar a imagem. + Não foi possível carregar os thumbnails. + Escuro + Formato de áudio padrão + Resolução padrão + Excluir + Não curtidas + Curtidas + Baixar + Baixar + Detalhes: + Não foi possível criar pasta de download \'%1$s\' + Reportar erro por e-mail + Relatório de erro + RELATÓRIO + Desculpe, ocorreram alguns erros. + OK + Erro + Pasta de download criada \'%1$s\' + Instalar + Claro + Erro + Copiado para a área de transferência. + Nome do arquivo + Toque para detalhes + NewPipe baixando + Servidor não suportado + Aguarde… + Erro de rede + Próximo vídeo + Abrir no navegador + Pausar + reCAPTCHA + Desafio reCAPTCHA + Desafio reCAPTCHA solicitado + Reportar um erro + Tentar de novo + Rotação + Idioma preferido de conteúdo + Configurações + Configurações + Aparência + Outros + Vídeo & Áudio + Configurações + Compartilhar + Compartilhar com + Exibir conteúdo com restrição de idade + Exibir próximo vídeo e relacionados + Vídeos relacionados + Desculpe, isto não deveria acontecer. + Iniciar + Permissão para acessar o armazenamento negada + Alternar entre lista e grade + Texto + Tema + Publicado em %1$s + URL não suportada + pt + ao vivo + Downloads + Downloads + Você quis dizer: %1$s ? + m4a — melhor qualidade + Nova missão + App/interface parou + Player NewPipe em segundo plano + Reproduzindo em segundo plano + Não foi possível preparar o menu de download. + Thumbnail do vídeo + Thumbnail do usuário que enviou o vídeo + Informe o local para download de áudios. + Local para salvar áudios baixados + Local de download de áudio + Informe o local para download de vídeos + Local para salvar vídeos baixados + Local de download de vídeo + Reproduzir em segundo plano + Conteúdo protegido não é suportado em versões de API anterior a 18 + Ocorreu um erro DRM desconhecido + Este dispositivo não suporta o método DRM necessário + Não foi possível inicializar o decodificador %1$s + Este dispositivo não possui um decodificador para %1$s + Este dispositivo não possui um decodificador seguro para %1$s + Não foi possível consultar os decodificadores do dispositivo + Stream requisitado: + Busca por: + App Kore não instalado. Instalar? + Não foi possível interpretar completamente o site. + Thumbnail do vídeo + Transmissões ao vivo ainda não são suportadas. + Carregando + Nível de log + Normal + Detalhado + Toque em busca para começar + Arquivo já existe + Threads + URL de download + URL inválida ou internet indisponível + Selecione um diretório de download. + Nenhum player de stream encontrado. Instalar VLC? + Não foi possível interpretar o site. + Áudio + Reproduzir + Reproduzir com Kodi + Buscar + Buscar página: + Exibir opção para reprodizir víedeo pela central de mídia Kodi. + Experimental + Usar ExoPlayer + Usar reprodutor de áudio externo + Usar reprodutor de vídeo externo + (Experimental) Forçar o download de conteúdo através do Tor para maior privacidade (streaming de vídeos ainda não suportado). + Usar Tor + Relatório do usuário + Exibir opção \"Reproduzir com Kodi\" + Atividade do canal + Buscar nome do arquivo + O que:\nRequisição:\nIdioma do conteúdo:\nServiço:\nHora GMT:\nPacote:\nVersão:\nVersão SO:\nFaixa de IP: + [off] + + \ No newline at end of file diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 3312e6c8e..01ee6e21e 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -1,20 +1,20 @@ - settings_category_video_audio - settings_category_appearance - settings_content_options - settings_category_other + settings_category_video_audio + settings_category_appearance + settings_content_options + settings_category_other - download_path - download_path_audio - use_external_video_player - use_external_audio_player - autoplay_through_intent - use_exoplayer + download_path + download_path_audio + use_external_video_player + use_external_audio_player + autoplay_through_intent + use_exoplayer - default_resolution_preference - 360p + default_resolution_preference + 360p 720p 360p @@ -22,10 +22,10 @@ 144p - show_play_with_kodi + show_play_with_kodi - theme - @string/light_theme_title + theme + @string/light_theme_title @string/light_theme_title @string/dark_theme_title @@ -35,8 +35,8 @@ @string/dark_theme_title - default_audio_format - m4a + default_audio_format + m4a @string/webm_description @string/m4a_description @@ -46,9 +46,9 @@ m4a - show_next_video + show_next_video en - search_language + search_language @@ -209,6 +209,6 @@ 日本語 한국어 - show_age_restricted_content - use_tor + show_age_restricted_content + use_tor \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6fc947f54..66204d0c8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -180,7 +180,7 @@ MD5 SHA1 ChannelActivity - + "Material is the metaphor.\n\n" "A material metaphor is the unifying theory of a rationalized space and a system of motion." From a69784d1685ed738b1da5ce18916e5a7e81c3e3c Mon Sep 17 00:00:00 2001 From: Wiredframe Date: Wed, 1 Feb 2017 19:57:44 +0000 Subject: [PATCH 10/19] Translated using Weblate (German) Currently translated at 100.0% (142 of 142 strings) --- app/src/main/res/values-de/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3910da0c7..4cf319b35 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -301,4 +301,9 @@ " reCAPTCHA + Schwarz + + reCAPTCHA Herausforderung + reCAPTCHA Herausforderung angefordert + From 78fc5bbbd5e6b0e36fc884e9d598bad90576be23 Mon Sep 17 00:00:00 2001 From: aladar42 Date: Wed, 1 Feb 2017 02:56:38 +0000 Subject: [PATCH 11/19] Translated using Weblate (Czech) Currently translated at 97.1% (138 of 142 strings) --- app/src/main/res/values-cs/strings.xml | 237 +++++++++++++++++++++++-- 1 file changed, 227 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index b73d02a46..e24fe8888 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1,5 +1,5 @@ -Publikováno %1$s +Publikováno %1$s Žádný přehrávač nenalezen. Nainstalovat VLC? Instalovat Zrušit @@ -18,7 +18,7 @@ Použít externí video přehrávač Použít externí audio přehrávač - Cesta, kde se uloží audio po stažení. + Cesta, kam se uloží audio po stažení Zadejte umístění pro uložení audio souborů. Umístění pro stažené audio @@ -30,7 +30,7 @@ %1$s zhlédnutí NewPipe Přehrávač na pozadí Umístění pro stažené video - Cesta, kde se uloží video po stažení. + Cesta, kam se uloží video po stažení. Zadejte umístění pro uložená videa Zobrazit možnost \"Přehrát s Kodi\" @@ -40,8 +40,8 @@ WebM — svobodný formát m4a — lepší kvalita Téma - Tmavý - Světlý + Tmavé + Světlé Stažení Následující video @@ -49,14 +49,14 @@ URL není podporováno Související videa Preferovaný jazyk obsahu - Video & audio + Video a audio Vzhled Ostatní Přehrávám na pozadí Přehrát Chyba Chyba sítě - Nebylo možné stáhnout všechny náhledy + Nebylo možné nahrát všechny náhledy Nebylo možné dekódovat URL videa. Nebylo možné analyzovat webovou stránku. Obsah není k dispozici. @@ -68,7 +68,7 @@ To se mi líbí To se mi nelíbí Použít Tor - Vynutit stahování skrz Tor pro zvýšené soukromí (streaming není zatím podporován) + (Experimentální) Vynutit stahování skrz Tor pro zvýšené soukromí (streaming není zatím podporován). Nebylo možné vytvořit složku pro stažené soubory \'%1$s\' Vytvořena složka pro stažené soubory \'%1$s\' @@ -76,8 +76,225 @@ Automaticky přehrát video, když je NewPipe otevřen z jiné aplikace. Obsah Zobrazovat věkově omezený obsah - Toto video je věkově omezeno. Povolte věkově omezená video v nastavení. + Toto video je věkově omezeno. Povolte věkově omezená videa v nastavení. živě - Nemůžu kompletně parsovat web. + Nebylo možné kompletně analyzovat stránku. + Pro začátek stiskni hledat + Zkopírováno do schránky. + Počkejte prosím… + NewPipe se stahuje + Stiskněte pro detaily + Server není podporován + Soubor již existuje + Špatné URL nebo připojení k Internetu není k disposici + Chyba + Stáhnout URL + Jméno souboru + Vlákna + Zastavit + Smazat + Použít ExoPlayer + Experimentální + + Začít + Neznámá chyba DRM + Zkusit znovu + Text + Hrát na pozadí + Video + Audio + Nahlásit chybu + Hledáno: + Detaily: + + + Vyžádaný stream: + Co se stalo: + NAHLÁSIT + Omlouváme se, tohle se nemělo stát. + Nahlásit chybu přes e-mail + Omlouváme se, staly se nějaké chyby. + Nepodařilo se nahrát obrázek + Aplikace/UI spadlo + Tento stream je vysílán živě, tato funkce ještě není podporována. + Nepodařilo se dostat žádný stream. + Nepodařilo se nastavit menu stahování. + Nastavení + Nahlásit chybu + + Stažené soubory + Stažené soubory + Info: + Vaše poznámky (Anglicky): + Logování + Normální + Chráněný obsah není podporován na API úrovni menší než 18 + Toto zařízení nepodporuje potřebné DRM schéma + Toto zařízení nedodává dekodér pro +%1$s + Toto zařízení nedodává bezpečný dekodér pro + +%1$s + Oprávnění přístupu do Úložiště bylo zamítnuto + Shlédnout + Nová mise + Hotovo + Přepnout mezi listem a mřížkou + + + Získej jméno souboru + Nastavení + reCAPTCHA + Výzva reCAPTCHA + Požadována výzva reCAPTCHA + + Černé + + [vypnuto] + Checksum + + Prosím vyberte dostupnou složku pro stažení souborů. + + Aktivita kanálu + Hlášení uživatele + + " + Material is the metaphor. + + + + A material metaphor is the unifying theory of a rationalized space and a system of motion. + The material is grounded in tactile reality, inspired by the study of paper and ink, yet + technologically advanced and open to imagination and magic. + + Surfaces and edges of the material provide visual cues that are grounded in reality. The + use of familiar tactile attributes helps users quickly understand affordances. Yet the + flexibility of the material creates new affordances that supercede those in the physical + world, without breaking the rules of physics. + + The fundamentals of light, surface, and movement are key to conveying how objects move, + interact, and exist in space and in relation to each other. Realistic lighting shows + seams, divides space, and indicates moving parts. + + + + Bold, graphic, intentional. + + + + The foundational elements of print based design typography, grids, space, scale, color, + and use of imagery guide visual treatments. These elements do far more than please the + eye. They create hierarchy, meaning, and focus. Deliberate color choices, edge to edge + imagery, large scale typography, and intentional white space create a bold and graphic + interface that immerse the user in the experience. + + An emphasis on user actions makes core functionality immediately apparent and provides + waypoints for the user. + + + + Motion provides meaning. + + + + Motion respects and reinforces the user as the prime mover. Primary user actions are + inflection points that initiate motion, transforming the whole design. + + All action takes place in a single environment. Objects are presented to the user without + breaking the continuity of experience even as they transform and reorganize. + + Motion is meaningful and appropriate, serving to focus attention and maintain continuity. + Feedback is subtle yet clear. Transitions are efficient yet coherent. + + + + 3D world. + + + + The material environment is a 3D space, which means all objects have x, y, and z + dimensions. The z-axis is perpendicularly aligned to the plane of the display, with the + positive z-axis extending towards the viewer. Every sheet of material occupies a single + position along the z-axis and has a standard 1dp thickness. + + On the web, the z-axis is used for layering and not for perspective. The 3D world is + emulated by manipulating the y-axis. + + + + Light and shadow. + + + + Within the material environment, virtual lights illuminate the scene. Key lights create + directional shadows, while ambient light creates soft shadows from all angles. + + Shadows in the material environment are cast by these two light sources. In Android + development, shadows occur when light sources are blocked by sheets of material at + various positions along the z-axis. On the web, shadows are depicted by manipulating the + y-axis only. The following example shows the card with a height of 6dp. + + + + Resting elevation. + + + + All material objects, regardless of size, have a resting elevation, or default elevation + that does not change. If an object changes elevation, it should return to its resting + elevation as soon as possible. + + + + Component elevations. + + + + The resting elevation for a component type is consistent across apps (e.g., FAB elevation + does not vary from 6dp in one app to 16dp in another app). + + Components may have different resting elevations across platforms, depending on the depth + of the environment (e.g., TV has a greater depth than mobile or desktop). + + + + Responsive elevation and dynamic elevation offsets. + + + + Some component types have responsive elevation, meaning they change elevation in response + to user input (e.g., normal, focused, and pressed) or system events. These elevation + changes are consistently implemented using dynamic elevation offsets. + + Dynamic elevation offsets are the goal elevation that a component moves towards, relative + to the component’s resting state. They ensure that elevation changes are consistent + across actions and component types. For example, all components that lift on press have + the same elevation change relative to their resting elevation. + + Once the input event is completed or cancelled, the component will return to its resting + elevation. + + + + Avoiding elevation interference. + + + + Components with responsive elevations may encounter other components as they move between + their resting elevations and dynamic elevation offsets. Because material cannot pass + through other material, components avoid interfering with one another any number of ways, + whether on a per component basis or using the entire app layout. + + On a component level, components can move or be removed before they cause interference. + For example, a floating action button (FAB) can disappear or move off screen before a + user picks up a card, or it can move if a snackbar appears. + + On the layout level, design your app layout to minimize opportunities for interference. + For example, position the FAB to one side of stream of a cards so the FAB won’t interfere + when a user tries to pick up one of cards. + + + " + From e869098434e30be4d46612908f14d37358a3be34 Mon Sep 17 00:00:00 2001 From: k3b Date: Thu, 2 Feb 2017 01:58:47 +0100 Subject: [PATCH 12/19] fix NullPointerExcpeption when opening "Downloads" with android-api < 23 --- .../giga/ui/fragment/MissionsFragment.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java b/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java index 43b85a2b5..793876756 100644 --- a/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java +++ b/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java @@ -84,9 +84,23 @@ public abstract class MissionsFragment extends Fragment return v; } - @Override + /** Added in API level 23. */ + @Override public void onAttach(Context activity) { super.onAttach(activity); + + // Bug: in api< 23 this is never called + // so mActivity=null + // so app crashes with nullpointer exception + mActivity = activity; + } + + /** deprecated in API level 23, + * but must remain to allow compatibility with api<23 */ + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + mActivity = activity; } From c322feeaff6fcfc8e602a5f6c2c1c02510eddbd2 Mon Sep 17 00:00:00 2001 From: Snob Malkowitch Date: Fri, 3 Feb 2017 09:25:22 +0000 Subject: [PATCH 13/19] Translated using Weblate (Russian) Currently translated at 94.3% (134 of 142 strings) --- app/src/main/res/values-ru/strings.xml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 57966f214..288b1137a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,5 +1,5 @@ - + %1$s просмотров Опубликовано %1$s Ни одного потокового проигрывателя не было найдено. Установить? @@ -69,7 +69,7 @@ Введите путь к папке для загрузки аудио Нажмите поиск чтобы начать - Пожалуйста подождите... + Пожалуйста подождите… Файл уже существует Потоки Окей @@ -143,4 +143,18 @@ В доступе к хранилищу было отказано Использовать ExoPlayer Получить название файла + Невозможно загрузить все миниатюры + Невозможно расшифровать url у видео + Потоковое видео недоступно. + [отключен] + Это устройство не поддерживает декодер для %1$s + Это устройство не поддерживает безопасный декодер для %1$s + На этом устройстве недоступен декодер. + Невозможно инициировать декодер 1%1$s 2 + Эксперементально + + Воспроизвести + Переключатель между списком и сеткой + + From af760f9cdcabb1c3c138b60fd764f558bb92eb02 Mon Sep 17 00:00:00 2001 From: Matej U Date: Fri, 13 Jan 2017 09:18:33 +0000 Subject: [PATCH 14/19] Translated using Weblate (Slovenian) Currently translated at 100.0% (141 of 141 strings) --- app/src/main/res/values-sl/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 38c9df9b9..932f8de2a 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -165,4 +165,6 @@ Zahteva izziva reCAPTCHA Predmet:\\nZahteva:\\nJezik vsebine:\\nStoritev:\\nČas v GMT:\\nPaket:\\nRazličica:\\nRazličica OS:\\nObseg IP: + Črna + From ecdf4ad5020035f5595e423a3618c9e551f8ac77 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 5 Feb 2017 21:09:36 +0100 Subject: [PATCH 15/19] add np download to readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index df4fcd5eb..3cb87adb2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +SINCE F-DROID NEWPIPE BUILD IS BROKEN, YOU CAN DOWNLOAD IT FROM [HERE](https://mega.nz/#!KlQ0lZrZ!vRmtkOC-byxMIFnUHLfRE-nVU_J_WwMqp4QPGX-S3XY) FOR NOW. HOWERVER THIS IS !!!NOT!!! OFFICIAL. + + WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS. # NewPipe @@ -37,8 +40,7 @@ NewPipe does not use any Google framework libraries, or the YouTube API. It only * Listen to YouTube videos (experimental) * Select the streaming player to watch the video with * Download videos -* Download audio only -* Open a video in Kodi +* Download audio only * Open a video in Kodi * Show Next/Related videos * Search YouTube in a specific language * Watch age restricted material From e8101d5d91d426cd9635fb0211c848d9cd3b4eae Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Sun, 5 Feb 2017 23:56:26 +0100 Subject: [PATCH 16/19] change download link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3cb87adb2..81b405635 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -SINCE F-DROID NEWPIPE BUILD IS BROKEN, YOU CAN DOWNLOAD IT FROM [HERE](https://mega.nz/#!KlQ0lZrZ!vRmtkOC-byxMIFnUHLfRE-nVU_J_WwMqp4QPGX-S3XY) FOR NOW. HOWERVER THIS IS !!!NOT!!! OFFICIAL. +SINCE F-DROID NEWPIPE BUILD IS BROKEN, YOU CAN DOWNLOAD IT FROM [HERE](https://mega.nz/#!t1hjCaAR!YaytcCUVH6xP7zhcNu6cnJ9Q5sQ4992lG0SIicUyxKU) FOR NOW. HOWERVER THIS IS !!!NOT!!! OFFICIAL. WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS. From c42002ccc5acc59599e149166fec05ec8b989ca4 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Mon, 6 Feb 2017 00:04:20 +0100 Subject: [PATCH 17/19] removed download notice again --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 81b405635..e058ffc6b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -SINCE F-DROID NEWPIPE BUILD IS BROKEN, YOU CAN DOWNLOAD IT FROM [HERE](https://mega.nz/#!t1hjCaAR!YaytcCUVH6xP7zhcNu6cnJ9Q5sQ4992lG0SIicUyxKU) FOR NOW. HOWERVER THIS IS !!!NOT!!! OFFICIAL. - - WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS. # NewPipe From 3e0102ad2a922727dadd4f0c7ee66d72135df5b5 Mon Sep 17 00:00:00 2001 From: aladar42 Date: Wed, 8 Feb 2017 16:08:38 +0000 Subject: [PATCH 18/19] Translated using Weblate (Czech) Currently translated at 100.0% (141 of 141 strings) --- app/src/main/res/values-cs/strings.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e24fe8888..983529217 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -117,7 +117,7 @@ Omlouváme se, staly se nějaké chyby. Nepodařilo se nahrát obrázek Aplikace/UI spadlo - Tento stream je vysílán živě, tato funkce ještě není podporována. + Tento stream je vysílán živě, funkce ještě není podporována. Nepodařilo se dostat žádný stream. Nepodařilo se nastavit menu stahování. Nastavení @@ -296,5 +296,9 @@ " - + Podrobné + Nelze zjistit dekodéry zařízení + Nelze doložit dekodér +%1$s + Co:\\nŽádost:\\nJazyk obsahu:\\nSlužba:\\nČas GMT:\\nBalíček:\\nVerze:\\nVerze OS:\\nGlobální rozsah IP: From 27f2c65e6df6a7e17ad4a7cbd8e4b2c487ac11c8 Mon Sep 17 00:00:00 2001 From: aladar42 Date: Wed, 8 Feb 2017 16:26:56 +0000 Subject: [PATCH 19/19] Translated using Weblate (Czech) Currently translated at 100.0% (141 of 141 strings) --- app/src/main/res/values-cs/strings.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 983529217..9d8984957 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1,6 +1,6 @@ Publikováno %1$s - Žádný přehrávač nenalezen. Nainstalovat VLC? + Nenalezen žádný přehrávač. Nainstalovat VLC? Instalovat Zrušit Otevřít v prohlížeči @@ -18,23 +18,23 @@ Použít externí video přehrávač Použít externí audio přehrávač - Cesta, kam se uloží audio po stažení - Zadejte umístění pro uložení audio souborů. + Cesta, kam se uloží stažené audio + Zadejte umístění pro stažené audio soubory. Umístění pro stažené audio Automatické přehrávání skrze Intent Automaticky přehrávat video, jestliže je volané z jiné aplikace. Výchozí rozlišení - Přehrát s Kodi + Přehrát pomocí Kodi Aplikace Kore nenalezena. Nainstalovat Kore? %1$s zhlédnutí NewPipe Přehrávač na pozadí Umístění pro stažené video - Cesta, kam se uloží video po stažení. - Zadejte umístění pro uložená videa + Cesta, kam se uloží stažené video. + Zadejte umístění pro stažená videa - Zobrazit možnost \"Přehrát s Kodi\" - Zobrazit možnost přehrát video s multimediálním centrem Kodi. + Zobrazit možnost \"Přehrát pomocí Kodi\" + Zobrazit možnost přehrání videa pomocí multimediálního centra Kodi. Audio Výchozí audio formát WebM — svobodný formát @@ -43,11 +43,11 @@ Tmavé Světlé - Stažení + Stáhnout Následující video - Zobrazit následující a související videa + Zobrazit následující a podobná videa URL není podporováno - Související videa + Podobná videa Preferovaný jazyk obsahu Video a audio Vzhled @@ -64,11 +64,11 @@ Náhled videa Náhled videa - Náhled uploadera + Náhled obrázku uploadera To se mi líbí To se mi nelíbí Použít Tor - (Experimentální) Vynutit stahování skrz Tor pro zvýšené soukromí (streaming není zatím podporován). + (Experimentální) Vynutit stahování skrz Tor pro zvýšené soukromí (streaming zatím není podporován). Nebylo možné vytvořit složku pro stažené soubory \'%1$s\' Vytvořena složka pro stažené soubory \'%1$s\'