package com.sxit.dreamiya.activity.kinder;
import java.util.List;
import com.easemob.chatuidemo.activity.SplashActivity;
import com.sxit.dreamiya.R;
import com.sxit.dreamiya.adapter.kinder.VideoList_Adapter;
import com.sxit.dreamiya.base.component.BaseActivity;
import com.sxit.dreamiya.entity.photo.FinPhotoList;
import com.sxit.dreamiya.entity.video.FinVideoList;
import com.sxit.dreamiya.http.RdaResultPack;
import com.sxit.dreamiya.utils.SOAP_UTILS;
import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase;
import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase.OnLastItemVisibleListener;
import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase.OnRefreshListener;
import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshListView;
import com.sxit.dreamiya.webservice.SoapRes;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class VideoActivity extends BaseActivity {
private Resources resources;
private Context context;
private int pageIndex = 1;
private List<FinVideoList> list;
private VideoList_Adapter adapter;
private PullToRefreshListView listView_videolist;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kinder_video);
resources = this.getResources();
context = this;
viewInit();
setListeners();
String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() };
soapService.getVideoInfo(property_va, false);
}
private void viewInit(){
listView_videolist = (PullToRefreshListView) findViewById(R.id.listView_videolist);
listView = listView_videolist.getRefreshableView();
}
private void setListeners() {
listView_videolist.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse(SOAP_UTILS.VIDEO_PATH + list.get(position).getVideo());
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}
});
listView_videolist.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
new GetDataTask().execute();
}
});
// end of list
listView_videolist.setOnLastItemVisibleListener(new OnLastItemVisibleListener() {
@Override
public void onLastItemVisible() {
String[] property_va = new String[] { "10", ++pageIndex + "", SplashActivity.userinfo.getComId() };
soapService.getVideoInfo(property_va, true);
}
});
}
/**
* 列表刷新
*
* @author why
*
*/
private class GetDataTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
}
return "";
}
@Override
protected void onPostExecute(String result) {
pageIndex = 1;
String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() };
soapService.getVideoInfo(property_va, false);
super.onPostExecute(result);
}
}
/**
* 返回
*
* @param view
*/
public void back(View view) {
finish();
}
/**
* http回调SoapObject
* @param obj
*/
public void onEvent(Object obj) {
SoapRes res = (SoapRes) obj;
//webservice result
if (res.getCode().equals(SOAP_UTILS.METHOD.GETVIDEOINFO)) {
Parcelable listState = listView.onSaveInstanceState();
if (res.isPage()) {
for (FinVideoList bean : (List<FinVideoList>) res.getObj()) {
list.add(bean);
}
adapter.notifyDataSetChanged();
} else {
list = (List<FinVideoList>) res.getObj();
if (list != null) {
if (list.size() != 0) {
adapter = new VideoList_Adapter(this, list);
listView.setAdapter(adapter);
}
}
}
listView_videolist.onRefreshComplete();
listView.onRestoreInstanceState(listState);
}
}
@Override
protected void onEventMainThread(RdaResultPack http) {
// TODO Auto-generated method stub
if (http.equals(SOAP_UTILS.METHOD.GETVIDEOINFO)) {
String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() };
soapService.getVideoInfo(property_va, false);
}
}
}