338 lines
14 KiB
Java
338 lines
14 KiB
Java
package cn.shangyu.gdxzExpert.polyvplayer;
|
|
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import android.widget.AdapterView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.ListView;
|
|
import android.widget.RelativeLayout;
|
|
import android.widget.TextView;
|
|
|
|
import com.google.gson.Gson;
|
|
import com.gyf.immersionbar.ImmersionBar;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import cn.shangyu.gdxzExpert.R;
|
|
import cn.shangyu.gdxzExpert.base.BaseActivity;
|
|
import cn.shangyu.gdxzExpert.bean.ListFreeBean;
|
|
import cn.shangyu.gdxzExpert.bean.ListSeriesTypeBean;
|
|
import cn.shangyu.gdxzExpert.bean.SeriesVideoNewsListBean;
|
|
import cn.shangyu.gdxzExpert.big.activity.BigPointsMallActivity;
|
|
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
|
import cn.shangyu.gdxzExpert.pointsmall.BuyIntegerActivty;
|
|
import cn.shangyu.gdxzExpert.pointsmall.IntegralTicketActivity;
|
|
import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
|
|
import cn.shangyu.gdxzExpert.polyvplayer.adapter.ExchangeAdapter;
|
|
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
|
|
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
|
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
|
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
|
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
|
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
|
import cn.shangyu.gdxzExpert.utils.Url;
|
|
import cn.shangyu.gdxzExpert.view.RollViewPager;
|
|
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
|
|
|
import static cn.shangyu.gdxzExpert.utils.CommonUtil.BigModule;
|
|
|
|
/**
|
|
* Created by WANGChengXin on 2019/3/25.
|
|
*/
|
|
|
|
public class QualityCourseActivity extends BaseActivity implements OnCallBackFromNet{
|
|
private CustomProgressDialog pd;
|
|
private LinearLayout top_news_viewpager;
|
|
private LinearLayout dots_ll;
|
|
private PullToRefreshListView lv_exchange;
|
|
private LinearLayout headerView;
|
|
public static final int FREE=1;
|
|
public static final int EXCHANGE=2;
|
|
public static final int NEWS=3;
|
|
private RelativeLayout rl_exchange,rl_free;
|
|
private ListSeriesTypeBean listSeriesTypeBean;
|
|
private ListFreeBean listFreeBean;
|
|
private LinearLayout ll_free2,ll_free1;
|
|
private TextView tv_free1,tv_free2;
|
|
private SeriesVideoNewsListBean seriesVideoNewsListBean;
|
|
private RollViewPager mViewPager;
|
|
private ArrayList<View> dotList;
|
|
private View free_line;
|
|
private LinearLayout ll_jifenshop,ll_integraltickit,ll_buy_point;
|
|
@Override
|
|
public void setTitle() {
|
|
top_title.setText("精品课程");
|
|
}
|
|
|
|
@Override
|
|
public View onCreateSuccessedView() {
|
|
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
|
View view = UIUtils.inflate(R.layout.activity_qualitycourse);
|
|
lv_exchange = view.findViewById(R.id.lv_exchange);
|
|
ll_jifenshop = view.findViewById(R.id.ll_point_shop);
|
|
ll_integraltickit = view.findViewById(R.id.ll_integraltickit);
|
|
ll_buy_point = view.findViewById(R.id.ll_buy_point);
|
|
headerView = (LinearLayout) getLayoutInflater().inflate(R.layout.activity_qualitycourse_header, null);
|
|
initView(headerView);
|
|
ListView refreshableView = lv_exchange.getRefreshableView();
|
|
refreshableView.addHeaderView(headerView);
|
|
pd = new CustomProgressDialog(this, "请稍候");
|
|
pd.show();
|
|
initOnClick();
|
|
getData();
|
|
return view;
|
|
}
|
|
|
|
private void initOnClick() {
|
|
rl_exchange.setOnClickListener(this);
|
|
rl_free.setOnClickListener(this);
|
|
ll_free1.setOnClickListener(this);
|
|
ll_free2.setOnClickListener(this);
|
|
ll_jifenshop.setOnClickListener(this);
|
|
ll_buy_point.setOnClickListener(this);
|
|
ll_integraltickit.setOnClickListener(this);
|
|
lv_exchange.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
@Override
|
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
|
int i = position - 2;
|
|
String uuid = listSeriesTypeBean.getData().getList().get(i).getUuid();
|
|
Intent intent = PolyvPlayerActivity.newIntent(QualityCourseActivity.this, PolyvPlayerActivity.PlayMode.portrait, "");
|
|
intent.putExtra("isVlmsOnline", false);
|
|
intent.putExtra("series_type_uuid", uuid);
|
|
startActivity(intent);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
private void getData() {
|
|
Map<String,String> map = new HashMap<>();
|
|
map.put("page","1");
|
|
map.put("title","");
|
|
map.put("keywords","");
|
|
map.put("sort","");
|
|
sendJsonPostParamtoNetSignMD5(Url.listSeriesType,map,EXCHANGE,this);
|
|
|
|
Map<String,String> map1 = new HashMap<>();
|
|
map1.put("page","1");
|
|
map1.put("title","");
|
|
map1.put("keywords","");
|
|
map1.put("sort","2");
|
|
sendJsonPostParamtoNetSignMD5(Url.listFree,map1,FREE,this);
|
|
|
|
|
|
Map<String,String> map2 = new HashMap<>();
|
|
sendJsonPostParamtoNetSignMD5(Url.SeriesVideoNewsList,map2,NEWS,this);
|
|
|
|
|
|
}
|
|
|
|
private void initView(View view) {
|
|
top_news_viewpager = (LinearLayout) view.findViewById(R.id.top_news_viewpager);
|
|
dots_ll = (LinearLayout) view.findViewById(R.id.dots_ll);
|
|
rl_exchange = view.findViewById(R.id.rl_exchange);
|
|
rl_free = view.findViewById(R.id.rl_free);
|
|
ll_free2 = view.findViewById(R.id.ll_free2);
|
|
ll_free1 = view.findViewById(R.id.ll_free1);
|
|
tv_free1 = view.findViewById(R.id.tv_free1);
|
|
tv_free2 = view.findViewById(R.id.tv_free2);
|
|
free_line = view.findViewById(R.id.free_line);
|
|
|
|
top_news_viewpager.setFocusable(true);
|
|
top_news_viewpager.setFocusableInTouchMode(true);
|
|
top_news_viewpager.requestFocus();
|
|
int width =getResources().getDisplayMetrics().widthPixels;
|
|
// int height = CommonUtil.dip2px(mActivity, 180);
|
|
int height = width * 320 / 640;
|
|
if (width < 720) {
|
|
height = width * 7 / 16 - 10;
|
|
// height = width/2;
|
|
|
|
}
|
|
android.view.ViewGroup.LayoutParams ivLp = top_news_viewpager
|
|
.getLayoutParams();
|
|
ivLp.width = width;
|
|
ivLp.height = height;
|
|
top_news_viewpager.setLayoutParams(ivLp);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@Override
|
|
public LoadingPage.ResultState onLoad() {
|
|
return LoadingPage.ResultState.STATE_SUCCESSED;
|
|
}
|
|
|
|
@Override
|
|
protected void processClick(View v) {
|
|
switch (v.getId()){
|
|
case R.id.rl_exchange:
|
|
Intent intent = new Intent(QualityCourseActivity.this, ExchangeAreaActivity.class);
|
|
startActivity(intent);
|
|
break;
|
|
case R.id.rl_free:
|
|
startActivity(new Intent(QualityCourseActivity.this,FreeAreaActivity.class));
|
|
break;
|
|
case R.id.ll_free1:
|
|
intent = PolyvPlayerActivity.newIntent(QualityCourseActivity.this, PolyvPlayerActivity.PlayMode.portrait, listFreeBean.getData().getList().get(0).getPolyv_uuid());
|
|
intent.putExtra("startNow", true);
|
|
intent.putExtra("isVlmsOnline", false);
|
|
intent.putExtra("series_type_uuid", listFreeBean.getData().getList().get(0).getSeries_type_uuid());
|
|
intent.putExtra("uuid", listFreeBean.getData().getList().get(0).getUuid());
|
|
startActivity(intent);
|
|
break;
|
|
case R.id.ll_free2:
|
|
intent = PolyvPlayerActivity.newIntent(QualityCourseActivity.this, PolyvPlayerActivity.PlayMode.portrait,listFreeBean.getData().getList().get(1).getPolyv_uuid());
|
|
intent.putExtra("isVlmsOnline", false);
|
|
intent.putExtra("startNow", true);
|
|
intent.putExtra("series_type_uuid", listFreeBean.getData().getList().get(1).getSeries_type_uuid());
|
|
intent.putExtra("uuid", listFreeBean.getData().getList().get(1).getUuid());
|
|
startActivity(intent);
|
|
break;
|
|
case R.id.ll_point_shop://积分商城
|
|
if(BigModule())
|
|
{
|
|
Intent intent3 = new Intent(QualityCourseActivity.this, BigPointsMallActivity.class);
|
|
startActivity(intent3);
|
|
}
|
|
else
|
|
{
|
|
Intent intent3 = new Intent(QualityCourseActivity.this, PointsMallActivity.class);
|
|
startActivity(intent3);
|
|
}
|
|
|
|
break;
|
|
case R.id.ll_integraltickit://积分券
|
|
Intent intent1 = new Intent(QualityCourseActivity.this, IntegralTicketActivity.class);
|
|
startActivity(intent1);
|
|
break;
|
|
case R.id.ll_buy_point://购买积分
|
|
Intent intent2 = new Intent(QualityCourseActivity.this, BuyIntegerActivty.class);
|
|
startActivity(intent2);
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onCallbackFromThread(String resultJson) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onCallBackFromThread(String resultJson, int resultCode) {
|
|
pd.dismiss();
|
|
switch (resultCode){
|
|
case EXCHANGE:
|
|
LogUtil.i("EXCHANGE = "+resultJson);
|
|
Gson gson = new Gson();
|
|
listSeriesTypeBean = gson.fromJson(resultJson, ListSeriesTypeBean.class);
|
|
if (listSeriesTypeBean.getData()!=null){
|
|
|
|
ExchangeAdapter adapter = null;
|
|
if (listSeriesTypeBean.getData().getList().size()>=3){
|
|
List<ListSeriesTypeBean.DataBean.ListBean> list = new ArrayList<>();
|
|
for (int i = 0;i<3;i++){
|
|
list.add(listSeriesTypeBean.getData().getList().get(i));
|
|
adapter = new ExchangeAdapter(QualityCourseActivity.this,list);
|
|
}
|
|
}else {
|
|
adapter = new ExchangeAdapter(QualityCourseActivity.this,listSeriesTypeBean.getData().getList());
|
|
}
|
|
|
|
lv_exchange.setAdapter(adapter);
|
|
}
|
|
break;
|
|
case FREE:
|
|
LogUtil.i("FREE = "+resultJson);
|
|
Gson gson1 = new Gson();
|
|
listFreeBean = gson1.fromJson(resultJson, ListFreeBean.class);
|
|
if (listFreeBean.getData()!=null){
|
|
if (listFreeBean.getData().getList().size()==0){
|
|
rl_free.setVisibility(View.GONE);
|
|
ll_free2.setVisibility(View.GONE);
|
|
ll_free1.setVisibility(View.GONE);
|
|
free_line.setVisibility(View.GONE);
|
|
}else if (listFreeBean.getData().getList().size()>1){
|
|
ll_free2.setVisibility(View.VISIBLE);
|
|
tv_free1.setText(listFreeBean.getData().getList().get(0).getTitle());
|
|
tv_free2.setText(listFreeBean.getData().getList().get(1).getTitle());
|
|
}else {
|
|
tv_free1.setText(listFreeBean.getData().getList().get(0).getTitle());
|
|
|
|
}
|
|
|
|
}
|
|
break;
|
|
case NEWS:
|
|
LogUtil.i("NEWS = "+resultJson);
|
|
Gson gson3 = new Gson();
|
|
seriesVideoNewsListBean = gson3.fromJson(resultJson, SeriesVideoNewsListBean.class);
|
|
if (seriesVideoNewsListBean!=null&&"200".equals(seriesVideoNewsListBean.getCode())&&seriesVideoNewsListBean.getData().size()!=0) {
|
|
// 轮播图的点
|
|
initDot(seriesVideoNewsListBean.getData().size());
|
|
mViewPager = new RollViewPager(QualityCourseActivity.this, dotList,
|
|
R.drawable.dot_white, R.drawable.dot_normal,
|
|
// 轮播图点击事件
|
|
new RollViewPager.OnPagerClickCallback() {
|
|
@Override
|
|
public void onPagerClick(int position) {
|
|
Intent intent = PolyvPlayerActivity.newIntent(QualityCourseActivity.this, PolyvPlayerActivity.PlayMode.portrait, "");
|
|
intent.putExtra("isVlmsOnline", false);
|
|
intent.putExtra("series_type_uuid",seriesVideoNewsListBean.getData().get(position).getUuid());
|
|
startActivity(intent);
|
|
}
|
|
});
|
|
mViewPager.setLayoutParams(new LinearLayout.LayoutParams(
|
|
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
|
|
// top图片地址
|
|
ArrayList<String> list = new ArrayList<>();
|
|
for (int i = 0; i < seriesVideoNewsListBean.getData().size(); i++) {
|
|
list.add(Url.urlHtml+seriesVideoNewsListBean.getData().get(i).getImg());
|
|
}
|
|
mViewPager.setUriList(list);
|
|
// 开始滚动
|
|
mViewPager.startRoll();
|
|
// top标题
|
|
// mViewPager.setTitle(topNewsTitle, seriesVideoNewsListBean);
|
|
// 加载到布局
|
|
top_news_viewpager.removeAllViews();
|
|
top_news_viewpager.addView(mViewPager);
|
|
|
|
}else {
|
|
ToastUtil.showMessage("请求失败");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
/**
|
|
* 实例化轮播图点 initDot
|
|
*
|
|
* @param size
|
|
* void
|
|
*/
|
|
private void initDot(int size) {
|
|
dotList = new ArrayList<View>();
|
|
dots_ll.removeAllViews();
|
|
for (int i = 0; i < size; i++) {
|
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
|
CommonUtil.dip2px(this, 6), CommonUtil.dip2px(
|
|
this, 6));
|
|
params.setMargins(10, 0, 5, 0);
|
|
View m = new View(this);
|
|
if (i == 0) {
|
|
m.setBackgroundResource(R.drawable.dot_white);
|
|
} else {
|
|
m.setBackgroundResource(R.drawable.dot_normal);
|
|
}
|
|
m.setLayoutParams(params);
|
|
dots_ll.addView(m);
|
|
dotList.add(m);
|
|
}
|
|
}
|
|
}
|