From: <kro...@us...> - 2011-01-20 21:59:50
|
Revision: 4073 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=4073&view=rev Author: kroko_koenig Date: 2011-01-20 21:59:40 +0000 (Thu, 20 Jan 2011) Log Message: ----------- pictures sometimes crashes (threading) Modified Paths: -------------- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/gen/mediaportal/remote/R.java trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/music_song.xml trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/pictures.xml trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/remote01.xml trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout-small/remote01.xml trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/main.java trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/music/ReceiveDbXmlHandler.java trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/pictures/Pictures.java trunk/plugins/AndroidRemote/Server/AndroidRemote/AndroidServer.cs trunk/plugins/AndroidRemote/Server/AndroidRemote/Content/MusicHandler.cs trunk/plugins/AndroidRemote/Server/AndroidRemote/Request.cs trunk/plugins/AndroidRemote/Server/AndroidRemote/SocketHandler.cs trunk/plugins/AndroidRemote/Server/AndroidRemote.suo Added Paths: ----------- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_asr.png trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_full.png trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_menu.png trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_osd.png trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_sub.png Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/gen/mediaportal/remote/R.java =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/gen/mediaportal/remote/R.java 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/gen/mediaportal/remote/R.java 2011-01-20 21:59:40 UTC (rev 4073) @@ -52,67 +52,74 @@ public static final int menu=0x7f020023; public static final int music=0x7f020024; public static final int mute=0x7f020025; - public static final int now_playing=0x7f020026; - public static final int pause=0x7f020027; - public static final int picture=0x7f020028; - public static final int pictures=0x7f020029; - public static final int play=0x7f02002a; - public static final int power_off=0x7f02002b; - public static final int remote=0x7f02002c; - public static final int restart=0x7f02002d; - public static final int rewind=0x7f02002e; - public static final int right=0x7f02002f; - public static final int sel_play=0x7f020030; - public static final int sel_skp_back=0x7f020031; - public static final int sel_skp_forw=0x7f020032; - public static final int select=0x7f020033; - public static final int select2=0x7f020034; - public static final int settings=0x7f020035; - public static final int skip_back=0x7f020036; - public static final int skip_forward=0x7f020037; - public static final int song=0x7f020038; - public static final int song_off=0x7f020039; - public static final int splash=0x7f02003a; - public static final int splash02=0x7f02003b; - public static final int stop=0x7f02003c; - public static final int suspend=0x7f02003d; - public static final int up=0x7f02003e; - public static final int video=0x7f02003f; - public static final int volume_m=0x7f020040; - public static final int volume_p=0x7f020041; - public static final int wake_on_lan=0x7f020042; + public static final int n_asr=0x7f020026; + public static final int n_full=0x7f020027; + public static final int n_menu=0x7f020028; + public static final int n_osd=0x7f020029; + public static final int n_sub=0x7f02002a; + public static final int now_playing=0x7f02002b; + public static final int pause=0x7f02002c; + public static final int picture=0x7f02002d; + public static final int pictures=0x7f02002e; + public static final int play=0x7f02002f; + public static final int power_off=0x7f020030; + public static final int remote=0x7f020031; + public static final int restart=0x7f020032; + public static final int rewind=0x7f020033; + public static final int right=0x7f020034; + public static final int sel_play=0x7f020035; + public static final int sel_skp_back=0x7f020036; + public static final int sel_skp_forw=0x7f020037; + public static final int select=0x7f020038; + public static final int select2=0x7f020039; + public static final int settings=0x7f02003a; + public static final int skip_back=0x7f02003b; + public static final int skip_forward=0x7f02003c; + public static final int song=0x7f02003d; + public static final int song_off=0x7f02003e; + public static final int splash=0x7f02003f; + public static final int splash02=0x7f020040; + public static final int stop=0x7f020041; + public static final int suspend=0x7f020042; + public static final int up=0x7f020043; + public static final int video=0x7f020044; + public static final int volume_m=0x7f020045; + public static final int volume_p=0x7f020046; + public static final int wake_on_lan=0x7f020047; } public static final class id { - public static final int GridView01=0x7f070018; - public static final int ImageView01=0x7f07001a; - public static final int LinearLayout00=0x7f070059; - public static final int LinearLayout01=0x7f070021; - public static final int LinearLayout02=0x7f070064; - public static final int LinearLayout03=0x7f07006e; - public static final int LinearLayout04=0x7f070078; - public static final int LinearLayout05=0x7f07007e; - public static final int ListView01=0x7f07002f; - public static final int Spinner01=0x7f070089; - public static final int SurfaceView01=0x7f070020; + public static final int GridView01=0x7f07001b; + public static final int ImageView01=0x7f07001d; + public static final int LinearLayout00=0x7f07005c; + public static final int LinearLayout01=0x7f070024; + public static final int LinearLayout02=0x7f070067; + public static final int LinearLayout03=0x7f070071; + public static final int LinearLayout04=0x7f07007b; + public static final int LinearLayout05=0x7f070081; + public static final int ListView01=0x7f070032; + public static final int Spinner01=0x7f07008c; + public static final int SurfaceView01=0x7f070023; public static final int TableLayout01=0x7f070005; - public static final int TableLayout02=0x7f07003e; + public static final int TableLayout02=0x7f070041; public static final int TableRow01=0x7f070007; - public static final int TableRow02=0x7f070043; - public static final int TableRow03=0x7f070048; + public static final int TableRow02=0x7f070046; + public static final int TableRow03=0x7f07004b; public static final int TextView01=0x7f070003; public static final int TextView02=0x7f070004; - public static final int btnChannelDown=0x7f070052; - public static final int btnChannelUp=0x7f07004f; - public static final int btnExit=0x7f070053; - public static final int btnHibernate=0x7f070055; - public static final int btnIpSettings=0x7f07008b; - public static final int btnRestart=0x7f070056; - public static final int btnShutOff=0x7f070057; - public static final int btnSuspend=0x7f070054; - public static final int btnVolumeDown=0x7f070051; - public static final int btnVolumeMute=0x7f070050; - public static final int btnVolumeUp=0x7f07004e; - public static final int btnWakeOnLan=0x7f070058; + public static final int btnChannelDown=0x7f070055; + public static final int btnChannelUp=0x7f070052; + public static final int btnExit=0x7f070056; + public static final int btnHibernate=0x7f070058; + public static final int btnIpSettings=0x7f07008e; + public static final int btnRestart=0x7f070059; + public static final int btnSelDown=0x7f070018; + public static final int btnSelUp=0x7f070019; + public static final int btnShutOff=0x7f07005a; + public static final int btnSuspend=0x7f070057; + public static final int btnVolumeDown=0x7f070054; + public static final int btnVolumeMute=0x7f070053; + public static final int btnVolumeUp=0x7f070051; + public static final int btnWakeOnLan=0x7f07005b; public static final int btn_main_music=0x7f070009; public static final int btn_main_now_playing=0x7f07000c; public static final int btn_main_pictures=0x7f070008; @@ -122,77 +129,77 @@ public static final int btn_main_skp_back=0x7f07000f; public static final int btn_main_skp_forw=0x7f070011; public static final int btn_main_video=0x7f07000a; - public static final int btnkey01=0x7f07005a; - public static final int btnkey02=0x7f07005b; - public static final int btnkey03=0x7f07005c; - public static final int btnkey04=0x7f07005d; - public static final int btnkey05=0x7f07005e; - public static final int btnkey06=0x7f07005f; - public static final int btnkey07=0x7f070060; - public static final int btnkey08=0x7f070061; - public static final int btnkey09=0x7f070062; - public static final int btnkey10=0x7f070063; - public static final int btnkey11=0x7f070065; - public static final int btnkey12=0x7f070066; - public static final int btnkey13=0x7f070067; - public static final int btnkey14=0x7f070068; - public static final int btnkey15=0x7f070069; - public static final int btnkey16=0x7f07006a; - public static final int btnkey17=0x7f07006b; - public static final int btnkey18=0x7f07006c; - public static final int btnkey19=0x7f07006d; - public static final int btnkey20=0x7f07006f; - public static final int btnkey21=0x7f070070; - public static final int btnkey22=0x7f070071; - public static final int btnkey23=0x7f070072; - public static final int btnkey24=0x7f070073; - public static final int btnkey25=0x7f070074; - public static final int btnkey26=0x7f070075; - public static final int btnkey27=0x7f070076; - public static final int btnkey28=0x7f070077; - public static final int btnkey29=0x7f070079; - public static final int btnkey30=0x7f07007a; - public static final int btnkey31=0x7f07007b; - public static final int btnkey32=0x7f07007c; - public static final int btnkey33=0x7f07007d; - public static final int btnkey41=0x7f07007f; - public static final int btnkey42=0x7f070080; - public static final int btnkey43=0x7f070081; - public static final int btnkey44=0x7f070082; - public static final int btnkey45=0x7f070083; - public static final int btnkey46=0x7f070084; - public static final int btnkey47=0x7f070085; - public static final int btnkey48=0x7f070086; - public static final int btnkey49=0x7f070087; - public static final int btnkey50=0x7f070088; - public static final int button_open=0x7f07001d; - public static final int button_stream=0x7f07001e; - public static final int button_stream_stop=0x7f07001f; - public static final int clearplaylist=0x7f070098; - public static final int crtl_back=0x7f07003b; - public static final int crtl_ch_m=0x7f070047; - public static final int crtl_ch_p=0x7f070042; - public static final int crtl_down=0x7f07003a; - public static final int crtl_full=0x7f070044; - public static final int crtl_info=0x7f07004c; - public static final int crtl_left=0x7f070035; - public static final int crtl_menu=0x7f070046; - public static final int crtl_mp=0x7f070031; - public static final int crtl_osd=0x7f07004b; - public static final int crtl_parent=0x7f070039; - public static final int crtl_play=0x7f070045; - public static final int crtl_power=0x7f070033; - public static final int crtl_ratio=0x7f07004a; - public static final int crtl_right=0x7f070037; - public static final int crtl_select=0x7f070036; - public static final int crtl_skip_back=0x7f07003f; - public static final int crtl_skip_forw=0x7f070041; - public static final int crtl_stop=0x7f070040; - public static final int crtl_sub=0x7f070049; - public static final int crtl_up=0x7f070032; - public static final int crtl_vol_m=0x7f07003d; - public static final int crtl_vol_p=0x7f07003c; - public static final int full_text=0x7f070019; + public static final int btnkey01=0x7f07005d; + public static final int btnkey02=0x7f07005e; + public static final int btnkey03=0x7f07005f; + public static final int btnkey04=0x7f070060; + public static final int btnkey05=0x7f070061; + public static final int btnkey06=0x7f070062; + public static final int btnkey07=0x7f070063; + public static final int btnkey08=0x7f070064; + public static final int btnkey09=0x7f070065; + public static final int btnkey10=0x7f070066; + public static final int btnkey11=0x7f070068; + public static final int btnkey12=0x7f070069; + public static final int btnkey13=0x7f07006a; + public static final int btnkey14=0x7f07006b; + public static final int btnkey15=0x7f07006c; + public static final int btnkey16=0x7f07006d; + public static final int btnkey17=0x7f07006e; + public static final int btnkey18=0x7f07006f; + public static final int btnkey19=0x7f070070; + public static final int btnkey20=0x7f070072; + public static final int btnkey21=0x7f070073; + public static final int btnkey22=0x7f070074; + public static final int btnkey23=0x7f070075; + public static final int btnkey24=0x7f070076; + public static final int btnkey25=0x7f070077; + public static final int btnkey26=0x7f070078; + public static final int btnkey27=0x7f070079; + public static final int btnkey28=0x7f07007a; + public static final int btnkey29=0x7f07007c; + public static final int btnkey30=0x7f07007d; + public static final int btnkey31=0x7f07007e; + public static final int btnkey32=0x7f07007f; + public static final int btnkey33=0x7f070080; + public static final int btnkey41=0x7f070082; + public static final int btnkey42=0x7f070083; + public static final int btnkey43=0x7f070084; + public static final int btnkey44=0x7f070085; + public static final int btnkey45=0x7f070086; + public static final int btnkey46=0x7f070087; + public static final int btnkey47=0x7f070088; + public static final int btnkey48=0x7f070089; + public static final int btnkey49=0x7f07008a; + public static final int btnkey50=0x7f07008b; + public static final int button_open=0x7f070020; + public static final int button_stream=0x7f070021; + public static final int button_stream_stop=0x7f070022; + public static final int clearplaylist=0x7f07009b; + public static final int crtl_back=0x7f07003e; + public static final int crtl_ch_m=0x7f07004a; + public static final int crtl_ch_p=0x7f070045; + public static final int crtl_down=0x7f07003d; + public static final int crtl_full=0x7f070047; + public static final int crtl_info=0x7f07004f; + public static final int crtl_left=0x7f070038; + public static final int crtl_menu=0x7f070049; + public static final int crtl_mp=0x7f070034; + public static final int crtl_osd=0x7f07004e; + public static final int crtl_parent=0x7f07003c; + public static final int crtl_play=0x7f070048; + public static final int crtl_power=0x7f070036; + public static final int crtl_ratio=0x7f07004d; + public static final int crtl_right=0x7f07003a; + public static final int crtl_select=0x7f070039; + public static final int crtl_skip_back=0x7f070042; + public static final int crtl_skip_forw=0x7f070044; + public static final int crtl_stop=0x7f070043; + public static final int crtl_sub=0x7f07004c; + public static final int crtl_up=0x7f070035; + public static final int crtl_vol_m=0x7f070040; + public static final int crtl_vol_p=0x7f07003f; + public static final int full_text=0x7f07001c; public static final int icon_image=0x7f070001; public static final int icon_text=0x7f070002; public static final int list_album=0x7f070014; @@ -201,46 +208,47 @@ public static final int list_song=0x7f070017; public static final int main_now_playing=0x7f07000e; public static final int music_grid=0x7f070013; - public static final int naviRemote_text=0x7f07004d; - public static final int now_album=0x7f070023; - public static final int now_artist=0x7f070029; - public static final int now_cd=0x7f070024; - public static final int now_list=0x7f07002e; - public static final int now_next=0x7f07002d; - public static final int now_play=0x7f07002c; - public static final int now_playing=0x7f070022; - public static final int now_playing_right=0x7f070027; - public static final int now_playing_t_left=0x7f070026; - public static final int now_prev=0x7f07002a; - public static final int now_progress=0x7f070025; - public static final int now_stop=0x7f07002b; - public static final int now_title=0x7f070028; - public static final int open=0x7f07009b; - public static final int playlist=0x7f070097; - public static final int radio01=0x7f070092; - public static final int radio02=0x7f070093; - public static final int radio03=0x7f070094; - public static final int radio04=0x7f070095; - public static final int radioStop=0x7f070096; - public static final int rslide=0x7f07009e; - public static final int save=0x7f07009a; - public static final int sdcard=0x7f070099; - public static final int send=0x7f07009c; - public static final int server_ip=0x7f07008c; - public static final int server_macid=0x7f07008e; - public static final int server_name=0x7f070090; - public static final int server_port=0x7f07008d; - public static final int slide=0x7f07009d; - public static final int text_kb_streamed=0x7f07001b; - public static final int title=0x7f070091; - public static final int txtFile=0x7f07001c; + public static final int naviRemote_text=0x7f070050; + public static final int now_album=0x7f070026; + public static final int now_artist=0x7f07002c; + public static final int now_cd=0x7f070027; + public static final int now_list=0x7f070031; + public static final int now_next=0x7f070030; + public static final int now_play=0x7f07002f; + public static final int now_playing=0x7f070025; + public static final int now_playing_right=0x7f07002a; + public static final int now_playing_t_left=0x7f070029; + public static final int now_prev=0x7f07002d; + public static final int now_progress=0x7f070028; + public static final int now_stop=0x7f07002e; + public static final int now_title=0x7f07002b; + public static final int open=0x7f07009e; + public static final int playlist=0x7f07009a; + public static final int radio01=0x7f070095; + public static final int radio02=0x7f070096; + public static final int radio03=0x7f070097; + public static final int radio04=0x7f070098; + public static final int radioStop=0x7f070099; + public static final int rslide=0x7f0700a1; + public static final int save=0x7f07009d; + public static final int sdcard=0x7f07009c; + public static final int send=0x7f07009f; + public static final int server_ip=0x7f07008f; + public static final int server_macid=0x7f070091; + public static final int server_name=0x7f070093; + public static final int server_port=0x7f070090; + public static final int slide=0x7f0700a0; + public static final int text_kb_streamed=0x7f07001e; + public static final int title=0x7f070094; + public static final int txtDirectory=0x7f07001a; + public static final int txtFile=0x7f07001f; public static final int txtInstance=0x7f070006; - public static final int txtIntanceName=0x7f07008f; - public static final int vibration=0x7f07008a; + public static final int txtIntanceName=0x7f070092; + public static final int vibration=0x7f07008d; public static final int widget0=0x7f070012; - public static final int widget00=0x7f070030; - public static final int widget01=0x7f070034; - public static final int widget02=0x7f070038; + public static final int widget00=0x7f070033; + public static final int widget01=0x7f070037; + public static final int widget02=0x7f07003b; public static final int widget44=0x7f070000; } public static final class layout { Added: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_asr.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_asr.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_full.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_full.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_menu.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_menu.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_osd.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_osd.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_sub.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/drawable/n_sub.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/music_song.xml =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/music_song.xml 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/music_song.xml 2011-01-20 21:59:40 UTC (rev 4073) @@ -4,6 +4,22 @@ android:layout_height="fill_parent"> <ListView android:id="@+id/list_song" android:layout_height="wrap_content" - android:layout_width="fill_parent" android:fastScrollEnabled="true"> + android:layout_width="fill_parent" android:fastScrollEnabled="true" android:layout_weight="1"> </ListView> + + <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_height="wrap_content" + android:orientation="horizontal" android:layout_gravity="center_horizontal" android:layout_width="wrap_content"> + + <Button android:background="@drawable/down" android:id="@+id/btnSelDown" android:layout_height="60dip" android:layout_width="60dip"> + </Button> + + <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" + android:text="1000/4000 items" android:textColor="#FFFFFFFF" + android:id="@+id/txtInstance" android:textSize="18dip" android:layout_marginLeft="10dip" android:layout_marginRight="10dip"> + </TextView> + + <Button android:background="@drawable/up" android:id="@+id/btnSelUp" android:layout_height="60dip" android:layout_width="60dip"> + </Button> + </LinearLayout> </LinearLayout> \ No newline at end of file Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/pictures.xml =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/pictures.xml 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/pictures.xml 2011-01-20 21:59:40 UTC (rev 4073) @@ -1,6 +1,13 @@ -<AbsoluteLayout android:id="@+id/widget0" +<LinearLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="wrap_content" - xmlns:android="http://schemas.android.com/apk/res/android"> + xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> + + <TextView android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Actual: ..." android:textColor="#FFFFFFFF" + android:textSize="20dip" + android:id="@+id/txtDirectory" android:paddingBottom="5dip"></TextView> + <GridView android:layout_y="0dip" android:layout_x="0dip" android:id="@+id/GridView01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="90dp" @@ -8,5 +15,5 @@ android:horizontalSpacing="10dp" android:stretchMode="columnWidth" android:gravity="center"> </GridView> -</AbsoluteLayout> +</LinearLayout> Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/remote01.xml =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/remote01.xml 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout/remote01.xml 2011-01-20 21:59:40 UTC (rev 4073) @@ -9,7 +9,7 @@ android:layout_width="wrap_content"> <ImageButton android:id="@+id/crtl_mp" - android:layout_height="60dip" android:layout_width="100dip"> + android:layout_height="60dip" android:layout_width="100dip" android:background="@drawable/icon"> </ImageButton> <ImageButton android:id="@+id/crtl_up" android:layout_width="100dip" android:layout_height="60dip" @@ -43,7 +43,7 @@ android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center_horizontal"> <ImageButton android:id="@+id/crtl_parent" - android:layout_height="60dip" android:layout_width="100dip"> + android:layout_height="60dip" android:layout_width="100dip" android:background="@drawable/home"> </ImageButton> <ImageButton android:id="@+id/crtl_down" android:layout_height="60dip" android:layout_width="100dip" @@ -103,14 +103,14 @@ android:layout_height="wrap_content"> <ImageButton android:id="@+id/crtl_full" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/n_full"> </ImageButton> <ImageButton android:id="@+id/crtl_play" android:layout_height="60dip" android:background="@drawable/right" android:layout_width="60dip"> </ImageButton> <ImageButton android:id="@+id/crtl_menu" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/menu"> </ImageButton> <ImageButton android:id="@+id/crtl_ch_m" android:layout_height="60dip" android:background="@drawable/channel_m" @@ -122,13 +122,13 @@ android:layout_height="wrap_content"> <ImageButton android:id="@+id/crtl_sub" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/n_sub"> </ImageButton> <ImageButton android:id="@+id/crtl_ratio" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/n_asr"> </ImageButton> <ImageButton android:id="@+id/crtl_osd" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/n_osd"> </ImageButton> <ImageButton android:id="@+id/crtl_info" android:layout_height="60dip" android:background="@drawable/info" Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout-small/remote01.xml =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout-small/remote01.xml 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/res/layout-small/remote01.xml 2011-01-20 21:59:40 UTC (rev 4073) @@ -104,7 +104,7 @@ android:layout_height="wrap_content"> <ImageButton android:id="@+id/crtl_full" - android:layout_height="60dip" android:layout_width="60dip"> + android:layout_height="60dip" android:layout_width="60dip" android:background="@drawable/n_full"> </ImageButton> <ImageButton android:id="@+id/crtl_play" android:layout_height="60dip" android:background="@drawable/right" Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/main.java =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/main.java 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/main.java 2011-01-20 21:59:40 UTC (rev 4073) @@ -30,7 +30,6 @@ import mediaportal.remote.R; import mediaportal.remote.communication.SendCommand; import mediaportal.remote.control.Remote_01; -import mediaportal.remote.multimedia.Webradio; import mediaportal.remote.music.MusicTab; import mediaportal.remote.nowPlaying.NowPlaying; import mediaportal.remote.nowPlaying.NowPlayingXmlHandler; @@ -152,9 +151,9 @@ "not implemented yet. Sorry !", Toast.LENGTH_SHORT) .show(); - //Intent myIntent = new Intent(view.getContext(), - //MediaPlayerControl.class); - //startActivity(myIntent); + // Intent myIntent = new Intent(view.getContext(), + // MediaPlayerControl.class); + // startActivity(myIntent); } }); @@ -181,7 +180,7 @@ btnSettings.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Vibration.vibrateShort(); - Intent myIntent = new Intent(view.getContext(), Webradio.class); + Intent myIntent = new Intent(view.getContext(), Setup.class); startActivity(myIntent); } }); @@ -208,17 +207,17 @@ } // hardware keys - @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_MENU: { - - final CharSequence[] items = { "Settings", - "Switch HTPC", "Exit", "Cancel" }; - + + final CharSequence[] items = { "Settings", "Switch HTPC", "Exit" }; + AlertDialog.Builder builder = new AlertDialog.Builder(Main.this); builder.setTitle("Select option"); - + builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { switch (item) { @@ -228,45 +227,47 @@ break; case 1: // switch instance final CharSequence[] items2 = AppSettings.getNames(); - - AlertDialog.Builder builder = new AlertDialog.Builder(Main.this); + + AlertDialog.Builder builder = new AlertDialog.Builder( + Main.this); builder.setTitle("Select instance"); - - builder.setItems(items2, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int item) { - switch (item) { - case 0: // MP1 - AppSettings.setInstance(1); - break; - case 1: // MP2 - AppSettings.setInstance(2); - break; - case 2: // MP3 - AppSettings.setInstance(3); - break; - } - TextView txtHtpc = (TextView) findViewById(R.id.txtInstance); - txtHtpc.setText(AppSettings.getName()); - - Pictures.actualDir = ""; - } - - }); - + + builder.setItems(items2, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int item) { + switch (item) { + case 0: // MP1 + AppSettings.setInstance(1); + break; + case 1: // MP2 + AppSettings.setInstance(2); + break; + case 2: // MP3 + AppSettings.setInstance(3); + break; + } + TextView txtHtpc = (TextView) findViewById(R.id.txtInstance); + txtHtpc.setText(AppSettings.getName()); + + Pictures.actualDir = ""; + } + + }); + AlertDialog alert = builder.create(); alert.show(); break; case 2: // exit - android.os.Process.killProcess(android.os.Process.myPid()); + android.os.Process.killProcess(android.os.Process + .myPid()); break; - case 3: // cancel - break; } } }); AlertDialog alert = builder.create(); alert.show(); - + return true; } case KeyEvent.KEYCODE_VOLUME_UP: { @@ -281,10 +282,10 @@ return super.onKeyDown(keyCode, event); } - + private boolean reportExist() { - File f = new File("stack.trace"); - return f.exists(); + File f = new File("stack.trace"); + return f.exists(); } private void sendReport() { @@ -324,7 +325,7 @@ this.deleteFile("stack.trace"); } - void chkStatus() { + void chkStatus() { final ConnectivityManager connMgr = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); @@ -357,7 +358,7 @@ TextView txtHtpc = (TextView) findViewById(R.id.txtInstance); txtHtpc.setText(AppSettings.getName()); - + mHandler.removeCallbacks(mUpdateTimeTask); mHandler.postDelayed(mUpdateTimeTask, 1000); @@ -428,7 +429,7 @@ } if (doUpdate) - mHandler.postDelayed(mUpdateTimeTask, 1000); + mHandler.postDelayed(mUpdateTimeTask, 2000); } } Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/music/ReceiveDbXmlHandler.java =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/music/ReceiveDbXmlHandler.java 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/music/ReceiveDbXmlHandler.java 2011-01-20 21:59:40 UTC (rev 4073) @@ -30,23 +30,26 @@ public class ReceiveDbXmlHandler extends DefaultHandler { Boolean currentElement = false; String currentValue = null; - - public ArrayList<DbItems> DbList = new ArrayList<DbItems>(); - - public static class DbItems - { - public String Title = ""; - public String Artist= ""; - public String Album= ""; - public String AlbumArtist= ""; - public String Track= ""; - public String Rating= ""; - public String Filename= ""; - public String Duration= ""; - public String ID= ""; + + public ArrayList<DbItems> DbList = new ArrayList<DbItems>(); + public int Results; + public int Start; + public int Count; + + public static class DbItems { + public String Title = ""; + public String Artist = ""; + public String Album = ""; + public String AlbumArtist = ""; + public String Track = ""; + public String Rating = ""; + public String Filename = ""; + public String Duration = ""; + public String ID = ""; } + private DbItems currentDbItem; - + /** * Called when tag starts ( example:- <name>AndroidPeople</name> -- <name> ) */ @@ -54,14 +57,20 @@ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { currentElement = true; - + currentValue = ""; - if (localName == "Database")DbList = new ArrayList<DbItems>(); - if (localName == "Item")currentDbItem = new DbItems(); + if (localName == "Database") { + DbList = new ArrayList<DbItems>(); + Results = 0; + Start = 0; + } + if (localName == "Item") + currentDbItem = new DbItems(); } /** - * Called when tag closing ( example:- <name>AndroidPeople</name> -- </name> ) + * Called when tag closing ( example:- <name>AndroidPeople</name> -- </name> + * ) */ @Override public void endElement(String uri, String localName, String qName) @@ -70,24 +79,53 @@ currentElement = false; /** set value */ - if (localName == "Artist") {currentDbItem.Artist =currentValue;} - if (localName == "Title") {currentDbItem.Title =currentValue;} - if (localName == "Album") {currentDbItem.Album =currentValue;} - if (localName == "AlbumArtist") {currentDbItem.AlbumArtist =currentValue;} - if (localName == "Track") {currentDbItem.Track =currentValue;} - if (localName == "Rating") {currentDbItem.Rating =currentValue;} - if (localName == "Filename") {currentDbItem.Filename =currentValue;} - if (localName == "Duration") {currentDbItem.Duration =currentValue;} - if (localName == "ID") {currentDbItem.ID =currentValue;} - - if (localName == "Item")DbList.add(currentDbItem); - + if (localName == "Results") { + Results = Integer.parseInt(currentValue); + } + if (localName == "Start") { + Start = Integer.parseInt(currentValue); + } + if (localName == "Count") { + Count = Integer.parseInt(currentValue); + } + + if (localName == "Artist") { + currentDbItem.Artist = currentValue; + } + if (localName == "Title") { + currentDbItem.Title = currentValue; + } + if (localName == "Album") { + currentDbItem.Album = currentValue; + } + if (localName == "AlbumArtist") { + currentDbItem.AlbumArtist = currentValue; + } + if (localName == "Track") { + currentDbItem.Track = currentValue; + } + if (localName == "Rating") { + currentDbItem.Rating = currentValue; + } + if (localName == "Filename") { + currentDbItem.Filename = currentValue; + } + if (localName == "Duration") { + currentDbItem.Duration = currentValue; + } + if (localName == "ID") { + currentDbItem.ID = currentValue; + } + + if (localName == "Item") + DbList.add(currentDbItem); + currentValue = null; } /** - * Called to get tag characters ( example:- <name>AndroidPeople</name> -- to get - * AndroidPeople Character ) + * Called to get tag characters ( example:- <name>AndroidPeople</name> -- to + * get AndroidPeople Character ) */ @Override public void characters(char[] ch, int start, int length) Modified: trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/pictures/Pictures.java =================================================================== --- trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/pictures/Pictures.java 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Android/MediaPortalRemote/src/mediaportal/remote/pictures/Pictures.java 2011-01-20 21:59:40 UTC (rev 4073) @@ -35,7 +35,6 @@ import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; -import android.os.Handler; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -50,30 +49,37 @@ public class Pictures extends Activity { - private Handler mHandler = new Handler(); - public static String actualDir = ""; public static ArrayList<ReceiveDirectoryXmlHandler.DirItems> pictureList; public static int selectedPicture; private static int picNo; - final CharSequence[] itemsLong = { "Slideshow", "Random Slideshow", - "Cancel" }; + private BaseAdapter adapter; + private update taskFetchData; + private fetchPictures taskFetchPictures; + + final CharSequence[] itemsLong = { "Slideshow", "Random Slideshow" }; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pictures); - mHandler.removeCallbacks(mUpdateTimeTask); - mHandler.postDelayed(mUpdateTimeTask, 100); + adapter = new ImageAdapter2(Pictures.this); + taskFetchData = new update(); + taskFetchData.execute(); + GridView gridview = (GridView) findViewById(R.id.GridView01); + gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { + taskFetchPictures.requestStop(); + ImageView iv = (ImageView) v.findViewById(R.id.icon_image); picItem pic = (picItem) iv.getTag(); @@ -89,8 +95,8 @@ if (pic.typ == "folder") { actualDir += pic.title.replaceAll(" ", "%20") + "/"; - mHandler.removeCallbacks(mUpdateTimeTask); - mHandler.postDelayed(mUpdateTimeTask, 0); + taskFetchData = new update(); + taskFetchData.execute(); } if (pic.typ == "oneup") { @@ -104,26 +110,44 @@ } else actualDir = ""; - mHandler.removeCallbacks(mUpdateTimeTask); - mHandler.postDelayed(mUpdateTimeTask, 0); + taskFetchData = new update(); + taskFetchData.execute(); } } }); } - private Runnable mUpdateTimeTask = new Runnable() { - public void run() { - new update().execute(); + public void onResume() { + super.onResume(); + + picNo = 0; + + if (pictureList != null) { + taskFetchPictures = new fetchPictures(); + taskFetchPictures.execute(); } - }; + } private class update extends AsyncTask<String, Void, Void> { private final ProgressDialog dialog = new ProgressDialog(Pictures.this); // can use UI thread here protected void onPreExecute() { - this.dialog.setMessage("Loading..."); - this.dialog.show(); + try { + this.dialog.setMessage("Loading..."); + this.dialog.show(); + + String dsp = actualDir; + int len = dsp.length(); + + if(dsp=="") dsp = "root"; + if(len>25) dsp = "..." + dsp.substring(len-20, len); + + TextView txt = (TextView) findViewById(R.id.txtDirectory); + txt.setText("Act: " + dsp); + + } catch (Exception ex) { + } } // automatically done on worker thread (separate from UI thread) @@ -139,7 +163,10 @@ // can use UI thread here protected void onPostExecute(final Void unused) { if (this.dialog.isShowing()) { - this.dialog.dismiss(); + try { + this.dialog.dismiss(); + } catch (Exception ex) { + } } Log.d("MediaPortal", "pictures read folder finished"); @@ -151,25 +178,26 @@ if (pictureList.size() == 0) { Toast.makeText(Pictures.this, "no items", Toast.LENGTH_SHORT).show(); - } else { - GridView gridview = (GridView) findViewById(R.id.GridView01); - gridview.setAdapter(new ImageAdapter2(Pictures.this)); + } + GridView gridview = (GridView) findViewById(R.id.GridView01); + gridview.setAdapter(adapter); - picNo = 0; - mFetchTask.run(); - } + picNo = 0; + + taskFetchPictures = new fetchPictures(); + taskFetchPictures.execute(); } } } - private Runnable mFetchTask = new Runnable() { - public void run() { - new fetchPictures().execute(); + private class fetchPictures extends AsyncTask<String, Void, Void> { + + private volatile boolean stop = false; + + public synchronized void requestStop() { + stop = true; } - }; - private class fetchPictures extends AsyncTask<String, Void, Void> { - // can use UI thread here protected void onPreExecute() { @@ -180,9 +208,9 @@ HttpHandler http = new HttpHandler(); String server = AppSettings.getWebServer() + "/pictures/"; - - while(picNo < pictureList.size()) { + while (picNo < pictureList.size()) { + DirItems item = pictureList.get(picNo); if (!item.isFolder) { if (item.Picture == null) { @@ -194,17 +222,28 @@ } picNo++; } + + try { + Thread.sleep(10); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; } // can use UI thread here protected void onPostExecute(final Void unused) { - GridView gridview = (GridView) findViewById(R.id.GridView01); - gridview.setAdapter(new ImageAdapter2(Pictures.this)); - - if (picNo < pictureList.size()) - mFetchTask.run(); + if (!stop) { + adapter.notifyDataSetChanged(); + + if (picNo < pictureList.size()) { + taskFetchPictures = new fetchPictures(); + taskFetchPictures.execute(); + } + } } } Modified: trunk/plugins/AndroidRemote/Server/AndroidRemote/AndroidServer.cs =================================================================== --- trunk/plugins/AndroidRemote/Server/AndroidRemote/AndroidServer.cs 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Server/AndroidRemote/AndroidServer.cs 2011-01-20 21:59:40 UTC (rev 4073) @@ -77,7 +77,7 @@ cacheDB.Start(); } - + public void Stop() { logInfo("Stop server"); Modified: trunk/plugins/AndroidRemote/Server/AndroidRemote/Content/MusicHandler.cs =================================================================== --- trunk/plugins/AndroidRemote/Server/AndroidRemote/Content/MusicHandler.cs 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Server/AndroidRemote/Content/MusicHandler.cs 2011-01-20 21:59:40 UTC (rev 4073) @@ -39,6 +39,8 @@ { public class MusicHandler { + const int maxResult = 500; + private static Dictionary<string, string> directoryList = new Dictionary<string, string>(); private static string replyAllArtist = string.Empty; @@ -67,13 +69,17 @@ db.GetAllArtists(ref list); AndroidServer.logInfo("Caching music artist found :" + list.Count); + msg += "<Results>" + list.Count + "</Results>\r\n"; + msg += "<Start>0</Start>\r\n"; + msg += "<Count>" + maxResult + "</Count>\r\n"; + cnt = 0; foreach (string artist in list) { if (artist != string.Empty) { cnt++; - if (cnt > 1000) break; + if (cnt > maxResult) break; msg += "<Item>\r\n"; msg += "<Artist>" + SomeUtils.EncodeString(artist) + "</Artist>\r\n"; @@ -110,11 +116,15 @@ list1.Sort(new AlbumComparer()); AndroidServer.logInfo("Caching music album sorted"); + msg += "<Results>" + list1.Count + "</Results>\r\n"; + msg += "<Start>0</Start>\r\n"; + msg += "<Count>" + maxResult + "</Count>\r\n"; + cnt = 0; foreach (MediaPortal.Music.Database.AlbumInfo album in list1) { cnt++; - if (cnt > 1000) break; + if (cnt > maxResult) break; string name = album.Album.Replace("|", "").Trim(); if (name != string.Empty) @@ -153,17 +163,21 @@ List<MediaPortal.Music.Database.Song> list2 = new List<MediaPortal.Music.Database.Song>(); db.GetSongsByArtist("%", ref list2); - AndroidServer.logInfo("Caching music songs found :" + list2.Count) ; + AndroidServer.logInfo("Caching music songs found :" + list2.Count); list2.Sort(new SongComparer()); AndroidServer.logInfo("Caching music songs sorted"); + msg += "<Results>" + list2.Count + "</Results>\r\n"; + msg += "<Start>0</Start>\r\n"; + msg += "<Count>" + maxResult + "</Count>\r\n"; + cnt = 0; foreach (MediaPortal.Music.Database.Song song in list2) { cnt++; - if (cnt > 1000) break; + if (cnt > maxResult) break; msg += "<Item>\r\n"; @@ -369,11 +383,11 @@ MediaPortal.Music.Database.MusicDatabase db = MediaPortal.Music.Database.MusicDatabase.Instance; List<MediaPortal.Music.Database.Song> list = new List<MediaPortal.Music.Database.Song>(); + int start = 0; + if (!req.StartsWith("?")) { // cached on startup - // db.GetSongsByArtist("%", ref list); - msg = replyAllSong; handler.SendMessage(sock, msg); @@ -382,6 +396,16 @@ AndroidServer.logDebug("Reply music db all songs "); return; } + else if (req.StartsWith("?start=")) + { + req = req.Replace("?start=", ""); + try + { + start = Convert.ToInt32(req); + } + catch { } + db.GetSongsByArtist("%", ref list); + } else if (req.StartsWith("?artist=")) { req = req.Replace("?artist=", ""); @@ -408,21 +432,36 @@ list.Sort(new SongComparer()); + int cnt = 0; + int act = 0; + if (start > list.Count) start = 0; + + msg += "<Results>" + list.Count + "</Results>\r\n"; + msg += "<Start>" + start + "</Start>\r\n"; + msg += "<Count>" + maxResult + "</Count>\r\n"; + foreach (MediaPortal.Music.Database.Song song in list) { - msg += "<Item>\r\n"; + if (act >= start) + { + msg += "<Item>\r\n"; - msg += "<ID>" + HttpUtility.HtmlEncode(song.Id.ToString()) + "</ID>\r\n"; - msg += "<Title>" + SomeUtils.EncodeString(song.Title) + "</Title>\r\n"; - msg += "<Artist>" + SomeUtils.EncodeString(song.Artist) + "</Artist>\r\n"; - msg += "<Album>" + SomeUtils.EncodeString(song.Artist) + "</Album>\r\n"; - msg += "<Genre>" + HttpUtility.HtmlEncode(song.Genre) + "</Genre>\r\n"; - msg += "<Track>" + HttpUtility.HtmlEncode(song.Track.ToString()) + "</Track>\r\n"; - msg += "<Duration>" + HttpUtility.HtmlEncode(song.Duration.ToString()) + "</Duration>\r\n"; - msg += "<Rating>" + HttpUtility.HtmlEncode(song.Rating.ToString()) + "</Rating>\r\n"; - msg += "<Filename>" + SomeUtils.EncodeString(song.FileName) + "</Filename>\r\n"; + msg += "<ID>" + HttpUtility.HtmlEncode(song.Id.ToString()) + "</ID>\r\n"; + msg += "<Title>" + SomeUtils.EncodeString(song.Title) + "</Title>\r\n"; + msg += "<Artist>" + SomeUtils.EncodeString(song.Artist) + "</Artist>\r\n"; + msg += "<Album>" + SomeUtils.EncodeString(song.Artist) + "</Album>\r\n"; + msg += "<Genre>" + HttpUtility.HtmlEncode(song.Genre) + "</Genre>\r\n"; + msg += "<Track>" + HttpUtility.HtmlEncode(song.Track.ToString()) + "</Track>\r\n"; + msg += "<Duration>" + HttpUtility.HtmlEncode(song.Duration.ToString()) + "</Duration>\r\n"; + msg += "<Rating>" + HttpUtility.HtmlEncode(song.Rating.ToString()) + "</Rating>\r\n"; + msg += "<Filename>" + SomeUtils.EncodeString(song.FileName) + "</Filename>\r\n"; - msg += "</Item>\r\n"; + msg += "</Item>\r\n"; + + cnt++; + if (cnt == maxResult) break; + } + act++; } msg += "</Database>\r\n\r\n"; Modified: trunk/plugins/AndroidRemote/Server/AndroidRemote/Request.cs =================================================================== --- trunk/plugins/AndroidRemote/Server/AndroidRemote/Request.cs 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Server/AndroidRemote/Request.cs 2011-01-20 21:59:40 UTC (rev 4073) @@ -241,11 +241,11 @@ req = req.Replace("/db_music", ""); if (req.StartsWith("/")) req = req.Substring(1); - if (req == "artist.xml") + if (req.StartsWith("artist.xml")) { MusicHandler.ReplyMusicDbArtist(socket); } - if (req == "album.xml") + if (req.StartsWith("album.xml")) { MusicHandler.ReplyMusicDbAlbum(socket); } @@ -253,6 +253,7 @@ { MusicHandler.ReplyMusicDbSongs(socket, req); } + if (req.StartsWith("getfile")) { int pos = req.IndexOf("?"); Modified: trunk/plugins/AndroidRemote/Server/AndroidRemote/SocketHandler.cs =================================================================== --- trunk/plugins/AndroidRemote/Server/AndroidRemote/SocketHandler.cs 2011-01-17 21:09:34 UTC (rev 4072) +++ trunk/plugins/AndroidRemote/Server/AndroidRemote/SocketHandler.cs 2011-01-20 21:59:40 UTC (rev 4073) @@ -58,11 +58,39 @@ } catch { } } + private void sendText(Socket sock, String text) + { + sock.Send(Encoding.UTF8.GetBytes(text + Environment.NewLine)); + } + public void SendBytes(Socket sock, byte[] Bytes) { try { - sock.Send(Bytes, Bytes.Length, 0); + long read = 0; + long actual = 0; + + while (read < Bytes.Length) + { + actual = read; + + int buffersize; + if (Bytes.Length - read > 1024) + { + buffersize = 1024; + read += 1024; + } + else + { + buffersize = (int)(Bytes.Length - read); + read = Bytes.Length; + } + byte[] tosend = new byte[buffersize]; + Array.Copy(Bytes, actual, tosend, 0, buffersize); + + sock.Send(tosend); + System.Threading.Thread.Sleep(3); + } } catch { } } Modified: trunk/plugins/AndroidRemote/Server/AndroidRemote.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |