package cn.bingoogolapple.media.ui.activity;
import android.Manifest;
import android.content.Intent;
import android.net.Uri;
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 java.util.List;
import cn.bingoogolapple.bgaindicator.BGAFixedIndicator;
import cn.bingoogolapple.media.R;
import cn.bingoogolapple.media.ui.fragment.AudioFragment;
import cn.bingoogolapple.media.ui.fragment.VideoFragment;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
public class MainActivity extends BaseActivity implements EasyPermissions.PermissionCallbacks {
private BGAFixedIndicator mIndicator;
private ViewPager mContentVp;
private AudioFragment mAudioFragment;
private VideoFragment mVideoFragment;
// 处理 Android 6.0 的权限获取
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
}
@AfterPermissionGranted(1)
private void conversationWrapper() {
String[] perms = {Manifest.permission.READ_EXTERNAL_STORAGE};
if (EasyPermissions.hasPermissions(this, perms)) {
} else {
EasyPermissions.requestPermissions(this, "", 1, perms);
}
}
@Override
protected void initView(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
mIndicator = getViewById(R.id.indicator);
mContentVp = getViewById(R.id.vp_main_content);
}
@Override
protected void setListener() {
getViewById(R.id.btn_main_testNetVideo).setOnClickListener(this);
}
@Override
protected void processLogic(Bundle savedInstanceState) {
mContentVp.setAdapter(new ContentAdapter(getSupportFragmentManager()));
mIndicator.initData(0, mContentVp);
conversationWrapper();
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_main_testNetVideo) {
Intent intent = new Intent(Intent.ACTION_VIEW);
// intent.setDataAndType(Uri.parse("http://7xk9dj.com1.z0.glb.clouddn.com/medianote/oppo.mp4"), "video/*");
intent.setDataAndType(Uri.parse("http://7xk9dj.com1.z0.glb.clouddn.com/medianote/rmvb.rmvb"), "video/*");
// intent.setDataAndType(Uri.parse("http://7xk9dj.com1.z0.glb.clouddn.com/medianote/网络视频.mp4"), "video/*");
// intent.setDataAndType(Uri.parse("http://7xk9dj.com1.z0.glb.clouddn.com/medianote/测试3gp格式.3gp"), "video/*");
// intent.setDataAndType(Uri.parse("http://7xk9dj.com1.z0.glb.clouddn.com/medianote/测试非法视频.avi"), "video/*");
startActivity(intent);
}
}
private class ContentAdapter extends FragmentPagerAdapter {
public ContentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
if (mAudioFragment == null) {
mAudioFragment = new AudioFragment();
}
return mAudioFragment;
case 1:
if (mVideoFragment == null) {
mVideoFragment = new VideoFragment();
}
return mVideoFragment;
default:
return null;
}
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "音乐";
case 1:
return "视频";
default:
return null;
}
}
}
}