Updated icon, add support for 10 servers

This commit is contained in:
Joshua Bahnsen 2013-05-04 18:44:39 -07:00
parent 1b59726211
commit 9d301d9633
18 changed files with 470 additions and 293 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -839,12 +839,12 @@ 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=0x7f080101;
public static final int background_task_network_error=0x7f080103;
public static final int background_task_no_network=0x7f080102;
public static final int background_task_not_found=0x7f080104;
public static final int background_task_parse_error=0x7f080105;
public static final int background_task_wait=0x7f080100;
public static final int background_task_loading=0x7f080105;
public static final int background_task_network_error=0x7f080107;
public static final int background_task_no_network=0x7f080106;
public static final int background_task_not_found=0x7f080108;
public static final int background_task_parse_error=0x7f080109;
public static final int background_task_wait=0x7f080104;
public static final int button_bar_browse=0x7f080013;
public static final int button_bar_home=0x7f080012;
public static final int button_bar_now_playing=0x7f080016;
@ -894,9 +894,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=0x7f080073;
public static final int download_visualizer_off=0x7f080075;
public static final int download_visualizer_on=0x7f080074;
public static final int equalizer_enabled=0x7f080112;
public static final int equalizer_label=0x7f080111;
public static final int equalizer_preset=0x7f080113;
public static final int equalizer_enabled=0x7f080116;
public static final int equalizer_label=0x7f080115;
public static final int equalizer_preset=0x7f080117;
public static final int error_label=0x7f08007f;
public static final int help_back=0x7f080039;
public static final int help_close=0x7f08003a;
@ -938,14 +938,14 @@ or to a theme attribute in the form "<code>?[<i>package</i>:][<i>type</i>:]<i>na
public static final int menu_settings=0x7f080030;
public static final int music_library_label=0x7f080048;
public static final int music_library_label_offline=0x7f080049;
public static final int music_service_retry=0x7f0800ff;
public static final int parser_artist_count=0x7f08010d;
public static final int parser_not_authenticated=0x7f08010b;
public static final int parser_not_authorized=0x7f08010c;
public static final int parser_reading=0x7f080107;
public static final int parser_reading_done=0x7f080108;
public static final int parser_upgrade_client=0x7f080109;
public static final int parser_upgrade_server=0x7f08010a;
public static final int music_service_retry=0x7f080103;
public static final int parser_artist_count=0x7f080111;
public static final int parser_not_authenticated=0x7f08010f;
public static final int parser_not_authorized=0x7f080110;
public static final int parser_reading=0x7f08010b;
public static final int parser_reading_done=0x7f08010c;
public static final int parser_upgrade_client=0x7f08010d;
public static final int parser_upgrade_server=0x7f08010e;
public static final int play_video_loading=0x7f08003d;
public static final int play_video_noplugin=0x7f08003e;
public static final int playlist_label=0x7f080036;
@ -982,151 +982,155 @@ 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=0x7f080051;
public static final int select_album_searching=0x7f080050;
public static final int select_album_select=0x7f08004b;
public static final int select_artist_all_folders=0x7f080110;
public static final int select_artist_all_folders=0x7f080114;
public static final int select_artist_empty=0x7f080059;
public static final int select_artist_folder=0x7f08010f;
public static final int select_artist_refresh=0x7f08010e;
public static final int select_artist_folder=0x7f080113;
public static final int select_artist_refresh=0x7f080112;
public static final int select_genre_empty=0x7f08005a;
public static final int select_playlist_empty=0x7f08005b;
public static final int service_connecting=0x7f080106;
public static final int settings_appearance_title=0x7f080095;
public static final int settings_buffer_length=0x7f0800ce;
public static final int settings_buffer_length_1=0x7f0800d0;
public static final int settings_buffer_length_10=0x7f0800d4;
public static final int settings_buffer_length_12=0x7f0800d5;
public static final int settings_buffer_length_15=0x7f0800d6;
public static final int settings_buffer_length_2=0x7f0800d1;
public static final int settings_buffer_length_20=0x7f0800d7;
public static final int settings_buffer_length_30=0x7f0800d8;
public static final int settings_buffer_length_5=0x7f0800d2;
public static final int settings_buffer_length_8=0x7f0800d3;
public static final int settings_cache_location=0x7f08008d;
public static final int settings_cache_location_error=0x7f08008e;
public static final int settings_cache_size=0x7f08008c;
public static final int settings_cache_size_100=0x7f0800b5;
public static final int settings_cache_size_1000=0x7f0800b8;
public static final int settings_cache_size_10000=0x7f0800bb;
public static final int settings_cache_size_200=0x7f0800b6;
public static final int settings_cache_size_2000=0x7f0800b9;
public static final int settings_cache_size_20000=0x7f0800bc;
public static final int settings_cache_size_500=0x7f0800b7;
public static final int settings_cache_size_5000=0x7f0800ba;
public static final int settings_cache_size_unlimited=0x7f0800bd;
public static final int settings_cache_title=0x7f08008a;
public static final int settings_clear_search_history=0x7f0800be;
public static final int settings_connection_failure=0x7f080092;
public static final int settings_default_albums=0x7f0800fd;
public static final int settings_default_artists=0x7f0800fc;
public static final int settings_default_songs=0x7f0800fe;
public static final int settings_display_bitrate=0x7f0800a9;
public static final int settings_display_bitrate_summary=0x7f0800aa;
public static final int settings_hide_media_summary=0x7f0800c8;
public static final int settings_hide_media_title=0x7f0800c7;
public static final int settings_hide_media_toast=0x7f0800c9;
public static final int settings_invalid_url=0x7f080093;
public static final int settings_invalid_username=0x7f080094;
public static final int settings_max_albums=0x7f0800eb;
public static final int settings_max_artists=0x7f0800fa;
public static final int settings_max_bitrate_112=0x7f0800a0;
public static final int settings_max_bitrate_128=0x7f0800a1;
public static final int settings_max_bitrate_160=0x7f0800a2;
public static final int settings_max_bitrate_192=0x7f0800a3;
public static final int settings_max_bitrate_256=0x7f0800a4;
public static final int settings_max_bitrate_32=0x7f08009c;
public static final int settings_max_bitrate_320=0x7f0800a5;
public static final int settings_max_bitrate_64=0x7f08009d;
public static final int settings_max_bitrate_80=0x7f08009e;
public static final int settings_max_bitrate_96=0x7f08009f;
public static final int settings_max_bitrate_mobile=0x7f08009b;
public static final int settings_max_bitrate_unlimited=0x7f0800a6;
public static final int settings_max_bitrate_wifi=0x7f08009a;
public static final int settings_max_songs=0x7f0800fb;
public static final int settings_media_button_summary=0x7f0800cb;
public static final int settings_media_button_title=0x7f0800ca;
public static final int settings_network_timeout=0x7f0800cf;
public static final int settings_network_timeout_105000=0x7f0800df;
public static final int settings_network_timeout_120000=0x7f0800e0;
public static final int settings_network_timeout_15000=0x7f0800d9;
public static final int settings_network_timeout_30000=0x7f0800da;
public static final int settings_network_timeout_45000=0x7f0800db;
public static final int settings_network_timeout_60000=0x7f0800dc;
public static final int settings_network_timeout_75000=0x7f0800dd;
public static final int settings_network_timeout_90000=0x7f0800de;
public static final int settings_network_title=0x7f080099;
public static final int settings_other_title=0x7f0800c0;
public static final int settings_playback_control_title=0x7f0800c2;
public static final int settings_preload=0x7f08008b;
public static final int settings_preload_1=0x7f0800af;
public static final int settings_preload_10=0x7f0800b3;
public static final int settings_preload_2=0x7f0800b0;
public static final int settings_preload_3=0x7f0800b1;
public static final int settings_preload_5=0x7f0800b2;
public static final int settings_preload_unlimited=0x7f0800b4;
public static final int settings_screen_lit_summary=0x7f0800cd;
public static final int settings_screen_lit_title=0x7f0800cc;
public static final int settings_scrobble_summary=0x7f0800c4;
public static final int settings_scrobble_title=0x7f0800c3;
public static final int settings_search_1=0x7f0800ec;
public static final int settings_search_10=0x7f0800ef;
public static final int settings_search_100=0x7f0800f7;
public static final int settings_search_15=0x7f0800f0;
public static final int settings_search_20=0x7f0800f1;
public static final int settings_search_25=0x7f0800f2;
public static final int settings_search_250=0x7f0800f8;
public static final int settings_search_3=0x7f0800ed;
public static final int settings_search_30=0x7f0800f3;
public static final int settings_search_40=0x7f0800f4;
public static final int settings_search_5=0x7f0800ee;
public static final int settings_search_50=0x7f0800f5;
public static final int settings_search_500=0x7f0800f9;
public static final int settings_search_75=0x7f0800f6;
public static final int settings_search_history_cleared=0x7f0800bf;
public static final int settings_search_title=0x7f0800c1;
public static final int settings_server_address=0x7f080087;
public static final int settings_server_name=0x7f080086;
public static final int settings_server_password=0x7f080089;
public static final int settings_server_scaling_summary=0x7f0800c6;
public static final int settings_server_scaling_title=0x7f0800c5;
public static final int settings_server_unused1=0x7f080083;
public static final int settings_server_unused2=0x7f080084;
public static final int settings_server_unused3=0x7f080085;
public static final int settings_server_username=0x7f080088;
public static final int service_connecting=0x7f08010a;
public static final int settings_appearance_title=0x7f080099;
public static final int settings_buffer_length=0x7f0800d2;
public static final int settings_buffer_length_1=0x7f0800d4;
public static final int settings_buffer_length_10=0x7f0800d8;
public static final int settings_buffer_length_12=0x7f0800d9;
public static final int settings_buffer_length_15=0x7f0800da;
public static final int settings_buffer_length_2=0x7f0800d5;
public static final int settings_buffer_length_20=0x7f0800db;
public static final int settings_buffer_length_30=0x7f0800dc;
public static final int settings_buffer_length_5=0x7f0800d6;
public static final int settings_buffer_length_8=0x7f0800d7;
public static final int settings_cache_location=0x7f080091;
public static final int settings_cache_location_error=0x7f080092;
public static final int settings_cache_size=0x7f080090;
public static final int settings_cache_size_100=0x7f0800b9;
public static final int settings_cache_size_1000=0x7f0800bc;
public static final int settings_cache_size_10000=0x7f0800bf;
public static final int settings_cache_size_200=0x7f0800ba;
public static final int settings_cache_size_2000=0x7f0800bd;
public static final int settings_cache_size_20000=0x7f0800c0;
public static final int settings_cache_size_500=0x7f0800bb;
public static final int settings_cache_size_5000=0x7f0800be;
public static final int settings_cache_size_unlimited=0x7f0800c1;
public static final int settings_cache_title=0x7f08008e;
public static final int settings_clear_search_history=0x7f0800c2;
public static final int settings_connection_failure=0x7f080096;
public static final int settings_default_albums=0x7f080101;
public static final int settings_default_artists=0x7f080100;
public static final int settings_default_songs=0x7f080102;
public static final int settings_display_bitrate=0x7f0800ad;
public static final int settings_display_bitrate_summary=0x7f0800ae;
public static final int settings_hide_media_summary=0x7f0800cc;
public static final int settings_hide_media_title=0x7f0800cb;
public static final int settings_hide_media_toast=0x7f0800cd;
public static final int settings_invalid_url=0x7f080097;
public static final int settings_invalid_username=0x7f080098;
public static final int settings_max_albums=0x7f0800ef;
public static final int settings_max_artists=0x7f0800fe;
public static final int settings_max_bitrate_112=0x7f0800a4;
public static final int settings_max_bitrate_128=0x7f0800a5;
public static final int settings_max_bitrate_160=0x7f0800a6;
public static final int settings_max_bitrate_192=0x7f0800a7;
public static final int settings_max_bitrate_256=0x7f0800a8;
public static final int settings_max_bitrate_32=0x7f0800a0;
public static final int settings_max_bitrate_320=0x7f0800a9;
public static final int settings_max_bitrate_64=0x7f0800a1;
public static final int settings_max_bitrate_80=0x7f0800a2;
public static final int settings_max_bitrate_96=0x7f0800a3;
public static final int settings_max_bitrate_mobile=0x7f08009f;
public static final int settings_max_bitrate_unlimited=0x7f0800aa;
public static final int settings_max_bitrate_wifi=0x7f08009e;
public static final int settings_max_songs=0x7f0800ff;
public static final int settings_media_button_summary=0x7f0800cf;
public static final int settings_media_button_title=0x7f0800ce;
public static final int settings_network_timeout=0x7f0800d3;
public static final int settings_network_timeout_105000=0x7f0800e3;
public static final int settings_network_timeout_120000=0x7f0800e4;
public static final int settings_network_timeout_15000=0x7f0800dd;
public static final int settings_network_timeout_30000=0x7f0800de;
public static final int settings_network_timeout_45000=0x7f0800df;
public static final int settings_network_timeout_60000=0x7f0800e0;
public static final int settings_network_timeout_75000=0x7f0800e1;
public static final int settings_network_timeout_90000=0x7f0800e2;
public static final int settings_network_title=0x7f08009d;
public static final int settings_other_title=0x7f0800c4;
public static final int settings_playback_control_title=0x7f0800c6;
public static final int settings_preload=0x7f08008f;
public static final int settings_preload_1=0x7f0800b3;
public static final int settings_preload_10=0x7f0800b7;
public static final int settings_preload_2=0x7f0800b4;
public static final int settings_preload_3=0x7f0800b5;
public static final int settings_preload_5=0x7f0800b6;
public static final int settings_preload_unlimited=0x7f0800b8;
public static final int settings_screen_lit_summary=0x7f0800d1;
public static final int settings_screen_lit_title=0x7f0800d0;
public static final int settings_scrobble_summary=0x7f0800c8;
public static final int settings_scrobble_title=0x7f0800c7;
public static final int settings_search_1=0x7f0800f0;
public static final int settings_search_10=0x7f0800f3;
public static final int settings_search_100=0x7f0800fb;
public static final int settings_search_15=0x7f0800f4;
public static final int settings_search_20=0x7f0800f5;
public static final int settings_search_25=0x7f0800f6;
public static final int settings_search_250=0x7f0800fc;
public static final int settings_search_3=0x7f0800f1;
public static final int settings_search_30=0x7f0800f7;
public static final int settings_search_40=0x7f0800f8;
public static final int settings_search_5=0x7f0800f2;
public static final int settings_search_50=0x7f0800f9;
public static final int settings_search_500=0x7f0800fd;
public static final int settings_search_75=0x7f0800fa;
public static final int settings_search_history_cleared=0x7f0800c3;
public static final int settings_search_title=0x7f0800c5;
public static final int settings_server_add_server=0x7f080088;
public static final int settings_server_address=0x7f08008b;
public static final int settings_server_name=0x7f080087;
public static final int settings_server_number=0x7f080089;
public static final int settings_server_password=0x7f08008d;
public static final int settings_server_remove_server=0x7f08008a;
public static final int settings_server_scaling_summary=0x7f0800ca;
public static final int settings_server_scaling_title=0x7f0800c9;
public static final int settings_server_unused=0x7f080083;
public static final int settings_server_unused1=0x7f080084;
public static final int settings_server_unused2=0x7f080085;
public static final int settings_server_unused3=0x7f080086;
public static final int settings_server_username=0x7f08008c;
public static final int settings_servers_title=0x7f080082;
public static final int settings_show_lockscreen_controls=0x7f0800e5;
public static final int settings_show_lockscreen_controls_summary=0x7f0800e6;
public static final int settings_show_notification=0x7f0800e1;
public static final int settings_show_notification_always=0x7f0800e3;
public static final int settings_show_notification_always_summary=0x7f0800e4;
public static final int settings_show_notification_summary=0x7f0800e2;
public static final int settings_show_now_playing=0x7f0800e9;
public static final int settings_show_now_playing_summary=0x7f0800ea;
public static final int settings_show_track_number=0x7f0800ad;
public static final int settings_show_track_number_summary=0x7f0800ae;
public static final int settings_show_lockscreen_controls=0x7f0800e9;
public static final int settings_show_lockscreen_controls_summary=0x7f0800ea;
public static final int settings_show_notification=0x7f0800e5;
public static final int settings_show_notification_always=0x7f0800e7;
public static final int settings_show_notification_always_summary=0x7f0800e8;
public static final int settings_show_notification_summary=0x7f0800e6;
public static final int settings_show_now_playing=0x7f0800ed;
public static final int settings_show_now_playing_summary=0x7f0800ee;
public static final int settings_show_track_number=0x7f0800b1;
public static final int settings_show_track_number_summary=0x7f0800b2;
public static final int settings_test_connection_title=0x7f080081;
public static final int settings_testing_connection=0x7f08008f;
public static final int settings_testing_ok=0x7f080090;
public static final int settings_testing_unlicensed=0x7f080091;
public static final int settings_theme_dark=0x7f080098;
public static final int settings_theme_light=0x7f080097;
public static final int settings_theme_title=0x7f080096;
public static final int settings_testing_connection=0x7f080093;
public static final int settings_testing_ok=0x7f080094;
public static final int settings_testing_unlicensed=0x7f080095;
public static final int settings_theme_dark=0x7f08009c;
public static final int settings_theme_light=0x7f08009b;
public static final int settings_theme_title=0x7f08009a;
public static final int settings_title=0x7f080080;
public static final int settings_use_folder_for_album_artist=0x7f0800ab;
public static final int settings_use_folder_for_album_artist_summary=0x7f0800ac;
public static final int settings_use_stream_proxy=0x7f0800e7;
public static final int settings_use_stream_proxy_summary=0x7f0800e8;
public static final int settings_wifi_required_summary=0x7f0800a8;
public static final int settings_wifi_required_title=0x7f0800a7;
public static final int settings_use_folder_for_album_artist=0x7f0800af;
public static final int settings_use_folder_for_album_artist_summary=0x7f0800b0;
public static final int settings_use_stream_proxy=0x7f0800eb;
public static final int settings_use_stream_proxy_summary=0x7f0800ec;
public static final int settings_wifi_required_summary=0x7f0800ac;
public static final int settings_wifi_required_title=0x7f0800ab;
public static final int song_details_all=0x7f08007c;
public static final int song_details_kbps=0x7f08007d;
public static final int util_bytes_format_byte=0x7f08011a;
public static final int util_bytes_format_gigabyte=0x7f080117;
public static final int util_bytes_format_kilobyte=0x7f080119;
public static final int util_bytes_format_megabyte=0x7f080118;
public static final int util_no_time=0x7f08011b;
public static final int util_zero_time=0x7f08011c;
public static final int widget_initial_text=0x7f080114;
public static final int widget_sdcard_busy=0x7f080115;
public static final int widget_sdcard_missing=0x7f080116;
public static final int util_bytes_format_byte=0x7f08011e;
public static final int util_bytes_format_gigabyte=0x7f08011b;
public static final int util_bytes_format_kilobyte=0x7f08011d;
public static final int util_bytes_format_megabyte=0x7f08011c;
public static final int util_no_time=0x7f08011f;
public static final int util_zero_time=0x7f080120;
public static final int widget_initial_text=0x7f080118;
public static final int widget_sdcard_busy=0x7f080119;
public static final int widget_sdcard_missing=0x7f08011a;
}
public static final class style {
public static final int MenuDrawer=0x7f0a0005;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -125,10 +125,14 @@
<string name="settings.title">UltraSonic Settings</string>
<string name="settings.test_connection_title">Test Connection</string>
<string name="settings.servers_title">Servers</string>
<string name="settings.server_unused">Unused</string>
<string name="settings.server_unused1">Unused 1</string>
<string name="settings.server_unused2">Unused 2</string>
<string name="settings.server_unused3">Unused 3</string>
<string name="settings.server_name">Name</string>
<string name="settings.server_add_server">Add Server</string>
<string name="settings.server_number">Number Of Servers</string>
<string name="settings.server_remove_server">Remove Server</string>
<string name="settings.server_address">Server Address</string>
<string name="settings.server_username">Username</string>
<string name="settings.server_password">Password</string>

View File

@ -2,83 +2,17 @@
<PreferenceScreen xmlns:a="http://schemas.android.com/apk/res/android"
a:title="@string/common.appname" >
<PreferenceCategory a:title="@string/settings.servers_title" >
<PreferenceScreen a:key="server1" >
<EditTextPreference
a:defaultValue="@string/settings.server_unused1"
a:key="serverName1"
a:title="@string/settings.server_name" />
<EditTextPreference
a:defaultValue="http://yourhost"
a:inputType="textUri"
a:key="serverUrl1"
a:title="@string/settings.server_address" />
<EditTextPreference
a:key="username1"
a:title="@string/settings.server_username" />
<EditTextPreference
a:key="password1"
a:password="true"
a:summary="****"
a:title="@string/settings.server_password" />
<Preference
a:key="testConnection1"
a:persistent="false"
a:title="@string/settings.test_connection_title" />
</PreferenceScreen>
<PreferenceScreen a:key="server2" >
<EditTextPreference
a:defaultValue="@string/settings.server_unused2"
a:key="serverName2"
a:title="@string/settings.server_name" />
<EditTextPreference
a:defaultValue="http://yourhost"
a:inputType="textUri"
a:key="serverUrl2"
a:title="@string/settings.server_address" />
<EditTextPreference
a:key="username2"
a:title="@string/settings.server_username" />
<EditTextPreference
a:key="password2"
a:password="true"
a:summary="****"
a:title="@string/settings.server_password" />
<Preference
a:key="testConnection2"
a:persistent="false"
a:title="@string/settings.test_connection_title" />
</PreferenceScreen>
<PreferenceScreen a:key="server3" >
<EditTextPreference
a:defaultValue="@string/settings.server_unused3"
a:key="serverName3"
a:title="@string/settings.server_name" />
<EditTextPreference
a:defaultValue="http://yourhost"
a:inputType="textUri"
a:key="serverUrl3"
a:title="@string/settings.server_address" />
<EditTextPreference
a:key="username3"
a:title="@string/settings.server_username" />
<EditTextPreference
a:key="password3"
a:password="true"
a:summary="****"
a:title="@string/settings.server_password" />
<Preference
a:key="testConnection3"
a:persistent="false"
a:title="@string/settings.test_connection_title" />
</PreferenceScreen>
<PreferenceCategory a:key="serversKey" a:title="@string/settings.servers_title" >
<EditTextPreference
a:defaultValue="3"
a:enabled="false"
a:shouldDisableView="true"
a:key="serverNum"
a:title="@string/settings.server_number" />
</PreferenceCategory>
<PreferenceCategory a:title="@string/settings.appearance_title" >
<ListPreference
a:defaultValue="Dark"
a:defaultValue="dark"
a:entries="@array/themeNames"
a:entryValues="@array/themeValues"
a:key="theme"
@ -108,7 +42,7 @@
a:defaultValue="true"
a:key="showNowPlaying"
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.network_title" >
<ListPreference
@ -216,7 +150,7 @@
a:key="showNotification"
a:summary="@string/settings.show_notification_summary"
a:title="@string/settings.show_notification" />
<CheckBoxPreference
<CheckBoxPreference
a:defaultValue="true"
a:key="alwaysShowNotification"
a:summary="@string/settings.show_notification_always_summary"

View File

@ -93,9 +93,7 @@ public final class HelpActivity extends Activity implements OnClickListener {
findViewById(R.id.menu_about).setOnClickListener(this);
findViewById(R.id.menu_exit).setOnClickListener(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
getActionBar().setDisplayHomeAsUpEnabled(true);
View aboutMenuItem = findViewById(R.id.menu_about);
menuDrawer.setActiveView(aboutMenuItem);

View File

@ -45,10 +45,17 @@ import android.widget.TextView;
public class MainActivity extends SubsonicTabActivity {
private static final int MENU_GROUP_SERVER = 10;
private static final int MENU_ITEM_OFFLINE = 111;
private static final int MENU_ITEM_SERVER_1 = 101;
private static final int MENU_ITEM_SERVER_2 = 102;
private static final int MENU_ITEM_SERVER_3 = 103;
private static final int MENU_ITEM_OFFLINE = 104;
private static final int MENU_ITEM_SERVER_4 = 104;
private static final int MENU_ITEM_SERVER_5 = 105;
private static final int MENU_ITEM_SERVER_6 = 106;
private static final int MENU_ITEM_SERVER_7 = 107;
private static final int MENU_ITEM_SERVER_8 = 108;
private static final int MENU_ITEM_SERVER_9 = 109;
private static final int MENU_ITEM_SERVER_10 = 110;
private String theme;
@ -96,6 +103,10 @@ public class MainActivity extends SubsonicTabActivity {
final View dummyView = findViewById(R.id.main_dummy);
if (!getActiveServerEnabled()) {
Util.setActiveServer(this, 0);
}
int instance = Util.getActiveServer(this);
String name = Util.getServerName(this, instance);
serverTextView.setText(name);
@ -104,7 +115,7 @@ public class MainActivity extends SubsonicTabActivity {
MergeAdapter adapter = new MergeAdapter();
adapter.addViews(Arrays.asList(serverButton), true);
if (!Util.isOffline(this)) {
adapter.addView(musicTitle, false);
adapter.addViews(Arrays.asList(artistsButton, albumsButton, genresButton), true);
@ -197,27 +208,76 @@ public class MainActivity extends SubsonicTabActivity {
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo);
MenuItem menuItem1 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_1, MENU_ITEM_SERVER_1, Util.getServerName(this, 1));
MenuItem menuItem2 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_2, MENU_ITEM_SERVER_2, Util.getServerName(this, 2));
MenuItem menuItem3 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_3, MENU_ITEM_SERVER_3, Util.getServerName(this, 3));
MenuItem menuItem4 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_OFFLINE, MENU_ITEM_OFFLINE, Util.getServerName(this, 0));
int activeServer = Util.getActiveServer(this);
boolean checked = false;
for (int i = 0; i <= Util.getActiveServers(this); i++) {
String serverName = Util.getServerName(this, i);
if (Util.getServerEnabled(this, i)) {
int menuItemNum = getMenuItem(i);
MenuItem menuItem = menu.add(MENU_GROUP_SERVER, menuItemNum, menuItemNum, serverName);
if (activeServer == i) {
checked = true;
menuItem.setChecked(true);
}
}
}
if (!checked) {
menu.findItem(getMenuItem(0)).setChecked(true);
}
menu.setGroupCheckable(MENU_GROUP_SERVER, true, true);
menu.setHeaderTitle(R.string.main_select_server);
}
private boolean getActiveServerEnabled() {
switch (Util.getActiveServer(this)) {
case 0:
menuItem4.setChecked(true);
break;
case 1:
menuItem1.setChecked(true);
break;
case 2:
menuItem2.setChecked(true);
break;
case 3:
menuItem3.setChecked(true);
break;
}
int activeServer = Util.getActiveServer(this);
boolean activeServerEnabled = false;
for (int i = 0; i <= Util.getActiveServers(this); i++) {
if (Util.getServerEnabled(this, i)) {
if (activeServer == i) {
activeServerEnabled = true;
}
}
}
return activeServerEnabled;
}
private int getMenuItem(int serverInstance) {
switch (serverInstance) {
case 0:
return MENU_ITEM_OFFLINE;
case 1:
return MENU_ITEM_SERVER_1;
case 2:
return MENU_ITEM_SERVER_2;
case 3:
return MENU_ITEM_SERVER_3;
case 4:
return MENU_ITEM_SERVER_4;
case 5:
return MENU_ITEM_SERVER_5;
case 6:
return MENU_ITEM_SERVER_6;
case 7:
return MENU_ITEM_SERVER_7;
case 8:
return MENU_ITEM_SERVER_8;
case 9:
return MENU_ITEM_SERVER_9;
case 10:
return MENU_ITEM_SERVER_10;
}
return 0;
}
@Override
@ -235,6 +295,27 @@ public class MainActivity extends SubsonicTabActivity {
case MENU_ITEM_SERVER_3:
setActiveServer(3);
break;
case MENU_ITEM_SERVER_4:
setActiveServer(4);
break;
case MENU_ITEM_SERVER_5:
setActiveServer(5);
break;
case MENU_ITEM_SERVER_6:
setActiveServer(6);
break;
case MENU_ITEM_SERVER_7:
setActiveServer(7);
break;
case MENU_ITEM_SERVER_8:
setActiveServer(8);
break;
case MENU_ITEM_SERVER_9:
setActiveServer(9);
break;
case MENU_ITEM_SERVER_10:
setActiveServer(10);
break;
default:
return super.onContextItemSelected(menuItem);
}

View File

@ -20,15 +20,16 @@ package com.thejoshwa.ultrasonic.androidapp.activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
import android.provider.SearchRecentSuggestions;
import android.text.InputType;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
@ -51,7 +52,6 @@ import java.io.File;
import java.net.URL;
import java.util.LinkedHashMap;
import java.util.Map;
import net.simonvt.menudrawer.MenuDrawer;
import net.simonvt.menudrawer.Position;
@ -76,6 +76,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private ListPreference defaultArtists;
private CheckBoxPreference mediaButtonsEnabled;
private CheckBoxPreference lockScreenEnabled;
private int maxServerCount = 10;
private int minServerCount = 0;
private static final String STATE_MENUDRAWER = "com.thejoshwa.ultrasonic.androidapp.menuDrawer";
private static final String STATE_ACTIVE_VIEW_ID = "com.thejoshwa.ultrasonic.androidapp.activeViewId";
@ -84,9 +86,13 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
public MenuDrawer menuDrawer;
private int activePosition = 1;
private int menuActiveViewId;
private int activeServers = 3;
View searchMenuItem = null;
View playlistsMenuItem = null;
View menuMain = null;
PreferenceCategory serversCategory;
EditTextPreference serverNumPreference;
Preference addServerPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -114,9 +120,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
findViewById(R.id.menu_about).setOnClickListener(this);
findViewById(R.id.menu_exit).setOnClickListener(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
getActionBar().setDisplayHomeAsUpEnabled(true);
View browseMenuItem = findViewById(R.id.menu_settings);
menuDrawer.setActiveView(browseMenuItem);
@ -144,31 +148,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
mediaButtonsEnabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_MEDIA_BUTTONS);
lockScreenEnabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_SHOW_LOCK_SCREEN_CONTROLS);
findPreference("testConnection1").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
testConnection(1);
return false;
}
});
findPreference("testConnection2").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
testConnection(2);
return false;
}
});
findPreference("testConnection3").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
testConnection(3);
return false;
}
});
findPreference("clearSearchHistory").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
findPreference(Constants.PREFERENCES_KEY_CLEAR_SEARCH_HISTORY).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(SettingsActivity.this, SearchSuggestionProvider.AUTHORITY, SearchSuggestionProvider.MODE);
@ -177,12 +157,64 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
return false;
}
});
serverNumPreference = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_SERVER_NUMBER);
serverNumPreference.setSummary(serverNumPreference.getText());
activeServers = Integer.parseInt(serverNumPreference.getText());
serversCategory = (PreferenceCategory) findPreference(Constants.PREFERENCES_KEY_SERVERS_KEY);
addServerPreference = new Preference(this);
addServerPreference.setKey(Constants.PREFERENCES_KEY_ADD_SERVER);
addServerPreference.setPersistent(false);
addServerPreference.setTitle(getResources().getString(R.string.settings_server_add_server));
addServerPreference.setEnabled(activeServers < maxServerCount);
serversCategory.addPreference(addServerPreference);
for (int i = 1; i <= 3; i++) {
for (int i = 1; i <= activeServers; i++) {
final int instanceValue = i;
serversCategory.addPreference(addServer(i));
findPreference(Constants.PREFERENCES_KEY_TEST_CONNECTION + i).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
testConnection(instanceValue);
return false;
}
});
String instance = String.valueOf(i);
serverSettings.put(instance, new ServerSettings(instance));
}
addServerPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
if (activeServers == maxServerCount) {
return false;
}
activeServers++;
String instance = String.valueOf(activeServers);
serverNumPreference.setText(instance);
serverNumPreference.setSummary(instance);
Preference addServerPreference = findPreference(Constants.PREFERENCES_KEY_ADD_SERVER);
serversCategory.removePreference(addServerPreference);
serversCategory.addPreference(addServer(activeServers));
serversCategory.addPreference(addServerPreference);
serverSettings.put(instance, new ServerSettings(instance));
addServerPreference.setEnabled(activeServers < maxServerCount);
applyTheme();
return true;
}
});
SharedPreferences prefs = Util.getPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
@ -191,16 +223,118 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
update();
}
private PreferenceScreen addServer(final int instance) {
final PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this);
screen.setTitle(R.string.settings_server_unused);
screen.setKey(Constants.PREFERENCES_KEY_SERVER + instance);
final EditTextPreference serverNamePreference = new EditTextPreference(this);
serverNamePreference.setKey(Constants.PREFERENCES_KEY_SERVER_NAME + instance);
serverNamePreference.setDefaultValue(getResources().getString(R.string.settings_server_unused));
serverNamePreference.setTitle(R.string.settings_server_name);
if (serverNamePreference.getText() == null) {
serverNamePreference.setText(getResources().getString(R.string.settings_server_unused));
}
serverNamePreference.setSummary(serverNamePreference.getText());
final EditTextPreference serverUrlPreference = new EditTextPreference(this);
serverUrlPreference.setKey(Constants.PREFERENCES_KEY_SERVER_URL + instance);
serverUrlPreference.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI);
serverUrlPreference.setDefaultValue("http://yourhost");
serverUrlPreference.setTitle(R.string.settings_server_address);
if (serverUrlPreference.getText() == null) {
serverUrlPreference.setText("http://yourhost");
}
serverUrlPreference.setSummary(serverUrlPreference.getText());
screen.setSummary(serverUrlPreference.getText());
final EditTextPreference serverUsernamePreference = new EditTextPreference(this);
serverUsernamePreference.setKey(Constants.PREFERENCES_KEY_USERNAME + instance);
serverUsernamePreference.setTitle(R.string.settings_server_username);
final EditTextPreference serverPasswordPreference = new EditTextPreference(this);
serverPasswordPreference.setKey(Constants.PREFERENCES_KEY_PASSWORD + instance);
serverPasswordPreference.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
serverPasswordPreference.setSummary("***");
serverPasswordPreference.setTitle(R.string.settings_server_password);
final CheckBoxPreference serverEnabledPreference = new CheckBoxPreference(this);
serverEnabledPreference.setDefaultValue(true);
serverEnabledPreference.setKey(Constants.PREFERENCES_KEY_SERVER_ENABLED + instance);
serverEnabledPreference.setTitle(R.string.equalizer_enabled);
Preference serverRemoveServerPreference = new Preference(this);
serverRemoveServerPreference.setKey(Constants.PREFERENCES_KEY_REMOVE_SERVER + instance);
serverRemoveServerPreference.setPersistent(false);
serverRemoveServerPreference.setTitle(R.string.settings_server_remove_server);
serverRemoveServerPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
if (activeServers == minServerCount) {
return false;
}
// Reset values to null so when we ask for them again they are new
serverNamePreference.setText(null);
serverUrlPreference.setText(null);
serverUsernamePreference.setText(null);
serverPasswordPreference.setText(null);
serverEnabledPreference.setChecked(true);
activeServers--;
serversCategory.removePreference(screen);
String instance = String.valueOf(activeServers);
serverNumPreference.setText(instance);
serverNumPreference.setSummary(instance);
addServerPreference.setEnabled(activeServers < maxServerCount);
screen.getDialog().dismiss();
return true;
}
});
Preference serverTestConnectionPreference = new Preference(this);
serverTestConnectionPreference.setKey(Constants.PREFERENCES_KEY_TEST_CONNECTION + instance);
serverTestConnectionPreference.setPersistent(false);
serverTestConnectionPreference.setTitle(R.string.settings_test_connection_title);
serverTestConnectionPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
testConnection(instance);
return false;
}
});
screen.addPreference(serverNamePreference);
screen.addPreference(serverUrlPreference);
screen.addPreference(serverUsernamePreference);
screen.addPreference(serverPasswordPreference);
screen.addPreference(serverEnabledPreference);
screen.addPreference(serverRemoveServerPreference);
screen.addPreference(serverTestConnectionPreference);
return screen;
}
private void applyTheme() {
String theme = Util.getTheme(this);
// Support the old fullscreen themes as well, for upgrade purposes
if ("dark".equalsIgnoreCase(theme) || "fullscreen".equalsIgnoreCase(theme)) {
setTheme(R.style.UltraSonicTheme);
} else if ("light".equalsIgnoreCase(theme) || "fullscreenlight".equalsIgnoreCase(theme)) {
setTheme(R.style.UltraSonicTheme_Light);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
@ -351,6 +485,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private EditTextPreference serverName;
private EditTextPreference serverUrl;
private EditTextPreference username;
private CheckBoxPreference enabled;
private PreferenceScreen screen;
private ServerSettings(String instance) {
@ -359,6 +494,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
serverName = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_SERVER_NAME + instance);
serverUrl = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_SERVER_URL + instance);
username = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_USERNAME + instance);
enabled = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_SERVER_ENABLED + instance);
serverUrl.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
@ -391,11 +527,11 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
}
public void update() {
serverName.setSummary(serverName.getText());
serverUrl.setSummary(serverUrl.getText());
username.setSummary(username.getText());
screen.setSummary(serverUrl.getText());
screen.setTitle(serverName.getText());
serverName.setSummary(serverName.getText());
serverUrl.setSummary(serverUrl.getText());
username.setSummary(username.getText());
screen.setSummary(serverUrl.getText());
screen.setTitle(serverName.getText());
}
}

View File

@ -113,9 +113,7 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
findViewById(R.id.menu_about).setOnClickListener(this);
findViewById(R.id.menu_exit).setOnClickListener(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
getActionBar().setDisplayHomeAsUpEnabled(true);
TextView activeView = (TextView)findViewById(menuActiveViewId);

View File

@ -59,9 +59,15 @@ public final class Constants {
public static final int NOTIFICATION_ID_ERROR = 101;
// Preferences keys.
public static final String PREFERENCES_KEY_SERVER = "server";
public static final String PREFERENCES_KEY_SERVER_ENABLED = "serverEnabled";
public static final String PREFERENCES_KEY_SERVER_INSTANCE = "serverInstanceId";
public static final String PREFERENCES_KEY_SERVER_NAME = "serverName";
public static final String PREFERENCES_KEY_SERVER_URL = "serverUrl";
public static final String PREFERENCES_KEY_SERVER_NUMBER = "serverNum";
public static final String PREFERENCES_KEY_SERVERS_KEY = "serversKey";
public static final String PREFERENCES_KEY_ADD_SERVER = "addServer";
public static final String PREFERENCES_KEY_REMOVE_SERVER = "removeServer";
public static final String PREFERENCES_KEY_MUSIC_FOLDER_ID = "musicFolderId";
public static final String PREFERENCES_KEY_USERNAME = "username";
public static final String PREFERENCES_KEY_PASSWORD = "password";
@ -95,6 +101,8 @@ public final class Constants {
public static final String PREFERENCES_KEY_DEFAULT_ARTISTS = "defaultArtists";
public static final String PREFERENCES_KEY_USE_STREAM_PROXY = "useStreamProxy";
public static final String PREFERENCES_KEY_SHOW_NOW_PLAYING = "showNowPlaying";
public static final String PREFERENCES_KEY_CLEAR_SEARCH_HISTORY = "clearSearchHistory";
public static final String PREFERENCES_KEY_TEST_CONNECTION = "testConnection";
// Name of the preferences file.
public static final String PREFERENCES_FILE_NAME = "com.thejoshwa.ultrasonic.androidapp_preferences";

View File

@ -182,6 +182,12 @@ public class Util extends DownloadActivity {
SharedPreferences prefs = getPreferences(context);
return prefs.getInt(Constants.PREFERENCES_KEY_SERVER_INSTANCE, 1);
}
public static int getActiveServers(Context context) {
SharedPreferences prefs = getPreferences(context);
String value = prefs.getString(Constants.PREFERENCES_KEY_SERVER_NUMBER, "3");
return Integer.parseInt(value);
}
public static String getServerName(Context context, int instance) {
if (instance == 0) {
@ -190,6 +196,14 @@ public class Util extends DownloadActivity {
SharedPreferences prefs = getPreferences(context);
return prefs.getString(Constants.PREFERENCES_KEY_SERVER_NAME + instance, null);
}
public static boolean getServerEnabled(Context context, int instance) {
if (instance == 0) {
return true;
}
SharedPreferences prefs = getPreferences(context);
return prefs.getBoolean(Constants.PREFERENCES_KEY_SERVER_ENABLED + instance, true);
}
public static void setServerRestVersion(Context context, Version version) {
SERVER_REST_VERSIONS.put(getActiveServer(context), version);