package com.yuyh.sprintnba.ui;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.yuyh.library.utils.toast.ToastUtils;
import com.yuyh.sprintnba.BuildConfig;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.base.BaseSwipeBackCompatActivity;
import com.yuyh.sprintnba.base.BaseWebActivity;
import com.yuyh.sprintnba.http.bean.video.VideoLiveInfo;
import com.yuyh.sprintnba.http.bean.video.VideoLiveSource;
import com.yuyh.sprintnba.ui.adapter.VideoLiveAdapter;
import com.yuyh.sprintnba.ui.presenter.impl.MatchVideoLivePresenter;
import com.yuyh.sprintnba.ui.view.MatchVideoLiveView;
import java.util.ArrayList;
import java.util.List;
import butterknife.InjectView;
/**
* @author yuyh.
* @date 2016/12/23.
*/
public class MatchVideoLiveListActivity extends BaseSwipeBackCompatActivity
implements MatchVideoLiveView, AdapterView.OnItemClickListener {
public static void start(Context context) {
context.startActivity(new Intent(context, MatchVideoLiveListActivity.class));
}
@InjectView(R.id.refreshLayout)
SwipeRefreshLayout refreshLayout;
@InjectView(R.id.lvLive)
ListView lvLive;
private MatchVideoLivePresenter presenter;
private List<VideoLiveInfo> mList = new ArrayList<>();
private VideoLiveAdapter mAdapter;
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_match_live_list;
}
@Override
protected void initViewsAndEvents() {
setTitle("直播列表");
mAdapter = new VideoLiveAdapter(this, mList);
lvLive.setAdapter(mAdapter);
lvLive.setOnItemClickListener(this);
presenter = new MatchVideoLivePresenter(this, this);
presenter.initialized();
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
presenter.initialized();
}
});
}
@Override
public void showLoading(String msg) {
showLoadingDialog();
}
@Override
public void hideLoading() {
hideLoadingDialog();
refreshLayout.setRefreshing(false);
}
@Override
public void showError(String msg) {
ToastUtils.showSingleToast(msg);
hideLoadingDialog();
refreshLayout.setRefreshing(false);
}
@Override
public void showLiveList(final List<VideoLiveInfo> list) {
mAdapter.clear();
mAdapter.addAll(list);
refreshLayout.setRefreshing(false);
}
@Override
public void showSourceList(final List<VideoLiveSource> list) {
if (list != null && list.size() == 1) {
BaseWebActivity.start(mContext, list.get(0).link, list.get(0).name, false, false);
return;
} else if (list == null || list.isEmpty()) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
final String[] links = new String[list.size()];
final String[] names = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
links[i] = list.get(i).link;
names[i] = list.get(i).name;
}
builder.setTitle("请选择直播源")
.setItems(names, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (links[which].startsWith("/")) {
links[which] = BuildConfig.TMIAAO_SERVER + links[which];
}
BaseWebActivity.start(mContext, links[which], names[which], false, false);
dialog.dismiss();
}
}).show();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
VideoLiveInfo info = (VideoLiveInfo) mAdapter.getItem(position);
presenter.getSourceList(info.link);
}
}