diff options
34 files changed, 132 insertions, 135 deletions
@@ -28,3 +28,30 @@ HLS Video -Display video where album art is currently (double tap to fullscreen) -Videos can play inline with songs + +I haven't felt like forking dragsortlistview properly, so local bugfixes: +In DragSortListView.java line 741 above v.addView(child). Fixes NPE: +if(child.getParent() != null) { + ((ViewGroup) child.getParent()).removeView(child); +} + +In DragSortListView.java line 722, inside of child != oldChild statement. Fixes checkables mixed with non-checkables not being converted: +if(child instanceof Checkable && !(v instanceof Checkable)) { + v = new DragSortItemViewCheckable(getContext()); + v.setLayoutParams(new AbsListView.LayoutParams( + ViewGroup.LayoutParams.FILL_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); +} else if(!(child instanceof Checkable) && v instanceof Checkable) { + v = new DragSortItemView(getContext()); + v.setLayoutParams(new AbsListView.LayoutParams( + ViewGroup.LayoutParams.FILL_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); +} else { + // shouldn't get here if user is reusing convertViews + // properly + if (oldChild != null) { + v.removeViewAt(0); + } +} +v.addView(child); + diff --git a/res/layout/chat.xml b/res/layout/chat.xml index fdeb5b36..9b8f7d17 100644 --- a/res/layout/chat.xml +++ b/res/layout/chat.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/chat_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > diff --git a/res/layout/start_timer.xml b/res/layout/start_timer.xml index 3b607a44..eb2ccbe8 100644 --- a/res/layout/start_timer.xml +++ b/res/layout/start_timer.xml @@ -1,6 +1,6 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="wrap_content" + android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" @@ -12,16 +12,14 @@ android:id="@+id/timer_length_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="4dp" - android:textSize="20dp" - android:text="@string/download.timer_length" /> - <EditText - android:id="@+id/timer_length" - android:inputType="number" + android:layout_marginLeft="8dp" + android:textSize="20dp"/> + + <SeekBar + android:id="@+id/timer_length_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" - android:layout_marginLeft="4dp" - android:hint="@string/download.timer_length" /> + android:max="97"/> </LinearLayout> </LinearLayout>
\ No newline at end of file diff --git a/res/menu/nowplaying_context.xml b/res/menu/nowplaying_context.xml index 57e5bde5..4d0f98e3 100644 --- a/res/menu/nowplaying_context.xml +++ b/res/menu/nowplaying_context.xml @@ -20,7 +20,7 @@ <item android:id="@+id/menu_delete" - android:title="@string/download.menu_delete"/> + android:title="@string/menu.delete_cache"/> <group android:id="@+id/hide_star"> <item diff --git a/res/menu/nowplaying_context_offline.xml b/res/menu/nowplaying_context_offline.xml index 77f94bb6..46611d5c 100644 --- a/res/menu/nowplaying_context_offline.xml +++ b/res/menu/nowplaying_context_offline.xml @@ -16,7 +16,7 @@ <item android:id="@+id/menu_delete" - android:title="@string/download.menu_delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/menu_star" diff --git a/res/menu/select_album_context.xml b/res/menu/select_album_context.xml index b1e0e42c..216e8910 100644 --- a/res/menu/select_album_context.xml +++ b/res/menu/select_album_context.xml @@ -41,7 +41,7 @@ <item android:id="@+id/album_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/album_menu_show_artist" diff --git a/res/menu/select_album_context_offline.xml b/res/menu/select_album_context_offline.xml index 9eb5995f..a1805f5b 100644 --- a/res/menu/select_album_context_offline.xml +++ b/res/menu/select_album_context_offline.xml @@ -25,9 +25,9 @@ <item android:id="@+id/album_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/album_menu_star" android:title="@string/common.star"/> -</menu>
\ No newline at end of file +</menu> diff --git a/res/menu/select_artist_context.xml b/res/menu/select_artist_context.xml index 2a71cec9..debc07c6 100644 --- a/res/menu/select_artist_context.xml +++ b/res/menu/select_artist_context.xml @@ -36,7 +36,7 @@ <item android:id="@+id/artist_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <group android:id="@+id/server_1_10"> <group android:id="@+id/hide_star"> diff --git a/res/menu/select_artist_context_offline.xml b/res/menu/select_artist_context_offline.xml index bfd7685a..17ee97e0 100644 --- a/res/menu/select_artist_context_offline.xml +++ b/res/menu/select_artist_context_offline.xml @@ -26,5 +26,5 @@ <item android:id="@+id/artist_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/menu/select_bookmark_context.xml b/res/menu/select_bookmark_context.xml index af11c86f..724c4c78 100644 --- a/res/menu/select_bookmark_context.xml +++ b/res/menu/select_bookmark_context.xml @@ -16,7 +16,7 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/bookmark_menu_delete" diff --git a/res/menu/select_playlist_context.xml b/res/menu/select_playlist_context.xml index 7cdc0c79..47033d9c 100644 --- a/res/menu/select_playlist_context.xml +++ b/res/menu/select_playlist_context.xml @@ -37,7 +37,7 @@ <item android:id="@+id/playlist_menu_delete" - android:title="@string/common.delete" + android:title="@string/playlist.delete" /> -</menu>
\ No newline at end of file +</menu> diff --git a/res/menu/select_podcast_episode.xml b/res/menu/select_podcast_episode.xml index 8472325a..8a86b49b 100644 --- a/res/menu/select_podcast_episode.xml +++ b/res/menu/select_podcast_episode.xml @@ -13,5 +13,5 @@ <item android:id="@+id/menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/menu/select_podcast_episode_context.xml b/res/menu/select_podcast_episode_context.xml index 79eaa04d..2ea7ad5b 100644 --- a/res/menu/select_podcast_episode_context.xml +++ b/res/menu/select_podcast_episode_context.xml @@ -31,7 +31,7 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/song_menu_server_download" diff --git a/res/menu/select_podcast_episode_context_offline.xml b/res/menu/select_podcast_episode_context_offline.xml index a7dc1619..587d01f7 100644 --- a/res/menu/select_podcast_episode_context_offline.xml +++ b/res/menu/select_podcast_episode_context_offline.xml @@ -26,5 +26,5 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/menu/select_podcast_episode_offline.xml b/res/menu/select_podcast_episode_offline.xml index 4d464c1f..7080768a 100644 --- a/res/menu/select_podcast_episode_offline.xml +++ b/res/menu/select_podcast_episode_offline.xml @@ -9,5 +9,5 @@ <item android:id="@+id/menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/menu/select_podcasts_context.xml b/res/menu/select_podcasts_context.xml index 3a2a1c60..5df9d278 100644 --- a/res/menu/select_podcasts_context.xml +++ b/res/menu/select_podcasts_context.xml @@ -6,7 +6,7 @@ android:title="@string/common.info"/> <item android:id="@+id/podcast_channel_delete" - android:title="@string/common.delete"/> + android:title="@string/select_podcasts.delete"/> <item android:id="@+id/podcast_menu_sync" @@ -15,4 +15,4 @@ <item android:id="@+id/podcast_menu_stop_sync" android:title="@string/menu.stop_sync"/> -</menu>
\ No newline at end of file +</menu> diff --git a/res/menu/select_share_context.xml b/res/menu/select_share_context.xml index 3db445f6..d015beaf 100644 --- a/res/menu/select_share_context.xml +++ b/res/menu/select_share_context.xml @@ -17,5 +17,5 @@ <item
android:id="@+id/share_menu_delete"
- android:title="@string/common.delete"/>
+ android:title="@string/share.delete"/>
</menu>
diff --git a/res/menu/select_song.xml b/res/menu/select_song.xml index 38bebb39..d5bfc2b2 100644 --- a/res/menu/select_song.xml +++ b/res/menu/select_song.xml @@ -33,7 +33,7 @@ <item android:id="@+id/menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/menu_add_playlist" diff --git a/res/menu/select_song_context.xml b/res/menu/select_song_context.xml index 8a37e0f8..5621e134 100644 --- a/res/menu/select_song_context.xml +++ b/res/menu/select_song_context.xml @@ -36,7 +36,7 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/song_menu_add_playlist" diff --git a/res/menu/select_song_context_offline.xml b/res/menu/select_song_context_offline.xml index 401a9b69..49445876 100644 --- a/res/menu/select_song_context_offline.xml +++ b/res/menu/select_song_context_offline.xml @@ -26,7 +26,7 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <item android:id="@+id/song_menu_star" diff --git a/res/menu/select_song_offline.xml b/res/menu/select_song_offline.xml index f0ca1cee..0b482a5e 100644 --- a/res/menu/select_song_offline.xml +++ b/res/menu/select_song_offline.xml @@ -25,7 +25,7 @@ <item android:id="@+id/menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> <group android:id="@+id/hide_play_next"> <item diff --git a/res/menu/select_video_context.xml b/res/menu/select_video_context.xml index 084c29aa..3eda2df7 100644 --- a/res/menu/select_video_context.xml +++ b/res/menu/select_video_context.xml @@ -20,5 +20,5 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/menu/select_video_context_offline.xml b/res/menu/select_video_context_offline.xml index 7a9020f5..3fea9f5e 100644 --- a/res/menu/select_video_context_offline.xml +++ b/res/menu/select_video_context_offline.xml @@ -11,5 +11,5 @@ <item android:id="@+id/song_menu_delete" - android:title="@string/common.delete"/> + android:title="@string/menu.delete_cache"/> </menu> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 026a74f6..b3e5365f 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -76,12 +76,12 @@ <string name="menu.set_timer">Ajustar temporizador</string> <string name="menu.check_podcasts">Comprobar nuevos episodios</string> <string name="menu.add_podcast">Añadir canal</string> - <string name="menu.cast">Enviar al dispositivo</string> <string name="menu.keep_synced">Mantener sincronizado</string> <string name="menu.stop_sync">Detener sincronización</string> <string name="menu.show_all">Mostrar todo el contenido</string> <string name="menu.show_artist">Mostrar artista</string> <string name="menu.share">Compartir</string> + <string name="menu.delete_cache">Borrar cache</string> <string name="playlist.label">Listas de reproducción</string> <string name="playlist.update_info">Actualizar información</string> @@ -91,16 +91,6 @@ <string name="playlist.add_to">Añadir a lista de reproducción</string> <string name="playlist.create_new">Crear nueva</string> - <string name="help.label">Ayuda</string> - <string name="help.title">Bienvenido a DSub!</string> - <string name="help.back">Atrás</string> - <string name="help.close">Cerrar</string> - <string name="help.url">file:///android_asset/html/en/index.html</string> - <string name="help.loading">Cargando...</string> - - <string name="play_video.loading">Cargando vídeo...</string> - <string name="play_video.noplugin">Por favor instala Adobe Flash player desde el Android Market.</string> - <string name="search.label">Buscar</string> <string name="search.title">Buscar</string> <string name="search.search">Click para buscar</string> @@ -139,10 +129,8 @@ <string name="offline.sync_partial">%1$d de %2$d canciones sincronizadas</string> <string name="offline.sync_error">Error al sincronizar canciones</string> - <string name="select_genre.empty">No se han encontrado géneros</string> <string name="select_genre.blank">Vacío</string> - <string name="select_podcasts.empty">No se han encontrado podcasts</string> <string name="select_podcasts.error">Ha habido un error descargando este podcast en el servidor. El servidor debe descargarlo antes.</string> <string name="select_podcasts.skipped">Este podcast no ha sido descargado en el servidor. El servidor debe descargarlo antes.</string> <string name="select_podcasts.initializing">Este podcast está siendo reiniciado en el servidor. Por favor, actualice en unos segundos.</string> @@ -156,8 +144,6 @@ <string name="select_podcasts.created_error">Error al agregar podcast</string> <string name="select_podcasts.invalid_podcast_channel">Canal de podcast no valido: %s</string> - <string name="select_playlist.empty">No hay listas de reproducción guardadas en el servidor</string> - <string name="download.empty">Lista de reproducción vaía</string> <string name="download.shuffle_loading">Cargando lista aleatoria...</string> <string name="download.playerstate_downloading">Descargando - %s</string> @@ -166,7 +152,6 @@ <string name="download.menu_show_album">Mostrar disco</string> <string name="download.menu_lyrics">Letras</string> <string name="download.menu_remove">Eliminar de la cola</string> - <string name="download.menu_delete">Borrar cache</string> <string name="download.menu_remove_all">Borrar todo</string> <string name="download.menu_screen_on">Pantalla encendida</string> <string name="download.menu_screen_off">Pantalla apagada</string> @@ -298,6 +283,7 @@ <string name="settings.network_timeout_30000">30 seconds</string> <string name="settings.network_timeout_45000">45 seconds</string> <string name="settings.network_timeout_60000">60 seconds</string> + <string name="settings.preload_0">0 canción</string> <string name="settings.preload_1">1 canción</string> <string name="settings.preload_2">2 canciones</string> <string name="settings.preload_3">3 canciones</string> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index a2e1f660..6e7efb9f 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -20,22 +20,6 @@ <string name="main.albums_recent">Récemment joués</string>
<string name="main.albums_frequent">Fréquemment joués</string>
- <!--<string name="menu.exit">TODO: Exit</string>-->
- <!--<string name="menu.settings">TODO: Settings</string>-->
- <!--<string name="menu.help">TODO: Help</string>-->
-
- <string name="playlist.label">Playlists</string>
-
- <string name="help.label">Aide</string>
- <string name="help.title">Bienvenue dans Subsonic!</string>
- <string name="help.back">Retour</string>
- <string name="help.close">Fermer</string>
- <string name="help.url">file:///android_asset/html/fr/index.html</string>
- <string name="help.loading">Chargement...</string>
-
- <string name="play_video.loading">Chargement de la vidéo...</string>
- <string name="play_video.noplugin">Veuillez installer Adobe Flash Player à partir du marché Android.</string>
-
<string name="search.label">Recherche</string>
<string name="search.title">Recherche</string>
<string name="search.search">Cliquer pour rechercher</string>
@@ -65,8 +49,6 @@ <string name="select_album.donate_dialog_later">Plus tard</string>
<string name="select_album.donate_dialog_0_trial_days_left">La période d\'essai est terminée</string>
- <string name="select_playlist.empty">Aucune playlist sur le serveur</string>
-
<string name="download.empty">Playlist vide</string>
<string name="download.playerstate_downloading">Téléchargement - %s</string>
<string name="download.playerstate_buffering">Mise en tampon</string>
@@ -94,14 +76,11 @@ <string name="settings.title">Paramètres de Subsonic</string>
<string name="settings.test_connection_title">Tester la connexion</string>
<string name="settings.servers_title">Serveurs</string>
- <string name="settings.server_unused1">Inutilisé 1</string>
- <string name="settings.server_unused2">Inutilisé 2</string>
<string name="settings.server_name">Nom</string>
<string name="settings.server_address">Adresse du serveur</string>
<string name="settings.server_username">Nom d\'usager</string>
<string name="settings.server_password">Mot de passe</string>
<string name="settings.cache_title">Cache musicale</string>
- <string name="settings.preload">Pièces à pré-charger</string>
<string name="settings.cache_size">Taille de la cache</string>
<string name="settings.testing_connection">Connexion en cours de test...</string>
<string name="settings.testing_ok">Connexion correcte</string>
@@ -111,7 +90,6 @@ <string name="settings.invalid_username">Veuillez spécifier un nom d\'usager valide (sans espace à la fin).</string>
<string name="settings.appearance_title">Apparence</string>
<string name="settings.theme_title">Thème</string>
- <string name="settings.theme_wheat">Blé</string>
<string name="settings.theme_light">Clair</string>
<string name="settings.theme_dark">Sombre</string>
<string name="settings.network_title">Réseau</string>
@@ -128,21 +106,13 @@ <string name="settings.max_bitrate_256">256 Kb/s</string>
<string name="settings.max_bitrate_320">320 Kb/s</string>
<string name="settings.max_bitrate_unlimited">Illimité</string>
+ <string name="settings.preload_0">0 pièce</string>
<string name="settings.preload_1">1 pièce</string>
<string name="settings.preload_2">2 pièces</string>
<string name="settings.preload_3">3 pièces</string>
<string name="settings.preload_5">5 pièces</string>
<string name="settings.preload_10">10 pièces</string>
<string name="settings.preload_unlimited">Illimité</string>
- <string name="settings.cache_size_100">100 Mo</string>
- <string name="settings.cache_size_200">200 Mo</string>
- <string name="settings.cache_size_500">500 Mo</string>
- <string name="settings.cache_size_1000">1 Go</string>
- <string name="settings.cache_size_2000">2 Go</string>
- <string name="settings.cache_size_5000">5 Go</string>
- <string name="settings.cache_size_10000">10 Go</string>
- <string name="settings.cache_size_20000">20 Go</string>
- <string name="settings.cache_size_unlimited">Illimité</string>
<string name="settings.clear_search_history">Effacer l\'historique des recherches</string>
<string name="settings.search_history_cleared">Historique des recherches effacé</string>
<string name="settings.other_title">Autres paramètres</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 9ed55267..153822ee 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -83,6 +83,7 @@ <string name="menu.show_all">Minden média megjelenítése</string>
<string name="menu.show_artist">Ugrás az előadóhoz</string>
<string name="menu.share">Megosztás</string>
+ <string name="menu.delete_cache">Törlés a gyorsítótárból</string>
<string name="playlist.label">Lejátszási listák</string>
<string name="playlist.update_info">Szerkesztés</string>
@@ -92,16 +93,6 @@ <string name="playlist.add_to">Mentés lejátszási listába</string>
<string name="playlist.create_new">Új lejátszási lista</string>
- <string name="help.label">Súgó</string>
- <string name="help.title">Üdvözli a DSub!</string>
- <string name="help.back">Vissza</string>
- <string name="help.close">Bezárás</string>
- <string name="help.url">file:///android_asset/html/en/index.html</string>
- <string name="help.loading">Betöltés...</string>
-
- <string name="play_video.loading">Videó betöltése...</string>
- <string name="play_video.noplugin">Kérem telepítse az Adobe Flash Player-t a Play Áruházból!</string>
-
<string name="search.label">Keresés</string>
<string name="search.title">Keresés</string>
<string name="search.search">Érintse meg a kereséshez</string>
@@ -165,7 +156,6 @@ <string name="download.menu_show_album">Ugrás az albumhoz</string>
<string name="download.menu_lyrics">Dalszöveg</string>
<string name="download.menu_remove">Eltávolítás a várólistáról</string>
- <string name="download.menu_delete">Törlés a gyorsítótárból</string>
<string name="download.menu_remove_all">Összes eltávolítása</string>
<string name="download.menu_screen_on">Kijelző be</string>
<string name="download.menu_screen_off">Kijelző ki</string>
@@ -312,6 +302,7 @@ <string name="settings.network_timeout_30000">30 másodperc</string>
<string name="settings.network_timeout_45000">45 másodperc</string>
<string name="settings.network_timeout_60000">60 másodperc</string>
+ <string name="settings.preload_0">0 dal</string>
<string name="settings.preload_1">1 dal</string>
<string name="settings.preload_2">2 dal</string>
<string name="settings.preload_3">3 dal</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 30463192..2671a8b6 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -18,7 +18,6 @@ <string name="common.name">Название</string>
<string name="common.comment">Комментарий</string>
<string name="common.public">Общедоступный</string>
- <string name="common.webview">Воспроизвести в браузере (флэш)</string>
<string name="common.play_external">Воспроизвести во внешнем плеере</string>
<string name="common.stream_external">Воспроизвести поток во внешнем плеере</string>
<string name="common.confirm">Подтверждение</string>
@@ -67,22 +66,13 @@ <string name="menu.deleted_playlist_error">Не удалось удалить список %s</string>
<string name="menu.log">Отправить журнал событий</string>
<string name="menu.set_timer">Установить таймер</string>
+ <string name="menu.delete_cache">Удалить кэш</string>
<string name="playlist.label">Списки</string>
<string name="playlist.update_info">Изменить информацию</string>
<string name="playlist.updated_info">Информация для списка воспроизведения %s обновлена</string>
<string name="playlist.updated_info_error">Не удалось обновить информацию для списка воспроизведения %s</string>
- <string name="help.label">Помощь</string>
- <string name="help.title">Добро пожаловать в DSub!</string>
- <string name="help.back">Назад</string>
- <string name="help.close">Закрыть</string>
- <string name="help.url">file:///android_asset/html/ru/index.html</string>
- <string name="help.loading">Загрузка...</string>
-
- <string name="play_video.loading">Загрузка видео...</string>
- <string name="play_video.noplugin">Пожалуйста, установить Adobe Flash Player из Google Play.</string>
-
<string name="search.label">Поиск</string>
<string name="search.title">Поиск</string>
<string name="search.search">Нажмите для поиска</string>
@@ -112,8 +102,6 @@ <string name="select_album.donate_dialog_later">Позже</string>
<string name="select_album.donate_dialog_0_trial_days_left">Пробный период закончился</string>
- <string name="select_playlist.empty">Нет сохраненных списков воспроизведения на сервере</string>
-
<string name="download.empty">Список воспроизведения пуст</string>
<string name="download.shuffle_loading">Загружается случайный список...</string>
<string name="download.playerstate_downloading">Загрузка - %s</string>
@@ -122,7 +110,6 @@ <string name="download.menu_show_album">Показать альбом</string>
<string name="download.menu_lyrics">Текст</string>
<string name="download.menu_remove">Убрать из очереди</string>
- <string name="download.menu_delete">Удалить кэш</string>
<string name="download.menu_remove_all">Очистить</string>
<string name="download.menu_screen_on">Включить подсветку</string>
<string name="download.menu_screen_off">Отключать подсветку</string>
@@ -162,7 +149,6 @@ <string name="updated_playlist">Добавлено %1$s композиций в \"%2$s\"</string>
<string name="updated_playlist_error">Не удалось обновить \"%s\", пожалуйста, попробуйте позже.</string>
<string name="removed_playlist">Удалено %1$s из \"%2$s\" композиций</string>
- <string name="delete_playlist">Удалить %1$s?</string>
<string name="song_details.all">%1$s %2$s</string>
<string name="song_details.kbps">%d kbps</string>
@@ -174,14 +160,11 @@ <string name="settings.title">Настройки DSub</string>
<string name="settings.test_connection_title">Проверить соединение</string>
<string name="settings.servers_title">Серверы</string>
- <string name="settings.server_unused1">Неиспользованный 1</string>
- <string name="settings.server_unused2">Неиспользованный 2</string>
<string name="settings.server_name">Название</string>
<string name="settings.server_address">Адрес сервера</string>
<string name="settings.server_username">Имя пользователя</string>
<string name="settings.server_password">Пароль</string>
<string name="settings.cache_title">Кэш музыки</string>
- <string name="settings.preload">Композиций для предзагрузки</string>
<string name="settings.cache_size">Размер кэша (Мб)</string>
<string name="settings.cache_location">Путь кэша</string>
<string name="settings.cache_location_error">Некорректный путь. Используем путь по умолчанию.</string>
@@ -196,9 +179,6 @@ <string name="settings.theme_light">Светлая</string>
<string name="settings.theme_dark">Темная</string>
<string name="settings.theme_holo">Holo</string>
- <string name="settings.theme_light_fullscreen">Светлая во весь экран</string>
- <string name="settings.theme_dark_fullscreen">Темная во весь экран</string>
- <string name="settings.theme_holo_fullscreen">Holo во весь экран</string>
<string name="settings.network_title">Сеть</string>
<string name="settings.max_bitrate_wifi">Макс. битрейт аудио по Wi-Fi</string>
<string name="settings.max_bitrate_mobile">Макс. битрейт видео по сети</string>
@@ -233,6 +213,7 @@ <string name="settings.network_timeout_30000">30 секунд</string>
<string name="settings.network_timeout_45000">45 секунд</string>
<string name="settings.network_timeout_60000">60 секунд</string>
+ <string name="settings.preload_0">0 композиция</string>
<string name="settings.preload_1">1 композиция</string>
<string name="settings.preload_2">2 композиции</string>
<string name="settings.preload_3">3 композиции</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml index ccc2e59d..7fec7760 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -71,6 +71,7 @@ </string-array> <string-array name="preloadCountValues"> + <item>0</item> <item>1</item> <item>2</item> <item>3</item> @@ -80,7 +81,8 @@ </string-array> <string-array name="preloadCountNames"> - <item>@string/settings.preload_1</item> + <item>@string/settings.preload_0</item> + <item>@string/settings.preload_1</item> <item>@string/settings.preload_2</item> <item>@string/settings.preload_3</item> <item>@string/settings.preload_5</item> @@ -219,4 +221,4 @@ <item>@string/settings.sync_interval_1440</item> </string-array> -</resources>
\ No newline at end of file +</resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index b52498ea..f1f4a1ca 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -83,6 +83,7 @@ <string name="menu.show_all">Show all media</string>
<string name="menu.show_artist">Show Artist</string>
<string name="menu.share">Share</string>
+ <string name="menu.delete_cache">Delete Cache</string>
<string name="playlist.label">Playlists</string>
<string name="playlist.update_info">Update Information</string>
@@ -91,16 +92,7 @@ <string name="playlist.overwrite">Overwrite existing playlist</string>
<string name="playlist.add_to">Add to Playlist</string>
<string name="playlist.create_new">Create New</string>
-
- <string name="help.label">Help</string>
- <string name="help.title">Welcome to DSub!</string>
- <string name="help.back">Back</string>
- <string name="help.close">Close</string>
- <string name="help.url">file:///android_asset/html/en/index.html</string>
- <string name="help.loading">Loading...</string>
-
- <string name="play_video.loading">Loading video...</string>
- <string name="play_video.noplugin">Please install Adobe Flash Player from Android Market.</string>
+ <string name="playlist.delete">Delete Playlist</string>
<string name="search.label">Search</string>
<string name="search.title">Search</string>
@@ -156,6 +148,7 @@ <string name="select_podcasts.add_url">URL:</string>
<string name="select_podcasts.created_error">Failed to add podcast</string>
<string name="select_podcasts.invalid_podcast_channel">Invalid podcast channel: %s</string>
+ <string name="select_podcasts.delete">Delete podcast</string>
<string name="download.empty">Playlist is empty</string>
<string name="download.shuffle_loading">Shuffle list is loading...</string>
@@ -165,7 +158,6 @@ <string name="download.menu_show_album">Show album</string>
<string name="download.menu_lyrics">Lyrics</string>
<string name="download.menu_remove">Remove from queue</string>
- <string name="download.menu_delete">Delete cache</string>
<string name="download.menu_remove_all">Remove all</string>
<string name="download.menu_screen_on">Screen on</string>
<string name="download.menu_screen_off">Screen off</string>
@@ -191,7 +183,7 @@ <string name="download.jukebox_not_authorized">Remote control is not allowed. Please enable jukebox mode in <b>Users > Settings</b> on your Subsonic server.</string>
<string name="download.show_downloading">Show Downloading</string>
<string name="download.show_now_playing">Show Now Playing</string>
- <string name="download.timer_length">Timer Length</string>
+ <string name="download.timer_length">Timer:</string>
<string name="download.start_timer">Start Timer</string>
<string name="download.stop_timer">Stop Timer</string>
<string name="download.need_download">Video needs to be downloaded first</string>
@@ -312,6 +304,7 @@ <string name="settings.network_timeout_30000">30 seconds</string>
<string name="settings.network_timeout_45000">45 seconds</string>
<string name="settings.network_timeout_60000">60 seconds</string>
+ <string name="settings.preload_0">0 song</string>
<string name="settings.preload_1">1 song</string>
<string name="settings.preload_2">2 songs</string>
<string name="settings.preload_3">3 songs</string>
@@ -423,6 +416,7 @@ <string name="share.updated_info">Updated share information for %s</string>
<string name="share.updated_info_error">Failed to update share information for %s</string>
<string name="share.via">Share via</string>
+ <string name="share.delete">Delete Share</string>
<string name="music_service.retry">A network error occurred. Retrying %1$d of %2$d.</string>
diff --git a/src/github/daneren2005/dsub/activity/SettingsActivity.java b/src/github/daneren2005/dsub/activity/SettingsActivity.java index 375e8505..7cebdbdd 100644 --- a/src/github/daneren2005/dsub/activity/SettingsActivity.java +++ b/src/github/daneren2005/dsub/activity/SettingsActivity.java @@ -369,7 +369,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer final EditTextPreference serverInternalUrlPreference = new EditTextPreference(this); serverInternalUrlPreference.setKey(Constants.PREFERENCES_KEY_SERVER_INTERNAL_URL + instance); serverInternalUrlPreference.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI); - serverInternalUrlPreference.setDefaultValue("http://"); + serverInternalUrlPreference.setDefaultValue(""); serverInternalUrlPreference.setTitle(R.string.settings_server_internal_address); serverInternalUrlPreference.setDialogTitle(R.string.settings_server_internal_address); serverInternalUrlPreference.setSummary(serverInternalUrlPreference.getText()); diff --git a/src/github/daneren2005/dsub/fragments/DownloadFragment.java b/src/github/daneren2005/dsub/fragments/DownloadFragment.java index ea8e8c3c..e58de995 100644 --- a/src/github/daneren2005/dsub/fragments/DownloadFragment.java +++ b/src/github/daneren2005/dsub/fragments/DownloadFragment.java @@ -880,10 +880,33 @@ public class DownloadFragment extends SubsonicFragment implements OnGestureListe protected void startTimer() {
View dialogView = context.getLayoutInflater().inflate(R.layout.start_timer, null);
- final EditText lengthBox = (EditText)dialogView.findViewById(R.id.timer_length);
+ // Setup length label
+ final TextView lengthBox = (TextView) dialogView.findViewById(R.id.timer_length_label);
final SharedPreferences prefs = Util.getPreferences(context);
- lengthBox.setText(prefs.getString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, ""));
+ String lengthString = prefs.getString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, "5");
+ int length = Integer.parseInt(lengthString);
+ lengthBox.setText(Util.formatDuration(length));
+
+ // Setup length slider
+ final SeekBar lengthBar = (SeekBar) dialogView.findViewById(R.id.timer_length_bar);
+ lengthBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ if(fromUser) {
+ int length = getMinutes(progress);
+ lengthBox.setText(Util.formatDuration(length));
+ }
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+ });
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.menu_set_timer)
@@ -891,13 +914,13 @@ public class DownloadFragment extends SubsonicFragment implements OnGestureListe .setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
- String length = lengthBox.getText().toString();
+ int length = getMinutes(lengthBar.getProgress());
SharedPreferences.Editor editor = prefs.edit();
- editor.putString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, length);
+ editor.putString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, Integer.toString(length));
editor.commit();
- getDownloadService().setSleepTimerDuration(Integer.parseInt(length));
+ getDownloadService().setSleepTimerDuration(length);
getDownloadService().startSleepTimer();
context.supportInvalidateOptionsMenu();
}
@@ -907,6 +930,16 @@ public class DownloadFragment extends SubsonicFragment implements OnGestureListe dialog.show();
}
+ private int getMinutes(int progress) {
+ if(progress < 30) {
+ return progress + 1;
+ } else if(progress < 61) {
+ return (progress - 30) * 5 + getMinutes(29);
+ } else {
+ return (progress - 61) * 15 + getMinutes(60);
+ }
+ }
+
private void toggleFullscreenAlbumArt() {
if (playlistFlipper.getDisplayedChild() == 1) {
playlistFlipper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.push_down_in));
diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index f96bf578..9e7d93fa 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -165,7 +165,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter if(licenseValid == null) {
menuInflater.inflate(R.menu.empty, menu);
}
- else if(hideButtons) {
+ else if(hideButtons && !showAll) {
if(albumListType != null) {
menuInflater.inflate(R.menu.select_album_list, menu);
} else {
@@ -1028,6 +1028,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter int songCount = 0;
Set<String> artists = new HashSet<String>();
+ Set<Integer> years = new HashSet<Integer>();
Integer totalDuration = 0;
for (MusicDirectory.Entry entry : entries) {
if (!entry.isDirectory()) {
@@ -1035,6 +1036,9 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter if (entry.getArtist() != null) {
artists.add(entry.getArtist());
}
+ if(entry.getYear() != null) {
+ years.add(entry.getYear());
+ }
Integer duration = entry.getDuration();
if(duration != null) {
totalDuration += duration;
@@ -1048,7 +1052,11 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter artistView.setSingleLine(false);
artistView.setLines(5);
} else if (artists.size() == 1) {
- artistView.setText(artists.iterator().next());
+ String artistText = artists.iterator().next();
+ if(years.size() == 1) {
+ artistText += " - " + years.iterator().next();
+ }
+ artistView.setText(artistText);
artistView.setVisibility(View.VISIBLE);
} else {
artistView.setVisibility(View.GONE);
diff --git a/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java b/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java index 021c214a..7b285953 100644 --- a/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java +++ b/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java @@ -222,7 +222,6 @@ public class DownloadServiceLifecycleSupport { executorService.shutdown(); eventLooper.quit(); serializeDownloadQueueNow(); - downloadService.clear(false); downloadService.unregisterReceiver(ejectEventReceiver); downloadService.unregisterReceiver(headsetEventReceiver); downloadService.unregisterReceiver(intentReceiver); diff --git a/src/github/daneren2005/dsub/view/AlbumView.java b/src/github/daneren2005/dsub/view/AlbumView.java index 5083ef0b..3d0eb382 100644 --- a/src/github/daneren2005/dsub/view/AlbumView.java +++ b/src/github/daneren2005/dsub/view/AlbumView.java @@ -71,7 +71,14 @@ public class AlbumView extends UpdateView { protected void setObjectImpl(Object obj1, Object obj2) { this.album = (MusicDirectory.Entry) obj1; titleView.setText(album.getTitle()); - artistView.setText(album.getArtist()); + String artist = album.getArtist(); + if(artist == null) { + artist = ""; + } + if(album.getYear() != null) { + artist += " - " + album.getYear(); + } + artistView.setText(artist); artistView.setVisibility(album.getArtist() == null ? View.GONE : View.VISIBLE); ((ImageLoader)obj2).loadImage(coverArtView, album, false, true); file = null; |