package com.smartalk.gank.ui.activity;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import com.daimajia.numberprogressbar.NumberProgressBar;
import com.smartalk.gank.PanConfig;
import com.smartalk.gank.R;
import com.smartalk.gank.model.entity.Gank;
import com.smartalk.gank.presenter.WebVideoPresenter;
import com.smartalk.gank.ui.base.ToolBarActivity;
import com.smartalk.gank.ui.widget.LoveVideoView;
import com.smartalk.gank.utils.ShareUtil;
import com.smartalk.gank.view.IWebVideo;
import butterknife.Bind;
public class WebVideoActivity extends ToolBarActivity<WebVideoPresenter> implements IWebVideo {
@Bind(R.id.progressbar)
NumberProgressBar progressbar;
@Bind(R.id.web_video)
LoveVideoView webVideo;
private Gank gank;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
}
@Override
protected int provideContentViewId() {
return R.layout.activity_web_video;
}
@Override
protected void initPresenter() {
presenter = new WebVideoPresenter(this, this);
presenter.init();
}
@Override
public void showProgressBar(int progress) {
if (progressbar == null) return;
progressbar.setProgress(progress);
if (progress == 100) {
progressbar.setVisibility(View.GONE);
} else {
progressbar.setVisibility(View.VISIBLE);
}
}
@Override
public void setWebTitle(String title) {
setTitle(title);
}
@Override
public void openFailed() {
}
@Override
public void init() {
toolbar.setBackgroundColor(Color.TRANSPARENT);
toolbar.setBackgroundResource(R.drawable.transparent_bg);
appBar.setBackgroundResource(R.drawable.transparent_bg);
appBar.setBackgroundColor(Color.TRANSPARENT);
hideToolBarElevation();
gank = (Gank) getIntent().getSerializableExtra(PanConfig.GANK);
setTitle(gank.desc);
presenter.loadWebVideo(webVideo, gank.url);
}
private void hideToolBarElevation() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
appBar.setElevation(0);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_video, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_share:
if (gank != null)
ShareUtil.shareVideo(this, gank);
break;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onResume() {
super.onResume();
if (webVideo != null) {
webVideo.resumeTimers();
webVideo.onResume();
}
}
@Override
protected void onPause() {
super.onPause();
if (webVideo != null) {
webVideo.onPause();
webVideo.pauseTimers();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (webVideo != null) {
webVideo.setWebViewClient(null);
webVideo.setWebChromeClient(null);
webVideo.destroy();
webVideo = null;
}
}
}