From bc2e180db377eedadbe1ea455d8fb311ead8f9d6 Mon Sep 17 00:00:00 2001 From: Soren Stoutner Date: Fri, 11 Sep 2020 15:51:45 -0700 Subject: [PATCH] Migrate five dialogs to Kotlin. https://redmine.stoutner.com/issues/604 --- app/build.gradle | 8 +- app/src/free/res/values-pt-rBR/strings.xml | 36 ++ .../assets/de/about_contributors_dark.html | 5 +- .../assets/de/about_contributors_light.html | 5 +- .../assets/en/about_contributors_dark.html | 3 +- .../assets/en/about_contributors_light.html | 3 +- .../assets/es/about_contributors_dark.html | 5 +- .../assets/es/about_contributors_light.html | 5 +- .../assets/fr/about_contributors_dark.html | 31 +- .../assets/fr/about_contributors_light.html | 31 +- .../assets/it/about_contributors_dark.html | 5 +- .../assets/it/about_contributors_light.html | 5 +- .../assets/ru/about_contributors_dark.html | 3 +- .../assets/ru/about_contributors_light.html | 3 +- .../assets/tr/about_contributors_dark.html | 3 +- .../assets/tr/about_contributors_light.html | 3 +- .../dialogs/AboutViewSourceDialog.kt | 2 +- .../privacybrowser/dialogs/AddDomainDialog.kt | 13 +- .../dialogs/CreateBookmarkDialog.kt | 27 +- .../dialogs/CreateBookmarkFolderDialog.kt | 13 +- .../dialogs/CreateHomeScreenShortcutDialog.kt | 27 +- .../dialogs/EditBookmarkDatabaseViewDialog.kt | 104 +-- .../dialogs/EditBookmarkDialog.java | 318 --------- .../dialogs/EditBookmarkDialog.kt | 288 +++++++++ .../EditBookmarkFolderDatabaseViewDialog.java | 480 -------------- .../EditBookmarkFolderDatabaseViewDialog.kt | 437 +++++++++++++ .../dialogs/EditBookmarkFolderDialog.java | 287 --------- .../dialogs/EditBookmarkFolderDialog.kt | 258 ++++++++ .../dialogs/FontSizeDialog.java | 186 ------ .../privacybrowser/dialogs/FontSizeDialog.kt | 165 +++++ .../dialogs/HttpAuthenticationDialog.java | 259 -------- .../dialogs/HttpAuthenticationDialog.kt | 266 ++++++++ .../dialogs/MoveToFolderDialog.java | 2 +- .../dialogs/PinnedMismatchDialog.java | 2 +- .../dialogs/SaveLogcatDialog.java | 2 +- .../dialogs/SslCertificateErrorDialog.java | 2 +- .../dialogs/UrlHistoryDialog.java | 2 +- .../dialogs/ViewRequestDialog.java | 2 +- .../dialogs/ViewSslCertificateDialog.java | 2 +- .../dialogs/WaitingForProxyDialog.java | 2 +- .../fragments/DomainSettingsFragment.java | 2 +- .../edit_bookmark_databaseview_dialog.xml | 3 +- .../main/res/layout/edit_bookmark_dialog.xml | 12 +- ...it_bookmark_folder_databaseview_dialog.xml | 3 +- .../layout/edit_bookmark_folder_dialog.xml | 5 +- .../res/layout/http_authentication_dialog.xml | 5 +- app/src/main/res/values-pt-rBR/strings.xml | 603 ++++++++++++++++++ app/src/main/res/values/strings.xml | 3 + build.gradle | 2 +- 49 files changed, 2250 insertions(+), 1688 deletions(-) create mode 100644 app/src/free/res/values-pt-rBR/strings.xml delete mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkDialog.java create mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkDialog.kt delete mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDatabaseViewDialog.java create mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDatabaseViewDialog.kt delete mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDialog.java create mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDialog.kt delete mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/FontSizeDialog.java create mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/FontSizeDialog.kt delete mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/HttpAuthenticationDialog.java create mode 100644 app/src/main/java/com/stoutner/privacybrowser/dialogs/HttpAuthenticationDialog.kt create mode 100644 app/src/main/res/values-pt-rBR/strings.xml diff --git a/app/build.gradle b/app/build.gradle index c00727df..8e47ef3b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -83,17 +83,17 @@ dependencies { implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' implementation "androidx.core:core-ktx:1.3.1" - implementation 'androidx.drawerlayout:drawerlayout:1.1.0' + implementation 'androidx.drawerlayout:drawerlayout:1.1.1' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.viewpager:viewpager:1.0.0' implementation 'androidx.webkit:webkit:1.3.0' - // Include the Kotlin standard libraries - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72" + // Include the Kotlin standard libraries. This should be the same version number listed in project build.gradle. + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10" // Include the Google material library. - implementation 'com.google.android.material:material:1.2.0' + implementation 'com.google.android.material:material:1.2.1' // Only compile Firebase ads for the free flavor. freeImplementation 'com.google.firebase:firebase-ads:19.3.0' diff --git a/app/src/free/res/values-pt-rBR/strings.xml b/app/src/free/res/values-pt-rBR/strings.xml new file mode 100644 index 00000000..c938b6f3 --- /dev/null +++ b/app/src/free/res/values-pt-rBR/strings.xml @@ -0,0 +1,36 @@ + + + + + + + Privacy Browser Free + + + Open with Privacy Browser Free. + + + Privacy Browser Free displays a banner ad on the bottom of the screen. + These ads come from Google’s set of commonly used providers and are configured to be non-personalized. + \n\nThe standard version of Privacy Browser does not contain app ads. + Close Browser + Accept Ads + \ No newline at end of file diff --git a/app/src/main/assets/de/about_contributors_dark.html b/app/src/main/assets/de/about_contributors_dark.html index 4afe4615..326c2177 100644 --- a/app/src/main/assets/de/about_contributors_dark.html +++ b/app/src/main/assets/de/about_contributors_dark.html @@ -1,7 +1,7 @@ + - + - + - + + + + + Navegador Privado + Privado + + + + + Modo Privado + JavaScript ativado + JavaScript desativado + Cookies primários habilitados + Cookies primários desabilitados + Cookies de terceiros habilitados + Cookies de terceiros desabilitados + Armazenamento DOM ativado + Armazenamento DOM desativado + Dados de formulário habilitados + Dados de formulário desabilitados + Cookies excluídos + Armazenamento DOM excluído + Dados do formulário excluídos + Abrir a caixa de navegação + Fechar a caixa de navegação + URL desconhecida: + Adicionar aba + Fechar aba + Nova aba + Carregando... + Erro: + Aplicar + + + Carregando EasyList + Carregando EasyPrivacy + Carregando Fanboy’s Annoyance List + Carregando Fanboy’s Social Blocking List + Carregando UltraList + Carregando UltraPrivacy + + + Ícone dos Favoritos + URL ou termos de pesquisa + + + Ver certificado SSL + Site não criptografado + A comunicação com este site não é criptografada. Isso permite que terceiros interceptem informações, rastreiem sua navegação e insiram conteúdo malicioso. + Certificado SSL + Fecha + Domínio + Domínio: + Endereço de IP: + Emitido para + Emitido por + Nome Comum: + Organização: + Unidade da Organização: + Datas Válidas + Data Inicial: + Data Final: + + + Erro de certificado SSL + Prosseguir + A data de início do certificado está no futuro + O certificado expirou + O nome comum não corresponde ao nome do host + A autoridade de certificação não é confiável + A data do certificado é inválida + O certificado é inválido + URL + URL: + + + Incompatibilidade fixada + Atualizar + Atual + Fixada + + + Autenticação HTTP + Host: + Nome do usuário + Senha + + + Caixa de Navegação + Navegação + Limpar e fechar + Início + Fim + Avançar + Histórico + Limpar Histórico + Abrir + Downloads + Configurações + Importar/Exportar + Logcat + Guia + Sobre + + + JavaScript + Atualizar + Parar + Cookies primários + Cookies de terceiros + Armazenamento DOM + Dados do formulário + Limpar dados + Limpar Cookies + limpar Armazenamento DOM + Clear Form Data + Lista de Aborrecimento Fanboy’s + Lista de bloqueio social Fanboy’s + Bloquear todas as solicitações de terceiros + Página + User Agent + Privacy Browser + WebView Default + Firefox para Android + Chrome para Android + Safari para iOS + Firefox para Linux + Chromium para Linux + Firefox para Windows + Chrome para Windows + Edge para Windows + Internet Explorer para Windows + Safari para macOS + Personalizado + Deslize para atualizar + Janela ampliada + Exibir imagens + Dark WebView + Tamanho da Fonte + Procurar + Imprimir + Página da Web do Privacy Browser + Salvar + Salvar URL + Salvar como arquivo + Salvar como imagem + Adicionar à tela inicial + Ver fonte + Compartilhar + Compartilhar URL + Abrir com aplicativo + Abrir com navegador + Adicionar configurações de domínio + Editar configurações de domínio + + + Abrir em nova aba + Abrir em segundo plano + Abra a imagem em uma nova aba + Copiar URL + Endereço de Email + Copiar Email Address + Escrever Email + Visualizar Imagem + + + Anterior + Próximo + + + Nome do Arquivo + Salvar Arquivo + Salvar Imagem + Pagina_Web.mht + Pagina_Web.png + Arquivo + bytes + tamanho desconhecido + URL inválida + OK + Salvando file: + Salvando imagem: + Arquivo Salvo: + Imagem salva. + Erro ao salvar o arquivo: + Erro ao salvar a imagem: + + + Solicitar cabeçalhos + Mensagem de Resposta + Cabeçalhos de resposta + Corpo de Resposta + Sobre Ver Fonte + Como o WebView do Android não expõe as informações de origem, + uma solicitação separada foi feita usando ferramentas do sistema para reunir as informações exibidas nesta atividade. + Pode haver algumas diferenças entre esses dados e aqueles usados pelo WebView na atividade principal. Essa limitação será removida na série 4.x com o lançamento do Privacy WebView. + + + Criar atalho + Nome do atalho + Abrir com o navegador padrão. + Abrir com o Privacy Browser. + Cancelar + Criar + + + Favoritos + Visualização do banco de dados + Criar marcador + Criar pasta + Ícone de favorito atual + Ícone da pasta atual + Ícone de pasta padrão + Ícone favorito da página da web + Nome do marcador + Nome da pasta + URL do favorito + Os nomes das pastas devem ser únicos + Editar favorito + Editar Pasta + Mover para a pasta + Mover + + + Selecionados: + Subir + Descer + Editar + Apagar + Selecionar Tudo + Favoritos excluídos: + Desfazer + + + Visualização do banco de dados de favoritos + Todas as pastas + Pasta Pessoal + Ordenar + Ordenado por ID de banco de dados. + Ordenado por ordem de exibição. + ID de banco de dados: + Pasta: + Pasta Superior: + Ordem de exibição: + Um favorito não pode ser desmarcado enquanto a pasta superior estiver selecionada. + + + Solicitações + Solicitar Detalhes + Disposição + Tudo + Padrão + Padrão - Permitido + Permitido + Permitido + Terceiros + Terceiros - Bloqueados + Bloqueado + Bloqueados + Lista de bloqueios + Sublista + Lista branca principal + Lista de permissões final + Lista de permissões de domínio + Lista de permissões inicial do domínio + Lista de permissões final de domínio + Lista de permissões de terceiros + Lista de permissões de domínio de terceiros + Lista de permissões inicial de domínio de terceiros + Lista negra principal + Lista negra inicial + Lista negra final + Lista negra de domínio + Lista negra inicial do domínio + Lista negra final do domínio + Lista negra de expressões regulares de domínio + Lista negra de terceiros + Lista negra inicial de terceiros + Lista negra de domínios de terceiros + Lista negra inicial de domínios de terceiros + Lista negra de expressões regulares de terceiros + Lista negra de expressões regulares de domínios de terceiros + Lista negra de expressões regulares + Entradas da lista de bloqueio + Entrada original da lista de bloqueio + + + Domínios + Configurações de domínio + Adicionar Domínio + Nome de domínio já existe + Adicionar + Nome do domínio + Domínio excluído + *. pode ser anexado a um domínio para incluir todos os subdomínios (e.g. *.stoutner.com) + + Padrão do Sistema + Tamanho de fonte personalizado + + + Padrão do Sistema + Deslize para atualizar ativado + Deslize para atualizar desativado + + + Padrão do Sistema + Tema Claro WebView + Tema Escuro WebView + + + Padrão do Sistema + Janela de visualização ampla ativada + Janela de visualização ampla desativada + + + Padrão do Sistema + Imagens habilitadas + Imagens desabilitadas + + Certificado SSL fixado + Certificado SSL salvo + Certificado SSL do site atual + Carregue um site criptografado antes de abrir as configurações de domínio para preencher o certificado SSL do site atual. + Endereços IP fixados + Endereços IP salvos + Endereços IP atuais + + + Encriptação + + Nenhum + Senha + OpenPGP + + A criptografia de senha não funciona no Android KitKat. + O arquivo não existe. + O arquivo já existe. Se você continuar, ele será sobrescrito. + A criptografia OpenPGP requer que o OpenKeychain seja instalado. + O arquivo não criptografado terá que ser importado em uma etapa separada após ser descriptografado. + Settings.pbs + Localização do Arquivo + Navegar + Exportar + Importar + Descriptografar + Exportação bem sucedida. + A exportação falhou: + A importação falhou: + Permissão de armazenamento + O Privacy Browser precisa de permissão de armazenamento para acessar diretórios públicos. + Se for negado, os diretórios do aplicativo ainda podem ser usados. + O acesso a arquivos em diretórios públicos requer permissão de armazenamento. Caso contrário, apenas os diretórios de aplicativos funcionarão. + Este local não pode ser usado porque a permissão de armazenamento não foi concedida. + + + Cópia + Logcat copiado. + Limpar + Salvar logcat + Privacy Browser Logcat.txt + Arquivo salvo com sucesso. + Falha ao salvar: + + + Visão geral + Armazenamento Local + Certificados SSL + Proxies + IDs de rastreamento + + + Orbot Não Instalado + O proxy através do Orbot não funcionará a menos que o aplicativo Orbot esteja instalado. + I2P Não Instalado + O proxy através do I2P não funcionará a menos que o aplicativo I2P esteja instalado. + Esperando que o Orbot se conecte. + O URL do proxy personalizado é inválido. + Os proxies SOCKS não funcionam no Android KitKat. + + + Sobre o Privacy Browser + Versão + Código da Versão + Hardware + Marca: + Fabricante: + Modelo: + Dispositivo: + Bootloader: + Radio: + Software + Android: + API + Build: + Patch de segurança: + Fornecedor WebView: + Versão do WebView: + Orbot: + I2P: + OpenKeychain: + EasyList: + EasyPrivacy: + Fanboy’s Annoyance List: + Fanboy’s Social Blocking List: + UltraList: + UltraPrivacy: + Assinatura do Pacote + DN do emissor: + Assunto DN: + Versão do certificado: + Número de série: + Algoritmo de Assinatura: + Permissões + Política de Privacidade + Changelog + Licenças + Contribuidores + Links + + + Privacidade + JavaScript + JavaScript permite que sites executem programas (scripts) no dispositivo. + Cookies primários + Como os cookies primários são uma configuração de nível de aplicativo, quando a guia ativa tem cookies habilitados, + todas as solicitações de rede feitas em segundo plano por outras guias também incluirão quaisquer cookies armazenados para seus domínios. + O Android KitKat (versão 4.4.x) não diferencia entre cookies primários e de terceiros e os habilitará com esta configuração. + Cookies de terceiros + Esta configuração requer Android Lollipop (versão 5.0) ou superior. Não tem efeito se os cookies primários estiverem desativados. + Armazenamento DOM + JavaScript deve estar habilitado para que o armazenamento DOM funcione. + Dados do formulário + Dados de formulário salvos podem preencher campos automaticamente em sites. + + Mimetizar o Navegador: + + Privacy Browser + WebView Padrão + Firefox para Android + Chrome para Android + Safari para iOS + Firefox para Linux + Chromium para Linux + Firefox para Windows + Chrome para Windows + Edge para Windows + Internet Explorer para Windows + Safari para macOS + Personalizado + + + Padrão do Sistema + Privacy Browser + WebView Padrão + Firefox para Android + Chrome para Android + Safari para iOS + Firefox para Linux + Chromium para Linux + Firefox para Windows + Chrome para Windows + Edge para Windows + Internet Explorer para Windows + Safari para macOS + Personalizado + + Agente de usuário personalizado + Modo de navegação anônima + Limpe o histórico e o cache após o término do carregamento de cada página da web. No modo de navegação anônima, + volta para fechar a guia (ou o aplicativo, se houver apenas uma guia). + Não rastreie + Envie \'Não Rastreie\' ao cabeçalho, que sugere educadamente que os servidores da web não rastreiam este navegador. + Permitir capturas de tela + Permitir capturas de tela, gravação de vídeo e visualização em monitores não seguros. Alterar esta configuração irá reiniciar o Privacy Browser. + Blocklists + EasyList + Lista principal de bloqueio de anúncios. + EasyPrivacy + Lista de bloqueio do rastreador principal. + Lista de importunação Fanboy’s + Bloqueie popups e links irritantes. Inclui listas de bloqueio social do Fanboy. + Lista de bloqueio social do Fanboy + Bloqueia conteúdo de mídia social de terceiros. + UltraList + O UltraList bloqueia anúncios que EasyList não bloqueia porque fazer isso pode quebrar sites. + UltraPrivacy + O UltraPrivacy bloqueia rastreadores que o EasyPrivacy não bloqueia, pois isso pode corromper sites. + Bloquear todas as solicitações de terceiros + Bloquear todas as solicitações de terceiros aumenta a privacidade, mas quebra muitos sites. + Modificação de URL + Google Analytics + Remova utm_ e amp; utm_ e qualquer coisa depois deles dos URLs. + IDs de clique do Facebook + Remover “?fbclid=†, “&fbclid=†, “?fbadid=†, e “&fbadid=†e qualquer coisa depois deles a partir de URLs. + Redirecionamentos de AMP do Twitter + Remover “?amp=1†e qualquer coisa depois de URLs. + Search + + Startpage + Mojeek + DuckDuckGo - JavaScript desativado + DuckDuckGo - JavaScript ativado + Google + Bing + Yahoo - JavaScript desativado + Yahoo - JavaScript ativado + Custom + + URL personalizado + URL personalizado de pesquisa + Proxy + Nenhum + Tor + I2P + Personalizado + + Nenhum + Tor + I2P + Personalizado + + Nenhum - conecte-se diretamente à Internet. + Tor - conecte-se por meio do socks://localhost:9050. + Tor - conecte-se por meio de http://localhost:8118. + I2P - conecte-se por meio de http://localhost:4444. + Personalizar proxy + URL de proxy personalizado + Tela Cheia + Modo de navegação em tela inteira + Toque duas vezes para alternar o modo de navegação em tela inteira. + Ocultar a barra de aplicativos + Oculte a barra de aplicativos que contém o URL. + Limpar tudo + + Limpa cookies, armazenamento DOM, dados de formulário e cache do WebView. Em seguida, exclui manualmente todos os diretórios “app_webview” e “cache”. + Limpar cookies + Limpa os cookies originais e de terceiros. + Limpar armazenamento DOM + Limpa o armazenamento DOM. + Limpar dados do formulário + Limpa os dados do formulário. + Limpar cache + Limpa o cache do WebView. + Geral + Pagina inicial + Localização de Download + + Automático + Diretório do aplicativo + Diretório público + Personalizado + + Localização de Download Personalizada + Tamanho da Fonte + Abrir conteúdo em uma nova guia + Conteúdos são links enviados de outros aplicativos. + Deslize para atualizar + Alguns sites não funcionam bem se deslizar para atualizar estiver habilitado. + Role a barra de aplicativos + Role a barra de aplicativos para fora da parte superior da tela quando o WebView rola para baixo. + Exibir ícones adicionais da barra de aplicativos + Exibe ícones na barra de aplicativos para atualizar o WebView e, se houver espaço, para alternar cookies e armazenamento DOM. + Tema do aplicativo + + Padrão do Sitema + Claro + Escuro + + Tema do WebView + + Padrão do Sitema + Claro + Escuro + + Janela de visualização ampla + Usar uma janela de visualização ampla torna o layout de algumas páginas da web mais parecido com o site para desktop. + Exibir imagens da página da web + Desative para conservar a largura de banda. + + + Consentimento de Anúncio + \ 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 73fc0eff..c6612310 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -668,6 +668,9 @@ Display webpage images Disable to conserve bandwidth. + + allow_screenshots + Privacy Browser PrivacyBrowser/1.0 diff --git a/build.gradle b/build.gradle index a2368ae1..cbb381a7 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:4.0.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files -- 2.43.0