mirror of
https://github.com/ultrasonic/ultrasonic
synced 2025-02-16 11:41:16 +01:00
Switch to actual Action Bar instead of compat, force ICS or higer.
This commit is contained in:
parent
c3e1e824f3
commit
70cb75f4ec
@ -12,11 +12,11 @@
|
||||
<uses-permission a:name="android.permission.RECORD_AUDIO"/>
|
||||
<uses-permission a:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||
|
||||
<uses-sdk a:minSdkVersion="11" a:targetSdkVersion="16"/>
|
||||
<uses-sdk a:minSdkVersion="11" a:targetSdkVersion="14"/>
|
||||
|
||||
<supports-screens a:anyDensity="true" a:xlargeScreens="true" a:largeScreens="true" a:normalScreens="true" a:smallScreens="true"/>
|
||||
|
||||
<application a:label="@string/common.appname" a:icon="@drawable/ic_launcher" a:theme="@style/Dark">
|
||||
<application a:label="@string/common.appname" a:icon="@drawable/ic_launcher" a:theme="@style/Dark" a:allowBackup="false">
|
||||
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.MainActivity"
|
||||
a:label="Subsonic"
|
||||
@ -38,7 +38,8 @@
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.SearchActivity"
|
||||
a:label="@string/search.label"
|
||||
a:configChanges="orientation|keyboardHidden"
|
||||
a:launchMode="singleTask"/>
|
||||
a:launchMode="singleTask"
|
||||
/>
|
||||
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.SelectPlaylistActivity"
|
||||
a:label="@string/playlist.label"
|
||||
@ -47,8 +48,10 @@
|
||||
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.DownloadActivity"
|
||||
a:configChanges="keyboardHidden"
|
||||
a:launchMode="singleTask"/>
|
||||
|
||||
a:launchMode="singleTask"
|
||||
a:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
/>
|
||||
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.SettingsActivity"
|
||||
a:configChanges="orientation|keyboardHidden"
|
||||
a:launchMode="singleTask"/>
|
||||
@ -65,7 +68,7 @@
|
||||
a:label="@string/equalizer.label"
|
||||
a:configChanges="orientation|keyboardHidden"
|
||||
a:launchMode="singleTask"/>
|
||||
|
||||
|
||||
<activity a:name="net.sourceforge.subsonic.androidapp.activity.VoiceQueryReceiverActivity"
|
||||
a:launchMode="singleTask">
|
||||
<intent-filter>
|
||||
@ -81,6 +84,7 @@
|
||||
</intent-filter>
|
||||
<meta-data a:name="android.app.searchable" a:resource="@xml/searchable"/>
|
||||
</activity>
|
||||
|
||||
|
||||
<service a:name="net.sourceforge.subsonic.androidapp.service.DownloadServiceImpl"
|
||||
a:label="Subsonic Download Service"/>
|
||||
|
@ -138,198 +138,197 @@ public final class R {
|
||||
public static final int unknown_album_large=0x7f020056;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int action_button_1=0x7f0d0004;
|
||||
public static final int action_button_2=0x7f0d0005;
|
||||
public static final int action_button_3=0x7f0d0002;
|
||||
public static final int action_button_4=0x7f0d0003;
|
||||
public static final int actionbar_home_icon=0x7f0d0000;
|
||||
public static final int actionbar_title_text=0x7f0d0001;
|
||||
public static final int album=0x7f0d0051;
|
||||
public static final int album_artist=0x7f0d0008;
|
||||
public static final int album_coverart=0x7f0d0006;
|
||||
public static final int album_menu_pin=0x7f0d008b;
|
||||
public static final int album_menu_play_last=0x7f0d008a;
|
||||
public static final int album_menu_play_now=0x7f0d0089;
|
||||
public static final int album_title=0x7f0d0007;
|
||||
public static final int appwidget_coverart=0x7f0d0009;
|
||||
public static final int appwidget_top=0x7f0d000b;
|
||||
public static final int artist=0x7f0d000d;
|
||||
public static final int artist_menu_pin=0x7f0d008e;
|
||||
public static final int artist_menu_play_last=0x7f0d008d;
|
||||
public static final int artist_menu_play_now=0x7f0d008c;
|
||||
public static final int button_bar=0x7f0d0011;
|
||||
public static final int button_bar_home=0x7f0d0012;
|
||||
public static final int button_bar_music=0x7f0d0013;
|
||||
public static final int button_bar_now_playing=0x7f0d0016;
|
||||
public static final int button_bar_playlists=0x7f0d0015;
|
||||
public static final int button_bar_search=0x7f0d0014;
|
||||
public static final int control_next=0x7f0d0010;
|
||||
public static final int control_play=0x7f0d000f;
|
||||
public static final int control_previous=0x7f0d000e;
|
||||
public static final int control_stop=0x7f0d0052;
|
||||
public static final int download_album=0x7f0d002d;
|
||||
public static final int download_album_art_image=0x7f0d0027;
|
||||
public static final int download_album_art_layout=0x7f0d0026;
|
||||
public static final int download_artist=0x7f0d002c;
|
||||
public static final int download_button_bar_flipper=0x7f0d0029;
|
||||
public static final int download_control_layout=0x7f0d0017;
|
||||
public static final int download_duration=0x7f0d002b;
|
||||
public static final int download_empty=0x7f0d002e;
|
||||
public static final int download_equalizer=0x7f0d0022;
|
||||
public static final int download_jukebox=0x7f0d0023;
|
||||
public static final int download_list=0x7f0d002f;
|
||||
public static final int download_next=0x7f0d001c;
|
||||
public static final int download_pause=0x7f0d0019;
|
||||
public static final int download_playlist_flipper=0x7f0d0025;
|
||||
public static final int download_position=0x7f0d002a;
|
||||
public static final int download_previous=0x7f0d0018;
|
||||
public static final int download_progress_bar=0x7f0d0030;
|
||||
public static final int download_repeat=0x7f0d0020;
|
||||
public static final int download_shuffle=0x7f0d001f;
|
||||
public static final int download_song_title=0x7f0d001e;
|
||||
public static final int download_start=0x7f0d001b;
|
||||
public static final int download_status=0x7f0d001d;
|
||||
public static final int download_stop=0x7f0d001a;
|
||||
public static final int download_toggle_list=0x7f0d0021;
|
||||
public static final int download_visualizer=0x7f0d0024;
|
||||
public static final int download_visualizer_view_layout=0x7f0d0028;
|
||||
public static final int equalizer_bar=0x7f0d0036;
|
||||
public static final int equalizer_frequency=0x7f0d0034;
|
||||
public static final int equalizer_level=0x7f0d0035;
|
||||
public static final int equalizer_enabled=0x7f0d0031;
|
||||
public static final int equalizer_layout=0x7f0d0032;
|
||||
public static final int equalizer_preset=0x7f0d0033;
|
||||
public static final int help_back=0x7f0d0038;
|
||||
public static final int help_buttons=0x7f0d0037;
|
||||
public static final int help_close=0x7f0d0039;
|
||||
public static final int help_contents=0x7f0d003a;
|
||||
public static final int ic_menu_shuffle=0x7f0d0081;
|
||||
public static final int icon=0x7f0d0077;
|
||||
public static final int jukebox_volume_progress_bar=0x7f0d003c;
|
||||
public static final int linearLayout1=0x7f0d000a;
|
||||
public static final int lyrics_artist=0x7f0d003e;
|
||||
public static final int lyrics_scrollview=0x7f0d003d;
|
||||
public static final int lyrics_text=0x7f0d0040;
|
||||
public static final int lyrics_title=0x7f0d003f;
|
||||
public static final int main_select_server_1=0x7f0d0044;
|
||||
public static final int main_select_server_2=0x7f0d0045;
|
||||
public static final int main_albums=0x7f0d0046;
|
||||
public static final int main_albums_frequent=0x7f0d0049;
|
||||
public static final int main_albums_highest=0x7f0d004a;
|
||||
public static final int main_albums_newest=0x7f0d0047;
|
||||
public static final int main_albums_random=0x7f0d004c;
|
||||
public static final int main_albums_recent=0x7f0d0048;
|
||||
public static final int main_albums_starred=0x7f0d004b;
|
||||
public static final int main_dummy=0x7f0d0042;
|
||||
public static final int main_list=0x7f0d0041;
|
||||
public static final int main_select_server=0x7f0d0043;
|
||||
public static final int menu_exit=0x7f0d007e;
|
||||
public static final int menu_help=0x7f0d0080;
|
||||
public static final int menu_lyrics=0x7f0d0086;
|
||||
public static final int menu_remove=0x7f0d0087;
|
||||
public static final int menu_remove_all=0x7f0d0083;
|
||||
public static final int menu_save_playlist=0x7f0d0082;
|
||||
public static final int menu_screen_on_off=0x7f0d0084;
|
||||
public static final int menu_settings=0x7f0d007f;
|
||||
public static final int menu_show_album=0x7f0d0085;
|
||||
public static final int menu_shuffle=0x7f0d0088;
|
||||
public static final int notification_image=0x7f0d004e;
|
||||
public static final int play_video_contents=0x7f0d0053;
|
||||
public static final int progress_message=0x7f0d0054;
|
||||
public static final int save_playlist_name=0x7f0d0056;
|
||||
public static final int save_playlist_root=0x7f0d0055;
|
||||
public static final int search_albums=0x7f0d005a;
|
||||
public static final int search_artists=0x7f0d0059;
|
||||
public static final int search_list=0x7f0d0057;
|
||||
public static final int search_more_albums=0x7f0d005d;
|
||||
public static final int search_more_artists=0x7f0d005c;
|
||||
public static final int search_more_songs=0x7f0d005e;
|
||||
public static final int search_search=0x7f0d0058;
|
||||
public static final int search_songs=0x7f0d005b;
|
||||
public static final int select_album_cover_art=0x7f0d0068;
|
||||
public static final int select_album_delete=0x7f0d0066;
|
||||
public static final int select_album_empty=0x7f0d005f;
|
||||
public static final int select_album_entries=0x7f0d0060;
|
||||
public static final int select_album_more=0x7f0d0067;
|
||||
public static final int select_album_pin=0x7f0d0064;
|
||||
public static final int select_album_play_all=0x7f0d006b;
|
||||
public static final int select_album_play_last=0x7f0d0063;
|
||||
public static final int select_album_play_now=0x7f0d0062;
|
||||
public static final int select_album_select=0x7f0d0061;
|
||||
public static final int select_album_text1=0x7f0d0069;
|
||||
public static final int select_album_text2=0x7f0d006a;
|
||||
public static final int select_album_unpin=0x7f0d0065;
|
||||
public static final int select_artist_folder=0x7f0d006d;
|
||||
public static final int select_artist_folder_1=0x7f0d006e;
|
||||
public static final int select_artist_folder_2=0x7f0d006f;
|
||||
public static final int select_artist_list=0x7f0d006c;
|
||||
public static final int select_playlist_empty=0x7f0d0070;
|
||||
public static final int select_playlist_list=0x7f0d0071;
|
||||
public static final int song_artist=0x7f0d0075;
|
||||
public static final int song_check=0x7f0d0072;
|
||||
public static final int song_duration=0x7f0d0076;
|
||||
public static final int song_menu_play_last=0x7f0d0091;
|
||||
public static final int song_menu_play_next=0x7f0d0090;
|
||||
public static final int song_menu_play_now=0x7f0d008f;
|
||||
public static final int song_status=0x7f0d0074;
|
||||
public static final int song_title=0x7f0d0073;
|
||||
public static final int status_icon=0x7f0d004f;
|
||||
public static final int status_media_collapse=0x7f0d007b;
|
||||
public static final int status_media_next=0x7f0d007a;
|
||||
public static final int status_media_play=0x7f0d0079;
|
||||
public static final int status_media_prev=0x7f0d0078;
|
||||
public static final int statusbar=0x7f0d004d;
|
||||
public static final int tab_progress=0x7f0d007c;
|
||||
public static final int tab_progress_message=0x7f0d007d;
|
||||
public static final int title=0x7f0d000c;
|
||||
public static final int toast_layout_root=0x7f0d003b;
|
||||
public static final int trackname=0x7f0d0050;
|
||||
public static final int action_button_3=0x7f0d001e;
|
||||
public static final int album=0x7f0d004c;
|
||||
public static final int album_artist=0x7f0d0002;
|
||||
public static final int album_coverart=0x7f0d0000;
|
||||
public static final int album_menu_pin=0x7f0d0087;
|
||||
public static final int album_menu_play_last=0x7f0d0086;
|
||||
public static final int album_menu_play_now=0x7f0d0085;
|
||||
public static final int album_title=0x7f0d0001;
|
||||
public static final int appwidget_coverart=0x7f0d0003;
|
||||
public static final int appwidget_top=0x7f0d0005;
|
||||
public static final int artist=0x7f0d0007;
|
||||
public static final int artist_menu_pin=0x7f0d008a;
|
||||
public static final int artist_menu_play_last=0x7f0d0089;
|
||||
public static final int artist_menu_play_now=0x7f0d0088;
|
||||
public static final int button_bar=0x7f0d000b;
|
||||
public static final int button_bar_home=0x7f0d000c;
|
||||
public static final int button_bar_music=0x7f0d000d;
|
||||
public static final int button_bar_now_playing=0x7f0d0010;
|
||||
public static final int button_bar_playlists=0x7f0d000f;
|
||||
public static final int button_bar_search=0x7f0d000e;
|
||||
public static final int control_next=0x7f0d000a;
|
||||
public static final int control_play=0x7f0d0009;
|
||||
public static final int control_previous=0x7f0d0008;
|
||||
public static final int control_stop=0x7f0d004d;
|
||||
public static final int download_album=0x7f0d0028;
|
||||
public static final int download_album_art_image=0x7f0d0022;
|
||||
public static final int download_album_art_layout=0x7f0d0021;
|
||||
public static final int download_artist=0x7f0d0027;
|
||||
public static final int download_button_bar_flipper=0x7f0d0024;
|
||||
public static final int download_control_layout=0x7f0d0011;
|
||||
public static final int download_duration=0x7f0d0026;
|
||||
public static final int download_empty=0x7f0d0029;
|
||||
public static final int download_equalizer=0x7f0d001c;
|
||||
public static final int download_jukebox=0x7f0d001d;
|
||||
public static final int download_list=0x7f0d002a;
|
||||
public static final int download_next=0x7f0d0016;
|
||||
public static final int download_pause=0x7f0d0013;
|
||||
public static final int download_playlist_flipper=0x7f0d0020;
|
||||
public static final int download_position=0x7f0d0025;
|
||||
public static final int download_previous=0x7f0d0012;
|
||||
public static final int download_progress_bar=0x7f0d002b;
|
||||
public static final int download_repeat=0x7f0d001a;
|
||||
public static final int download_shuffle=0x7f0d0019;
|
||||
public static final int download_song_title=0x7f0d0018;
|
||||
public static final int download_start=0x7f0d0015;
|
||||
public static final int download_status=0x7f0d0017;
|
||||
public static final int download_stop=0x7f0d0014;
|
||||
public static final int download_toggle_list=0x7f0d001b;
|
||||
public static final int download_visualizer=0x7f0d001f;
|
||||
public static final int download_visualizer_view_layout=0x7f0d0023;
|
||||
public static final int equalizer_bar=0x7f0d0031;
|
||||
public static final int equalizer_frequency=0x7f0d002f;
|
||||
public static final int equalizer_level=0x7f0d0030;
|
||||
public static final int equalizer_enabled=0x7f0d002c;
|
||||
public static final int equalizer_layout=0x7f0d002d;
|
||||
public static final int equalizer_preset=0x7f0d002e;
|
||||
public static final int help_back=0x7f0d0033;
|
||||
public static final int help_buttons=0x7f0d0032;
|
||||
public static final int help_close=0x7f0d0034;
|
||||
public static final int help_contents=0x7f0d0035;
|
||||
public static final int ic_menu_shuffle=0x7f0d007d;
|
||||
public static final int icon=0x7f0d0072;
|
||||
public static final int jukebox_volume_progress_bar=0x7f0d0037;
|
||||
public static final int linearLayout1=0x7f0d0004;
|
||||
public static final int lyrics_artist=0x7f0d0039;
|
||||
public static final int lyrics_scrollview=0x7f0d0038;
|
||||
public static final int lyrics_text=0x7f0d003b;
|
||||
public static final int lyrics_title=0x7f0d003a;
|
||||
public static final int main_select_server_1=0x7f0d003f;
|
||||
public static final int main_select_server_2=0x7f0d0040;
|
||||
public static final int main_albums=0x7f0d0041;
|
||||
public static final int main_albums_frequent=0x7f0d0044;
|
||||
public static final int main_albums_highest=0x7f0d0045;
|
||||
public static final int main_albums_newest=0x7f0d0042;
|
||||
public static final int main_albums_random=0x7f0d0047;
|
||||
public static final int main_albums_recent=0x7f0d0043;
|
||||
public static final int main_albums_starred=0x7f0d0046;
|
||||
public static final int main_dummy=0x7f0d003d;
|
||||
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_lyrics=0x7f0d0082;
|
||||
public static final int menu_refresh=0x7f0d008b;
|
||||
public static final int menu_remove=0x7f0d0083;
|
||||
public static final int menu_remove_all=0x7f0d007f;
|
||||
public static final int menu_save_playlist=0x7f0d007e;
|
||||
public static final int menu_screen_on_off=0x7f0d0080;
|
||||
public static final int menu_settings=0x7f0d007a;
|
||||
public static final int menu_show_album=0x7f0d0081;
|
||||
public static final int menu_shuffle=0x7f0d0084;
|
||||
public static final int notification_image=0x7f0d0049;
|
||||
public static final int play_video_contents=0x7f0d004e;
|
||||
public static final int progress_message=0x7f0d004f;
|
||||
public static final int save_playlist_name=0x7f0d0051;
|
||||
public static final int save_playlist_root=0x7f0d0050;
|
||||
public static final int search_albums=0x7f0d0055;
|
||||
public static final int search_artists=0x7f0d0054;
|
||||
public static final int search_list=0x7f0d0052;
|
||||
public static final int search_more_albums=0x7f0d0058;
|
||||
public static final int search_more_artists=0x7f0d0057;
|
||||
public static final int search_more_songs=0x7f0d0059;
|
||||
public static final int search_search=0x7f0d0053;
|
||||
public static final int search_songs=0x7f0d0056;
|
||||
public static final int select_album_cover_art=0x7f0d0063;
|
||||
public static final int select_album_delete=0x7f0d0061;
|
||||
public static final int select_album_empty=0x7f0d005a;
|
||||
public static final int select_album_entries=0x7f0d005b;
|
||||
public static final int select_album_more=0x7f0d0062;
|
||||
public static final int select_album_pin=0x7f0d005f;
|
||||
public static final int select_album_play_all=0x7f0d0066;
|
||||
public static final int select_album_play_last=0x7f0d005e;
|
||||
public static final int select_album_play_now=0x7f0d005d;
|
||||
public static final int select_album_select=0x7f0d005c;
|
||||
public static final int select_album_text1=0x7f0d0064;
|
||||
public static final int select_album_text2=0x7f0d0065;
|
||||
public static final int select_album_unpin=0x7f0d0060;
|
||||
public static final int select_artist_folder=0x7f0d0068;
|
||||
public static final int select_artist_folder_1=0x7f0d0069;
|
||||
public static final int select_artist_folder_2=0x7f0d006a;
|
||||
public static final int select_artist_list=0x7f0d0067;
|
||||
public static final int select_playlist_empty=0x7f0d006b;
|
||||
public static final int select_playlist_list=0x7f0d006c;
|
||||
public static final int song_artist=0x7f0d0070;
|
||||
public static final int song_check=0x7f0d006d;
|
||||
public static final int song_duration=0x7f0d0071;
|
||||
public static final int song_menu_play_last=0x7f0d008e;
|
||||
public static final int song_menu_play_next=0x7f0d008d;
|
||||
public static final int song_menu_play_now=0x7f0d008c;
|
||||
public static final int song_status=0x7f0d006f;
|
||||
public static final int song_title=0x7f0d006e;
|
||||
public static final int status_icon=0x7f0d004a;
|
||||
public static final int status_media_collapse=0x7f0d0076;
|
||||
public static final int status_media_next=0x7f0d0075;
|
||||
public static final int status_media_play=0x7f0d0074;
|
||||
public static final int status_media_prev=0x7f0d0073;
|
||||
public static final int statusbar=0x7f0d0048;
|
||||
public static final int tab_progress=0x7f0d0077;
|
||||
public static final int tab_progress_message=0x7f0d0078;
|
||||
public static final int title=0x7f0d0006;
|
||||
public static final int toast_layout_root=0x7f0d0036;
|
||||
public static final int trackname=0x7f0d004b;
|
||||
}
|
||||
public static final class integer {
|
||||
public static final int config_activityDefaultDur=0x7f080001;
|
||||
public static final int config_activityShortDur=0x7f080000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int action_bar=0x7f030000;
|
||||
public static final int album_list_item=0x7f030001;
|
||||
public static final int appwidget4x1=0x7f030002;
|
||||
public static final int artist_list_item=0x7f030003;
|
||||
public static final int button_bar=0x7f030004;
|
||||
public static final int download=0x7f030005;
|
||||
public static final int download_button_bar_flipper=0x7f030006;
|
||||
public static final int download_playlist=0x7f030007;
|
||||
public static final int download_slider=0x7f030008;
|
||||
public static final int equalizer=0x7f030009;
|
||||
public static final int equalizer_bar=0x7f03000a;
|
||||
public static final int help=0x7f03000b;
|
||||
public static final int jukebox_volume=0x7f03000c;
|
||||
public static final int lyrics=0x7f03000d;
|
||||
public static final int main=0x7f03000e;
|
||||
public static final int main_buttons=0x7f03000f;
|
||||
public static final int notification=0x7f030010;
|
||||
public static final int play_video=0x7f030011;
|
||||
public static final int playlist_list_item=0x7f030012;
|
||||
public static final int progress=0x7f030013;
|
||||
public static final int save_playlist=0x7f030014;
|
||||
public static final int search=0x7f030015;
|
||||
public static final int search_buttons=0x7f030016;
|
||||
public static final int select_album=0x7f030017;
|
||||
public static final int select_album_footer=0x7f030018;
|
||||
public static final int select_album_header=0x7f030019;
|
||||
public static final int select_artist=0x7f03001a;
|
||||
public static final int select_artist_header=0x7f03001b;
|
||||
public static final int select_playlist=0x7f03001c;
|
||||
public static final int song_list_item=0x7f03001d;
|
||||
public static final int statusbar=0x7f03001e;
|
||||
public static final int tab_progress=0x7f03001f;
|
||||
public static final int album_list_item=0x7f030000;
|
||||
public static final int appwidget4x1=0x7f030001;
|
||||
public static final int artist_list_item=0x7f030002;
|
||||
public static final int button_bar=0x7f030003;
|
||||
public static final int download=0x7f030004;
|
||||
public static final int download_button_bar_flipper=0x7f030005;
|
||||
public static final int download_playlist=0x7f030006;
|
||||
public static final int download_slider=0x7f030007;
|
||||
public static final int equalizer=0x7f030008;
|
||||
public static final int equalizer_bar=0x7f030009;
|
||||
public static final int help=0x7f03000a;
|
||||
public static final int jukebox_volume=0x7f03000b;
|
||||
public static final int lyrics=0x7f03000c;
|
||||
public static final int main=0x7f03000d;
|
||||
public static final int main_buttons=0x7f03000e;
|
||||
public static final int notification=0x7f03000f;
|
||||
public static final int play_video=0x7f030010;
|
||||
public static final int playlist_list_item=0x7f030011;
|
||||
public static final int progress=0x7f030012;
|
||||
public static final int save_playlist=0x7f030013;
|
||||
public static final int search=0x7f030014;
|
||||
public static final int search_buttons=0x7f030015;
|
||||
public static final int select_album=0x7f030016;
|
||||
public static final int select_album_footer=0x7f030017;
|
||||
public static final int select_album_header=0x7f030018;
|
||||
public static final int select_artist=0x7f030019;
|
||||
public static final int select_artist_header=0x7f03001a;
|
||||
public static final int select_playlist=0x7f03001b;
|
||||
public static final int song_list_item=0x7f03001c;
|
||||
public static final int statusbar=0x7f03001d;
|
||||
public static final int tab_progress=0x7f03001e;
|
||||
}
|
||||
public static final class menu {
|
||||
public static final int main=0x7f0c0000;
|
||||
public static final int nowplaying=0x7f0c0001;
|
||||
public static final int nowplaying_context=0x7f0c0002;
|
||||
public static final int select_album_context=0x7f0c0003;
|
||||
public static final int select_artist_context=0x7f0c0004;
|
||||
public static final int select_song_context=0x7f0c0005;
|
||||
public static final int common=0x7f0c0000;
|
||||
public static final int main=0x7f0c0001;
|
||||
public static final int nowplaying=0x7f0c0002;
|
||||
public static final int nowplaying_context=0x7f0c0003;
|
||||
public static final int select_album=0x7f0c0004;
|
||||
public static final int select_album_context=0x7f0c0005;
|
||||
public static final int select_artist_context=0x7f0c0006;
|
||||
public static final int select_common=0x7f0c0007;
|
||||
public static final int select_song_context=0x7f0c0008;
|
||||
}
|
||||
public static final class plurals {
|
||||
public static final int select_album_donate_dialog_n_trial_days_left=0x7f0a0003;
|
||||
@ -338,12 +337,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=0x7f0900c9;
|
||||
public static final int background_task_network_error=0x7f0900cb;
|
||||
public static final int background_task_no_network=0x7f0900ca;
|
||||
public static final int background_task_not_found=0x7f0900cc;
|
||||
public static final int background_task_parse_error=0x7f0900cd;
|
||||
public static final int background_task_wait=0x7f0900c8;
|
||||
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 button_bar_browse=0x7f09000b;
|
||||
public static final int button_bar_home=0x7f09000a;
|
||||
public static final int button_bar_now_playing=0x7f09000e;
|
||||
@ -359,46 +358,46 @@ public final class R {
|
||||
public static final int common_play_now=0x7f090004;
|
||||
public static final int common_save=0x7f090002;
|
||||
public static final int common_unpin=0x7f090008;
|
||||
public static final int download_empty=0x7f090042;
|
||||
public static final int download_jukebox_not_authorized=0x7f09005e;
|
||||
public static final int download_jukebox_off=0x7f09005a;
|
||||
public static final int download_jukebox_offline=0x7f09005d;
|
||||
public static final int download_jukebox_on=0x7f090059;
|
||||
public static final int download_jukebox_server_too_old=0x7f09005c;
|
||||
public static final int download_jukebox_volume=0x7f09005b;
|
||||
public static final int download_menu_lyrics=0x7f090047;
|
||||
public static final int download_menu_remove=0x7f090048;
|
||||
public static final int download_menu_remove_all=0x7f090049;
|
||||
public static final int download_menu_save=0x7f09004d;
|
||||
public static final int download_menu_screen_off=0x7f09004b;
|
||||
public static final int download_menu_screen_on=0x7f09004a;
|
||||
public static final int download_menu_show_album=0x7f090046;
|
||||
public static final int download_menu_shuffle=0x7f09004c;
|
||||
public static final int download_menu_shuffle_notification=0x7f09004e;
|
||||
public static final int download_playerstate_buffering=0x7f090044;
|
||||
public static final int download_playerstate_downloading=0x7f090043;
|
||||
public static final int download_playerstate_playing_shuffle=0x7f090045;
|
||||
public static final int download_playlist_done=0x7f090052;
|
||||
public static final int download_playlist_error=0x7f090053;
|
||||
public static final int download_playlist_name=0x7f090050;
|
||||
public static final int download_playlist_saving=0x7f090051;
|
||||
public static final int download_playlist_title=0x7f09004f;
|
||||
public static final int download_repeat_all=0x7f090055;
|
||||
public static final int download_repeat_off=0x7f090054;
|
||||
public static final int download_repeat_single=0x7f090056;
|
||||
public static final int download_visualizer_off=0x7f090058;
|
||||
public static final int download_visualizer_on=0x7f090057;
|
||||
public static final int equalizer_enabled=0x7f0900da;
|
||||
public static final int equalizer_label=0x7f0900d9;
|
||||
public static final int equalizer_preset=0x7f0900db;
|
||||
public static final int error_label=0x7f090062;
|
||||
public static final int help_back=0x7f090022;
|
||||
public static final int help_close=0x7f090023;
|
||||
public static final int help_label=0x7f090020;
|
||||
public static final int help_loading=0x7f090025;
|
||||
public static final int help_title=0x7f090021;
|
||||
public static final int help_url=0x7f090024;
|
||||
public static final int lyrics_nomatch=0x7f090061;
|
||||
public static final int download_empty=0x7f090044;
|
||||
public static final int download_jukebox_not_authorized=0x7f090060;
|
||||
public static final int download_jukebox_off=0x7f09005c;
|
||||
public static final int download_jukebox_offline=0x7f09005f;
|
||||
public static final int download_jukebox_on=0x7f09005b;
|
||||
public static final int download_jukebox_server_too_old=0x7f09005e;
|
||||
public static final int download_jukebox_volume=0x7f09005d;
|
||||
public static final int download_menu_lyrics=0x7f090049;
|
||||
public static final int download_menu_remove=0x7f09004a;
|
||||
public static final int download_menu_remove_all=0x7f09004b;
|
||||
public static final int download_menu_save=0x7f09004f;
|
||||
public static final int download_menu_screen_off=0x7f09004d;
|
||||
public static final int download_menu_screen_on=0x7f09004c;
|
||||
public static final int download_menu_show_album=0x7f090048;
|
||||
public static final int download_menu_shuffle=0x7f09004e;
|
||||
public static final int download_menu_shuffle_notification=0x7f090050;
|
||||
public static final int download_playerstate_buffering=0x7f090046;
|
||||
public static final int download_playerstate_downloading=0x7f090045;
|
||||
public static final int download_playerstate_playing_shuffle=0x7f090047;
|
||||
public static final int download_playlist_done=0x7f090054;
|
||||
public static final int download_playlist_error=0x7f090055;
|
||||
public static final int download_playlist_name=0x7f090052;
|
||||
public static final int download_playlist_saving=0x7f090053;
|
||||
public static final int download_playlist_title=0x7f090051;
|
||||
public static final int download_repeat_all=0x7f090057;
|
||||
public static final int download_repeat_off=0x7f090056;
|
||||
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 error_label=0x7f090064;
|
||||
public static final int help_back=0x7f090023;
|
||||
public static final int help_close=0x7f090024;
|
||||
public static final int help_label=0x7f090021;
|
||||
public static final int help_loading=0x7f090026;
|
||||
public static final int help_title=0x7f090022;
|
||||
public static final int help_url=0x7f090025;
|
||||
public static final int lyrics_nomatch=0x7f090063;
|
||||
public static final int main_albums_frequent=0x7f090018;
|
||||
public static final int main_albums_highest=0x7f090019;
|
||||
public static final int main_albums_newest=0x7f090016;
|
||||
@ -414,171 +413,173 @@ public final class R {
|
||||
public static final int main_welcome_title=0x7f09000f;
|
||||
public static final int menu_exit=0x7f09001c;
|
||||
public static final int menu_help=0x7f09001e;
|
||||
public static final int menu_search=0x7f09001f;
|
||||
public static final int menu_settings=0x7f09001d;
|
||||
public static final int music_library_label=0x7f090031;
|
||||
public static final int music_library_label_offline=0x7f090032;
|
||||
public static final int music_library_label=0x7f090032;
|
||||
public static final int music_library_label_offline=0x7f090033;
|
||||
/** <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=0x7f0900c7;
|
||||
public static final int parser_artist_count=0x7f0900d5;
|
||||
public static final int parser_not_authenticated=0x7f0900d3;
|
||||
public static final int parser_not_authorized=0x7f0900d4;
|
||||
public static final int parser_reading=0x7f0900cf;
|
||||
public static final int parser_reading_done=0x7f0900d0;
|
||||
public static final int parser_upgrade_client=0x7f0900d1;
|
||||
public static final int parser_upgrade_server=0x7f0900d2;
|
||||
public static final int play_video_loading=0x7f090026;
|
||||
public static final int play_video_noplugin=0x7f090027;
|
||||
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 play_video_loading=0x7f090027;
|
||||
public static final int play_video_noplugin=0x7f090028;
|
||||
/** <string name="menu.exit">TODO: Exit</string>
|
||||
<string name="menu.settings">TODO: Settings</string>
|
||||
<string name="menu.help">TODO: Help</string>
|
||||
*/
|
||||
public static final int playlist_label=0x7f09001f;
|
||||
public static final int progress_wait=0x7f090030;
|
||||
public static final int search_albums=0x7f09002d;
|
||||
public static final int search_artists=0x7f09002c;
|
||||
public static final int search_label=0x7f090028;
|
||||
public static final int search_more=0x7f09002f;
|
||||
public static final int search_no_match=0x7f09002b;
|
||||
public static final int search_search=0x7f09002a;
|
||||
public static final int search_songs=0x7f09002e;
|
||||
public static final int search_title=0x7f090029;
|
||||
public static final int select_album_donate_dialog_0_trial_days_left=0x7f090040;
|
||||
public static final int select_album_donate_dialog_later=0x7f09003f;
|
||||
public static final int select_album_donate_dialog_message=0x7f09003d;
|
||||
public static final int select_album_donate_dialog_now=0x7f09003e;
|
||||
public static final int select_album_empty=0x7f090033;
|
||||
public static final int playlist_label=0x7f090020;
|
||||
public static final int progress_wait=0x7f090031;
|
||||
public static final int search_albums=0x7f09002e;
|
||||
public static final int search_artists=0x7f09002d;
|
||||
public static final int search_label=0x7f090029;
|
||||
public static final int search_more=0x7f090030;
|
||||
public static final int search_no_match=0x7f09002c;
|
||||
public static final int search_search=0x7f09002b;
|
||||
public static final int search_songs=0x7f09002f;
|
||||
public static final int search_title=0x7f09002a;
|
||||
public static final int select_album_donate_dialog_0_trial_days_left=0x7f090042;
|
||||
public static final int select_album_donate_dialog_later=0x7f090041;
|
||||
public static final int select_album_donate_dialog_message=0x7f09003f;
|
||||
public static final int select_album_donate_dialog_now=0x7f090040;
|
||||
public static final int select_album_empty=0x7f090034;
|
||||
/** <string name="select_album.n_selected">TODO: %d tracks selected.</string>
|
||||
<string name="select_album.n_unselected">TODO: %d tracks unselected.</string>
|
||||
*/
|
||||
public static final int select_album_more=0x7f090037;
|
||||
public static final int select_album_n_selected=0x7f090035;
|
||||
public static final int select_album_n_unselected=0x7f090036;
|
||||
public static final int select_album_no_network=0x7f09003b;
|
||||
public static final int select_album_no_sdcard=0x7f09003a;
|
||||
public static final int select_album_not_licensed=0x7f09003c;
|
||||
public static final int select_album_offline=0x7f090038;
|
||||
public static final int select_album_searching=0x7f090039;
|
||||
public static final int select_album_select=0x7f090034;
|
||||
public static final int select_artist_all_folders=0x7f0900d8;
|
||||
public static final int select_artist_folder=0x7f0900d7;
|
||||
public static final int select_artist_refresh=0x7f0900d6;
|
||||
public static final int select_playlist_empty=0x7f090041;
|
||||
public static final int service_connecting=0x7f0900ce;
|
||||
public static final int settings_appearance_title=0x7f090077;
|
||||
public static final int settings_buffer_length=0x7f0900a8;
|
||||
public static final int settings_buffer_length_10=0x7f0900ad;
|
||||
public static final int settings_buffer_length_12=0x7f0900ae;
|
||||
public static final int settings_buffer_length_15=0x7f0900af;
|
||||
public static final int settings_buffer_length_2=0x7f0900aa;
|
||||
public static final int settings_buffer_length_20=0x7f0900b0;
|
||||
public static final int settings_buffer_length_30=0x7f0900b1;
|
||||
public static final int settings_buffer_length_5=0x7f0900ab;
|
||||
public static final int settings_buffer_length_8=0x7f0900ac;
|
||||
public static final int settings_cache_location=0x7f09006f;
|
||||
public static final int settings_cache_location_error=0x7f090070;
|
||||
public static final int settings_cache_size=0x7f09006e;
|
||||
public static final int settings_cache_size_100=0x7f090093;
|
||||
public static final int settings_cache_size_1000=0x7f090096;
|
||||
public static final int settings_cache_size_10000=0x7f090099;
|
||||
public static final int settings_cache_size_200=0x7f090094;
|
||||
public static final int settings_cache_size_2000=0x7f090097;
|
||||
public static final int settings_cache_size_20000=0x7f09009a;
|
||||
public static final int settings_cache_size_500=0x7f090095;
|
||||
public static final int settings_cache_size_5000=0x7f090098;
|
||||
public static final int settings_cache_size_unlimited=0x7f09009b;
|
||||
public static final int settings_cache_title=0x7f09006c;
|
||||
public static final int settings_clear_search_history=0x7f09009c;
|
||||
public static final int settings_connection_failure=0x7f090074;
|
||||
public static final int settings_hide_media_summary=0x7f0900a2;
|
||||
public static final int select_album_more=0x7f090038;
|
||||
public static final int select_album_n_selected=0x7f090036;
|
||||
public static final int select_album_n_unselected=0x7f090037;
|
||||
public static final int select_album_no_network=0x7f09003d;
|
||||
public static final int select_album_no_sdcard=0x7f09003c;
|
||||
public static final int select_album_not_licensed=0x7f09003e;
|
||||
public static final int select_album_offline=0x7f090039;
|
||||
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_playlist_empty=0x7f090043;
|
||||
public static final int service_connecting=0x7f0900d0;
|
||||
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_cache_location=0x7f090071;
|
||||
public static final int settings_cache_location_error=0x7f090072;
|
||||
public static final int settings_cache_size=0x7f090070;
|
||||
public static final int settings_cache_size_100=0x7f090095;
|
||||
public static final int settings_cache_size_1000=0x7f090098;
|
||||
public static final int settings_cache_size_10000=0x7f09009b;
|
||||
public static final int settings_cache_size_200=0x7f090096;
|
||||
public static final int settings_cache_size_2000=0x7f090099;
|
||||
public static final int settings_cache_size_20000=0x7f09009c;
|
||||
public static final int settings_cache_size_500=0x7f090097;
|
||||
public static final int settings_cache_size_5000=0x7f09009a;
|
||||
public static final int settings_cache_size_unlimited=0x7f09009d;
|
||||
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;
|
||||
/** <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=0x7f0900a1;
|
||||
public static final int settings_hide_media_toast=0x7f0900a3;
|
||||
public static final int settings_invalid_url=0x7f090075;
|
||||
public static final int settings_invalid_username=0x7f090076;
|
||||
public static final int settings_max_albums=0x7f0900bc;
|
||||
public static final int settings_max_albums_10=0x7f0900bf;
|
||||
public static final int settings_max_albums_100=0x7f0900c4;
|
||||
public static final int settings_max_albums_20=0x7f0900c0;
|
||||
public static final int settings_max_albums_250=0x7f0900c5;
|
||||
public static final int settings_max_albums_30=0x7f0900c1;
|
||||
public static final int settings_max_albums_40=0x7f0900c2;
|
||||
public static final int settings_max_albums_5=0x7f0900be;
|
||||
public static final int settings_max_albums_50=0x7f0900c3;
|
||||
public static final int settings_max_albums_500=0x7f0900c6;
|
||||
public static final int settings_max_albums_summary=0x7f0900bd;
|
||||
public static final int settings_max_bitrate_112=0x7f090084;
|
||||
public static final int settings_max_bitrate_128=0x7f090085;
|
||||
public static final int settings_max_bitrate_160=0x7f090086;
|
||||
public static final int settings_max_bitrate_192=0x7f090087;
|
||||
public static final int settings_max_bitrate_256=0x7f090088;
|
||||
public static final int settings_max_bitrate_32=0x7f090080;
|
||||
public static final int settings_max_bitrate_320=0x7f090089;
|
||||
public static final int settings_max_bitrate_64=0x7f090081;
|
||||
public static final int settings_max_bitrate_80=0x7f090082;
|
||||
public static final int settings_max_bitrate_96=0x7f090083;
|
||||
public static final int settings_max_bitrate_mobile=0x7f09007f;
|
||||
public static final int settings_max_bitrate_unlimited=0x7f09008a;
|
||||
public static final int settings_max_bitrate_wifi=0x7f09007e;
|
||||
public static final int settings_media_button_summary=0x7f0900a5;
|
||||
public static final int settings_media_button_title=0x7f0900a4;
|
||||
public static final int settings_network_timeout=0x7f0900a9;
|
||||
public static final int settings_network_timeout_105000=0x7f0900b8;
|
||||
public static final int settings_network_timeout_120000=0x7f0900b9;
|
||||
public static final int settings_network_timeout_15000=0x7f0900b2;
|
||||
public static final int settings_network_timeout_30000=0x7f0900b3;
|
||||
public static final int settings_network_timeout_45000=0x7f0900b4;
|
||||
public static final int settings_network_timeout_60000=0x7f0900b5;
|
||||
public static final int settings_network_timeout_75000=0x7f0900b6;
|
||||
public static final int settings_network_timeout_90000=0x7f0900b7;
|
||||
public static final int settings_network_title=0x7f09007d;
|
||||
public static final int settings_other_title=0x7f09009e;
|
||||
public static final int settings_preload=0x7f09006d;
|
||||
public static final int settings_preload_1=0x7f09008d;
|
||||
public static final int settings_preload_10=0x7f090091;
|
||||
public static final int settings_preload_2=0x7f09008e;
|
||||
public static final int settings_preload_3=0x7f09008f;
|
||||
public static final int settings_preload_5=0x7f090090;
|
||||
public static final int settings_preload_unlimited=0x7f090092;
|
||||
public static final int settings_screen_lit_summary=0x7f0900a7;
|
||||
public static final int settings_screen_lit_title=0x7f0900a6;
|
||||
public static final int settings_scrobble_summary=0x7f0900a0;
|
||||
public static final int settings_scrobble_title=0x7f09009f;
|
||||
public static final int settings_search_history_cleared=0x7f09009d;
|
||||
public static final int settings_server_address=0x7f090069;
|
||||
public static final int settings_server_name=0x7f090068;
|
||||
public static final int settings_server_password=0x7f09006b;
|
||||
public static final int settings_server_unused1=0x7f090066;
|
||||
public static final int settings_server_unused2=0x7f090067;
|
||||
public static final int settings_server_username=0x7f09006a;
|
||||
public static final int settings_servers_title=0x7f090065;
|
||||
public static final int settings_show_notification=0x7f0900ba;
|
||||
public static final int settings_show_notification_summary=0x7f0900bb;
|
||||
public static final int settings_test_connection_title=0x7f090064;
|
||||
public static final int settings_testing_connection=0x7f090071;
|
||||
public static final int settings_testing_ok=0x7f090072;
|
||||
public static final int settings_testing_unlicensed=0x7f090073;
|
||||
public static final int settings_theme_dark=0x7f09007c;
|
||||
public static final int settings_theme_fullscreen=0x7f090079;
|
||||
public static final int settings_theme_fullscreenlight=0x7f09007a;
|
||||
public static final int settings_theme_light=0x7f09007b;
|
||||
public static final int settings_theme_title=0x7f090078;
|
||||
public static final int settings_theme_wheat=0x7f0900e3;
|
||||
public static final int settings_title=0x7f090063;
|
||||
public static final int settings_wifi_required_summary=0x7f09008c;
|
||||
public static final int settings_wifi_required_title=0x7f09008b;
|
||||
public static final int song_details_all=0x7f09005f;
|
||||
public static final int song_details_kbps=0x7f090060;
|
||||
public static final int util_bytes_format_byte=0x7f0900e2;
|
||||
public static final int util_bytes_format_gigabyte=0x7f0900df;
|
||||
public static final int util_bytes_format_kilobyte=0x7f0900e1;
|
||||
public static final int util_bytes_format_megabyte=0x7f0900e0;
|
||||
public static final int widget_initial_text=0x7f0900dc;
|
||||
public static final int widget_sdcard_busy=0x7f0900dd;
|
||||
public static final int widget_sdcard_missing=0x7f0900de;
|
||||
public static final int settings_hide_media_title=0x7f0900a3;
|
||||
public static final int settings_hide_media_toast=0x7f0900a5;
|
||||
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_bitrate_112=0x7f090086;
|
||||
public static final int settings_max_bitrate_128=0x7f090087;
|
||||
public static final int settings_max_bitrate_160=0x7f090088;
|
||||
public static final int settings_max_bitrate_192=0x7f090089;
|
||||
public static final int settings_max_bitrate_256=0x7f09008a;
|
||||
public static final int settings_max_bitrate_32=0x7f090082;
|
||||
public static final int settings_max_bitrate_320=0x7f09008b;
|
||||
public static final int settings_max_bitrate_64=0x7f090083;
|
||||
public static final int settings_max_bitrate_80=0x7f090084;
|
||||
public static final int settings_max_bitrate_96=0x7f090085;
|
||||
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_network_title=0x7f09007f;
|
||||
public static final int settings_other_title=0x7f0900a0;
|
||||
public static final int settings_preload=0x7f09006f;
|
||||
public static final int settings_preload_1=0x7f09008f;
|
||||
public static final int settings_preload_10=0x7f090093;
|
||||
public static final int settings_preload_2=0x7f090090;
|
||||
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_search_history_cleared=0x7f09009f;
|
||||
public static final int settings_server_address=0x7f09006b;
|
||||
public static final int settings_server_name=0x7f09006a;
|
||||
public static final int settings_server_password=0x7f09006d;
|
||||
public static final int settings_server_unused1=0x7f090068;
|
||||
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_test_connection_title=0x7f090066;
|
||||
public static final int settings_testing_connection=0x7f090073;
|
||||
public static final int settings_testing_ok=0x7f090074;
|
||||
public static final int settings_testing_unlicensed=0x7f090075;
|
||||
public static final int settings_theme_dark=0x7f09007e;
|
||||
public static final int settings_theme_fullscreen=0x7f09007b;
|
||||
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_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 class style {
|
||||
public static final int Dark=0x7f0b0000;
|
||||
|
@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="fill_parent" a:layout_height="48dp" a:background="@drawable/action_bar_bg"
|
||||
a:gravity="center">
|
||||
|
||||
<ImageView a:id="@+id/actionbar_home_icon" a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content" a:layout_alignParentBottom="true"
|
||||
a:layout_alignParentLeft="true" a:layout_alignParentTop="true"
|
||||
a:layout_gravity="center_vertical" a:paddingBottom="2dip"
|
||||
a:paddingLeft="4dip" a:paddingRight="4dip" a:paddingTop="2dip"
|
||||
a:scaleType="centerInside" a:src="@drawable/main_header_icon" />
|
||||
/>
|
||||
|
||||
<TextView a:id="@+id/actionbar_title_text" a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content" a:layout_alignParentBottom="true"
|
||||
a:layout_alignParentTop="true" a:layout_toRightOf="@id/actionbar_home_icon"
|
||||
a:ellipsize="middle" a:gravity="center_vertical" a:inputType="none"
|
||||
a:lineSpacingMultiplier="0.85" a:shadowColor="#000000" a:shadowDx="1"
|
||||
a:shadowDy="1" a:shadowRadius="1" a:text="Subsonic" a:textColor="#FFFFFF"
|
||||
a:textSize="18sp" a:textStyle="bold" />
|
||||
|
||||
<ImageButton a:id="@+id/action_button_3" a:layout_width="wrap_content"
|
||||
a:layout_height="match_parent" a:layout_alignParentTop="true"
|
||||
a:layout_toLeftOf="@+id/action_button_4" a:background="@drawable/list_selector_holo_dark"
|
||||
a:padding="5dp" a:scaleType="center" a:showAsAction="ifRoom|withText"
|
||||
a:src="@drawable/ic_menu_help" />
|
||||
|
||||
<ImageButton a:id="@+id/action_button_4" a:layout_width="wrap_content"
|
||||
a:layout_height="match_parent" a:layout_alignParentBottom="true"
|
||||
a:layout_alignParentRight="true" a:background="@drawable/list_selector_holo_dark"
|
||||
a:padding="5dp" a:scaleType="center" a:showAsAction="ifRoom|withText"
|
||||
a:src="@drawable/ic_menu_exit" />
|
||||
|
||||
<ImageButton a:id="@+id/action_button_1" a:layout_width="wrap_content"
|
||||
a:layout_height="match_parent" a:layout_alignParentTop="true"
|
||||
a:layout_toLeftOf="@+id/action_button_2" a:background="@drawable/list_selector_holo_dark"
|
||||
a:padding="5dp" a:scaleType="center" a:showAsAction="ifRoom|withText"
|
||||
a:src="@drawable/ic_menu_shuffle" />
|
||||
|
||||
<ImageButton a:id="@+id/action_button_2" a:layout_width="wrap_content"
|
||||
a:layout_height="match_parent" a:layout_alignParentTop="true"
|
||||
a:layout_toLeftOf="@+id/action_button_3" a:background="@drawable/list_selector_holo_dark"
|
||||
a:padding="5dp" a:scaleType="center" a:showAsAction="ifRoom|withText"
|
||||
a:src="@drawable/ic_menu_settings" />
|
||||
|
||||
</RelativeLayout>
|
@ -5,13 +5,13 @@
|
||||
a:background="@drawable/menubar_button_normal">
|
||||
|
||||
<LinearLayout a:orientation="horizontal" a:layout_width="fill_parent"
|
||||
a:layout_height="48dp" a:gravity="center_horizontal">
|
||||
a:layout_height="48dp" a:gravity="center_horizontal" a:background="@drawable/menubar_button_normal">
|
||||
|
||||
<ImageButton a:id="@+id/button_bar_home" a:layout_width="0dp"
|
||||
a:layout_height="match_parent" a:layout_weight="1"
|
||||
a:background="@drawable/buttonbar_selector" a:contentDescription="@string/button_bar.home"
|
||||
a:src="@drawable/ic_menu_home" />
|
||||
<View a:layout_width="1px" a:layout_height="fill_parent"
|
||||
<View a:layout_width="1dp" a:layout_height="fill_parent"
|
||||
a:layout_marginBottom="5dp" a:layout_marginTop="8dp" a:layout_weight="0.01"
|
||||
a:background="@drawable/bg_separator" />
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
a:layout_height="match_parent" a:layout_weight="1"
|
||||
a:background="@drawable/buttonbar_selector" a:contentDescription="@string/button_bar.browse"
|
||||
a:src="@drawable/ic_menu_browse" />
|
||||
<View a:layout_width="1px" a:layout_height="fill_parent"
|
||||
<View a:layout_width="1dp" a:layout_height="fill_parent"
|
||||
a:layout_marginBottom="5dp" a:layout_marginTop="8dp" a:layout_weight="0.01"
|
||||
a:background="@drawable/bg_separator" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
a:layout_height="match_parent" a:layout_weight="1"
|
||||
a:background="@drawable/buttonbar_selector" a:contentDescription="@string/button_bar.search"
|
||||
a:src="@drawable/ic_menu_search" />
|
||||
<View a:layout_width="1px" a:layout_height="fill_parent"
|
||||
<View a:layout_width="1dp" a:layout_height="fill_parent"
|
||||
a:layout_marginBottom="5dp" a:layout_marginTop="8dp" a:layout_weight="0.01"
|
||||
a:background="@drawable/bg_separator" />
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
a:layout_width="0dp" a:layout_height="match_parent" a:layout_weight="1"
|
||||
a:background="@drawable/buttonbar_selector" a:contentDescription="@string/button_bar.playlists"
|
||||
a:src="@drawable/ic_menu_playlists" />
|
||||
<View a:layout_width="1px" a:layout_height="fill_parent"
|
||||
<View a:layout_width="1dp" a:layout_height="fill_parent"
|
||||
a:layout_marginBottom="5dp" a:layout_marginTop="8dp" a:layout_weight="0.01"
|
||||
a:background="@drawable/bg_separator" />
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
<ListView
|
||||
a:id="@+id/download_list"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent"
|
||||
a:layout_height="0dip"
|
||||
a:layout_weight="1"
|
||||
a:cacheColorHint="#00000000"/>
|
||||
|
||||
|
@ -1,42 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<LinearLayout a:id="@+id/help_buttons"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_weight="0"
|
||||
a:layout_alignParentBottom="true"
|
||||
a:padding="4dip"
|
||||
a:gravity="center_horizontal"
|
||||
a:background="#ffcccccc">
|
||||
|
||||
<Button a:id="@+id/help_back"
|
||||
a:text="@string/help.back"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="fill_parent"
|
||||
a:layout_marginRight="5dip"
|
||||
a:paddingLeft="25dip"
|
||||
a:paddingRight="25dip"/>
|
||||
|
||||
<Button a:id="@+id/help_close"
|
||||
a:text="@string/help.close"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="fill_parent"
|
||||
a:layout_marginLeft="5dip"
|
||||
a:paddingLeft="25dip"
|
||||
a:paddingRight="25dip"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<WebView
|
||||
a:id="@+id/help_contents"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_above="@id/help_buttons"
|
||||
a:layout_weight="1"
|
||||
a:fadingEdge="vertical"
|
||||
a:fadingEdgeLength="12dip"/>
|
||||
|
||||
</RelativeLayout>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<LinearLayout a:id="@+id/help_buttons"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_alignParentBottom="true"
|
||||
a:padding="4dip"
|
||||
a:gravity="center_horizontal"
|
||||
a:background="@drawable/menubar_button_normal">
|
||||
|
||||
<Button a:id="@+id/help_back"
|
||||
a:text="@string/help.back"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="fill_parent"
|
||||
a:layout_marginRight="5dip"
|
||||
a:paddingLeft="25dip"
|
||||
a:paddingRight="25dip"/>
|
||||
|
||||
<Button a:id="@+id/help_close"
|
||||
a:text="@string/help.close"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="fill_parent"
|
||||
a:layout_marginLeft="5dip"
|
||||
a:paddingLeft="25dip"
|
||||
a:paddingRight="25dip"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<WebView
|
||||
a:id="@+id/help_contents"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_above="@id/help_buttons"
|
||||
a:fadingEdge="vertical"
|
||||
a:fadingEdgeLength="12dip"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
@ -4,19 +4,15 @@
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<include
|
||||
layout="@layout/action_bar"
|
||||
a:layout_width="fill_parent"/>
|
||||
|
||||
<ListView
|
||||
a:id="@+id/main_list"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="0px"
|
||||
a:layout_height="0dp"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<View a:id="@+id/main_dummy"
|
||||
a:layout_width="0px"
|
||||
a:layout_height="0px"/>
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="0dp"/>
|
||||
|
||||
<include
|
||||
layout="@layout/button_bar"
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:orientation="vertical" a:layout_width="fill_parent" a:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout a:id="@+id/main_select_server"
|
||||
@ -7,8 +8,7 @@
|
||||
a:minHeight="?android:attr/listPreferredItemHeight">
|
||||
|
||||
<ImageView a:layout_width="wrap_content" a:layout_height="wrap_content"
|
||||
a:layout_gravity="center_vertical" a:src="@drawable/ic_menu_select_artist_folder"
|
||||
a:contentDescription="TODO" />
|
||||
a:layout_gravity="center_vertical" a:src="@drawable/ic_menu_select_artist_folder" />
|
||||
|
||||
<LinearLayout a:orientation="vertical" a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content">
|
||||
@ -35,7 +35,6 @@
|
||||
a:layout_width="fill_parent" a:layout_height="wrap_content"
|
||||
a:textAppearance="?android:attr/textAppearanceMedium" a:gravity="center_vertical"
|
||||
a:paddingLeft="6dip" a:paddingRight="6dip" a:minHeight="40dip" />
|
||||
<!-- a:drawableRight="@drawable/list_item_more" a:drawablePadding="6dip" -->
|
||||
|
||||
<TextView a:id="@+id/main_albums_recent" a:text="@string/main.albums_recent"
|
||||
a:layout_width="fill_parent" a:layout_height="wrap_content"
|
||||
|
@ -7,6 +7,4 @@
|
||||
a:gravity="center_vertical"
|
||||
a:paddingLeft="6dip"
|
||||
a:paddingRight="6dip"
|
||||
a:minHeight="50dip"/>
|
||||
|
||||
<!-- a:drawableRight="@drawable/list_item_more" a:drawablePadding="6dip"-->
|
||||
a:minHeight="50dip"/>
|
@ -4,8 +4,6 @@
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<include layout="@layout/action_bar"/>
|
||||
|
||||
<include layout="@layout/tab_progress"/>
|
||||
|
||||
<ListView
|
||||
|
@ -4,11 +4,9 @@
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<include layout="@layout/action_bar"/>
|
||||
|
||||
<View
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="1px"
|
||||
a:layout_height="1dp"
|
||||
a:background="@color/dividerColor"/>
|
||||
|
||||
<include layout="@layout/tab_progress"/>
|
||||
|
@ -1,69 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:orientation="vertical"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
a:orientation="horizontal"
|
||||
a:background="@drawable/menubar_button_normal"
|
||||
a:paddingTop="6dip"
|
||||
a:paddingBottom="4dip"
|
||||
a:paddingLeft="6dp"
|
||||
a:paddingRight="6dp"
|
||||
a:layout_weight="1"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="0dip">
|
||||
|
||||
<ImageView
|
||||
a:id="@+id/select_album_cover_art"
|
||||
a:layout_gravity="center_vertical"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"/>
|
||||
|
||||
<LinearLayout
|
||||
a:orientation="vertical"
|
||||
a:layout_weight="1"
|
||||
a:layout_width="0dip"
|
||||
a:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
a:id="@+id/select_album_text1"
|
||||
a:singleLine="true"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_marginLeft="10dip"
|
||||
a:layout_marginRight="10dip"
|
||||
a:textColor="@android:color/primary_text_light"
|
||||
a:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<TextView
|
||||
a:id="@+id/select_album_text2"
|
||||
a:singleLine="true"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_marginLeft="10dip"
|
||||
a:layout_marginRight="10dip"
|
||||
a:textColor="@android:color/secondary_text_light"
|
||||
a:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
a:id="@+id/select_album_play_all"
|
||||
a:src="@drawable/select_album_play_all"
|
||||
a:background="@android:color/transparent"
|
||||
a:layout_gravity="center_vertical"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="1px"
|
||||
a:background="@color/dividerColor"/>
|
||||
|
||||
</LinearLayout>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:orientation="vertical"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
a:orientation="horizontal"
|
||||
a:background="@drawable/menubar_button_normal"
|
||||
a:paddingTop="6dip"
|
||||
a:paddingBottom="4dip"
|
||||
a:paddingLeft="6dp"
|
||||
a:paddingRight="6dp"
|
||||
a:layout_weight="1"
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="0dip">
|
||||
|
||||
<ImageView
|
||||
a:id="@+id/select_album_cover_art"
|
||||
a:layout_gravity="center_vertical"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"/>
|
||||
|
||||
<LinearLayout
|
||||
a:orientation="vertical"
|
||||
a:layout_weight="1"
|
||||
a:layout_width="0dip"
|
||||
a:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
a:id="@+id/select_album_text1"
|
||||
a:singleLine="true"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_marginLeft="10dip"
|
||||
a:layout_marginRight="10dip"
|
||||
a:textColor="@android:color/primary_text_light"
|
||||
a:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
|
||||
<TextView
|
||||
a:id="@+id/select_album_text2"
|
||||
a:singleLine="true"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_marginLeft="10dip"
|
||||
a:layout_marginRight="10dip"
|
||||
a:textColor="@android:color/secondary_text_light"
|
||||
a:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
a:id="@+id/select_album_play_all"
|
||||
a:src="@drawable/select_album_play_all"
|
||||
a:background="@android:color/transparent"
|
||||
a:layout_gravity="center_vertical"
|
||||
a:layout_width="wrap_content"
|
||||
a:layout_height="wrap_content"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="1dp"
|
||||
a:background="@color/dividerColor"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -4,8 +4,6 @@
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<include layout="@layout/action_bar"/>
|
||||
|
||||
<include layout="@layout/tab_progress"/>
|
||||
|
||||
<ListView a:id="@+id/select_artist_list"
|
||||
|
@ -4,8 +4,6 @@
|
||||
a:layout_width="fill_parent"
|
||||
a:layout_height="fill_parent">
|
||||
|
||||
<include layout="@layout/action_bar"/>
|
||||
|
||||
<include layout="@layout/tab_progress"/>
|
||||
|
||||
<TextView
|
||||
|
24
res/menu/common.xml
Normal file
24
res/menu/common.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?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"
|
||||
a:title="@string/menu.settings"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/menu_help"
|
||||
a:icon="@drawable/ic_menu_help"
|
||||
a:title="@string/menu.help"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
|
||||
|
@ -1,22 +1,11 @@
|
||||
<?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"
|
||||
a:title="@string/menu.settings"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/menu_help"
|
||||
a:icon="@drawable/ic_menu_help"
|
||||
a:title="@string/menu.help"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/main_shuffle"
|
||||
a:showAsAction="ifRoom|withText"
|
||||
a:icon="@drawable/ic_menu_shuffle"
|
||||
a:title="@string/main.shuffle"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
|
14
res/menu/select_album.xml
Normal file
14
res/menu/select_album.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/select_album_play_all"
|
||||
a:showAsAction="ifRoom|withText"
|
||||
a:icon="@drawable/ic_menu_play_all"
|
||||
a:title="@string/select_album.play_all"
|
||||
/>
|
||||
|
||||
|
||||
</menu>
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_pin"
|
||||
a:title="@string/common.pin"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/album_menu_pin"
|
||||
a:title="@string/common.pin"
|
||||
/>
|
||||
|
||||
</menu>
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_pin"
|
||||
a:title="@string/common.pin"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/artist_menu_pin"
|
||||
a:title="@string/common.pin"
|
||||
/>
|
||||
|
||||
</menu>
|
10
res/menu/select_common.xml
Normal file
10
res/menu/select_common.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android" >
|
||||
|
||||
<item
|
||||
a:id="@+id/menu_refresh"
|
||||
a:icon="@drawable/ic_menu_refresh"
|
||||
a:showAsAction="ifRoom|withText"
|
||||
a:title="@string/select_artist.refresh"/>
|
||||
|
||||
</menu>
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_next"
|
||||
a:title="@string/common.play_next"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:a="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_now"
|
||||
a:title="@string/common.play_now"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_next"
|
||||
a:title="@string/common.play_next"
|
||||
/>
|
||||
|
||||
<item
|
||||
a:id="@+id/song_menu_play_last"
|
||||
a:title="@string/common.play_last"
|
||||
/>
|
||||
|
||||
</menu>
|
@ -36,6 +36,7 @@
|
||||
<string name="menu.exit">Exit</string>
|
||||
<string name="menu.settings">Settings</string>
|
||||
<string name="menu.help">Help</string>
|
||||
<string name="menu.search">Search</string>
|
||||
|
||||
<string name="playlist.label">Playlists</string>
|
||||
|
||||
@ -44,9 +45,9 @@
|
||||
<string name="help.back">Back</string>
|
||||
<string name="help.close">Close</string>
|
||||
<string name="help.url">file:///android_asset/html/en/index.html</string>
|
||||
<string name="help.loading">Loading...</string>
|
||||
<string name="help.loading">Loading…</string>
|
||||
|
||||
<string name="play_video.loading">Loading video...</string>
|
||||
<string name="play_video.loading">Loading video…</string>
|
||||
<string name="play_video.noplugin">Please install Adobe Flash Player from Android Market.</string>
|
||||
|
||||
<string name="search.label">Search</string>
|
||||
@ -58,7 +59,7 @@
|
||||
<string name="search.songs">Songs</string>
|
||||
<string name="search.more">Show more</string>
|
||||
|
||||
<string name="progress.wait">Please wait...</string>
|
||||
<string name="progress.wait">Please wait…</string>
|
||||
|
||||
<string name="music_library.label">Media library</string>
|
||||
<string name="music_library.label_offline">Offline media</string>
|
||||
@ -69,7 +70,8 @@
|
||||
<string name="select_album.n_unselected">%d tracks unselected.</string>
|
||||
<string name="select_album.more">More</string>
|
||||
<string name="select_album.offline">Offline</string>
|
||||
<string name="select_album.searching">Searching...</string>
|
||||
<string name="select_album.searching">Searching…</string>
|
||||
<string name="select_album.play_all">Play all</string>
|
||||
<string name="select_album.no_sdcard">Error: No SD card available.</string>
|
||||
<string name="select_album.no_network">Warning: No network available.</string>
|
||||
<string name="select_album.not_licensed">Server not licensed. %d trial days left.</string>
|
||||
@ -77,6 +79,7 @@
|
||||
<string name="select_album.donate_dialog_now">Now</string>
|
||||
<string name="select_album.donate_dialog_later">Later</string>
|
||||
<string name="select_album.donate_dialog_0_trial_days_left">Trial period is over</string>
|
||||
|
||||
|
||||
<string name="select_playlist.empty">No saved playlists on server</string>
|
||||
|
||||
@ -95,7 +98,7 @@
|
||||
<string name="download.menu_shuffle_notification">Playlist was shuffled</string>
|
||||
<string name="download.playlist_title">Save playlist</string>
|
||||
<string name="download.playlist_name">Enter the playlist name:</string>
|
||||
<string name="download.playlist_saving">Saving playlist \"%s\"...</string>
|
||||
<string name="download.playlist_saving">Saving playlist \"%s\"…</string>
|
||||
<string name="download.playlist_done">Playlist was successfully saved.</string>
|
||||
<string name="download.playlist_error">Failed to save playlist, please try later.</string>
|
||||
<string name="download.repeat_off">Repeat off</string>
|
||||
@ -131,7 +134,7 @@
|
||||
<string name="settings.cache_size">Cache size</string>
|
||||
<string name="settings.cache_location">Cache location</string>
|
||||
<string name="settings.cache_location_error">Invalid cache location. Using default.</string>
|
||||
<string name="settings.testing_connection">Testing connection...</string>
|
||||
<string name="settings.testing_connection">Testing connection…</string>
|
||||
<string name="settings.testing_ok">Connection is OK</string>
|
||||
<string name="settings.testing_unlicensed">Connection is OK. Server unlicensed.</string>
|
||||
<string name="settings.connection_failure">Connection failure.</string>
|
||||
@ -221,7 +224,7 @@
|
||||
|
||||
<string name="music_service.retry">A network error occurred. Retrying %1$d of %2$d.</string>
|
||||
|
||||
<string name="background_task.wait">Please wait...</string>
|
||||
<string name="background_task.wait">Please wait…</string>
|
||||
<string name="background_task.loading">Loading.</string>
|
||||
<string name="background_task.no_network">This program requires network access. Please turn on Wi-Fi or mobile network.</string>
|
||||
<string name="background_task.network_error">A network error occurred. Please check the server address or try again later.</string>
|
||||
|
@ -1,41 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Dark" parent="@android:style/Theme">
|
||||
<item name="android:listViewStyle">@style/listselect</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorPrimary">@color/white</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Light" parent="@android:style/Theme.Light">
|
||||
<item name="android:listViewStyle">@style/listselectlight</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Fullscreen" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
|
||||
<item name="android:listViewStyle">@style/listselect</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorPrimary">@color/white</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Fullscreenlight" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
|
||||
<item name="android:listViewStyle">@style/listselectlight</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="listselect" parent="android:style/Widget.ListView">
|
||||
<item name="android:listSelector">@drawable/list_selector_holo_dark</item>
|
||||
</style>
|
||||
|
||||
<style name="listselectlight" parent="android:style/Widget.ListView.White">
|
||||
<item name="android:listSelector">@drawable/list_selector_holo_light</item>
|
||||
</style>
|
||||
|
||||
<style name="customprogress" parent="android:style/Widget.ProgressBar.Horizontal">
|
||||
<item name="android:progressDrawable">@drawable/progress_horizontal_holo_dark</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Dark" parent="@android:style/Theme">
|
||||
<item name="android:listViewStyle">@style/listselect</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorPrimary">@color/white</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Light" parent="@android:style/Theme.Light">
|
||||
<item name="android:listViewStyle">@style/listselectlight</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Fullscreen" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
|
||||
<item name="android:listViewStyle">@style/listselect</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorPrimary">@color/white</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="Fullscreenlight" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
|
||||
<item name="android:listViewStyle">@style/listselectlight</item>
|
||||
<item name="android:progressBarStyleHorizontal">@style/customprogress</item>
|
||||
<item name="android:textColorSecondary">@color/cyan</item>
|
||||
</style>
|
||||
|
||||
<style name="listselect" parent="android:style/Widget.ListView">
|
||||
<item name="android:listSelector">@drawable/list_selector_holo_dark</item>
|
||||
</style>
|
||||
|
||||
<style name="listselectlight" parent="android:style/Widget.ListView.White">
|
||||
<item name="android:listSelector">@drawable/list_selector_holo_light</item>
|
||||
</style>
|
||||
|
||||
<style name="customprogress" parent="android:style/Widget.ProgressBar.Horizontal">
|
||||
<item name="android:progressDrawable">@drawable/progress_horizontal_holo_dark</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
@ -46,6 +46,7 @@ import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.AdapterView;
|
||||
@ -120,8 +121,11 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
|
||||
setContentView(R.layout.download);
|
||||
|
||||
getActionBar().hide();
|
||||
|
||||
WindowManager w = getWindowManager();
|
||||
Display d = w.getDefaultDisplay();
|
||||
swipeDistance = (d.getWidth() + d.getHeight()) * PERCENTAGE_OF_SCREEN_FOR_SWIPE / 100;
|
||||
@ -497,6 +501,7 @@ 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);
|
||||
return true;
|
||||
|
@ -21,8 +21,6 @@ package net.sourceforge.subsonic.androidapp.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
import net.sourceforge.subsonic.androidapp.domain.Lyrics;
|
||||
|
@ -22,26 +22,27 @@ package net.sourceforge.subsonic.androidapp.activity;
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
import net.sourceforge.subsonic.androidapp.domain.Version;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadFile;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadService;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadServiceImpl;
|
||||
import net.sourceforge.subsonic.androidapp.service.MusicService;
|
||||
import net.sourceforge.subsonic.androidapp.service.MusicServiceFactory;
|
||||
import net.sourceforge.subsonic.androidapp.util.Constants;
|
||||
import net.sourceforge.subsonic.androidapp.util.MergeAdapter;
|
||||
import net.sourceforge.subsonic.androidapp.util.Util;
|
||||
import net.sourceforge.subsonic.androidapp.util.FileUtil;
|
||||
import android.app.ActionBar;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -69,7 +70,7 @@ public class MainActivity extends SubsonicTabActivity {
|
||||
setContentView(R.layout.main);
|
||||
|
||||
loadSettings();
|
||||
|
||||
|
||||
View buttons = LayoutInflater.from(this).inflate(R.layout.main_buttons, null);
|
||||
|
||||
final View serverButton = buttons.findViewById(R.id.main_select_server);
|
||||
@ -126,48 +127,6 @@ public class MainActivity extends SubsonicTabActivity {
|
||||
// Title: Subsonic
|
||||
setTitle(R.string.common_appname);
|
||||
|
||||
// Button 1: shuffle
|
||||
ImageButton actionShuffleButton = (ImageButton)findViewById(R.id.action_button_1);
|
||||
actionShuffleButton.setImageResource(R.drawable.ic_menu_shuffle);
|
||||
actionShuffleButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Intent intent = new Intent(MainActivity.this, DownloadActivity.class);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
|
||||
Util.startActivityWithoutTransition(MainActivity.this, intent);
|
||||
}
|
||||
});
|
||||
|
||||
// Button 2: settings
|
||||
ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_2);
|
||||
actionSettingsButton.setImageResource(R.drawable.ic_menu_settings);
|
||||
actionSettingsButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
|
||||
}
|
||||
});
|
||||
|
||||
// Button 3: help
|
||||
ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3);
|
||||
actionHelpButton.setImageResource(R.drawable.ic_menu_help);
|
||||
actionHelpButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
startActivity(new Intent(MainActivity.this, HelpActivity.class));
|
||||
}
|
||||
});
|
||||
|
||||
// Button 4: exit
|
||||
ImageButton actionSearchButton = (ImageButton)findViewById(R.id.action_button_4);
|
||||
actionSearchButton.setImageResource(R.drawable.ic_menu_exit);
|
||||
actionSearchButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
exit();
|
||||
}
|
||||
});
|
||||
|
||||
// Remember the current theme.
|
||||
theme = Util.getTheme(this);
|
||||
|
||||
@ -193,6 +152,15 @@ public class MainActivity extends SubsonicTabActivity {
|
||||
restart();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.main, menu);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
|
||||
@ -220,7 +188,7 @@ public class MainActivity extends SubsonicTabActivity {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onContextItemSelected(MenuItem menuItem) {
|
||||
switch (menuItem.getItemId()) {
|
||||
@ -244,7 +212,36 @@ public class MainActivity extends SubsonicTabActivity {
|
||||
restart();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
||||
case R.id.main_shuffle:
|
||||
Intent intent1 = new Intent(this, DownloadActivity.class);
|
||||
intent1.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
|
||||
Util.startActivityWithoutTransition(this, intent1);
|
||||
return true;
|
||||
|
||||
case R.id.menu_exit:
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
|
||||
Util.startActivityWithoutTransition(this, intent);
|
||||
return true;
|
||||
|
||||
case R.id.menu_settings:
|
||||
startActivity(new Intent(this, SettingsActivity.class));
|
||||
return true;
|
||||
|
||||
case R.id.menu_help:
|
||||
startActivity(new Intent(this, HelpActivity.class));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void setActiveServer(int instance) {
|
||||
if (Util.getActiveServer(this) != instance) {
|
||||
DownloadService service = getDownloadService();
|
||||
|
@ -27,6 +27,7 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View;
|
||||
import android.view.MenuItem;
|
||||
@ -137,27 +138,15 @@ public class SearchActivity extends SubsonicTabActivity {
|
||||
|
||||
registerForContextMenu(list);
|
||||
|
||||
// Button 1: gone
|
||||
findViewById(R.id.action_button_1).setVisibility(View.GONE);
|
||||
|
||||
// Button 2: gone
|
||||
findViewById(R.id.action_button_2).setVisibility(View.GONE);
|
||||
|
||||
// Button 3: gone
|
||||
findViewById(R.id.action_button_3).setVisibility(View.GONE);
|
||||
|
||||
// Button 4: search
|
||||
final ImageButton actionSearchButton = (ImageButton)findViewById(R.id.action_button_4);
|
||||
actionSearchButton.setImageResource(R.drawable.ic_menu_search);
|
||||
actionSearchButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
onSearchRequested();
|
||||
}
|
||||
});
|
||||
|
||||
onNewIntent(getIntent());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
@ -198,41 +187,6 @@ 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) {
|
||||
BackgroundTask<SearchResult> task = new TabActivityBackgroundTask<SearchResult>(this) {
|
||||
@Override
|
||||
|
@ -26,9 +26,11 @@ import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
@ -62,9 +64,10 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
private Button unpinButton;
|
||||
private Button deleteButton;
|
||||
private Button moreButton;
|
||||
private ImageView coverArtView;
|
||||
//private ImageView coverArtView;
|
||||
private boolean licenseValid;
|
||||
private ImageButton playAllButton;
|
||||
private boolean playAllButtonVisible;
|
||||
private MenuItem playAllButton;
|
||||
|
||||
/**
|
||||
* Called when the activity is first created.
|
||||
@ -98,7 +101,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
});
|
||||
entryList.setOnTouchListener(gestureListener);
|
||||
|
||||
coverArtView = (ImageView) findViewById(R.id.actionbar_home_icon);
|
||||
//coverArtView = (ImageView) findViewById(R.id.actionbar_home_icon);
|
||||
selectButton = (Button) findViewById(R.id.select_album_select);
|
||||
playNowButton = (Button) findViewById(R.id.select_album_play_now);
|
||||
playLastButton = (Button) findViewById(R.id.select_album_play_last);
|
||||
@ -169,33 +172,25 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
} else {
|
||||
getMusicDirectory(id, name);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
playAllButton = menu.findItem(R.id.select_album_play_all);
|
||||
playAllButton.setVisible(playAllButtonVisible);
|
||||
|
||||
// Button 1: gone
|
||||
findViewById(R.id.action_button_1).setVisibility(View.GONE);
|
||||
|
||||
// Button 2: gone
|
||||
findViewById(R.id.action_button_2).setVisibility(View.GONE);
|
||||
|
||||
// Button 3: play all
|
||||
playAllButton = (ImageButton) findViewById(R.id.action_button_3);
|
||||
playAllButton.setImageResource(R.drawable.ic_menu_play_all);
|
||||
playAllButton.setVisibility(View.GONE);
|
||||
playAllButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
playAll();
|
||||
}
|
||||
});
|
||||
|
||||
// Button 4: refresh
|
||||
ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_4);
|
||||
refreshButton.setImageResource(R.drawable.ic_menu_refresh);
|
||||
refreshButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
refresh();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@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);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void playAll() {
|
||||
@ -267,11 +262,51 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
case R.id.song_menu_play_last:
|
||||
getDownloadService().download(songs, false, false, false);
|
||||
break;
|
||||
case R.id.select_album_play_all:
|
||||
playAll();
|
||||
break;
|
||||
default:
|
||||
return super.onContextItemSelected(menuItem);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
||||
case R.id.main_shuffle:
|
||||
Intent intent1 = new Intent(this, DownloadActivity.class);
|
||||
intent1.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
|
||||
Util.startActivityWithoutTransition(this, intent1);
|
||||
return true;
|
||||
|
||||
case R.id.menu_refresh:
|
||||
refresh();
|
||||
return true;
|
||||
|
||||
case R.id.select_album_play_all:
|
||||
playAll();
|
||||
return true;
|
||||
|
||||
case R.id.menu_exit:
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
|
||||
Util.startActivityWithoutTransition(this, intent);
|
||||
return true;
|
||||
|
||||
case R.id.menu_settings:
|
||||
startActivity(new Intent(this, SettingsActivity.class));
|
||||
return true;
|
||||
|
||||
case R.id.menu_help:
|
||||
startActivity(new Intent(this, HelpActivity.class));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void getMusicDirectory(final String id, String name) {
|
||||
setTitle(name);
|
||||
@ -560,7 +595,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
}
|
||||
|
||||
if (songCount > 0) {
|
||||
getImageLoader().loadImage(coverArtView, entries.get(0), false, true);
|
||||
//getImageLoader().loadImage(coverArtView, entries.get(0), false, true);
|
||||
entryList.addFooterView(footer);
|
||||
selectButton.setVisibility(View.VISIBLE);
|
||||
playNowButton.setVisibility(View.VISIBLE);
|
||||
@ -568,9 +603,14 @@ public class SelectAlbumActivity extends SubsonicTabActivity {
|
||||
}
|
||||
|
||||
boolean isAlbumList = getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TYPE);
|
||||
playAllButtonVisible = !(isAlbumList || entries.isEmpty());
|
||||
|
||||
emptyView.setVisibility(entries.isEmpty() ? View.VISIBLE : View.GONE);
|
||||
playAllButton.setVisibility(isAlbumList || entries.isEmpty() ? View.GONE : View.VISIBLE);
|
||||
|
||||
if (playAllButton != null) {
|
||||
playAllButton.setVisible(playAllButtonVisible);
|
||||
}
|
||||
|
||||
entryList.setAdapter(new EntryAdapter(SelectAlbumActivity.this, getImageLoader(), entries, true));
|
||||
licenseValid = result.getSecond();
|
||||
|
||||
|
@ -23,11 +23,11 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
@ -77,39 +77,19 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
|
||||
|
||||
setTitle(Util.isOffline(this) ? R.string.music_library_label_offline : R.string.music_library_label);
|
||||
|
||||
// Button 1: gone
|
||||
findViewById(R.id.action_button_1).setVisibility(View.GONE);
|
||||
|
||||
// Button 2: gone
|
||||
findViewById(R.id.action_button_2).setVisibility(View.GONE);
|
||||
|
||||
// Button 3: shuffle
|
||||
ImageButton shuffleButton = (ImageButton) findViewById(R.id.action_button_3);
|
||||
shuffleButton.setImageResource(R.drawable.ic_menu_shuffle);
|
||||
shuffleButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Intent intent = new Intent(SelectArtistActivity.this, DownloadActivity.class);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
|
||||
Util.startActivityWithoutTransition(SelectArtistActivity.this, intent);
|
||||
}
|
||||
});
|
||||
|
||||
// Button 4: refresh
|
||||
ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_4);
|
||||
refreshButton.setImageResource(R.drawable.ic_menu_refresh);
|
||||
refreshButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
refresh();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
musicFolders = null;
|
||||
load();
|
||||
}
|
||||
|
||||
@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);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void refresh() {
|
||||
finish();
|
||||
@ -234,4 +214,37 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
||||
case R.id.menu_refresh:
|
||||
refresh();
|
||||
return true;
|
||||
|
||||
case R.id.main_shuffle:
|
||||
Intent intent = new Intent(this, DownloadActivity.class);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true);
|
||||
Util.startActivityWithoutTransition(this, intent);
|
||||
return true;
|
||||
|
||||
case R.id.menu_exit:
|
||||
Intent intent1 = new Intent(this, MainActivity.class);
|
||||
intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
intent1.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
|
||||
Util.startActivityWithoutTransition(this, intent1);
|
||||
return true;
|
||||
|
||||
case R.id.menu_settings:
|
||||
startActivity(new Intent(this, SettingsActivity.class));
|
||||
return true;
|
||||
|
||||
case R.id.menu_help:
|
||||
startActivity(new Intent(this, HelpActivity.class));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -23,6 +23,7 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
@ -61,27 +62,17 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
|
||||
// Title: Playlists
|
||||
setTitle(R.string.playlist_label);
|
||||
|
||||
// Button 1: gone
|
||||
findViewById(R.id.action_button_1).setVisibility(View.GONE);
|
||||
|
||||
// Button 2: gone
|
||||
findViewById(R.id.action_button_2).setVisibility(View.GONE);
|
||||
|
||||
// Button 3: gone
|
||||
findViewById(R.id.action_button_3).setVisibility(View.GONE);
|
||||
|
||||
// Button 4: refresh
|
||||
ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_4);
|
||||
refreshButton.setImageResource(R.drawable.ic_menu_refresh);
|
||||
refreshButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
refresh();
|
||||
}
|
||||
});
|
||||
|
||||
load();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.select_common, menu);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void refresh() {
|
||||
finish();
|
||||
@ -132,6 +123,33 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
||||
case R.id.menu_refresh:
|
||||
refresh();
|
||||
return true;
|
||||
|
||||
case R.id.menu_exit:
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true);
|
||||
Util.startActivityWithoutTransition(this, intent);
|
||||
return true;
|
||||
|
||||
case R.id.menu_settings:
|
||||
startActivity(new Intent(this, SettingsActivity.class));
|
||||
return true;
|
||||
|
||||
case R.id.menu_help:
|
||||
startActivity(new Intent(this, HelpActivity.class));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
|
@ -27,7 +27,6 @@ import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.graphics.Typeface;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@ -43,9 +42,7 @@ import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.Window;
|
||||
import android.view.animation.TranslateAnimation;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
import net.sourceforge.subsonic.androidapp.domain.MusicDirectory;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadService;
|
||||
@ -82,13 +79,21 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
|
||||
Left,
|
||||
Right
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.common, menu);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle bundle) {
|
||||
setUncaughtExceptionHandler();
|
||||
applyTheme();
|
||||
super.onCreate(bundle);
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
|
||||
startService(new Intent(this, DownloadServiceImpl.class));
|
||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
|
||||
@ -174,15 +179,6 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
|
||||
Util.registerMediaButtonEventReceiver(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
if (android.os.Build.VERSION.SDK_INT < 11) {
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.main, menu);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
@ -234,23 +230,6 @@ public class SubsonicTabActivity extends Activity implements OnClickListener{
|
||||
Util.disablePendingTransition(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTitle(CharSequence title) {
|
||||
super.setTitle(title);
|
||||
|
||||
// Set the font of title in the action bar.
|
||||
TextView text = (TextView) findViewById(R.id.actionbar_title_text);
|
||||
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Regular.ttf");
|
||||
text.setTypeface(typeface);
|
||||
|
||||
text.setText(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTitle(int titleId) {
|
||||
setTitle(getString(titleId));
|
||||
}
|
||||
|
||||
private void applyTheme() {
|
||||
String theme = Util.getTheme(this);
|
||||
if ("dark".equals(theme)) {
|
||||
|
@ -1,90 +1,88 @@
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2011 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.audiofx;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.MediaPlayer;
|
||||
import android.media.audiofx.Visualizer;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Backward-compatible wrapper for {@link Visualizer}, which is API Level 9.
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
* @version $Id$
|
||||
*/
|
||||
public class VisualizerController {
|
||||
|
||||
private static final String TAG = VisualizerController.class.getSimpleName();
|
||||
private static final int PREFERRED_CAPTURE_SIZE = 128; // Must be a power of two.
|
||||
|
||||
private final Context context;
|
||||
private Visualizer visualizer;
|
||||
|
||||
// Class initialization fails when this throws an exception.
|
||||
static {
|
||||
try {
|
||||
Class.forName("android.media.audiofx.Visualizer");
|
||||
} catch (Exception ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws an exception if the {@link Visualizer} class is not available.
|
||||
*/
|
||||
public static void checkAvailable() throws Throwable {
|
||||
// Calling here forces class initialization.
|
||||
}
|
||||
|
||||
public VisualizerController(Context context, MediaPlayer mediaPlayer) {
|
||||
this.context = context;
|
||||
try {
|
||||
visualizer = new Visualizer(mediaPlayer.getAudioSessionId());
|
||||
} catch (Throwable x) {
|
||||
Log.w(TAG, "Failed to create visualizer.", x);
|
||||
}
|
||||
|
||||
if (visualizer != null) {
|
||||
int[] captureSizeRange = Visualizer.getCaptureSizeRange();
|
||||
int captureSize = Math.max(PREFERRED_CAPTURE_SIZE, captureSizeRange[0]);
|
||||
captureSize = Math.min(captureSize, captureSizeRange[1]);
|
||||
visualizer.setCaptureSize(captureSize);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAvailable() {
|
||||
return visualizer != null;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return isAvailable() && visualizer.getEnabled();
|
||||
}
|
||||
|
||||
public void release() {
|
||||
if (isAvailable()) {
|
||||
visualizer.release();
|
||||
}
|
||||
}
|
||||
|
||||
public Visualizer getVisualizer() {
|
||||
return visualizer;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2011 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.audiofx;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.MediaPlayer;
|
||||
import android.media.audiofx.Visualizer;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Backward-compatible wrapper for {@link Visualizer}, which is API Level 9.
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
* @version $Id$
|
||||
*/
|
||||
public class VisualizerController {
|
||||
|
||||
private static final String TAG = VisualizerController.class.getSimpleName();
|
||||
private static final int PREFERRED_CAPTURE_SIZE = 128; // Must be a power of two.
|
||||
|
||||
private Visualizer visualizer;
|
||||
|
||||
// Class initialization fails when this throws an exception.
|
||||
static {
|
||||
try {
|
||||
Class.forName("android.media.audiofx.Visualizer");
|
||||
} catch (Exception ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws an exception if the {@link Visualizer} class is not available.
|
||||
*/
|
||||
public static void checkAvailable() throws Throwable {
|
||||
// Calling here forces class initialization.
|
||||
}
|
||||
|
||||
public VisualizerController(Context context, MediaPlayer mediaPlayer) {
|
||||
try {
|
||||
visualizer = new Visualizer(mediaPlayer.getAudioSessionId());
|
||||
} catch (Throwable x) {
|
||||
Log.w(TAG, "Failed to create visualizer.", x);
|
||||
}
|
||||
|
||||
if (visualizer != null) {
|
||||
int[] captureSizeRange = Visualizer.getCaptureSizeRange();
|
||||
int captureSize = Math.max(PREFERRED_CAPTURE_SIZE, captureSizeRange[0]);
|
||||
captureSize = Math.min(captureSize, captureSizeRange[1]);
|
||||
visualizer.setCaptureSize(captureSize);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAvailable() {
|
||||
return visualizer != null;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return isAvailable() && visualizer.getEnabled();
|
||||
}
|
||||
|
||||
public void release() {
|
||||
if (isAvailable()) {
|
||||
visualizer.release();
|
||||
}
|
||||
}
|
||||
|
||||
public Visualizer getVisualizer() {
|
||||
return visualizer;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,69 +1,68 @@
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.service.parser;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
import android.content.Context;
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
import net.sourceforge.subsonic.androidapp.domain.MusicFolder;
|
||||
import net.sourceforge.subsonic.androidapp.domain.Playlist;
|
||||
import net.sourceforge.subsonic.androidapp.util.ProgressListener;
|
||||
|
||||
/**
|
||||
* @author Sindre Mehus
|
||||
*/
|
||||
public class MusicFoldersParser extends AbstractParser {
|
||||
|
||||
public MusicFoldersParser(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public List<MusicFolder> parse(Reader reader, ProgressListener progressListener) throws Exception {
|
||||
|
||||
updateProgress(progressListener, R.string.parser_reading);
|
||||
init(reader);
|
||||
|
||||
List<MusicFolder> result = new ArrayList<MusicFolder>();
|
||||
int eventType;
|
||||
do {
|
||||
eventType = nextParseEvent();
|
||||
if (eventType == XmlPullParser.START_TAG) {
|
||||
String tag = getElementName();
|
||||
if ("musicFolder".equals(tag)) {
|
||||
String id = get("id");
|
||||
String name = get("name");
|
||||
result.add(new MusicFolder(id, name));
|
||||
} else if ("error".equals(tag)) {
|
||||
handleError();
|
||||
}
|
||||
}
|
||||
} while (eventType != XmlPullParser.END_DOCUMENT);
|
||||
|
||||
validate();
|
||||
updateProgress(progressListener, R.string.parser_reading_done);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2009 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.service.parser;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
import android.content.Context;
|
||||
import net.sourceforge.subsonic.androidapp.R;
|
||||
import net.sourceforge.subsonic.androidapp.domain.MusicFolder;
|
||||
import net.sourceforge.subsonic.androidapp.util.ProgressListener;
|
||||
|
||||
/**
|
||||
* @author Sindre Mehus
|
||||
*/
|
||||
public class MusicFoldersParser extends AbstractParser {
|
||||
|
||||
public MusicFoldersParser(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public List<MusicFolder> parse(Reader reader, ProgressListener progressListener) throws Exception {
|
||||
|
||||
updateProgress(progressListener, R.string.parser_reading);
|
||||
init(reader);
|
||||
|
||||
List<MusicFolder> result = new ArrayList<MusicFolder>();
|
||||
int eventType;
|
||||
do {
|
||||
eventType = nextParseEvent();
|
||||
if (eventType == XmlPullParser.START_TAG) {
|
||||
String tag = getElementName();
|
||||
if ("musicFolder".equals(tag)) {
|
||||
String id = get("id");
|
||||
String name = get("name");
|
||||
result.add(new MusicFolder(id, name));
|
||||
} else if ("error".equals(tag)) {
|
||||
handleError();
|
||||
}
|
||||
}
|
||||
} while (eventType != XmlPullParser.END_DOCUMENT);
|
||||
|
||||
validate();
|
||||
updateProgress(progressListener, R.string.parser_reading_done);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -18,14 +18,12 @@
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.util;
|
||||
|
||||
import static net.sourceforge.subsonic.androidapp.domain.PlayerState.PAUSED;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
import android.appwidget.AppWidgetProvider;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
|
@ -1,132 +1,131 @@
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2011 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.media.audiofx.Visualizer;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import net.sourceforge.subsonic.androidapp.audiofx.VisualizerController;
|
||||
import net.sourceforge.subsonic.androidapp.domain.PlayerState;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadService;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadServiceImpl;
|
||||
|
||||
/**
|
||||
* A simple class that draws waveform data received from a
|
||||
* {@link Visualizer.OnDataCaptureListener#onWaveFormDataCapture}
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
* @version $Id$
|
||||
*/
|
||||
public class VisualizerView extends View {
|
||||
|
||||
private static final int PREFERRED_CAPTURE_RATE_MILLIHERTZ = 20000;
|
||||
|
||||
private final Paint paint = new Paint();
|
||||
|
||||
private byte[] data;
|
||||
private float[] points;
|
||||
private boolean active;
|
||||
|
||||
public VisualizerView(Context context) {
|
||||
super(context);
|
||||
|
||||
paint.setStrokeWidth(2f);
|
||||
paint.setAntiAlias(true);
|
||||
paint.setColor(Color.rgb(0, 153, 204));
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
|
||||
public void setActive(boolean active) {
|
||||
this.active = active;
|
||||
Visualizer visualizer = getVizualiser();
|
||||
if (visualizer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int captureRate = Math.min(PREFERRED_CAPTURE_RATE_MILLIHERTZ, Visualizer.getMaxCaptureRate());
|
||||
if (active) {
|
||||
visualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
|
||||
@Override
|
||||
public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) {
|
||||
updateVisualizer(waveform);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) {
|
||||
}
|
||||
}, captureRate, true, false);
|
||||
} else {
|
||||
visualizer.setDataCaptureListener(null, captureRate, false, false);
|
||||
}
|
||||
|
||||
visualizer.setEnabled(active);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
private Visualizer getVizualiser() {
|
||||
DownloadService downloadService = DownloadServiceImpl.getInstance();
|
||||
VisualizerController visualizerController = downloadService == null ? null : downloadService.getVisualizerController();
|
||||
return visualizerController == null ? null : visualizerController.getVisualizer();
|
||||
}
|
||||
|
||||
private void updateVisualizer(byte[] waveform) {
|
||||
this.data = waveform;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
|
||||
if (!active) {
|
||||
return;
|
||||
}
|
||||
DownloadService downloadService = DownloadServiceImpl.getInstance();
|
||||
if (downloadService != null && downloadService.getPlayerState() != PlayerState.STARTED) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (points == null || points.length < data.length * 4) {
|
||||
points = new float[data.length * 4];
|
||||
}
|
||||
|
||||
int w = getWidth();
|
||||
int h = getHeight();
|
||||
|
||||
for (int i = 0; i < data.length - 1; i++) {
|
||||
points[i * 4] = w * i / (data.length - 1);
|
||||
points[i * 4 + 1] = h / 2 + ((byte) (data[i] + 128)) * (h / 2) / 128;
|
||||
points[i * 4 + 2] = w * (i + 1) / (data.length - 1);
|
||||
points[i * 4 + 3] = h / 2 + ((byte) (data[i + 1] + 128)) * (h / 2) / 128;
|
||||
}
|
||||
|
||||
canvas.drawLines(points, paint);
|
||||
}
|
||||
}
|
||||
/*
|
||||
This file is part of Subsonic.
|
||||
|
||||
Subsonic is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Subsonic is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2011 (C) Sindre Mehus
|
||||
*/
|
||||
package net.sourceforge.subsonic.androidapp.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.media.audiofx.Visualizer;
|
||||
import android.view.View;
|
||||
import net.sourceforge.subsonic.androidapp.audiofx.VisualizerController;
|
||||
import net.sourceforge.subsonic.androidapp.domain.PlayerState;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadService;
|
||||
import net.sourceforge.subsonic.androidapp.service.DownloadServiceImpl;
|
||||
|
||||
/**
|
||||
* A simple class that draws waveform data received from a
|
||||
* {@link Visualizer.OnDataCaptureListener#onWaveFormDataCapture}
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
* @version $Id$
|
||||
*/
|
||||
public class VisualizerView extends View {
|
||||
|
||||
private static final int PREFERRED_CAPTURE_RATE_MILLIHERTZ = 20000;
|
||||
|
||||
private final Paint paint = new Paint();
|
||||
|
||||
private byte[] data;
|
||||
private float[] points;
|
||||
private boolean active;
|
||||
|
||||
public VisualizerView(Context context) {
|
||||
super(context);
|
||||
|
||||
paint.setStrokeWidth(2f);
|
||||
paint.setAntiAlias(true);
|
||||
paint.setColor(Color.rgb(0, 153, 204));
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
|
||||
public void setActive(boolean active) {
|
||||
this.active = active;
|
||||
Visualizer visualizer = getVizualiser();
|
||||
if (visualizer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int captureRate = Math.min(PREFERRED_CAPTURE_RATE_MILLIHERTZ, Visualizer.getMaxCaptureRate());
|
||||
if (active) {
|
||||
visualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
|
||||
@Override
|
||||
public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) {
|
||||
updateVisualizer(waveform);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) {
|
||||
}
|
||||
}, captureRate, true, false);
|
||||
} else {
|
||||
visualizer.setDataCaptureListener(null, captureRate, false, false);
|
||||
}
|
||||
|
||||
visualizer.setEnabled(active);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
private Visualizer getVizualiser() {
|
||||
DownloadService downloadService = DownloadServiceImpl.getInstance();
|
||||
VisualizerController visualizerController = downloadService == null ? null : downloadService.getVisualizerController();
|
||||
return visualizerController == null ? null : visualizerController.getVisualizer();
|
||||
}
|
||||
|
||||
private void updateVisualizer(byte[] waveform) {
|
||||
this.data = waveform;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
|
||||
if (!active) {
|
||||
return;
|
||||
}
|
||||
DownloadService downloadService = DownloadServiceImpl.getInstance();
|
||||
if (downloadService != null && downloadService.getPlayerState() != PlayerState.STARTED) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (points == null || points.length < data.length * 4) {
|
||||
points = new float[data.length * 4];
|
||||
}
|
||||
|
||||
int w = getWidth();
|
||||
int h = getHeight();
|
||||
|
||||
for (int i = 0; i < data.length - 1; i++) {
|
||||
points[i * 4] = w * i / (data.length - 1);
|
||||
points[i * 4 + 1] = h / 2 + ((byte) (data[i] + 128)) * (h / 2) / 128;
|
||||
points[i * 4 + 2] = w * (i + 1) / (data.length - 1);
|
||||
points[i * 4 + 3] = h / 2 + ((byte) (data[i + 1] + 128)) * (h / 2) / 128;
|
||||
}
|
||||
|
||||
canvas.drawLines(points, paint);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user