package com.weikou.beibeivideo.ui.common;
|
|
import android.app.ActivityManager;
|
import android.content.ComponentName;
|
import android.os.Bundle;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import android.view.KeyEvent;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.webkit.WebView;
|
import android.widget.ListView;
|
import android.widget.ProgressBar;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.lcjian.library.util.common.DimenUtils;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.entity.MemeLiveInfo;
|
import com.weikou.beibeivideo.ui.BaseActivity;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.util.ui.TopStatusSettings;
|
import com.weikou.beibeivideo.widget.MySwipeRefreshLayout;
|
|
import org.apache.http.Header;
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class VideosLiveActivity extends BaseActivity implements OnClickListener {
|
|
private TextView tv_top_bar_left;
|
private TextView tv_top_bar_middle;
|
|
private MySwipeRefreshLayout rl_video;
|
|
private ListView mm_gv_video;// 么么直播
|
|
private MemeLiveGridVideoAdapter meGridVideoAdapter;
|
|
private List<MemeLiveInfo> meVideoInfos;// 么么修改视频信息为直播信息
|
|
private WebView wb_fx_live;
|
|
private String mHomeType;
|
|
private String mVideoType;
|
|
private String mStarId;
|
|
private int meCurrentPage = 1;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.videos_live_activity);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
mHomeType = getIntent().getStringExtra("home_type");
|
mVideoType = getIntent().getStringExtra("video_type");
|
mStarId = getIntent().getStringExtra("star_id");
|
|
mHomeType = (mHomeType == null ? "" : mHomeType);
|
mVideoType = (mVideoType == null ? "" : mVideoType);
|
mStarId = (mStarId == null ? "" : mStarId);
|
|
tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left);
|
tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
|
tv_top_bar_left.setText("返回");
|
tv_top_bar_middle.setText(getIntent().getStringExtra("title"));
|
tv_top_bar_left.setOnClickListener(this);
|
|
wb_fx_live = (WebView) findViewById(R.id.fxlive_webview);
|
|
rl_video = findViewById(R.id.rl_video);
|
mm_gv_video = (ListView) findViewById(R.id.mm_gv_video);
|
mm_gv_video.setVisibility(View.VISIBLE);
|
View view = new View(this);
|
mm_gv_video.addHeaderView(view);
|
ProgressBar pb = new ProgressBar(this);
|
rl_video.setFooter(pb);
|
|
// 么么直播
|
meVideoInfos = new ArrayList<MemeLiveInfo>();
|
meGridVideoAdapter = new MemeLiveGridVideoAdapter(meVideoInfos, getApplicationContext(), true);
|
|
int padding = DimenUtils.dipToPixels(8, this);
|
mm_gv_video.setPadding(padding, 3, padding, padding);
|
mm_gv_video.setAdapter(meGridVideoAdapter);
|
rl_video.setRefreshing(true);
|
rl_video.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
meCurrentPage = 1;
|
getMemeVideoList();
|
}
|
});
|
rl_video.setOnLoadListener(new MySwipeRefreshLayout.OnLoadListener() {
|
@Override
|
public void onLoad() {
|
getMemeVideoList();
|
}
|
});
|
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
|
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
|
cn.getPackageName();
|
getMemeVideoList();
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
}
|
|
/**
|
* 么么直播
|
*/
|
|
private void getMemeVideoList() {
|
BeibeiVideoAPI.getMeMeVideoLiveList(VideosLiveActivity.this,
|
meCurrentPage + "", new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
|
}
|
|
@Override
|
public void onSuccess(int statusCode, Header[] headers,
|
String responseString) {
|
super.onSuccess(statusCode, headers, responseString);
|
try {
|
JSONObject jsonObject = new JSONObject(
|
responseString);
|
if (meCurrentPage == 1) {
|
meVideoInfos.clear();
|
}
|
Gson gson = new GsonBuilder().create();
|
List<MemeLiveInfo> cMVideoInfos = gson.fromJson(jsonObject
|
.getJSONArray("data").toString(),
|
new TypeToken<List<MemeLiveInfo>>() {
|
}.getType());
|
meVideoInfos.addAll(cMVideoInfos);
|
meGridVideoAdapter.notifyDataSetChanged();
|
// 华为版本取消
|
// if (meVideoInfos.size() % 2 == 0) {
|
// loadAD();
|
// }
|
if (meVideoInfos.size() < Integer
|
.parseInt(jsonObject.optString("count"))) {
|
meCurrentPage++;
|
} else {
|
Toast.makeText(VideosLiveActivity.this,
|
"没有更多了", Toast.LENGTH_SHORT).show();
|
}
|
} catch (JSONException e) {
|
e.printStackTrace();
|
}
|
|
}
|
|
@Override
|
public void onFinish() {
|
rl_video.setRefreshing(false);
|
rl_video.setLoading(false);
|
}
|
});
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
if (!wb_fx_live.canGoBack())
|
finish();
|
else {
|
wb_fx_live.goBack();
|
}
|
break;
|
default:
|
break;
|
}
|
}
|
|
|
int j = -1;
|
|
|
// 设置回退
|
// 覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if ((keyCode == KeyEvent.KEYCODE_BACK) && wb_fx_live.canGoBack()) {
|
wb_fx_live.goBack(); // goBack()表示返回WebView的上一页面
|
return true;
|
}
|
return super.onKeyDown(keyCode, event);
|
}
|
}
|