diff --git a/AndroidManifest.xml b/AndroidManifest.xml index fbd5b369..7e588da5 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="186" + android:versionName="1.8.6" > + + + Conectando… + Tiny Tiny RSS + Por favor, configure a aplicação. + Pronto para conectar. + Conectar + Desconectar + Conectar + Debugando + Senha + http://example.domain/tt-rss/ + Aparência + Tema + Muda as cores da aplicação + URL do Tiny Tiny RSS + Escuro + Configurações + Claro + Conecção + Artigos selecionados + Autenticação HTTP + Carregando, aguarde... + Mostrar feeds não lidos + Mostrar todos os feeds + Atualizar + Compartilhar artigo + Marcar como lido + Ordenar por não lidos + Aceitar qualquer certificado + Navegar pelos feeds + Navegar pelos artigos + + Registrar no log os dados enviados e recebidos + Colocar/Retirar estrela + Publicar/Não publicar + Selecionar artigos + Selecionar artigos + Tudo + Não lidos + Deselecionar tudo + Colocar/Retirar estrela + Publicar/Não publicar + Lido/Não lido + Deselecionar tudo + Colocar/Remover estrela + Publicar/Nâo publica + Lido/Não lido + Artigo marcado como não lido + Marcar acima como lido + Opcional. Preencha este campo se sua instalação do tt-rss usa autenticação básica por http + Seu usuário tt-rss. Não é necessário no modo mono usuário + URL da sua instalação tt-rss, por exemplo http://site.com/tt-rss/ + Habilitar ícones das assinaturas + Habilitar categorias + Nenhuma assinatura a mostrar + Nenhum cabeçalho para mostrar + Nenhuma legenda a mostrar + Navegar pelas categorias como se fossem feeds + Use o menu de categorias para substituir essa configuração + Marcar como lido + Erro: Desconhecido (veja log) + Erro: 401 Não autorizado + Erro: 403 Acesso negado + Erro: 404 Não encontrado + Erro: 500 Erro no servidor + Erro: Outro erro HTTP (veja log) + Erro: Certificado SSL foi rejeitado + Erro: Falha ao converter string JSON + Erro: Falha de I/O (Servidor fora?) + Erro: Erro desconhecido (veja log) + Erro: Habilite o acesso por API externa na configuração do avançada do tt-rss + Erro: Erro desconhecido na API (veja log) + Erro: Uso incorreto da API + Erro: Usuário ou senha inválidos + Erro: A URL da API é inválida + Mostrar todo o texto do arquivo ao invés de usar um painel separado + Modo combinado + Modo offline + Modo online + Falha ao preparar o modo offline (ver log) + Nenhuma assinatura para mostrar + Nenhum artigo para mostrar + O Login falhou mas você tem dados armazenados, ir para modo offline? + Modo offline está disponível + Ir para offline + Cancelar + Baixar artigos não lidos e mudar para offline? + Baixando artigos (%1$d)… + Iniciando download… + Baixando assinaturas… + Enviando dados para o servidor… + Preparando modo offline + Sincronizando dados offline + Sincronização de dados offline completa + Modo offline + Armazenar imagens + Baixar imagens para o cartão SD. Isso pode aumentar consideravelmente o tempo para o modo offline. + Baixando imagens (%1$d)… + Definir tags + Pesquisar + Cancelar + Pequeno + Médio + Grande + Tamanho do texto dos artigos + Doe + Fechar + Por favor, selecione a doação + Doe! + Swipe between articles + Copiar link para a área de transferência + Texto copiado para a área de transferência + Selecione anexo + Exibir + Copiar URL + Justificar texto dos artigos + Sincronização offline em progresso + Para sincronização + Continuar + Publicar com anotação + Fechar assinatura + Fechar artigo + Configuração + Preencha com a informação do servidor tt-rss como URL, login e senha. + Artigo com estrela + Artigo sem estrela + Artigo publicado + Artigo não publicado + Nota do artigo salva + Atualizar + Compartilhar + Erro: Rede indisponível + Navegar pelos títulos + Visualização padrão de assinaturas + Qual assinatura abrir por padrão em smartphones + Doação encontrada, obrigado pelo suporte! + Usar botões de volume + Mudar entre artigos usando os botões de volume + Não verificar hostname + Erro: metodo API desconhecido + Aceitar qualquer certificado SSL sem verificação + Não verificar o nome do servidor + SSL + Erro: Nome SSL não verificado + Mostrar artigos mais antigos primeiro + Ocultar barra de status + Ocultar barra de status durante a leitura + %1$d comentários + Modo de teste, resta(m) %1$d dia(s). + Desbloquear a versão completa + Período de teste encerrado + Para continuar usando o Tiny Tiny RSS por favor desbloqueie a versão completa comprando a chave. + Sepia + Versão completa, obrigado pelo suporte! + Modo tela cheia + Lendo + Cinza escuro + Número de artigos a baixar + Número de artigos a baixar para o modo Offline (mais novos primeiro). + Mostrar prévia do conteúdo na lista de títulos + Prévia do conteúdos do artigo + Esta ação precisa de uma nova versão do Tiny Tiny RSS + URL: + URL do artigo + Conteúdo do artigo + Título: + Título do artigo + Compartilhar + Artigo postado. + Assinar com Tiny Tiny RSS + URL da assinatura + Assinar feed + Erro ao assinar. + Lista de categorias atualizada + Feed assinado + Erro: Assinatura já existe. + Erro: URL inválida. + Erro: URL é de uma página HTML, nenhum feed encontrado. + Erro: URL contém múltiplos feeds + Erro: Não foi possível baixar a URL + Define modo de visualização + Define modo de visualização + Adaptativa + Todos os artigos + Com estrela + Publicados + Não lidos + Abrir imagem + Compartilhar imagem + Requer versão 1.7.6 + Tags + Ver legenda + Tema claro não é suportado no Honeycomb + Marcar como lida ao visualizar + Títulos serão marcados como lidos ao rodar depois deles + Marcar %1$d artigo(s) como lido(s)? + Confirme marcação de artigos como lidos + por %1$s + %1$d artigos não lidos + Tamanho do texto para os títulos + diff --git a/src/org/fox/ttrss/FeedCategoriesFragment.java b/src/org/fox/ttrss/FeedCategoriesFragment.java index 144ea7c8..34b21922 100644 --- a/src/org/fox/ttrss/FeedCategoriesFragment.java +++ b/src/org/fox/ttrss/FeedCategoriesFragment.java @@ -11,6 +11,7 @@ import org.fox.ttrss.types.Feed; import org.fox.ttrss.types.FeedCategory; import org.fox.ttrss.types.FeedCategoryList; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; @@ -48,29 +49,32 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe private FeedCategory m_selectedCat; private FeedsActivity m_activity; + @SuppressLint("DefaultLocale") class CatUnreadComparator implements Comparator { @Override public int compare(FeedCategory a, FeedCategory b) { if (a.unread != b.unread) return b.unread - a.unread; else - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); } } + @SuppressLint("DefaultLocale") class CatTitleComparator implements Comparator { @Override public int compare(FeedCategory a, FeedCategory b) { if (a.id >= 0 && b.id >= 0) - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else return a.id - b.id; } } + @SuppressLint("DefaultLocale") class CatOrderComparator implements Comparator { @Override @@ -79,7 +83,7 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe if (a.order_id != 0 && b.order_id != 0) return a.order_id - b.order_id; else - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else return a.id - b.id; } diff --git a/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java index dafbd26d..cc7e213e 100644 --- a/src/org/fox/ttrss/FeedsFragment.java +++ b/src/org/fox/ttrss/FeedsFragment.java @@ -17,6 +17,7 @@ import org.fox.ttrss.types.Feed; import org.fox.ttrss.types.FeedCategory; import org.fox.ttrss.types.FeedList; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; @@ -69,6 +70,7 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh m_activeCategory = cat; } + @SuppressLint("DefaultLocale") class FeedUnreadComparator implements Comparator { @Override @@ -76,37 +78,39 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh if (a.unread != b.unread) return b.unread - a.unread; else - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); } } + @SuppressLint("DefaultLocale") class FeedTitleComparator implements Comparator { @Override public int compare(Feed a, Feed b) { if (a.is_cat && b.is_cat) - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else if (a.is_cat && !b.is_cat) return -1; else if (!a.is_cat && b.is_cat) return 1; else if (a.id >= 0 && b.id >= 0) - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else return a.id - b.id; } } + @SuppressLint("DefaultLocale") class FeedOrderComparator implements Comparator { @Override public int compare(Feed a, Feed b) { if (a.id >= 0 && b.id >= 0) if (a.is_cat && b.is_cat) - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else if (a.is_cat && !b.is_cat) return -1; else if (!a.is_cat && b.is_cat) @@ -114,7 +118,7 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh else if (a.order_id != 0 && b.order_id != 0) return a.order_id - b.order_id; else - return a.title.compareTo(b.title); + return a.title.toUpperCase().compareTo(b.title.toUpperCase()); else return a.id - b.id; } diff --git a/src/org/fox/ttrss/HeadlinesActivity.java b/src/org/fox/ttrss/HeadlinesActivity.java index 6d0af32b..0bd5cabc 100644 --- a/src/org/fox/ttrss/HeadlinesActivity.java +++ b/src/org/fox/ttrss/HeadlinesActivity.java @@ -179,6 +179,8 @@ public class HeadlinesActivity extends OnlineActivity implements HeadlinesEventL @Override public void onArticleSelected(Article article, boolean open) { + if (article == null) return; + if (article.unread) { article.unread = false; saveArticleUnread(article);