package com.weikou.beibeivideo.ui.category;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.content.pm.ActivityInfo;
|
import android.os.Bundle;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentPagerAdapter;
|
import android.support.v4.view.ViewPager;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.FrameLayout;
|
import android.widget.TextView;
|
|
import com.google.gson.FieldNamingPolicy;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.viewpagerindicator.MTabPageIndicator;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.entity.VideoType;
|
import com.weikou.beibeivideo.ui.BaseActivity;
|
import com.weikou.beibeivideo.ui.common.VideosFragment;
|
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
|
import com.weikou.beibeivideo.ui.mine.WatchHistoryActivity;
|
import com.weikou.beibeivideo.ui.recommend.SearchActivity;
|
import com.weikou.beibeivideo.util.downutil.StringUtils;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
public class MVideosActivity extends BaseActivity implements
|
OnClickListener {
|
private VideoType mVideoType;
|
|
private List<VideoType> mVideoTypes;
|
|
private TextView tv_top_bar_left;
|
|
|
SharedPreferences preferences;// 广告商城,获取图标状态信息
|
|
/*
|
* viewpager定义
|
*/
|
GoogleMusicAdapter adapter;
|
ViewPager pager;
|
MTabPageIndicator indicator;
|
|
private FrameLayout fl_mvideos_download_failure;
|
|
private String homeType;
|
private String videoType;
|
private String starId;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 锁定竖屏
|
setContentView(R.layout.mvideo_activity);
|
findViewById(R.id.iv_activity_main_search).setOnClickListener(this);
|
findViewById(R.id.iv_recommend_watch_history).setOnClickListener(this);
|
|
preferences = getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
initStatusBar();
|
mVideoTypes = new ArrayList<VideoType>();
|
mVideoType = (VideoType) getIntent().getSerializableExtra("video_type");
|
pager = (ViewPager) findViewById(R.id.pager);
|
|
fl_mvideos_download_failure = (FrameLayout) findViewById(R.id.fl_mvideosfragment_download_failure);
|
fl_mvideos_download_failure.setOnClickListener(this);
|
|
tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left);
|
tv_top_bar_left.setText(mVideoType.getName());
|
tv_top_bar_left.setOnClickListener(this);
|
//接受数据
|
homeType = getIntent().getStringExtra("home_type");
|
videoType = getIntent().getStringExtra("video_type");
|
starId = getIntent().getStringExtra("star_id");
|
|
homeType = StringUtils.isNullOrEmpty(homeType) ? null : homeType;
|
videoType = StringUtils.isNullOrEmpty(videoType) ? null : videoType;
|
starId = StringUtils.isNullOrEmpty(starId) ? null : starId;
|
|
|
getVideoList();
|
}
|
|
private String getDay(long time) {
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
String date = format.format(new Date(time));
|
return date;
|
}
|
|
class GoogleMusicAdapter extends FragmentPagerAdapter {
|
|
public GoogleMusicAdapter(FragmentManager fm) {
|
super(fm);
|
}
|
|
@Override
|
public Fragment getItem(int position) {
|
// String id = mVideoType.getParent() == null ? mVideoType.getId()
|
// : mVideoType.getParent().getId();
|
// if (position % mVideoInfos.size() == 0)
|
// return CategoryRecommendFragment.newInstance(mVideoInfos.get(position), mVideoType.getId());
|
// else
|
return VideosFragment.newInstance(mVideoTypes.get(position), homeType, videoType, starId);
|
}
|
|
@Override
|
public CharSequence getPageTitle(int position) {
|
return mVideoTypes.get(position % mVideoTypes.size()).getName();
|
}
|
|
@Override
|
public int getCount() {
|
return mVideoTypes.size();
|
}
|
}
|
|
private void getVideoList() {
|
String id = mVideoType.getParent() == null ? mVideoType.getId()
|
: mVideoType.getParent().getId();
|
SharedPreferences preferences = getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
String uid = preferences.getString("uid", "");
|
BeibeiVideoAPI.getFirstChildType(this, id, uid,
|
new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
if (jsonObject.getBoolean("IsPost")) {
|
fl_mvideos_download_failure
|
.setVisibility(View.GONE);
|
findViewById(R.id.fl_indicator).setVisibility(
|
View.VISIBLE);
|
findViewById(R.id.pager)
|
.setVisibility(View.VISIBLE);
|
|
Gson gson = new GsonBuilder().setFieldNamingPolicy(
|
FieldNamingPolicy.UPPER_CAMEL_CASE)
|
.create();
|
List<VideoType> videoType = gson.fromJson(
|
jsonObject.getJSONObject("Data")
|
.getJSONArray("data").toString(),
|
new TypeToken<List<VideoType>>() {
|
}.getType());
|
mVideoTypes.addAll(videoType);
|
|
pager.post(new Runnable() {
|
|
@Override
|
public void run() {
|
adapter = new GoogleMusicAdapter(
|
getSupportFragmentManager());
|
pager.setAdapter(adapter);
|
|
indicator = new MTabPageIndicator(
|
MVideosActivity.this);
|
if (mVideoType.getParent() == null) {
|
indicator.setViewPager(pager, 0);
|
} else {
|
for (int i = 0; i < mVideoTypes.size(); i++) {
|
if (mVideoTypes.get(i).getId().equalsIgnoreCase(mVideoType.getId())) {
|
indicator.setViewPager(pager, i);
|
}
|
}
|
}
|
((FrameLayout) findViewById(R.id.fl_indicator))
|
.addView(indicator);
|
|
if (mVideoTypes.size() <= 1) {
|
indicator.setVisibility(View.GONE);
|
} else {
|
indicator.setVisibility(View.VISIBLE);
|
}
|
}
|
});
|
} else {
|
fl_mvideos_download_failure
|
.setVisibility(View.VISIBLE);
|
findViewById(R.id.fl_indicator).setVisibility(View.GONE);
|
findViewById(R.id.pager).setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers,
|
String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString,
|
throwable);
|
fl_mvideos_download_failure.setVisibility(View.VISIBLE);
|
findViewById(R.id.fl_indicator)
|
.setVisibility(View.GONE);
|
findViewById(R.id.pager).setVisibility(View.GONE);
|
}
|
|
});
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.nat:
|
SharedPreferences preferences = getSharedPreferences(
|
"user", Context.MODE_PRIVATE);
|
SharedPreferences.Editor editor = preferences.edit();
|
editor.putLong("latestAdtime", System.currentTimeMillis());
|
editor.commit();
|
Intent intent = new Intent(this, BrowserActivity.class);
|
intent.putExtra("url", preferences.getString("tuiguang_add", ""));
|
startActivity(intent);
|
break;
|
case R.id.fl_mvideosfragment_download_failure:
|
getVideoList();
|
break;
|
case R.id.iv_activity_main_search:
|
startActivity(new Intent(this,
|
SearchActivity.class));
|
break;
|
case R.id.iv_recommend_watch_history:
|
startActivity(new Intent(this,
|
WatchHistoryActivity.class));
|
|
break;
|
default:
|
break;
|
}
|
}
|
|
}
|