Add support for chat refreshing

This commit is contained in:
Joshua Bahnsen 2013-05-24 01:16:48 -07:00
parent 9f2bab7e63
commit 0d98f1edd9
21 changed files with 333 additions and 226 deletions

View File

@ -2,8 +2,8 @@
<manifest xmlns:a="http://schemas.android.com/apk/res/android"
package="com.thejoshwa.ultrasonic.androidapp"
a:installLocation="auto"
a:versionCode="22"
a:versionName="1.1.0.18" >
a:versionCode="23"
a:versionName="1.1.0.19" >
<uses-permission a:name="android.permission.INTERNET" />
<uses-permission a:name="android.permission.READ_PHONE_STATE" />

View File

@ -19,19 +19,21 @@ public final class R {
public static final int slide_out_to_top=0x7f040007;
}
public static final class array {
public static final int bufferLengthNames=0x7f0b000a;
public static final int bufferLengthNames=0x7f0b000c;
public static final int bufferLengthValues=0x7f0b0008;
public static final int cacheSizeNames=0x7f0b0005;
public static final int cacheSizeValues=0x7f0b0004;
public static final int chatRefreshNames=0x7f0b000b;
public static final int chatRefreshValues=0x7f0b000a;
public static final int incrementTimeValues=0x7f0b0009;
public static final int maxBitrateNames=0x7f0b0007;
public static final int maxBitrateValues=0x7f0b0006;
public static final int networkTimeoutNames=0x7f0b000c;
public static final int networkTimeoutValues=0x7f0b000b;
public static final int networkTimeoutNames=0x7f0b000e;
public static final int networkTimeoutValues=0x7f0b000d;
public static final int preloadCountNames=0x7f0b0003;
public static final int preloadCountValues=0x7f0b0002;
public static final int searchNames=0x7f0b000e;
public static final int searchValues=0x7f0b000d;
public static final int searchNames=0x7f0b0010;
public static final int searchValues=0x7f0b000f;
public static final int themeNames=0x7f0b0001;
public static final int themeValues=0x7f0b0000;
}
@ -888,19 +890,19 @@ or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>na
public static final int select_album_n_songs_unpinned=0x7f0d0002;
}
public static final class string {
public static final int background_task_loading=0x7f080123;
public static final int background_task_network_error=0x7f080125;
public static final int background_task_no_network=0x7f080124;
public static final int background_task_not_found=0x7f080126;
public static final int background_task_parse_error=0x7f080127;
public static final int background_task_wait=0x7f080122;
public static final int background_task_loading=0x7f080126;
public static final int background_task_network_error=0x7f080128;
public static final int background_task_no_network=0x7f080127;
public static final int background_task_not_found=0x7f080129;
public static final int background_task_parse_error=0x7f08012a;
public static final int background_task_wait=0x7f080125;
public static final int button_bar_browse=0x7f08001a;
public static final int button_bar_chat=0x7f08001c;
public static final int button_bar_home=0x7f080019;
public static final int button_bar_now_playing=0x7f08001e;
public static final int button_bar_playlists=0x7f08001d;
public static final int button_bar_search=0x7f08001b;
public static final int chat_send_a_message=0x7f08013f;
public static final int chat_send_a_message=0x7f080142;
public static final int common_appname=0x7f080006;
public static final int common_cancel=0x7f080009;
public static final int common_comment=0x7f080016;
@ -953,9 +955,9 @@ or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>na
public static final int download_repeat_single=0x7f080082;
public static final int download_visualizer_off=0x7f080084;
public static final int download_visualizer_on=0x7f080083;
public static final int equalizer_enabled=0x7f080134;
public static final int equalizer_label=0x7f080133;
public static final int equalizer_preset=0x7f080135;
public static final int equalizer_enabled=0x7f080137;
public static final int equalizer_label=0x7f080136;
public static final int equalizer_preset=0x7f080138;
public static final int error_label=0x7f080093;
public static final int help_back=0x7f080048;
public static final int help_close=0x7f080049;
@ -1001,14 +1003,14 @@ or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>na
public static final int menu_settings=0x7f080038;
public static final int music_library_label=0x7f080057;
public static final int music_library_label_offline=0x7f080058;
public static final int music_service_retry=0x7f080121;
public static final int parser_artist_count=0x7f08012f;
public static final int parser_not_authenticated=0x7f08012d;
public static final int parser_not_authorized=0x7f08012e;
public static final int parser_reading=0x7f080129;
public static final int parser_reading_done=0x7f08012a;
public static final int parser_upgrade_client=0x7f08012b;
public static final int parser_upgrade_server=0x7f08012c;
public static final int music_service_retry=0x7f080124;
public static final int parser_artist_count=0x7f080132;
public static final int parser_not_authenticated=0x7f080130;
public static final int parser_not_authorized=0x7f080131;
public static final int parser_reading=0x7f08012c;
public static final int parser_reading_done=0x7f08012d;
public static final int parser_upgrade_client=0x7f08012e;
public static final int parser_upgrade_server=0x7f08012f;
public static final int play_video_loading=0x7f08004c;
public static final int play_video_noplugin=0x7f08004d;
public static final int playlist_label=0x7f080042;
@ -1050,167 +1052,170 @@ or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>na
public static final int select_album_play_all=0x7f080060;
public static final int select_album_searching=0x7f08005f;
public static final int select_album_select=0x7f08005a;
public static final int select_artist_all_folders=0x7f080132;
public static final int select_artist_all_folders=0x7f080135;
public static final int select_artist_empty=0x7f080068;
public static final int select_artist_folder=0x7f080131;
public static final int select_artist_refresh=0x7f080130;
public static final int select_artist_folder=0x7f080134;
public static final int select_artist_refresh=0x7f080133;
public static final int select_genre_empty=0x7f080069;
public static final int select_playlist_empty=0x7f08006a;
public static final int service_connecting=0x7f080128;
public static final int settings_appearance_title=0x7f0800ad;
public static final int settings_buffer_length=0x7f0800e6;
public static final int settings_buffer_length_1=0x7f0800e8;
public static final int settings_buffer_length_10=0x7f0800ec;
public static final int settings_buffer_length_12=0x7f0800ed;
public static final int settings_buffer_length_15=0x7f0800ee;
public static final int settings_buffer_length_2=0x7f0800e9;
public static final int settings_buffer_length_20=0x7f0800ef;
public static final int settings_buffer_length_30=0x7f0800f0;
public static final int settings_buffer_length_5=0x7f0800ea;
public static final int settings_buffer_length_8=0x7f0800eb;
public static final int settings_cache_location=0x7f0800a5;
public static final int settings_cache_location_error=0x7f0800a6;
public static final int settings_cache_size=0x7f0800a4;
public static final int settings_cache_size_100=0x7f0800cd;
public static final int settings_cache_size_1000=0x7f0800d0;
public static final int settings_cache_size_10000=0x7f0800d3;
public static final int settings_cache_size_200=0x7f0800ce;
public static final int settings_cache_size_2000=0x7f0800d1;
public static final int settings_cache_size_20000=0x7f0800d4;
public static final int settings_cache_size_500=0x7f0800cf;
public static final int settings_cache_size_5000=0x7f0800d2;
public static final int settings_cache_size_unlimited=0x7f0800d5;
public static final int settings_cache_title=0x7f0800a2;
public static final int settings_clear_search_history=0x7f0800d6;
public static final int settings_connection_failure=0x7f0800aa;
public static final int settings_default_albums=0x7f080119;
public static final int settings_default_artists=0x7f080118;
public static final int settings_default_songs=0x7f08011a;
public static final int settings_display_bitrate=0x7f0800c1;
public static final int settings_display_bitrate_summary=0x7f0800c2;
public static final int settings_download_transition=0x7f080101;
public static final int settings_download_transition_summary=0x7f080102;
public static final int settings_gapless_playback=0x7f080103;
public static final int settings_gapless_playback_summary=0x7f080104;
public static final int settings_hide_media_summary=0x7f0800e0;
public static final int settings_hide_media_title=0x7f0800df;
public static final int settings_hide_media_toast=0x7f0800e1;
public static final int settings_increment_time=0x7f08011b;
public static final int settings_invalid_url=0x7f0800ab;
public static final int settings_invalid_username=0x7f0800ac;
public static final int settings_max_albums=0x7f080107;
public static final int settings_max_artists=0x7f080116;
public static final int settings_max_bitrate_112=0x7f0800b8;
public static final int settings_max_bitrate_128=0x7f0800b9;
public static final int settings_max_bitrate_160=0x7f0800ba;
public static final int settings_max_bitrate_192=0x7f0800bb;
public static final int settings_max_bitrate_256=0x7f0800bc;
public static final int settings_max_bitrate_32=0x7f0800b4;
public static final int settings_max_bitrate_320=0x7f0800bd;
public static final int settings_max_bitrate_64=0x7f0800b5;
public static final int settings_max_bitrate_80=0x7f0800b6;
public static final int settings_max_bitrate_96=0x7f0800b7;
public static final int settings_max_bitrate_mobile=0x7f0800b3;
public static final int settings_max_bitrate_unlimited=0x7f0800be;
public static final int settings_max_bitrate_wifi=0x7f0800b2;
public static final int settings_max_songs=0x7f080117;
public static final int settings_media_button_summary=0x7f0800e3;
public static final int settings_media_button_title=0x7f0800e2;
public static final int settings_network_timeout=0x7f0800e7;
public static final int settings_network_timeout_105000=0x7f0800f7;
public static final int settings_network_timeout_120000=0x7f0800f8;
public static final int settings_network_timeout_15000=0x7f0800f1;
public static final int settings_network_timeout_30000=0x7f0800f2;
public static final int settings_network_timeout_45000=0x7f0800f3;
public static final int settings_network_timeout_60000=0x7f0800f4;
public static final int settings_network_timeout_75000=0x7f0800f5;
public static final int settings_network_timeout_90000=0x7f0800f6;
public static final int settings_network_title=0x7f0800b1;
public static final int settings_other_title=0x7f0800d8;
public static final int settings_playback_control_title=0x7f0800da;
public static final int settings_preload=0x7f0800a3;
public static final int settings_preload_1=0x7f0800c7;
public static final int settings_preload_10=0x7f0800cb;
public static final int settings_preload_2=0x7f0800c8;
public static final int settings_preload_3=0x7f0800c9;
public static final int settings_preload_5=0x7f0800ca;
public static final int settings_preload_unlimited=0x7f0800cc;
public static final int settings_screen_lit_summary=0x7f0800e5;
public static final int settings_screen_lit_title=0x7f0800e4;
public static final int settings_scrobble_summary=0x7f0800dc;
public static final int settings_scrobble_title=0x7f0800db;
public static final int settings_search_1=0x7f080108;
public static final int settings_search_10=0x7f08010b;
public static final int settings_search_100=0x7f080113;
public static final int settings_search_15=0x7f08010c;
public static final int settings_search_20=0x7f08010d;
public static final int settings_search_25=0x7f08010e;
public static final int settings_search_250=0x7f080114;
public static final int settings_search_3=0x7f080109;
public static final int settings_search_30=0x7f08010f;
public static final int settings_search_40=0x7f080110;
public static final int settings_search_5=0x7f08010a;
public static final int settings_search_50=0x7f080111;
public static final int settings_search_500=0x7f080115;
public static final int settings_search_75=0x7f080112;
public static final int settings_search_history_cleared=0x7f0800d7;
public static final int settings_search_title=0x7f0800d9;
public static final int service_connecting=0x7f08012b;
public static final int settings_appearance_title=0x7f0800ae;
public static final int settings_buffer_length=0x7f0800e7;
public static final int settings_buffer_length_0=0x7f0800e9;
public static final int settings_buffer_length_1=0x7f0800ea;
public static final int settings_buffer_length_10=0x7f0800ee;
public static final int settings_buffer_length_12=0x7f0800ef;
public static final int settings_buffer_length_15=0x7f0800f0;
public static final int settings_buffer_length_2=0x7f0800eb;
public static final int settings_buffer_length_20=0x7f0800f1;
public static final int settings_buffer_length_30=0x7f0800f2;
public static final int settings_buffer_length_5=0x7f0800ec;
public static final int settings_buffer_length_60=0x7f0800f3;
public static final int settings_buffer_length_8=0x7f0800ed;
public static final int settings_cache_location=0x7f0800a6;
public static final int settings_cache_location_error=0x7f0800a7;
public static final int settings_cache_size=0x7f0800a5;
public static final int settings_cache_size_100=0x7f0800ce;
public static final int settings_cache_size_1000=0x7f0800d1;
public static final int settings_cache_size_10000=0x7f0800d4;
public static final int settings_cache_size_200=0x7f0800cf;
public static final int settings_cache_size_2000=0x7f0800d2;
public static final int settings_cache_size_20000=0x7f0800d5;
public static final int settings_cache_size_500=0x7f0800d0;
public static final int settings_cache_size_5000=0x7f0800d3;
public static final int settings_cache_size_unlimited=0x7f0800d6;
public static final int settings_cache_title=0x7f0800a3;
public static final int settings_chat_refresh=0x7f0800a2;
public static final int settings_clear_search_history=0x7f0800d7;
public static final int settings_connection_failure=0x7f0800ab;
public static final int settings_default_albums=0x7f08011c;
public static final int settings_default_artists=0x7f08011b;
public static final int settings_default_songs=0x7f08011d;
public static final int settings_display_bitrate=0x7f0800c2;
public static final int settings_display_bitrate_summary=0x7f0800c3;
public static final int settings_download_transition=0x7f080104;
public static final int settings_download_transition_summary=0x7f080105;
public static final int settings_gapless_playback=0x7f080106;
public static final int settings_gapless_playback_summary=0x7f080107;
public static final int settings_hide_media_summary=0x7f0800e1;
public static final int settings_hide_media_title=0x7f0800e0;
public static final int settings_hide_media_toast=0x7f0800e2;
public static final int settings_increment_time=0x7f08011e;
public static final int settings_invalid_url=0x7f0800ac;
public static final int settings_invalid_username=0x7f0800ad;
public static final int settings_max_albums=0x7f08010a;
public static final int settings_max_artists=0x7f080119;
public static final int settings_max_bitrate_112=0x7f0800b9;
public static final int settings_max_bitrate_128=0x7f0800ba;
public static final int settings_max_bitrate_160=0x7f0800bb;
public static final int settings_max_bitrate_192=0x7f0800bc;
public static final int settings_max_bitrate_256=0x7f0800bd;
public static final int settings_max_bitrate_32=0x7f0800b5;
public static final int settings_max_bitrate_320=0x7f0800be;
public static final int settings_max_bitrate_64=0x7f0800b6;
public static final int settings_max_bitrate_80=0x7f0800b7;
public static final int settings_max_bitrate_96=0x7f0800b8;
public static final int settings_max_bitrate_mobile=0x7f0800b4;
public static final int settings_max_bitrate_unlimited=0x7f0800bf;
public static final int settings_max_bitrate_wifi=0x7f0800b3;
public static final int settings_max_songs=0x7f08011a;
public static final int settings_media_button_summary=0x7f0800e4;
public static final int settings_media_button_title=0x7f0800e3;
public static final int settings_network_timeout=0x7f0800e8;
public static final int settings_network_timeout_105000=0x7f0800fa;
public static final int settings_network_timeout_120000=0x7f0800fb;
public static final int settings_network_timeout_15000=0x7f0800f4;
public static final int settings_network_timeout_30000=0x7f0800f5;
public static final int settings_network_timeout_45000=0x7f0800f6;
public static final int settings_network_timeout_60000=0x7f0800f7;
public static final int settings_network_timeout_75000=0x7f0800f8;
public static final int settings_network_timeout_90000=0x7f0800f9;
public static final int settings_network_title=0x7f0800b2;
public static final int settings_other_title=0x7f0800d9;
public static final int settings_playback_control_title=0x7f0800db;
public static final int settings_preload=0x7f0800a4;
public static final int settings_preload_1=0x7f0800c8;
public static final int settings_preload_10=0x7f0800cc;
public static final int settings_preload_2=0x7f0800c9;
public static final int settings_preload_3=0x7f0800ca;
public static final int settings_preload_5=0x7f0800cb;
public static final int settings_preload_unlimited=0x7f0800cd;
public static final int settings_screen_lit_summary=0x7f0800e6;
public static final int settings_screen_lit_title=0x7f0800e5;
public static final int settings_scrobble_summary=0x7f0800dd;
public static final int settings_scrobble_title=0x7f0800dc;
public static final int settings_search_1=0x7f08010b;
public static final int settings_search_10=0x7f08010e;
public static final int settings_search_100=0x7f080116;
public static final int settings_search_15=0x7f08010f;
public static final int settings_search_20=0x7f080110;
public static final int settings_search_25=0x7f080111;
public static final int settings_search_250=0x7f080117;
public static final int settings_search_3=0x7f08010c;
public static final int settings_search_30=0x7f080112;
public static final int settings_search_40=0x7f080113;
public static final int settings_search_5=0x7f08010d;
public static final int settings_search_50=0x7f080114;
public static final int settings_search_500=0x7f080118;
public static final int settings_search_75=0x7f080115;
public static final int settings_search_history_cleared=0x7f0800d8;
public static final int settings_search_title=0x7f0800da;
public static final int settings_server_add_server=0x7f08009c;
public static final int settings_server_address=0x7f08009f;
public static final int settings_server_name=0x7f08009b;
public static final int settings_server_number=0x7f08009d;
public static final int settings_server_password=0x7f0800a1;
public static final int settings_server_remove_server=0x7f08009e;
public static final int settings_server_scaling_summary=0x7f0800de;
public static final int settings_server_scaling_title=0x7f0800dd;
public static final int settings_server_scaling_summary=0x7f0800df;
public static final int settings_server_scaling_title=0x7f0800de;
public static final int settings_server_unused=0x7f080097;
public static final int settings_server_unused1=0x7f080098;
public static final int settings_server_unused2=0x7f080099;
public static final int settings_server_unused3=0x7f08009a;
public static final int settings_server_username=0x7f0800a0;
public static final int settings_servers_title=0x7f080096;
public static final int settings_show_lockscreen_controls=0x7f0800fd;
public static final int settings_show_lockscreen_controls_summary=0x7f0800fe;
public static final int settings_show_notification=0x7f0800f9;
public static final int settings_show_notification_always=0x7f0800fb;
public static final int settings_show_notification_always_summary=0x7f0800fc;
public static final int settings_show_notification_summary=0x7f0800fa;
public static final int settings_show_now_playing=0x7f080105;
public static final int settings_show_now_playing_summary=0x7f080106;
public static final int settings_show_track_number=0x7f0800c5;
public static final int settings_show_track_number_summary=0x7f0800c6;
public static final int settings_show_lockscreen_controls=0x7f080100;
public static final int settings_show_lockscreen_controls_summary=0x7f080101;
public static final int settings_show_notification=0x7f0800fc;
public static final int settings_show_notification_always=0x7f0800fe;
public static final int settings_show_notification_always_summary=0x7f0800ff;
public static final int settings_show_notification_summary=0x7f0800fd;
public static final int settings_show_now_playing=0x7f080108;
public static final int settings_show_now_playing_summary=0x7f080109;
public static final int settings_show_track_number=0x7f0800c6;
public static final int settings_show_track_number_summary=0x7f0800c7;
public static final int settings_test_connection_title=0x7f080095;
public static final int settings_testing_connection=0x7f0800a7;
public static final int settings_testing_ok=0x7f0800a8;
public static final int settings_testing_unlicensed=0x7f0800a9;
public static final int settings_theme_dark=0x7f0800b0;
public static final int settings_theme_light=0x7f0800af;
public static final int settings_theme_title=0x7f0800ae;
public static final int settings_testing_connection=0x7f0800a8;
public static final int settings_testing_ok=0x7f0800a9;
public static final int settings_testing_unlicensed=0x7f0800aa;
public static final int settings_theme_dark=0x7f0800b1;
public static final int settings_theme_light=0x7f0800b0;
public static final int settings_theme_title=0x7f0800af;
public static final int settings_title=0x7f080094;
public static final int settings_use_folder_for_album_artist=0x7f0800c3;
public static final int settings_use_folder_for_album_artist_summary=0x7f0800c4;
public static final int settings_use_id3=0x7f08011c;
public static final int settings_use_id3_summary=0x7f08011d;
public static final int settings_use_stream_proxy=0x7f0800ff;
public static final int settings_use_stream_proxy_summary=0x7f080100;
public static final int settings_wifi_required_summary=0x7f0800c0;
public static final int settings_wifi_required_title=0x7f0800bf;
public static final int shuffle_endYear=0x7f08011f;
public static final int shuffle_genre=0x7f080120;
public static final int shuffle_startYear=0x7f08011e;
public static final int settings_use_folder_for_album_artist=0x7f0800c4;
public static final int settings_use_folder_for_album_artist_summary=0x7f0800c5;
public static final int settings_use_id3=0x7f08011f;
public static final int settings_use_id3_summary=0x7f080120;
public static final int settings_use_stream_proxy=0x7f080102;
public static final int settings_use_stream_proxy_summary=0x7f080103;
public static final int settings_wifi_required_summary=0x7f0800c1;
public static final int settings_wifi_required_title=0x7f0800c0;
public static final int shuffle_endYear=0x7f080122;
public static final int shuffle_genre=0x7f080123;
public static final int shuffle_startYear=0x7f080121;
public static final int song_details_all=0x7f080090;
public static final int song_details_kbps=0x7f080091;
public static final int updated_playlist=0x7f08008c;
public static final int updated_playlist_error=0x7f08008d;
public static final int util_bytes_format_byte=0x7f08013c;
public static final int util_bytes_format_gigabyte=0x7f080139;
public static final int util_bytes_format_kilobyte=0x7f08013b;
public static final int util_bytes_format_megabyte=0x7f08013a;
public static final int util_no_time=0x7f08013d;
public static final int util_zero_time=0x7f08013e;
public static final int widget_initial_text=0x7f080136;
public static final int widget_sdcard_busy=0x7f080137;
public static final int widget_sdcard_missing=0x7f080138;
public static final int util_bytes_format_byte=0x7f08013f;
public static final int util_bytes_format_gigabyte=0x7f08013c;
public static final int util_bytes_format_kilobyte=0x7f08013e;
public static final int util_bytes_format_megabyte=0x7f08013d;
public static final int util_no_time=0x7f080140;
public static final int util_zero_time=0x7f080141;
public static final int widget_initial_text=0x7f080139;
public static final int widget_sdcard_busy=0x7f08013a;
public static final int widget_sdcard_missing=0x7f08013b;
}
public static final class style {
public static final int MenuDrawer=0x7f0a0005;

View File

@ -17,6 +17,7 @@
<string name="button_bar.search">Recherche</string>
<string name="button_bar.playlists">Playlists</string>
<string name="button_bar.now_playing">Lecture en cours</string>
<string name="button_bar.chat">Clavardage</string>
<string name="main.welcome_title">Bienvenue!</string>
<string name="main.welcome_text">Bienvenue dans UltraSonic ! L\'application n\'est pas configurée. Après avoir configuré votre serveur personnel (disponible à partir de <b>subsonic.org</b>), veuillez accéder aux <b>Paramètres</b> et modifier la configuration pour vous y connecter.</string>
<string name="main.select_server">Sélectionner un serveur</string>
@ -132,6 +133,7 @@
<string name="settings.server_address">Adresse du serveur</string>
<string name="settings.server_username">Nom d\'utilisateur</string>
<string name="settings.server_password">Mot de passe</string>
<string name="settings.chat_refresh">Intervalle de clavardage</string>
<string name="settings.cache_title">Cache des musiques</string>
<string name="settings.preload">Titres à pré-charger</string>
<string name="settings.cache_size">Taille du cache</string>
@ -202,6 +204,7 @@
<string name="settings.screen_lit_summary">Garder l\'écran allumé pendant le téléchargement permet d\'améliorer la vitesse de téléchargement.</string>
<string name="settings.buffer_length">Longueur de la mémoire tampon</string>
<string name="settings.network_timeout">Délai d\'attente de connexion</string>
<string name="settings.buffer_length_0">Désactivé</string>
<string name="settings.buffer_length_1">1 seconde</string>
<string name="settings.buffer_length_2">2 secondes</string>
<string name="settings.buffer_length_5">5 secondes</string>
@ -211,6 +214,7 @@
<string name="settings.buffer_length_15">15 secondes</string>
<string name="settings.buffer_length_20">20 secondes</string>
<string name="settings.buffer_length_30">30 secondes</string>
<string name="settings.buffer_length_60">60 secondes</string>
<string name="settings.network_timeout_15000">15 secondes</string>
<string name="settings.network_timeout_30000">30 secondes</string>
<string name="settings.network_timeout_45000">45 secondes</string>
@ -279,6 +283,7 @@
<string name="util.bytes_format.byte">0 o</string>
<string name="util.no_time">-:--</string>
<string name="util.zero_time">0:00</string>
<string name="chat.send_a_message">Envoyer un message</string>
<plurals name="select_album_n_songs">
<item quantity="zero">Aucun titre</item>

View File

@ -7,8 +7,8 @@
<string name="common.play_now">Lejátszás</string>
<string name="common.play_next">Lejátszás (Következőként)</string>
<string name="common.play_last">Lejátszás (Utolsóként)</string>
<string name="common.pin">Kijelöl</string>
<string name="common.unpin">Visszavon</string>
<string name="common.pin">Tárolás</string>
<string name="common.unpin">Visszavonás</string>
<string name="common.delete">Törlés</string>
<string name="common.various_artists">Különféle előadók</string>
<string name="common.multiple_genres">Többféle műfaj</string>
@ -22,6 +22,7 @@
<string name="button_bar.home">UltraSonic főoldal</string>
<string name="button_bar.browse">Médiakönyvtár</string>
<string name="button_bar.search">Keresés</string>
<string name="button_bar.chat">Csevegés (Chat)</string>
<string name="button_bar.playlists">Lejátszási listák</string>
<string name="button_bar.now_playing">Lejátszó</string>
<string name="main.welcome_title">Üdvözlet!</string>
@ -144,10 +145,10 @@
<string name="settings.title">UltraSonic beállításai</string>
<string name="settings.test_connection_title">Kapcsolat tesztelése</string>
<string name="settings.servers_title">Kiszolgálók</string>
<string name="settings.server_unused">Nem használt</string>
<string name="settings.server_unused1">Nem használt 1</string>
<string name="settings.server_unused2">Nem használt 2</string>
<string name="settings.server_unused3">Nem használt 3</string>
<string name="settings.server_unused">Kiszolgáló</string>
<string name="settings.server_unused1">Kiszolgáló 1</string>
<string name="settings.server_unused2">Kiszolgáló 2</string>
<string name="settings.server_unused3">Kiszolgáló 3</string>
<string name="settings.server_name">Név</string>
<string name="settings.server_add_server">Kiszolgáló hozzáadása</string>
<string name="settings.server_number">Kiszolgálók száma</string>
@ -155,6 +156,7 @@
<string name="settings.server_address">Kiszolgáló címe</string>
<string name="settings.server_username">Felhasználónév</string>
<string name="settings.server_password">Jelszó</string>
<string name="settings.chat_refresh">Csevegés frissítési időköz</string>
<string name="settings.cache_title">Zene gyorsítótár</string>
<string name="settings.preload">Dalok előolvasása</string>
<string name="settings.cache_size">Gyorsítótár mérete</string>
@ -225,6 +227,7 @@
<string name="settings.screen_lit_summary">Képernyő ébrentartása a letöltési sebesség növelése érdekében.</string>
<string name="settings.buffer_length">Pufferméret</string>
<string name="settings.network_timeout">Hálózati időtúllépés</string>
<string name="settings.buffer_length_0">Rokkant</string>
<string name="settings.buffer_length_1">1 másodperc</string>
<string name="settings.buffer_length_2">2 másodperc</string>
<string name="settings.buffer_length_5">5 másodperc</string>
@ -234,6 +237,7 @@
<string name="settings.buffer_length_15">15 másodperc</string>
<string name="settings.buffer_length_20">20 másodperc</string>
<string name="settings.buffer_length_30">30 másodperc</string>
<string name="settings.buffer_length_60">60 másodperc</string>
<string name="settings.network_timeout_15000">15 másodperc</string>
<string name="settings.network_timeout_30000">30 másodperc</string>
<string name="settings.network_timeout_45000">45 másodperc</string>
@ -304,14 +308,15 @@
<string name="equalizer.enabled">Engedélyezve</string>
<string name="equalizer.preset">Profil kiválasztása</string>
<string name="widget.initial_text">Érintse meg a zene kiválasztásához</string>
<string name="widget.sdcard_busy">Az SD kártya nem érhető el</string>
<string name="widget.sdcard_missing">Nincs SD kártya</string>
<string name="widget.sdcard_busy">Az SD kártya nem elérhető!</string>
<string name="widget.sdcard_missing">Nincs SD kártya!</string>
<string name="util.bytes_format.gigabyte">0.00 GB</string>
<string name="util.bytes_format.megabyte">0.00 MB</string>
<string name="util.bytes_format.kilobyte">0 KB</string>
<string name="util.bytes_format.byte">0 B</string>
<string name="util.no_time">-:--</string>
<string name="util.zero_time">0:00</string>
<string name="chat.send_a_message">Üzenet küldése</string>
<plurals name="select_album_n_songs">
<item quantity="zero">Nincsenek dalok</item>
@ -319,12 +324,12 @@
<item quantity="other">%d dal</item>
</plurals>
<plurals name="select_album_n_songs_downloading">
<item quantity="one">1 dal kijelölve.</item>
<item quantity="other">%d dal kijelölve.</item>
<item quantity="one">1 dal kijelölve tárolásra.</item>
<item quantity="other">%d dal kijelölve tárolásra.</item>
</plurals>
<plurals name="select_album_n_songs_unpinned">
<item quantity="one">1 dal visszavonva.</item>
<item quantity="other">%d dal visszavonva.</item>
<item quantity="one">1 dal tárolása visszavonva.</item>
<item quantity="other">%d dal tárolása visszavonva.</item>
</plurals>
<plurals name="select_album_n_songs_added">
<item quantity="one">1 dal hozzáadva a lejátszási sorhoz.</item>

View File

@ -105,6 +105,34 @@
<item>30000</item>
</string-array>
<string-array name="chatRefreshValues">
<item>0</item>
<item>1000</item>
<item>2000</item>
<item>5000</item>
<item>8000</item>
<item>10000</item>
<item>12000</item>
<item>15000</item>
<item>20000</item>
<item>30000</item>
<item>60000</item>
</string-array>
<string-array name="chatRefreshNames">
<item>@string/settings.buffer_length_0</item>
<item>@string/settings.buffer_length_1</item>
<item>@string/settings.buffer_length_2</item>
<item>@string/settings.buffer_length_5</item>
<item>@string/settings.buffer_length_8</item>
<item>@string/settings.buffer_length_10</item>
<item>@string/settings.buffer_length_12</item>
<item>@string/settings.buffer_length_15</item>
<item>@string/settings.buffer_length_20</item>
<item>@string/settings.buffer_length_30</item>
<item>@string/settings.buffer_length_60</item>
</string-array>
<string-array name="bufferLengthNames">
<item>@string/settings.buffer_length_1</item>
<item>@string/settings.buffer_length_2</item>

View File

@ -156,6 +156,7 @@
<string name="settings.server_address">Server Address</string>
<string name="settings.server_username">Username</string>
<string name="settings.server_password">Password</string>
<string name="settings.chat_refresh">Chat Refresh Interval</string>
<string name="settings.cache_title">Music Cache</string>
<string name="settings.preload">Songs To Preload</string>
<string name="settings.cache_size">Cache Size</string>
@ -226,6 +227,7 @@
<string name="settings.screen_lit_summary">Keeping the screen on while downloading improves download speed.</string>
<string name="settings.buffer_length">Buffer Length</string>
<string name="settings.network_timeout">Network Timeout</string>
<string name="settings.buffer_length_0">Disabled</string>
<string name="settings.buffer_length_1">1 second</string>
<string name="settings.buffer_length_2">2 seconds</string>
<string name="settings.buffer_length_5">5 seconds</string>
@ -235,6 +237,7 @@
<string name="settings.buffer_length_15">15 seconds</string>
<string name="settings.buffer_length_20">20 seconds</string>
<string name="settings.buffer_length_30">30 seconds</string>
<string name="settings.buffer_length_60">60 seconds</string>
<string name="settings.network_timeout_15000">15 seconds</string>
<string name="settings.network_timeout_30000">30 seconds</string>
<string name="settings.network_timeout_45000">45 seconds</string>

View File

@ -37,13 +37,13 @@
a:key="showNowPlaying"
a:summary="@string/settings.show_now_playing_summary"
a:title="@string/settings.show_now_playing" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.playback_control_title" >
<CheckBoxPreference
a:defaultValue="false"
a:key="useId3Tags"
a:summary="@string/settings.use_id3_summary"
a:title="@string/settings.use_id3" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.playback_control_title" >
<CheckBoxPreference
a:defaultValue="true"
a:key="mediaButtons"
@ -118,6 +118,13 @@
a:entryValues="@array/networkTimeoutValues"
a:key="networkTimeout"
a:title="@string/settings.network_timeout" />
<ListPreference
a:defaultValue="5000"
a:entries="@array/chatRefreshNames"
a:entryValues="@array/chatRefreshValues"
a:key="chatRefreshInterval"
a:title="@string/settings.chat_refresh" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.cache_title" >
<ListPreference

View File

@ -3,7 +3,9 @@ package com.thejoshwa.ultrasonic.androidapp.activity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Intent;
import java.util.Timer;
import java.util.TimerTask;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
@ -25,7 +27,6 @@ import com.thejoshwa.ultrasonic.androidapp.domain.ChatMessage;
import com.thejoshwa.ultrasonic.androidapp.service.MusicService;
import com.thejoshwa.ultrasonic.androidapp.service.MusicServiceFactory;
import com.thejoshwa.ultrasonic.androidapp.util.BackgroundTask;
import com.thejoshwa.ultrasonic.androidapp.util.Constants;
import com.thejoshwa.ultrasonic.androidapp.util.TabActivityBackgroundTask;
import com.thejoshwa.ultrasonic.androidapp.util.Util;
import com.thejoshwa.ultrasonic.androidapp.view.ChatAdapter;
@ -38,9 +39,9 @@ public final class ChatActivity extends SubsonicTabActivity {
private ListView chatListView;
private EditText messageEditText;
private ImageButton sendButton;
//private ChatAdapter chatAdapter;
private static Long lastChatMessageTime = (long) 0;
private static ArrayList<ChatMessage> messageList = new ArrayList<ChatMessage>();
private Timer timer = null;
private volatile static Long lastChatMessageTime = (long) 0;
private volatile static ArrayList<ChatMessage> messageList = new ArrayList<ChatMessage>();
@Override
protected void onCreate(Bundle bundle) {
@ -114,13 +115,64 @@ public final class ChatActivity extends SubsonicTabActivity {
load();
}
@Override
protected void onPostCreate(Bundle bundle) {
super.onPostCreate(bundle);
timerMethod();
}
@Override
protected void onResume() {
super.onResume();
if (!messageList.isEmpty()) {
ChatAdapter chatAdapter = new ChatAdapter(ChatActivity.this, messageList);
chatListView.setAdapter(chatAdapter);
}
if (timer == null) {
timerMethod();
}
}
@Override
protected void onPause() {
super.onPause();
if (timer != null) {
timer.cancel();
timer = null;
}
}
private void timerMethod()
{
int refreshInterval = Util.getChatRefreshInterval(this);
if (refreshInterval > 0) {
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
ChatActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
load();
}
});
}
}, refreshInterval, refreshInterval);
}
}
private void sendMessage() {
final String message = messageEditText.getText().toString();
if (!Util.isNullOrWhiteSpace(message)) {
messageEditText.setText("");
BackgroundTask<Void> task = new TabActivityBackgroundTask<Void>(ChatActivity.this) {
BackgroundTask<Void> task = new TabActivityBackgroundTask<Void>(ChatActivity.this, false) {
@Override
protected Void doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(ChatActivity.this);
@ -138,18 +190,8 @@ public final class ChatActivity extends SubsonicTabActivity {
}
}
@Override
protected void onResume() {
super.onResume();
if (!messageList.isEmpty()) {
ChatAdapter chatAdapter = new ChatAdapter(ChatActivity.this, messageList);
chatListView.setAdapter(chatAdapter);
}
}
private synchronized void load() {
BackgroundTask<List<ChatMessage>> task = new TabActivityBackgroundTask<List<ChatMessage>>(this) {
BackgroundTask<List<ChatMessage>> task = new TabActivityBackgroundTask<List<ChatMessage>>(this, false) {
@Override
protected List<ChatMessage> doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(ChatActivity.this);
@ -179,26 +221,16 @@ public final class ChatActivity extends SubsonicTabActivity {
task.execute();
}
private void refresh() {
lastChatMessageTime = (long) 0;
messageList = new ArrayList<ChatMessage>();
finish();
Intent intent = getIntent();
intent.putExtra(Constants.INTENT_EXTRA_NAME_REFRESH, true);
Util.startActivityWithoutTransition(this, intent);
}
private class GetDataTask extends AsyncTask<Void, Void, String[]> {
@Override
protected void onPostExecute(String[] result) {
load();
refreshChatListView.onRefreshComplete();
super.onPostExecute(result);
}
@Override
protected String[] doInBackground(Void... params) {
refresh();
return null;
}
}

View File

@ -86,6 +86,7 @@ public final class HelpActivity extends Activity implements OnClickListener {
findViewById(R.id.menu_browse).setOnClickListener(this);
searchMenuItem.setOnClickListener(this);
playlistsMenuItem.setOnClickListener(this);
findViewById(R.id.menu_chat).setOnClickListener(this);
findViewById(R.id.menu_now_playing).setOnClickListener(this);
findViewById(R.id.menu_settings).setOnClickListener(this);
findViewById(R.id.menu_about).setOnClickListener(this);

View File

@ -49,7 +49,7 @@ public final class LyricsActivity extends SubsonicTabActivity {
}
private void load() {
BackgroundTask<Lyrics> task = new TabActivityBackgroundTask<Lyrics>(this) {
BackgroundTask<Lyrics> task = new TabActivityBackgroundTask<Lyrics>(this, true) {
@Override
protected Lyrics doInBackground() throws Throwable {
String artist = getIntent().getStringExtra(Constants.INTENT_EXTRA_NAME_ARTIST);

View File

@ -268,7 +268,7 @@ public class SearchActivity extends SubsonicTabActivity {
final int maxAlbums = Util.getMaxAlbums(this);
final int maxSongs = Util.getMaxSongs(this);
BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this) {
BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this, true) {
@Override
protected SearchResult doInBackground() throws Throwable {
SearchCritera criteria = new SearchCritera(query, maxArtists, maxAlbums, maxSongs);

View File

@ -652,7 +652,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
private abstract class LoadTask extends TabActivityBackgroundTask<Pair<MusicDirectory, Boolean>> {
public LoadTask() {
super(SelectAlbumActivity.this);
super(SelectAlbumActivity.this, true);
}
protected abstract MusicDirectory load(MusicService service) throws Exception;

View File

@ -123,7 +123,7 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
}
private void load() {
BackgroundTask<Indexes> task = new TabActivityBackgroundTask<Indexes>(this) {
BackgroundTask<Indexes> task = new TabActivityBackgroundTask<Indexes>(this, true) {
@Override
protected Indexes doInBackground() throws Throwable {
boolean refresh = getIntent().getBooleanExtra(Constants.INTENT_EXTRA_NAME_REFRESH, false);

View File

@ -100,7 +100,7 @@ public class SelectGenreActivity extends SubsonicTabActivity implements AdapterV
}
private void load() {
BackgroundTask<List<Genre>> task = new TabActivityBackgroundTask<List<Genre>>(this) {
BackgroundTask<List<Genre>> task = new TabActivityBackgroundTask<List<Genre>>(this, true) {
@Override
protected List<Genre> doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(SelectGenreActivity.this);

View File

@ -102,7 +102,7 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
}
private void load() {
BackgroundTask<List<Playlist>> task = new TabActivityBackgroundTask<List<Playlist>>(this) {
BackgroundTask<List<Playlist>> task = new TabActivityBackgroundTask<List<Playlist>>(this, true) {
@Override
protected List<Playlist> doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(SelectPlaylistActivity.this);

View File

@ -77,6 +77,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private ListPreference defaultAlbums;
private ListPreference defaultSongs;
private ListPreference defaultArtists;
private ListPreference chatRefreshInterval;
private CheckBoxPreference mediaButtonsEnabled;
private CheckBoxPreference lockScreenEnabled;
private CheckBoxPreference gaplessPlaybackEnabled;
@ -119,6 +120,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
findViewById(R.id.menu_browse).setOnClickListener(this);
searchMenuItem.setOnClickListener(this);
playlistsMenuItem.setOnClickListener(this);
findViewById(R.id.menu_chat).setOnClickListener(this);
findViewById(R.id.menu_now_playing).setOnClickListener(this);
findViewById(R.id.menu_settings).setOnClickListener(this);
findViewById(R.id.menu_about).setOnClickListener(this);
@ -150,6 +152,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
defaultArtists = (ListPreference) findPreference(Constants.PREFERENCES_KEY_DEFAULT_ARTISTS);
defaultSongs = (ListPreference) findPreference(Constants.PREFERENCES_KEY_DEFAULT_SONGS);
defaultAlbums = (ListPreference) findPreference(Constants.PREFERENCES_KEY_DEFAULT_ALBUMS);
chatRefreshInterval = (ListPreference) findPreference(Constants.PREFERENCES_KEY_CHAT_REFRESH_INTERVAL);
mediaButtonsEnabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_MEDIA_BUTTONS);
lockScreenEnabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_SHOW_LOCK_SCREEN_CONTROLS);
gaplessPlaybackEnabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_GAPLESS_PLAYBACK);
@ -402,6 +405,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
defaultAlbums.setSummary(defaultAlbums.getEntry());
defaultArtists.setSummary(defaultArtists.getEntry());
defaultSongs.setSummary(defaultSongs.getEntry());
chatRefreshInterval.setSummary(chatRefreshInterval.getEntry());
if (!mediaButtonsEnabled.isChecked()) {
lockScreenEnabled.setChecked(false);

View File

@ -93,8 +93,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
private int activePosition = 1;
private int menuActiveViewId;
private View nowPlayingView = null;
View searchMenuItem = null;
View playlistsMenuItem = null;
View chatMenuItem = null;
View menuMain = null;
public static boolean nowPlayingHidden = false;
private static Entry currentSong;
@ -118,14 +117,13 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
menuDrawer = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_WINDOW, Position.LEFT);
menuDrawer.setMenuView(R.layout.menu_main);
searchMenuItem = findViewById(R.id.menu_search);
playlistsMenuItem = findViewById(R.id.menu_playlists);
chatMenuItem = findViewById(R.id.menu_chat);
findViewById(R.id.menu_home).setOnClickListener(this);
findViewById(R.id.menu_browse).setOnClickListener(this);
searchMenuItem.setOnClickListener(this);
playlistsMenuItem.setOnClickListener(this);
findViewById(R.id.menu_chat).setOnClickListener(this);
findViewById(R.id.menu_search).setOnClickListener(this);
findViewById(R.id.menu_playlists).setOnClickListener(this);
chatMenuItem.setOnClickListener(this);
findViewById(R.id.menu_now_playing).setOnClickListener(this);
findViewById(R.id.menu_settings).setOnClickListener(this);
findViewById(R.id.menu_about).setOnClickListener(this);
@ -144,6 +142,9 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
protected void onPostCreate(Bundle bundle) {
super.onPostCreate(bundle);
instance = this;
int visibility = Util.isOffline(this) ? View.GONE : View.VISIBLE;
chatMenuItem.setVisibility(visibility);
}
@Override

View File

@ -1518,7 +1518,7 @@ public class DownloadServiceImpl extends Service implements DownloadService {
public void execute() {
setPlayerState(DOWNLOADING);
while (!bufferComplete()) {
while (!bufferComplete() && !Util.isOffline(DownloadServiceImpl.this)) {
Util.sleepQuietly(1000L);
if (isCancelled()) {
return;

View File

@ -116,6 +116,7 @@ public final class Constants {
public static final String PREFERENCES_KEY_INCREMENT_TIME = "incrementTime";
public static final String PREFERENCES_KEY_ID3_TAGS = "useId3Tags";
public static final String PREFERENCES_KEY_TEMP_LOSS = "tempLoss";
public static final String PREFERENCES_KEY_CHAT_REFRESH_INTERVAL = "chatRefreshInterval";
// Name of the preferences file.
public static final String PREFERENCES_FILE_NAME = "com.thejoshwa.ultrasonic.androidapp_preferences";

View File

@ -9,15 +9,19 @@ import com.thejoshwa.ultrasonic.androidapp.activity.SubsonicTabActivity;
public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
private final SubsonicTabActivity tabActivity;
private final boolean changeProgress;
public TabActivityBackgroundTask(SubsonicTabActivity activity) {
public TabActivityBackgroundTask(SubsonicTabActivity activity, boolean changeProgress) {
super(activity);
tabActivity = activity;
this.changeProgress = changeProgress;
}
@Override
public void execute() {
tabActivity.setProgressVisible(true);
if (changeProgress) {
tabActivity.setProgressVisible(true);
}
new Thread() {
@Override
@ -31,7 +35,10 @@ public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
getHandler().post(new Runnable() {
@Override
public void run() {
tabActivity.setProgressVisible(false);
if (changeProgress) {
tabActivity.setProgressVisible(false);
}
done(result);
}
});
@ -42,7 +49,10 @@ public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
getHandler().post(new Runnable() {
@Override
public void run() {
tabActivity.setProgressVisible(false);
if (changeProgress) {
tabActivity.setProgressVisible(false);
}
error(t);
}
});

View File

@ -1235,6 +1235,11 @@ public class Util extends DownloadActivity {
return prefs.getBoolean(Constants.PREFERENCES_KEY_ID3_TAGS, false);
}
public static int getChatRefreshInterval(Context context) {
SharedPreferences prefs = getPreferences(context);
return Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_CHAT_REFRESH_INTERVAL, "5000"));
}
public static boolean isNullOrWhiteSpace(String string) {
return string == null || string.isEmpty() || string.trim().isEmpty();
}