Add search settings, fix broken search context menu

This commit is contained in:
Joshua Bahnsen 2013-01-10 23:33:52 -07:00
parent c8db107f0b
commit c73c8a2cd5
14 changed files with 267 additions and 104 deletions

View File

@ -21,8 +21,12 @@ public final class R {
public static final int cacheSizeValues=0x7f060004;
public static final int maxAlbumsNames=0x7f06000d;
public static final int maxAlbumsValues=0x7f06000c;
public static final int maxArtistsNames=0x7f060011;
public static final int maxArtistsValues=0x7f060010;
public static final int maxBitrateNames=0x7f060007;
public static final int maxBitrateValues=0x7f060006;
public static final int maxSongsNames=0x7f06000f;
public static final int maxSongsValues=0x7f06000e;
public static final int networkTimeoutNames=0x7f06000b;
public static final int networkTimeoutValues=0x7f06000a;
public static final int preloadCountNames=0x7f060003;
@ -218,8 +222,8 @@ public final class R {
public static final int main_list=0x7f0d003c;
public static final int main_select_server=0x7f0d003e;
public static final int main_shuffle=0x7f0d007c;
public static final int menu_exit=0x7f0d0079;
public static final int menu_help=0x7f0d007b;
public static final int menu_exit=0x7f0d007b;
public static final int menu_help=0x7f0d007a;
public static final int menu_lyrics=0x7f0d0082;
public static final int menu_refresh=0x7f0d008b;
public static final int menu_remove=0x7f0d0083;
@ -227,7 +231,7 @@ public final class R {
public static final int menu_save_playlist=0x7f0d007e;
public static final int menu_screen_on_off=0x7f0d0080;
public static final int menu_selector=0x7f0d001e;
public static final int menu_settings=0x7f0d007a;
public static final int menu_settings=0x7f0d0079;
public static final int menu_show_album=0x7f0d0081;
public static final int menu_shuffle=0x7f0d0084;
public static final int notification_image=0x7f0d0049;
@ -337,12 +341,12 @@ public final class R {
public static final int select_album_n_songs_downloading=0x7f0a0001;
}
public static final class string {
public static final int background_task_loading=0x7f0900cb;
public static final int background_task_network_error=0x7f0900cd;
public static final int background_task_no_network=0x7f0900cc;
public static final int background_task_not_found=0x7f0900ce;
public static final int background_task_parse_error=0x7f0900cf;
public static final int background_task_wait=0x7f0900ca;
public static final int background_task_loading=0x7f0900e0;
public static final int background_task_network_error=0x7f0900e2;
public static final int background_task_no_network=0x7f0900e1;
public static final int background_task_not_found=0x7f0900e3;
public static final int background_task_parse_error=0x7f0900e4;
public static final int background_task_wait=0x7f0900df;
public static final int button_bar_browse=0x7f09000b;
public static final int button_bar_home=0x7f09000a;
public static final int button_bar_now_playing=0x7f09000e;
@ -387,9 +391,9 @@ public final class R {
public static final int download_repeat_single=0x7f090058;
public static final int download_visualizer_off=0x7f09005a;
public static final int download_visualizer_on=0x7f090059;
public static final int equalizer_enabled=0x7f0900dc;
public static final int equalizer_label=0x7f0900db;
public static final int equalizer_preset=0x7f0900dd;
public static final int equalizer_enabled=0x7f0900f1;
public static final int equalizer_label=0x7f0900f0;
public static final int equalizer_preset=0x7f0900f2;
public static final int error_label=0x7f090064;
public static final int help_back=0x7f090023;
public static final int help_close=0x7f090024;
@ -420,14 +424,14 @@ public final class R {
/** <string name="settings.screen_lit_title">TODO: Keep screen on</string>
<string name="settings.screen_lit_summary">TODO: Keeping the screen on when downloading may improve download speed</string>
*/
public static final int music_service_retry=0x7f0900c9;
public static final int parser_artist_count=0x7f0900d7;
public static final int parser_not_authenticated=0x7f0900d5;
public static final int parser_not_authorized=0x7f0900d6;
public static final int parser_reading=0x7f0900d1;
public static final int parser_reading_done=0x7f0900d2;
public static final int parser_upgrade_client=0x7f0900d3;
public static final int parser_upgrade_server=0x7f0900d4;
public static final int music_service_retry=0x7f0900de;
public static final int parser_artist_count=0x7f0900ec;
public static final int parser_not_authenticated=0x7f0900ea;
public static final int parser_not_authorized=0x7f0900eb;
public static final int parser_reading=0x7f0900e6;
public static final int parser_reading_done=0x7f0900e7;
public static final int parser_upgrade_client=0x7f0900e8;
public static final int parser_upgrade_server=0x7f0900e9;
public static final int play_video_loading=0x7f090027;
public static final int play_video_noplugin=0x7f090028;
/** <string name="menu.exit">TODO: Exit</string>
@ -462,21 +466,21 @@ public final class R {
public static final int select_album_play_all=0x7f09003b;
public static final int select_album_searching=0x7f09003a;
public static final int select_album_select=0x7f090035;
public static final int select_artist_all_folders=0x7f0900da;
public static final int select_artist_folder=0x7f0900d9;
public static final int select_artist_refresh=0x7f0900d8;
public static final int select_artist_all_folders=0x7f0900ef;
public static final int select_artist_folder=0x7f0900ee;
public static final int select_artist_refresh=0x7f0900ed;
public static final int select_playlist_empty=0x7f090043;
public static final int service_connecting=0x7f0900d0;
public static final int service_connecting=0x7f0900e5;
public static final int settings_appearance_title=0x7f090079;
public static final int settings_buffer_length=0x7f0900aa;
public static final int settings_buffer_length_10=0x7f0900af;
public static final int settings_buffer_length_12=0x7f0900b0;
public static final int settings_buffer_length_15=0x7f0900b1;
public static final int settings_buffer_length_2=0x7f0900ac;
public static final int settings_buffer_length_20=0x7f0900b2;
public static final int settings_buffer_length_30=0x7f0900b3;
public static final int settings_buffer_length_5=0x7f0900ad;
public static final int settings_buffer_length_8=0x7f0900ae;
public static final int settings_buffer_length=0x7f0900ab;
public static final int settings_buffer_length_10=0x7f0900b0;
public static final int settings_buffer_length_12=0x7f0900b1;
public static final int settings_buffer_length_15=0x7f0900b2;
public static final int settings_buffer_length_2=0x7f0900ad;
public static final int settings_buffer_length_20=0x7f0900b3;
public static final int settings_buffer_length_30=0x7f0900b4;
public static final int settings_buffer_length_5=0x7f0900ae;
public static final int settings_buffer_length_8=0x7f0900af;
public static final int settings_cache_location=0x7f090071;
public static final int settings_cache_location_error=0x7f090072;
public static final int settings_cache_size=0x7f090070;
@ -492,25 +496,35 @@ public final class R {
public static final int settings_cache_title=0x7f09006e;
public static final int settings_clear_search_history=0x7f09009e;
public static final int settings_connection_failure=0x7f090076;
public static final int settings_hide_media_summary=0x7f0900a4;
public static final int settings_hide_media_summary=0x7f0900a5;
/** <string name="settings.scrobble_title">TODO: Scrobble to Last.fm</string>
<string name="settings.scrobble_summary">TODO: Remember to set up your Last.fm user and password on the Subsonic server</string>
*/
public static final int settings_hide_media_title=0x7f0900a3;
public static final int settings_hide_media_toast=0x7f0900a5;
public static final int settings_hide_media_title=0x7f0900a4;
public static final int settings_hide_media_toast=0x7f0900a6;
public static final int settings_invalid_url=0x7f090077;
public static final int settings_invalid_username=0x7f090078;
public static final int settings_max_albums=0x7f0900be;
public static final int settings_max_albums_10=0x7f0900c1;
public static final int settings_max_albums_100=0x7f0900c6;
public static final int settings_max_albums_20=0x7f0900c2;
public static final int settings_max_albums_250=0x7f0900c7;
public static final int settings_max_albums_30=0x7f0900c3;
public static final int settings_max_albums_40=0x7f0900c4;
public static final int settings_max_albums_5=0x7f0900c0;
public static final int settings_max_albums_50=0x7f0900c5;
public static final int settings_max_albums_500=0x7f0900c8;
public static final int settings_max_albums_summary=0x7f0900bf;
public static final int settings_max_albums=0x7f0900bf;
public static final int settings_max_albums_10=0x7f0900c2;
public static final int settings_max_albums_100=0x7f0900c7;
public static final int settings_max_albums_20=0x7f0900c3;
public static final int settings_max_albums_250=0x7f0900c8;
public static final int settings_max_albums_30=0x7f0900c4;
public static final int settings_max_albums_40=0x7f0900c5;
public static final int settings_max_albums_5=0x7f0900c1;
public static final int settings_max_albums_50=0x7f0900c6;
public static final int settings_max_albums_500=0x7f0900c9;
public static final int settings_max_albums_summary=0x7f0900c0;
public static final int settings_max_artists=0x7f0900d4;
public static final int settings_max_artists_10=0x7f0900d7;
public static final int settings_max_artists_100=0x7f0900db;
public static final int settings_max_artists_200=0x7f0900dc;
public static final int settings_max_artists_25=0x7f0900d8;
public static final int settings_max_artists_5=0x7f0900d6;
public static final int settings_max_artists_50=0x7f0900d9;
public static final int settings_max_artists_500=0x7f0900dd;
public static final int settings_max_artists_75=0x7f0900da;
public static final int settings_max_artists_summary=0x7f0900d5;
public static final int settings_max_bitrate_112=0x7f090086;
public static final int settings_max_bitrate_128=0x7f090087;
public static final int settings_max_bitrate_160=0x7f090088;
@ -524,17 +538,27 @@ public final class R {
public static final int settings_max_bitrate_mobile=0x7f090081;
public static final int settings_max_bitrate_unlimited=0x7f09008c;
public static final int settings_max_bitrate_wifi=0x7f090080;
public static final int settings_media_button_summary=0x7f0900a7;
public static final int settings_media_button_title=0x7f0900a6;
public static final int settings_network_timeout=0x7f0900ab;
public static final int settings_network_timeout_105000=0x7f0900ba;
public static final int settings_network_timeout_120000=0x7f0900bb;
public static final int settings_network_timeout_15000=0x7f0900b4;
public static final int settings_network_timeout_30000=0x7f0900b5;
public static final int settings_network_timeout_45000=0x7f0900b6;
public static final int settings_network_timeout_60000=0x7f0900b7;
public static final int settings_network_timeout_75000=0x7f0900b8;
public static final int settings_network_timeout_90000=0x7f0900b9;
public static final int settings_max_songs=0x7f0900ca;
public static final int settings_max_songs_10=0x7f0900cd;
public static final int settings_max_songs_100=0x7f0900d1;
public static final int settings_max_songs_200=0x7f0900d2;
public static final int settings_max_songs_25=0x7f0900ce;
public static final int settings_max_songs_5=0x7f0900cc;
public static final int settings_max_songs_50=0x7f0900cf;
public static final int settings_max_songs_500=0x7f0900d3;
public static final int settings_max_songs_75=0x7f0900d0;
public static final int settings_max_songs_summary=0x7f0900cb;
public static final int settings_media_button_summary=0x7f0900a8;
public static final int settings_media_button_title=0x7f0900a7;
public static final int settings_network_timeout=0x7f0900ac;
public static final int settings_network_timeout_105000=0x7f0900bb;
public static final int settings_network_timeout_120000=0x7f0900bc;
public static final int settings_network_timeout_15000=0x7f0900b5;
public static final int settings_network_timeout_30000=0x7f0900b6;
public static final int settings_network_timeout_45000=0x7f0900b7;
public static final int settings_network_timeout_60000=0x7f0900b8;
public static final int settings_network_timeout_75000=0x7f0900b9;
public static final int settings_network_timeout_90000=0x7f0900ba;
public static final int settings_network_title=0x7f09007f;
public static final int settings_other_title=0x7f0900a0;
public static final int settings_preload=0x7f09006f;
@ -544,11 +568,12 @@ public final class R {
public static final int settings_preload_3=0x7f090091;
public static final int settings_preload_5=0x7f090092;
public static final int settings_preload_unlimited=0x7f090094;
public static final int settings_screen_lit_summary=0x7f0900a9;
public static final int settings_screen_lit_title=0x7f0900a8;
public static final int settings_scrobble_summary=0x7f0900a2;
public static final int settings_scrobble_title=0x7f0900a1;
public static final int settings_screen_lit_summary=0x7f0900aa;
public static final int settings_screen_lit_title=0x7f0900a9;
public static final int settings_scrobble_summary=0x7f0900a3;
public static final int settings_scrobble_title=0x7f0900a2;
public static final int settings_search_history_cleared=0x7f09009f;
public static final int settings_search_title=0x7f0900a1;
public static final int settings_server_address=0x7f09006b;
public static final int settings_server_name=0x7f09006a;
public static final int settings_server_password=0x7f09006d;
@ -556,8 +581,8 @@ public final class R {
public static final int settings_server_unused2=0x7f090069;
public static final int settings_server_username=0x7f09006c;
public static final int settings_servers_title=0x7f090067;
public static final int settings_show_notification=0x7f0900bc;
public static final int settings_show_notification_summary=0x7f0900bd;
public static final int settings_show_notification=0x7f0900bd;
public static final int settings_show_notification_summary=0x7f0900be;
public static final int settings_test_connection_title=0x7f090066;
public static final int settings_testing_connection=0x7f090073;
public static final int settings_testing_ok=0x7f090074;
@ -567,19 +592,19 @@ public final class R {
public static final int settings_theme_fullscreenlight=0x7f09007c;
public static final int settings_theme_light=0x7f09007d;
public static final int settings_theme_title=0x7f09007a;
public static final int settings_theme_wheat=0x7f0900e5;
public static final int settings_theme_wheat=0x7f0900fa;
public static final int settings_title=0x7f090065;
public static final int settings_wifi_required_summary=0x7f09008e;
public static final int settings_wifi_required_title=0x7f09008d;
public static final int song_details_all=0x7f090061;
public static final int song_details_kbps=0x7f090062;
public static final int util_bytes_format_byte=0x7f0900e4;
public static final int util_bytes_format_gigabyte=0x7f0900e1;
public static final int util_bytes_format_kilobyte=0x7f0900e3;
public static final int util_bytes_format_megabyte=0x7f0900e2;
public static final int widget_initial_text=0x7f0900de;
public static final int widget_sdcard_busy=0x7f0900df;
public static final int widget_sdcard_missing=0x7f0900e0;
public static final int util_bytes_format_byte=0x7f0900f9;
public static final int util_bytes_format_gigabyte=0x7f0900f6;
public static final int util_bytes_format_kilobyte=0x7f0900f8;
public static final int util_bytes_format_megabyte=0x7f0900f7;
public static final int widget_initial_text=0x7f0900f3;
public static final int widget_sdcard_busy=0x7f0900f4;
public static final int widget_sdcard_missing=0x7f0900f5;
}
public static final class style {
public static final int Dark=0x7f0b0000;

View File

@ -1,12 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:a="http://schemas.android.com/apk/res/android">
<item
a:id="@+id/menu_exit"
a:icon="@drawable/ic_menu_exit"
a:title="@string/menu.exit"
/>
<item
a:id="@+id/menu_settings"
a:icon="@drawable/ic_menu_settings"
@ -19,6 +13,12 @@
a:title="@string/menu.help"
/>
<item
a:id="@+id/menu_exit"
a:icon="@drawable/ic_menu_exit"
a:title="@string/menu.exit"
/>
</menu>

View File

@ -152,5 +152,49 @@
<item>@string/settings.max_albums_250</item>
<item>@string/settings.max_albums_500</item>
</string-array>
<string-array name="maxSongsValues">
<item>5</item>
<item>10</item>
<item>25</item>
<item>50</item>
<item>75</item>
<item>100</item>
<item>200</item>
<item>500</item>
</string-array>
<string-array name="maxSongsNames">
<item>@string/settings.max_songs_5</item>
<item>@string/settings.max_songs_10</item>
<item>@string/settings.max_songs_25</item>
<item>@string/settings.max_songs_50</item>
<item>@string/settings.max_songs_75</item>
<item>@string/settings.max_songs_100</item>
<item>@string/settings.max_songs_200</item>
<item>@string/settings.max_songs_500</item>
</string-array>
<string-array name="maxArtistsValues">
<item>5</item>
<item>10</item>
<item>25</item>
<item>50</item>
<item>75</item>
<item>100</item>
<item>200</item>
<item>500</item>
</string-array>
<string-array name="maxArtistsNames">
<item>@string/settings.max_artists_5</item>
<item>@string/settings.max_artists_10</item>
<item>@string/settings.max_artists_25</item>
<item>@string/settings.max_artists_50</item>
<item>@string/settings.max_artists_75</item>
<item>@string/settings.max_artists_100</item>
<item>@string/settings.max_artists_200</item>
<item>@string/settings.max_artists_500</item>
</string-array>
</resources>

View File

@ -180,6 +180,7 @@
<string name="settings.clear_search_history">Clear search history</string>
<string name="settings.search_history_cleared">Search history cleared</string>
<string name="settings.other_title">Other settings</string>
<string name="settings.search_title">Search settings</string>
<string name="settings.scrobble_title">Scrobble to Last.fm</string>
<string name="settings.scrobble_summary">Remember to set up your Last.fm user and password on the Subsonic server</string>
<string name="settings.hide_media_title">Hide from other</string>
@ -220,8 +221,27 @@
<string name="settings.max_albums_100">100</string>
<string name="settings.max_albums_250">250</string>
<string name="settings.max_albums_500">500</string>
<string name="settings.max_songs">Max Songs</string>
<string name="settings.max_songs_summary">Number of songs to return</string>
<string name="settings.max_songs_5">5</string>
<string name="settings.max_songs_10">10</string>
<string name="settings.max_songs_25">25</string>
<string name="settings.max_songs_50">50</string>
<string name="settings.max_songs_75">75</string>
<string name="settings.max_songs_100">100</string>
<string name="settings.max_songs_200">200</string>
<string name="settings.max_songs_500">500</string>
<string name="settings.max_artists">Max Artists</string>
<string name="settings.max_artists_summary">Number of artists to return</string>
<string name="settings.max_artists_5">5</string>
<string name="settings.max_artists_10">10</string>
<string name="settings.max_artists_25">25</string>
<string name="settings.max_artists_50">50</string>
<string name="settings.max_artists_75">75</string>
<string name="settings.max_artists_100">100</string>
<string name="settings.max_artists_200">200</string>
<string name="settings.max_artists_500">500</string>
<string name="music_service.retry">A network error occurred. Retrying %1$d of %2$d.</string>
<string name="background_task.wait">Please wait&#8230;</string>

View File

@ -177,6 +177,40 @@
</PreferenceCategory>
<PreferenceCategory
a:title="@string/settings.search_title">
<ListPreference
a:title="@string/settings.max_artists"
a:summary="@string/settings.max_artists_summary"
a:key="maxArtists"
a:defaultValue="10"
a:entryValues="@array/maxArtistsValues"
a:entries="@array/maxArtistsNames"/>
<ListPreference
a:title="@string/settings.max_albums"
a:summary="@string/settings.max_albums_summary"
a:key="maxAlbums"
a:defaultValue="20"
a:entryValues="@array/maxAlbumsValues"
a:entries="@array/maxAlbumsNames"/>
<ListPreference
a:title="@string/settings.max_songs"
a:summary="@string/settings.max_songs_summary"
a:key="maxSongs"
a:defaultValue="25"
a:entryValues="@array/maxSongsValues"
a:entries="@array/maxSongsNames"/>
<Preference
a:key="clearSearchHistory"
a:title="@string/settings.clear_search_history"
a:persistent="false"/>
</PreferenceCategory>
<PreferenceCategory
a:title="@string/settings.other_title">
@ -209,19 +243,6 @@
a:summary="@string/settings.show_notification_summary"
a:key="showNotification"
a:defaultValue="true"/>
<ListPreference
a:title="@string/settings.max_albums"
a:summary="@string/settings.max_albums_summary"
a:key="maxAlbums"
a:defaultValue="20"
a:entryValues="@array/maxAlbumsValues"
a:entries="@array/maxAlbumsNames"/>
<Preference
a:key="clearSearchHistory"
a:title="@string/settings.clear_search_history"
a:persistent="false"/>
</PreferenceCategory>

View File

@ -497,9 +497,9 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.nowplaying, menu);
super.onCreateOptionsMenu(menu);
return true;
}

View File

@ -155,9 +155,9 @@ public class MainActivity extends SubsonicTabActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu);
return true;
}

View File

@ -64,9 +64,6 @@ public class SearchActivity extends SubsonicTabActivity {
private static final int DEFAULT_ALBUMS = 5;
private static final int DEFAULT_SONGS = 10;
private static final int MAX_ARTISTS = 10;
private static final int MAX_ALBUMS = 20;
private static final int MAX_SONGS = 25;
private ListView list;
private View artistsHeading;
@ -169,7 +166,6 @@ public class SearchActivity extends SubsonicTabActivity {
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo);
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
Object selectedItem = list.getItemAtPosition(info.position);
@ -187,11 +183,50 @@ public class SearchActivity extends SubsonicTabActivity {
}
}
@Override
public boolean onContextItemSelected(MenuItem menuItem) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuItem.getMenuInfo();
Object selectedItem = list.getItemAtPosition(info.position);
Artist artist = selectedItem instanceof Artist ? (Artist) selectedItem : null;
MusicDirectory.Entry entry = selectedItem instanceof MusicDirectory.Entry ? (MusicDirectory.Entry) selectedItem : null;
String id = artist != null ? artist.getId() : entry.getId();
switch (menuItem.getItemId()) {
case R.id.album_menu_play_now:
downloadRecursively(id, false, false, true);
break;
case R.id.album_menu_play_last:
downloadRecursively(id, false, true, false);
break;
case R.id.album_menu_pin:
downloadRecursively(id, true, true, false);
break;
case R.id.song_menu_play_now:
onSongSelected(entry, false, false, true, false);
break;
case R.id.song_menu_play_next:
onSongSelected(entry, false, true, false, true);
break;
case R.id.song_menu_play_last:
onSongSelected(entry, false, true, false, false);
break;
default:
return super.onContextItemSelected(menuItem);
}
return true;
}
private void search(final String query, final boolean autoplay) {
final int maxArtists = Util.getMaxArtists(this);
final int maxAlbums = Util.getMaxAlbums(this);
final int maxSongs = Util.getMaxSongs(this);
BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this) {
@Override
protected SearchResult doInBackground() throws Throwable {
SearchCritera criteria = new SearchCritera(query, MAX_ARTISTS, MAX_ALBUMS, MAX_SONGS);
SearchCritera criteria = new SearchCritera(query, maxArtists, maxAlbums, maxSongs);
MusicService service = MusicServiceFactory.getMusicService(SearchActivity.this);
return service.search(criteria, SearchActivity.this, this);
}

View File

@ -185,10 +185,10 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.select_album, menu);
inflater.inflate(R.menu.select_common, menu);
super.onCreateOptionsMenu(menu);
return true;
}
@ -223,8 +223,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo);
AdapterView.AdapterContextMenuInfo info =
(AdapterView.AdapterContextMenuInfo) menuInfo;
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
MusicDirectory.Entry entry = (MusicDirectory.Entry) entryList.getItemAtPosition(info.position);

View File

@ -83,10 +83,10 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
inflater.inflate(R.menu.select_common, menu);
super.onCreateOptionsMenu(menu);
return true;
}
@ -178,6 +178,7 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
}
}
}
menu.setGroupCheckable(MENU_GROUP_MUSIC_FOLDER, true, true);
}
}

View File

@ -67,9 +67,9 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.select_common, menu);
super.onCreateOptionsMenu(menu);
return true;
}

View File

@ -58,6 +58,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private ListPreference bufferLength;
private ListPreference networkTimeout;
private ListPreference maxAlbums;
private ListPreference maxSongs;
private ListPreference maxArtists;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -73,6 +75,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
bufferLength = (ListPreference) findPreference(Constants.PREFERENCES_KEY_BUFFER_LENGTH);
networkTimeout = (ListPreference) findPreference(Constants.PREFERENCES_KEY_NETWORK_TIMEOUT);
maxAlbums = (ListPreference) findPreference(Constants.PREFERENCES_KEY_MAX_ALBUMS);
maxSongs = (ListPreference) findPreference(Constants.PREFERENCES_KEY_MAX_SONGS);
maxArtists = (ListPreference) findPreference(Constants.PREFERENCES_KEY_MAX_ARTISTS);
findPreference("testConnection1").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
@ -157,6 +161,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
bufferLength.setSummary(bufferLength.getEntry());
networkTimeout.setSummary(networkTimeout.getEntry());
maxAlbums.setSummary(maxAlbums.getEntry());
maxArtists.setSummary(maxArtists.getEntry());
maxSongs.setSummary(maxSongs.getEntry());
for (ServerSettings ss : serverSettings.values()) {
ss.update();

View File

@ -78,6 +78,8 @@ public final class Constants {
public static final String PREFERENCES_KEY_NETWORK_TIMEOUT = "networkTimeout";
public static final String PREFERENCES_KEY_SHOW_NOTIFICATION = "showNotification";
public static final String PREFERENCES_KEY_MAX_ALBUMS = "maxAlbums";
public static final String PREFERENCES_KEY_MAX_SONGS = "maxSongs";
public static final String PREFERENCES_KEY_MAX_ARTISTS = "maxArtists";
// Name of the preferences file.
public static final String PREFERENCES_FILE_NAME = "net.sourceforge.subsonic.androidapp_preferences";

View File

@ -820,6 +820,16 @@ public class Util extends DownloadActivity {
return Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_MAX_ALBUMS, "20"));
}
public static int getMaxSongs(Context context) {
SharedPreferences prefs = getPreferences(context);
return Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_MAX_SONGS, "25"));
}
public static int getMaxArtists(Context context) {
SharedPreferences prefs = getPreferences(context);
return Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_MAX_ARTISTS, "10"));
}
public static int getBufferLength(Context context) {
SharedPreferences prefs = getPreferences(context);
return Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_BUFFER_LENGTH, "5"));