aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README27
-rw-r--r--res/layout/chat.xml1
-rw-r--r--res/layout/start_timer.xml16
-rw-r--r--res/menu/nowplaying_context.xml2
-rw-r--r--res/menu/nowplaying_context_offline.xml2
-rw-r--r--res/menu/select_album_context.xml2
-rw-r--r--res/menu/select_album_context_offline.xml4
-rw-r--r--res/menu/select_artist_context.xml2
-rw-r--r--res/menu/select_artist_context_offline.xml2
-rw-r--r--res/menu/select_bookmark_context.xml2
-rw-r--r--res/menu/select_playlist_context.xml4
-rw-r--r--res/menu/select_podcast_episode.xml2
-rw-r--r--res/menu/select_podcast_episode_context.xml2
-rw-r--r--res/menu/select_podcast_episode_context_offline.xml2
-rw-r--r--res/menu/select_podcast_episode_offline.xml2
-rw-r--r--res/menu/select_podcasts_context.xml4
-rw-r--r--res/menu/select_share_context.xml2
-rw-r--r--res/menu/select_song.xml2
-rw-r--r--res/menu/select_song_context.xml2
-rw-r--r--res/menu/select_song_context_offline.xml2
-rw-r--r--res/menu/select_song_offline.xml2
-rw-r--r--res/menu/select_video_context.xml2
-rw-r--r--res/menu/select_video_context_offline.xml2
-rw-r--r--res/values-es/strings.xml18
-rw-r--r--res/values-fr/strings.xml32
-rw-r--r--res/values-hu/strings.xml13
-rw-r--r--res/values-ru/strings.xml23
-rw-r--r--res/values/arrays.xml6
-rw-r--r--res/values/strings.xml18
-rw-r--r--src/github/daneren2005/dsub/activity/SettingsActivity.java2
-rw-r--r--src/github/daneren2005/dsub/fragments/DownloadFragment.java43
-rw-r--r--src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java12
-rw-r--r--src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java1
-rw-r--r--src/github/daneren2005/dsub/view/AlbumView.java9
34 files changed, 132 insertions, 135 deletions
diff --git a/README b/README
index 676424be..f3e63f4c 100644
--- a/README
+++ b/README
@@ -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 &gt; 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;