package com.weikou.beibeivideo.ui.category;
|
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.content.pm.ActivityInfo;
|
import android.graphics.Bitmap;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentActivity;
|
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.view.Window;
|
import android.view.WindowManager;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout.LayoutParams;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.animation.GlideAnimation;
|
import com.bumptech.glide.request.target.SimpleTarget;
|
import com.google.gson.FieldNamingPolicy;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.umeng.analytics.MobclickAgent;
|
import com.viewpagerindicator.MTabPageIndicator;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.entity.VideoType;
|
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.yeshi.buwanshequ.R;
|
|
public class MVideosActivity extends FragmentActivity implements
|
OnClickListener {
|
private VideoType mVideoType;
|
|
private List<VideoType> mVideoInfos;
|
|
private TextView tv_top_bar_left;
|
|
private ImageView iv_taobao;
|
|
private ImageView iv_red_dot;
|
|
SharedPreferences preferences;// 广告商城,获取图标状态信息
|
|
/*
|
* viewpager定义
|
*/
|
GoogleMusicAdapter adapter;
|
ViewPager pager;
|
MTabPageIndicator indicator;
|
|
private FrameLayout fl_mvideos_download_failure;
|
|
@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);
|
|
iv_taobao = (ImageView) findViewById(R.id.nat);
|
iv_taobao.setOnClickListener(this);
|
iv_red_dot = (ImageView) findViewById(R.id.iv_red_dot);
|
|
preferences = getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
/*
|
* 计算状态栏高度并设置
|
*/
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
Window window = getWindow();
|
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
|
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
int result = 0;
|
int resourceId = getResources().getIdentifier("status_bar_height",
|
"dimen", "android");
|
if (resourceId > 0) {
|
result = getResources().getDimensionPixelSize(resourceId);
|
}
|
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,
|
result);
|
findViewById(R.id.v_status_bar).setLayoutParams(params);
|
} else {
|
findViewById(R.id.v_status_bar).setVisibility(View.GONE);
|
}
|
mVideoInfos = 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);
|
getVideoList();
|
}
|
|
private SimpleTarget<Bitmap> target = new SimpleTarget<Bitmap>() {
|
|
@Override
|
public void onResourceReady(Bitmap bitmap,
|
GlideAnimation<? super Bitmap> arg1) {
|
iv_taobao.setImageBitmap(bitmap);
|
long time = preferences.getLong("latestAdtime_d", 0);
|
if (!getDay(time).equalsIgnoreCase(
|
getDay(System.currentTimeMillis()))) {
|
iv_red_dot.setVisibility(View.VISIBLE);
|
} else {
|
iv_red_dot.setVisibility(View.GONE);
|
}
|
|
}
|
|
};
|
|
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(mVideoInfos.get(position));
|
}
|
|
@Override
|
public CharSequence getPageTitle(int position) {
|
return mVideoInfos.get(position % mVideoInfos.size()).getName();
|
}
|
|
@Override
|
public int getCount() {
|
return mVideoInfos.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());
|
mVideoInfos.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 < mVideoInfos.size(); i++) {
|
if (mVideoInfos.get(i).getId().equalsIgnoreCase(mVideoType.getId())) {
|
indicator.setViewPager(pager, i);
|
}
|
}
|
}
|
((FrameLayout) findViewById(R.id.fl_indicator))
|
.addView(indicator);
|
}
|
});
|
} 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
|
protected void onResume() {
|
super.onResume();
|
try {
|
Glide.with(getApplicationContext()).load(preferences.getString("top_icon", ""))
|
.asBitmap().into(target);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
MobclickAgent.onResume(this);
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
MobclickAgent.onPause(this);
|
}
|
|
@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;
|
}
|
}
|
|
}
|