1
0
mirror of https://github.com/ultrasonic/ultrasonic synced 2025-02-17 20:20:50 +01:00

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

View File

@ -17,6 +17,7 @@
<string name="button_bar.search">Recherche</string> <string name="button_bar.search">Recherche</string>
<string name="button_bar.playlists">Playlists</string> <string name="button_bar.playlists">Playlists</string>
<string name="button_bar.now_playing">Lecture en cours</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_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.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> <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_address">Adresse du serveur</string>
<string name="settings.server_username">Nom d\'utilisateur</string> <string name="settings.server_username">Nom d\'utilisateur</string>
<string name="settings.server_password">Mot de passe</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.cache_title">Cache des musiques</string>
<string name="settings.preload">Titres à pré-charger</string> <string name="settings.preload">Titres à pré-charger</string>
<string name="settings.cache_size">Taille du cache</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.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.buffer_length">Longueur de la mémoire tampon</string>
<string name="settings.network_timeout">Délai d\'attente de connexion</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_1">1 seconde</string>
<string name="settings.buffer_length_2">2 secondes</string> <string name="settings.buffer_length_2">2 secondes</string>
<string name="settings.buffer_length_5">5 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_15">15 secondes</string>
<string name="settings.buffer_length_20">20 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_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_15000">15 secondes</string>
<string name="settings.network_timeout_30000">30 secondes</string> <string name="settings.network_timeout_30000">30 secondes</string>
<string name="settings.network_timeout_45000">45 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.bytes_format.byte">0 o</string>
<string name="util.no_time">-:--</string> <string name="util.no_time">-:--</string>
<string name="util.zero_time">0:00</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"> <plurals name="select_album_n_songs">
<item quantity="zero">Aucun titre</item> <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_now">Lejátszás</string>
<string name="common.play_next">Lejátszás (Következőként)</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.play_last">Lejátszás (Utolsóként)</string>
<string name="common.pin">Kijelöl</string> <string name="common.pin">Tárolás</string>
<string name="common.unpin">Visszavon</string> <string name="common.unpin">Visszavonás</string>
<string name="common.delete">Törlé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.various_artists">Különféle előadók</string>
<string name="common.multiple_genres">Többféle műfaj</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.home">UltraSonic főoldal</string>
<string name="button_bar.browse">Médiakönyvtár</string> <string name="button_bar.browse">Médiakönyvtár</string>
<string name="button_bar.search">Keresés</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.playlists">Lejátszási listák</string>
<string name="button_bar.now_playing">Lejátszó</string> <string name="button_bar.now_playing">Lejátszó</string>
<string name="main.welcome_title">Üdvözlet!</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.title">UltraSonic beállításai</string>
<string name="settings.test_connection_title">Kapcsolat tesztelése</string> <string name="settings.test_connection_title">Kapcsolat tesztelése</string>
<string name="settings.servers_title">Kiszolgálók</string> <string name="settings.servers_title">Kiszolgálók</string>
<string name="settings.server_unused">Nem használt</string> <string name="settings.server_unused">Kiszolgáló</string>
<string name="settings.server_unused1">Nem használt 1</string> <string name="settings.server_unused1">Kiszolgáló 1</string>
<string name="settings.server_unused2">Nem használt 2</string> <string name="settings.server_unused2">Kiszolgáló 2</string>
<string name="settings.server_unused3">Nem használt 3</string> <string name="settings.server_unused3">Kiszolgáló 3</string>
<string name="settings.server_name">Név</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_add_server">Kiszolgáló hozzáadása</string>
<string name="settings.server_number">Kiszolgálók száma</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_address">Kiszolgáló címe</string>
<string name="settings.server_username">Felhasználónév</string> <string name="settings.server_username">Felhasználónév</string>
<string name="settings.server_password">Jelszó</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.cache_title">Zene gyorsítótár</string>
<string name="settings.preload">Dalok előolvasása</string> <string name="settings.preload">Dalok előolvasása</string>
<string name="settings.cache_size">Gyorsítótár mérete</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.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.buffer_length">Pufferméret</string>
<string name="settings.network_timeout">Hálózati időtúllépés</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_1">1 másodperc</string>
<string name="settings.buffer_length_2">2 másodperc</string> <string name="settings.buffer_length_2">2 másodperc</string>
<string name="settings.buffer_length_5">5 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_15">15 másodperc</string>
<string name="settings.buffer_length_20">20 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_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_15000">15 másodperc</string>
<string name="settings.network_timeout_30000">30 másodperc</string> <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_45000">45 másodperc</string>
@ -304,14 +308,15 @@
<string name="equalizer.enabled">Engedélyezve</string> <string name="equalizer.enabled">Engedélyezve</string>
<string name="equalizer.preset">Profil kiválasztása</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.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_busy">Az SD kártya nem elérhető!</string>
<string name="widget.sdcard_missing">Nincs SD kártya</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.gigabyte">0.00 GB</string>
<string name="util.bytes_format.megabyte">0.00 MB</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.kilobyte">0 KB</string>
<string name="util.bytes_format.byte">0 B</string> <string name="util.bytes_format.byte">0 B</string>
<string name="util.no_time">-:--</string> <string name="util.no_time">-:--</string>
<string name="util.zero_time">0:00</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"> <plurals name="select_album_n_songs">
<item quantity="zero">Nincsenek dalok</item> <item quantity="zero">Nincsenek dalok</item>
@ -319,12 +324,12 @@
<item quantity="other">%d dal</item> <item quantity="other">%d dal</item>
</plurals> </plurals>
<plurals name="select_album_n_songs_downloading"> <plurals name="select_album_n_songs_downloading">
<item quantity="one">1 dal kijelölve.</item> <item quantity="one">1 dal kijelölve tárolásra.</item>
<item quantity="other">%d dal kijelölve.</item> <item quantity="other">%d dal kijelölve tárolásra.</item>
</plurals> </plurals>
<plurals name="select_album_n_songs_unpinned"> <plurals name="select_album_n_songs_unpinned">
<item quantity="one">1 dal visszavonva.</item> <item quantity="one">1 dal tárolása visszavonva.</item>
<item quantity="other">%d dal visszavonva.</item> <item quantity="other">%d dal tárolása visszavonva.</item>
</plurals> </plurals>
<plurals name="select_album_n_songs_added"> <plurals name="select_album_n_songs_added">
<item quantity="one">1 dal hozzáadva a lejátszási sorhoz.</item> <item quantity="one">1 dal hozzáadva a lejátszási sorhoz.</item>

View File

@ -104,6 +104,34 @@
<item>20000</item> <item>20000</item>
<item>30000</item> <item>30000</item>
</string-array> </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"> <string-array name="bufferLengthNames">
<item>@string/settings.buffer_length_1</item> <item>@string/settings.buffer_length_1</item>

View File

@ -156,6 +156,7 @@
<string name="settings.server_address">Server Address</string> <string name="settings.server_address">Server Address</string>
<string name="settings.server_username">Username</string> <string name="settings.server_username">Username</string>
<string name="settings.server_password">Password</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.cache_title">Music Cache</string>
<string name="settings.preload">Songs To Preload</string> <string name="settings.preload">Songs To Preload</string>
<string name="settings.cache_size">Cache Size</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.screen_lit_summary">Keeping the screen on while downloading improves download speed.</string>
<string name="settings.buffer_length">Buffer Length</string> <string name="settings.buffer_length">Buffer Length</string>
<string name="settings.network_timeout">Network Timeout</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_1">1 second</string>
<string name="settings.buffer_length_2">2 seconds</string> <string name="settings.buffer_length_2">2 seconds</string>
<string name="settings.buffer_length_5">5 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_15">15 seconds</string>
<string name="settings.buffer_length_20">20 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_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_15000">15 seconds</string>
<string name="settings.network_timeout_30000">30 seconds</string> <string name="settings.network_timeout_30000">30 seconds</string>
<string name="settings.network_timeout_45000">45 seconds</string> <string name="settings.network_timeout_45000">45 seconds</string>

View File

@ -37,13 +37,13 @@
a:key="showNowPlaying" a:key="showNowPlaying"
a:summary="@string/settings.show_now_playing_summary" a:summary="@string/settings.show_now_playing_summary"
a:title="@string/settings.show_now_playing" /> a:title="@string/settings.show_now_playing" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.playback_control_title" >
<CheckBoxPreference <CheckBoxPreference
a:defaultValue="false" a:defaultValue="false"
a:key="useId3Tags" a:key="useId3Tags"
a:summary="@string/settings.use_id3_summary" a:summary="@string/settings.use_id3_summary"
a:title="@string/settings.use_id3" /> a:title="@string/settings.use_id3" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.playback_control_title" >
<CheckBoxPreference <CheckBoxPreference
a:defaultValue="true" a:defaultValue="true"
a:key="mediaButtons" a:key="mediaButtons"
@ -118,6 +118,13 @@
a:entryValues="@array/networkTimeoutValues" a:entryValues="@array/networkTimeoutValues"
a:key="networkTimeout" a:key="networkTimeout"
a:title="@string/settings.network_timeout" /> 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>
<PreferenceCategory a:title="@string/settings.cache_title" > <PreferenceCategory a:title="@string/settings.cache_title" >
<ListPreference <ListPreference

View File

@ -3,7 +3,9 @@ package com.thejoshwa.ultrasonic.androidapp.activity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import android.content.Intent; import java.util.Timer;
import java.util.TimerTask;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; 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.MusicService;
import com.thejoshwa.ultrasonic.androidapp.service.MusicServiceFactory; import com.thejoshwa.ultrasonic.androidapp.service.MusicServiceFactory;
import com.thejoshwa.ultrasonic.androidapp.util.BackgroundTask; 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.TabActivityBackgroundTask;
import com.thejoshwa.ultrasonic.androidapp.util.Util; import com.thejoshwa.ultrasonic.androidapp.util.Util;
import com.thejoshwa.ultrasonic.androidapp.view.ChatAdapter; import com.thejoshwa.ultrasonic.androidapp.view.ChatAdapter;
@ -38,9 +39,9 @@ public final class ChatActivity extends SubsonicTabActivity {
private ListView chatListView; private ListView chatListView;
private EditText messageEditText; private EditText messageEditText;
private ImageButton sendButton; private ImageButton sendButton;
//private ChatAdapter chatAdapter; private Timer timer = null;
private static Long lastChatMessageTime = (long) 0; private volatile static Long lastChatMessageTime = (long) 0;
private static ArrayList<ChatMessage> messageList = new ArrayList<ChatMessage>(); private volatile static ArrayList<ChatMessage> messageList = new ArrayList<ChatMessage>();
@Override @Override
protected void onCreate(Bundle bundle) { protected void onCreate(Bundle bundle) {
@ -114,13 +115,64 @@ public final class ChatActivity extends SubsonicTabActivity {
load(); 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() { private void sendMessage() {
final String message = messageEditText.getText().toString(); final String message = messageEditText.getText().toString();
if (!Util.isNullOrWhiteSpace(message)) { if (!Util.isNullOrWhiteSpace(message)) {
messageEditText.setText(""); messageEditText.setText("");
BackgroundTask<Void> task = new TabActivityBackgroundTask<Void>(ChatActivity.this) { BackgroundTask<Void> task = new TabActivityBackgroundTask<Void>(ChatActivity.this, false) {
@Override @Override
protected Void doInBackground() throws Throwable { protected Void doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(ChatActivity.this); 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() { private synchronized void load() {
BackgroundTask<List<ChatMessage>> task = new TabActivityBackgroundTask<List<ChatMessage>>(this) { BackgroundTask<List<ChatMessage>> task = new TabActivityBackgroundTask<List<ChatMessage>>(this, false) {
@Override @Override
protected List<ChatMessage> doInBackground() throws Throwable { protected List<ChatMessage> doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(ChatActivity.this); MusicService musicService = MusicServiceFactory.getMusicService(ChatActivity.this);
@ -179,26 +221,16 @@ public final class ChatActivity extends SubsonicTabActivity {
task.execute(); 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[]> { private class GetDataTask extends AsyncTask<Void, Void, String[]> {
@Override @Override
protected void onPostExecute(String[] result) { protected void onPostExecute(String[] result) {
load();
refreshChatListView.onRefreshComplete(); refreshChatListView.onRefreshComplete();
super.onPostExecute(result); super.onPostExecute(result);
} }
@Override @Override
protected String[] doInBackground(Void... params) { protected String[] doInBackground(Void... params) {
refresh();
return null; return null;
} }
} }

View File

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

View File

@ -49,7 +49,7 @@ public final class LyricsActivity extends SubsonicTabActivity {
} }
private void load() { private void load() {
BackgroundTask<Lyrics> task = new TabActivityBackgroundTask<Lyrics>(this) { BackgroundTask<Lyrics> task = new TabActivityBackgroundTask<Lyrics>(this, true) {
@Override @Override
protected Lyrics doInBackground() throws Throwable { protected Lyrics doInBackground() throws Throwable {
String artist = getIntent().getStringExtra(Constants.INTENT_EXTRA_NAME_ARTIST); 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 maxAlbums = Util.getMaxAlbums(this);
final int maxSongs = Util.getMaxSongs(this); final int maxSongs = Util.getMaxSongs(this);
BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this) { BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this, true) {
@Override @Override
protected SearchResult doInBackground() throws Throwable { protected SearchResult doInBackground() throws Throwable {
SearchCritera criteria = new SearchCritera(query, maxArtists, maxAlbums, maxSongs); 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>> { private abstract class LoadTask extends TabActivityBackgroundTask<Pair<MusicDirectory, Boolean>> {
public LoadTask() { public LoadTask() {
super(SelectAlbumActivity.this); super(SelectAlbumActivity.this, true);
} }
protected abstract MusicDirectory load(MusicService service) throws Exception; protected abstract MusicDirectory load(MusicService service) throws Exception;

View File

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

View File

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

View File

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

View File

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

View File

@ -1518,7 +1518,7 @@ public class DownloadServiceImpl extends Service implements DownloadService {
public void execute() { public void execute() {
setPlayerState(DOWNLOADING); setPlayerState(DOWNLOADING);
while (!bufferComplete()) { while (!bufferComplete() && !Util.isOffline(DownloadServiceImpl.this)) {
Util.sleepQuietly(1000L); Util.sleepQuietly(1000L);
if (isCancelled()) { if (isCancelled()) {
return; 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_INCREMENT_TIME = "incrementTime";
public static final String PREFERENCES_KEY_ID3_TAGS = "useId3Tags"; public static final String PREFERENCES_KEY_ID3_TAGS = "useId3Tags";
public static final String PREFERENCES_KEY_TEMP_LOSS = "tempLoss"; public static final String PREFERENCES_KEY_TEMP_LOSS = "tempLoss";
public static final String PREFERENCES_KEY_CHAT_REFRESH_INTERVAL = "chatRefreshInterval";
// Name of the preferences file. // Name of the preferences file.
public static final String PREFERENCES_FILE_NAME = "com.thejoshwa.ultrasonic.androidapp_preferences"; 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> { public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
private final SubsonicTabActivity tabActivity; private final SubsonicTabActivity tabActivity;
private final boolean changeProgress;
public TabActivityBackgroundTask(SubsonicTabActivity activity) { public TabActivityBackgroundTask(SubsonicTabActivity activity, boolean changeProgress) {
super(activity); super(activity);
tabActivity = activity; tabActivity = activity;
this.changeProgress = changeProgress;
} }
@Override @Override
public void execute() { public void execute() {
tabActivity.setProgressVisible(true); if (changeProgress) {
tabActivity.setProgressVisible(true);
}
new Thread() { new Thread() {
@Override @Override
@ -31,7 +35,10 @@ public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
getHandler().post(new Runnable() { getHandler().post(new Runnable() {
@Override @Override
public void run() { public void run() {
tabActivity.setProgressVisible(false); if (changeProgress) {
tabActivity.setProgressVisible(false);
}
done(result); done(result);
} }
}); });
@ -42,7 +49,10 @@ public abstract class TabActivityBackgroundTask<T> extends BackgroundTask<T> {
getHandler().post(new Runnable() { getHandler().post(new Runnable() {
@Override @Override
public void run() { public void run() {
tabActivity.setProgressVisible(false); if (changeProgress) {
tabActivity.setProgressVisible(false);
}
error(t); error(t);
} }
}); });

View File

@ -1235,6 +1235,11 @@ public class Util extends DownloadActivity {
return prefs.getBoolean(Constants.PREFERENCES_KEY_ID3_TAGS, false); 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) { public static boolean isNullOrWhiteSpace(String string) {
return string == null || string.isEmpty() || string.trim().isEmpty(); return string == null || string.isEmpty() || string.trim().isEmpty();
} }