Fixed notification service to restart when the process is killed (return START_STICKY)

Remove notification and stop service when the user removes the app from recent apps
This commit is contained in:
Synced Synapse 2015-02-25 19:18:02 +00:00
parent 337ac9450a
commit c423d15ec8
3 changed files with 246 additions and 2 deletions

View File

@ -1,6 +1,11 @@
Changelog
---------
Version 1.1
-----------
- Brazilian Portuguese translation (by Rafael Rosário @rafaelricado)
Version 1.1.0
-------------
- Replace Codec button with Context button on remote. Codec info is now available through a long click on Info button

View File

@ -91,7 +91,7 @@ public class NotificationService extends Service
// If we are already initialized and the same host, exit
if (mHostConnectionObserver == connectionObserver) {
LogUtils.LOGD(TAG, "Already initialized");
return START_NOT_STICKY;
return START_STICKY;
}
// If there's a change in hosts, unregister from the previous one
@ -104,7 +104,7 @@ public class NotificationService extends Service
mHostConnectionObserver.registerPlayerObserver(this, true);
// If we get killed, after returning from here, don't restart
return START_NOT_STICKY;
return START_STICKY;
}
@Override
@ -113,6 +113,14 @@ public class NotificationService extends Service
return null;
}
@Override
public void onTaskRemoved (Intent rootIntent) {
// Gracefully stop
removeNotification();
LogUtils.LOGD(TAG, "Shutting down notification service - Task removed");
mHostConnectionObserver.unregisterPlayerObserver(this);
stopSelf();
}
/**
* HostConnectionObserver.PlayerEventsObserver interface callbacks

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
Copyright 2015 Synced Synapse. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<string name="app_name">Kore</string>
<string name="settings">Configurações</string>
<string name="action_options">Opções</string>
<string name="loading">Carregando...</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
<string name="xbmc_media_center">Media Center</string>
<string name="home">Início</string>
<string name="movies">Filmes</string>
<string name="tv_shows">Seriados</string>
<string name="music">Músicas</string>
<string name="pictures">Fotos</string>
<string name="addons">Extensões</string>
<string name="no_xbmc_configured">Nenhum media center configurado</string>
<string name="add_xbmc">Adicionar Media Center</string>
<string name="xbmc_quit">Media Center está fechando.</string>
<string name="wol_sent">Pedido enviado para seu Media Center</string>
<string name="power">Energia</string>
<string name="quit">Sair</string>
<string name="suspend">Suspender</string>
<string name="shutdown">Desligar</string>
<string name="send">Enviar</string>
<string name="send_text">Enviar texto para media center</string>
<string name="text_to_send">Texto para enviar</string>
<string name="finish_after_send">Terminar após enviar</string>
<string name="library_actions">Manutenção da biblioteca</string>
<string name="clean_video_library">Limpar biblioteca de vídeo</string>
<string name="clean_audio_library">Limpar biblioteca de música</string>
<string name="update_video_library">Actualizar biblioteca de vídeo</string>
<string name="update_audio_library">Actualizar biblioteca de música</string>
<string name="toggle_fullscreen">Mudar modo de ecrã</string>
<string name="connected_to">Conectado ao %1$s</string>
<string name="connecting">Conectando...</string>
<string name="connecting_to">Conectando-se ao %1$s (%2$s)...</string>
<string name="wizard_welcome">Bem-Vindo</string>
<string name="wizard_welcome_message"><![CDATA[Vamos começar adicionando um Media Center. Certifique-se que seu Kodi/XBMC está aberto, configurado corretamente e na mesma rede do seu dispositivo. <br/> <br/> Você pode obter ajuda configurando-o <a href="http://syncedsynapse.com/kore/kore-faq/>aqui</a>. <br/> <br/> Quando estiver pronto, pressione <b><i>Avançar</i></b>. ]]></string>
<string name="wizard_search_message"><![CDATA[
Procurando Media Center na rede…<br/>
]]></string>
<string name="wizard_search_no_host_found"><![CDATA[Não foi possível encontrar Media Center na sua rede. <br/>Se precisar de ajuda para configurar verifique <a href="http://syncedsynapse.com/kore/kore-faq/>aqui</a>. <br/> <br/> Clique em <i>Pesquisar</i> para procurar novamente ou <i>próximo</i> para configuração manual. <br/>]]></string>
<string name="wizard_search_host_found"><![CDATA[ Encontrei estes Media Center na sua rede. <br/> <br/>Selecione um para adicionar ou pressione <i>seguinte</i> para adicionar manualmente um novo. ]]></string>
<string name="searching">Procurando</string>
<string name="no_xbmc_found">Nenhum Media Center encontrado</string>
<string name="xbmc_found">Media Center encontrado</string>
<string name="wizard_manual_configuration">Configuração manual</string>
<string name="wizard_manual_configuration_message">Insira sua configuração do Media Center:</string>
<string name="wizard_manual_configuration_message_advanced">Configuração avançada (deixe em branco para padrão)</string>
<string name="wizard_xbmc_name">Nome do Media Center</string>
<string name="wizard_xbmc_ip">Endereço</string>
<string name="wizard_xbmc_port">Porta</string>
<string name="wizard_xbmc_username">Usuário</string>
<string name="wizard_xbmc_password">Senha</string>
<string name="wizard_xbmc_tcp_port">Porta TCP (9090)</string>
<string name="wizard_xbmc_mac_address">Endereço MAC</string>
<string name="wizard_xbmc_wol_port">Porta WoL (9)</string>
<string name="wizard_no_name_specified">Por favor, especifique um nome para este centro de mídia, para que você possa identificá-lo mais tarde.</string>
<string name="wizard_no_address_specified">Por favor, especifique o endereço deste centro de mídia, então pode localizá-lo.</string>
<string name="wizard_invalid_http_port_specified">Por favor, especifique uma porta HTTP válida para este centro de mídia, então pode localizá-lo.</string>
<string name="wizard_invalid_tcp_port_specified">Por favor, especifique uma porta TCP válida para este centro de mídia, então pode localizá-lo.</string>
<string name="wizard_connecting_to_xbmc_title">Conectando-se ao %1$s...</string>
<string name="wizard_connecting_to_xbmc_message">Por favor espere enquanto testo a ligação ao seu Media Center&#8230;</string>
<string name="wizard_empty_authentication">O seu Kodi/XBMC requer autenticação. \n Por favor especifique o usuário e senha.</string>
<string name="wizard_incorrect_authentication">Usuário e/ou senha errada. \nPor favor verifique as suas credenciais.</string>
<string name="wizard_success_connecting">Conectado ao Kodi/XBMC.</string>
<string name="wizard_error_connecting">Não foi possível conectar Kodi/XBMC.\nPorfavor verifique a configuração.</string>
<string name="wizard_done">Pronto!</string>
<string name="wizard_done_message"><![CDATA[ Seu media center está configurado. <br/> Agora, você pode usar o controle remoto para controlá-lo. Sua biblioteca está sendo sincronizada e deve estar disponível em alguns momentos. <br/> <br/> Pressione <b><i>concluir</i></b> para começar a usar o controle remoto. ]]></string>
<string name="play">Reproduzir</string>
<string name="pause">Pausar</string>
<string name="stop">Parar</string>
<string name="fast_forward">Avanço rápido</string>
<string name="rewind">Retroceder</string>
<string name="repeat">Repetir</string>
<string name="shuffle">Aleatório</string>
<string name="volume_up">Aumentar o volume</string>
<string name="volume_down">Diminuir o volume</string>
<string name="volume_mute">Mudo</string>
<string name="subtitles">Legendas</string>
<string name="audiostreams">Audiostreams</string>
<string name="no_audiostream">Nenhuma audiostream disponível</string>
<string name="download_subtitle">Baixar legendas</string>
<string name="none">Nenhum</string>
<string name="audio_sync">Sincronizar áudio</string>
<string name="subtitle_sync">Sincronizar legendas</string>
<string name="left">Esquerda</string>
<string name="right">Direita</string>
<string name="up">Para cima</string>
<string name="down">Para baixo</string>
<string name="select">Selecionar</string>
<string name="info">informações</string>
<string name="codec_info">Codec</string>
<string name="context">Contexto</string>
<string name="osd">Menu</string>
<string name="back">Voltar</string>
<string name="previous">Anterior</string>
<string name="next">próximo</string>
<string name="finish">Terminar</string>
<string name="test_connection">Testar</string>
<string name="search_again">Pesquisar novamente</string>
<string name="remove">Remover</string>
<string name="edit">Editar</string>
<string name="wake_up">Acordar</string>
<string name="edit_xbmc">Editar Media Center</string>
<string name="delete_xbmc">Excluir o Media Center</string>
<string name="delete_xbmc_confirm">Tem certeza que deseja excluir este Media Center?</string>
<string name="connecting_to_xbmc">Conectando&#8230;</string>
<string name="unable_to_connect_to_xbmc">Não é possível conectar ao Media Center</string>
<string name="connected_to_xbmc">Conectado</string>
<string name="xbmc_available">Disponível</string>
<string name="xbmc_unavailable">Indisponível</string>
<string name="nothing_playing">Nada em reprodução</string>
<string name="now_playing">Em reprodução</string>
<string name="remote">Remoto</string>
<string name="playlist">Lista de reprodução</string>
<string name="season_episode_abbrev">s%1$02de%2$02d</string>
<string name="season_episode">Temporada %1$02d | Episódio %2$02d</string>
<string name="season_number">Temporada %1$02d</string>
<string name="episode_number">%1$d</string>
<string name="votes">%1$s Nota</string>
<string name="max_rating_video">/10</string>
<string name="max_rating_music">/5</string>
<string name="fanart">Fanart</string>
<string name="poster">Poster</string>
<string name="thumbnail">Miniatura</string>
<string name="error_getting_properties">Não foi possível obter as propriedades do Kodi/XBMC.\nMensagem de erro: %1$s.</string>
<string name="error_executing_subtitles">Não foi possível executar a extensão de legendas.\nMensagem de erro: %1$s.</string>
<string name="error_getting_addon_info">Não foi possível obter informação sobre à Extensão.\nMensagem de erro: %1$s.</string>
<string name="directors">Diretores:</string>
<string name="studio">Estúdio:</string>
<string name="cast">Elenco</string>
<string name="additional_cast">Elenco adicional</string>
<string name="cast_list_text">%1$s como %2$s</string>
<string name="general_error_executing_action">Erro ao executar a ação: %1$s</string>
<string name="error_getting_playlist">Erro ao obter lista</string>
<string name="error_message">Mensagem de erro: %1$s</string>
<string name="playlist_empty">Lista de reprodução vazia</string>
<string name="clear_playlist">Limpar lista de reprodução</string>
<string name="no_movies_found_refresh">Nenhum filme encontrado\n\nPuxe para baixo para actualizar</string>
<string name="no_tvshows_found_refresh">Nenhum Seriado de TV encontrado\n\nPuxe para baixo para atualizar</string>
<string name="no_episodes_found">Nenhum episódio encontrado</string>
<string name="no_artists_found_refresh">Nenhum artista foi encontrado\n\nPuxe para baixo para atualizar</string>
<string name="no_albums_found_refresh">Nenhum album foi encontrado\n\nPuxe para baixo para atualizar</string>
<string name="no_genres_found_refresh">Nenhum género encontrado\n\nPuxe para baixo para atualizar</string>
<string name="no_addons_found_refresh">Nenhuma extensão foi encontrada\n\nPuxe para baixo para atualizar</string>
<string name="no_music_videos_found_refresh">Nenhum vídeo foi encontrado\n\nPuxe para baixo para atualizar</string>
<string name="pull_to_refresh">Puxe para atualizar</string>
<string name="minutes_abbrev">%1$s min</string>
<string name="sync_successful">Sincronização Concluida</string>
<string name="error_while_syncing">Ocorreu um erro durante a sincronização: %1$s</string>
<string name="action_search">Pesquisar</string>
<string name="action_search_movies">Pesquisar filmes</string>
<string name="action_search_tvshows">Pesquisa de Seriados de TV</string>
<string name="action_search_albums">Pesquisar albuns</string>
<string name="action_search_artists">Pesquisar artistas</string>
<string name="action_search_genres">Pesquisar géneros</string>
<string name="action_search_music_videos">Pesquisar vídeos</string>
<string name="add_to_playlist">Adicionar à lista de reprodução</string>
<string name="item_added_to_playlist">Adicionado à lista de reprodução</string>
<string name="no_suitable_playlist">Não foi encontrada nenhuma lista de reprodução para adicionar este tipo de mídia.</string>
<string name="imdb">IMDb</string>
<string name="seen">Assistido</string>
<string name="download">Download</string>
<string name="download_file_exists">Arquivo já existe. \nDeseja substituí-lo ou transferi-lo com um novo nome?</string>
<string name="download_dir_exists">Diretório para transferência já existe. \nSe algum arquivo tiver o mesmo nome, pretende substituir ou transferir com um novo nome?</string>
<string name="overwrite">Substituir</string>
<string name="download_with_new_name">Novo nome</string>
<string name="download_file_description">Baixado do seu media center</string>
<string name="num_episodes">%1$d episódios | %2$d não vistos</string>
<string name="premiered">Estreia: %1$s</string>
<string name="tvshow_overview">Resumo</string>
<string name="tvshow_episodes">Episódios</string>
<string name="artists">Artistas</string>
<string name="albums">Álbuns</string>
<string name="genres">Gêneros</string>
<string name="music_videos">Vídeos</string>
<string name="no_files_to_download">Não há arquivos para download.</string>
<string name="error_getting_file_information">Não foi possível obter informações para transferir o arquivo %1$s.</string>
<string name="author">Autor:</string>
<string name="version">Versão:</string>
<string name="enable_disable">Ativar/desativar Extensão</string>
<string name="addon_enabled">Extensão habilitada</string>
<string name="addon_disabled">Extensão desativada</string>
<string name="hide_watched">Ocultar vistos</string>
<string name="sort_order">Ordenar</string>
<string name="sort_by_name">Por nome</string>
<string name="sort_by_date_added">Por data adicionada</string>
<string name="ignore_prefixes">Ignorar prefixos</string>
<string name="theme">Tema</string>
<string name="theme_night">Noite</string>
<string name="theme_day">Dia</string>
<string name="theme_mist">Névoa</string>
<string name="theme_solarized">Solarized</string>
<string name="theme_solarized_dark">Solarized Dark</string>
<string name="switch_to_remote">Mudar para o controlo remoto ao iniciar reprodução</string>
<string name="show_notification">Mostrar notificação enquanto estiver reproduzindo</string>
<string name="use_hardware_volume_keys">Use as teclas de volume para controlar o volume</string>
<string name="about">Sobre</string>
<string name="about_desc"><![CDATA[
\u00A9 2015 Synced Synapse.<br><br>
Por favor classifique-nos na <b><a href="market://details?id=com.syncedsynapse.kore2">Googgle Play</a></b><br><br>
Se necessitar de ajuda, visite a <b><a href="http://syncedsynapse.com/kore/kore-faq/">FAQ</a></b> ou adira à <b><a href="https://plus.google.com/u/0/communities/110340113064213296333">Comunidade Google+</a></b> do Kore
]]></string>
<string name="buy_me_coffee">Compre-me um café</string>
<string name="expresso_please">Expresso, por favor. Obrigado!</string>
<string name="thanks_for_coffe">Obrigado pelo café!</string>
<string name="remove_coffee_message">Toque para ocultar esta configuração</string>
<string name="buy_coffee_to_unlock_themes">Por favor me page um café para desbloquear mais temas</string>
<string name="error_setting_up_billing">Não consegui configurar o serviço de Pagamento Google: \n%s</string>
<string name="error_querying_inventory">Erro ao consultar inventário.</string>
<string name="error_during_purchased">Ocorreu um erro durante a compra.</string>
<string name="purchase_thanks">Obrigado pelo seu apoio!</string>
</resources>