Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/polyvplayer/QualityCourseActivity.java
T
2025-11-18 15:12:24 +08:00

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);
}
}
}