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 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 map = new HashMap<>(); map.put("page","1"); map.put("title",""); map.put("keywords",""); map.put("sort",""); sendJsonPostParamtoNetSignMD5(Url.listSeriesType,map,EXCHANGE,this); Map map1 = new HashMap<>(); map1.put("page","1"); map1.put("title",""); map1.put("keywords",""); map1.put("sort","2"); sendJsonPostParamtoNetSignMD5(Url.listFree,map1,FREE,this); Map 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 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 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(); 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); } } }