package com.yeshi.video.ui;
|
|
import android.app.Notification;
|
import android.app.NotificationManager;
|
import android.os.Bundle;
|
import android.os.Handler;
|
import android.os.Message;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.webkit.DownloadListener;
|
import android.webkit.WebChromeClient;
|
import android.webkit.WebSettings;
|
import android.webkit.WebView;
|
import android.webkit.WebViewClient;
|
import android.widget.RemoteViews;
|
import android.widget.Toast;
|
|
import com.lcjian.library.RetainViewFragment;
|
import com.yeshi.base.entity.AccumulateRule;
|
import com.yeshi.base.entity.video.PlayUrl;
|
import com.yeshi.base.utils.downutil.DownFiles;
|
import com.yeshi.video.R;
|
|
import de.greenrobot.event.EventBus;
|
|
/**
|
* 网页加载页面
|
*
|
* @author Administrator
|
*/
|
public class IQYVideoFragment extends RetainViewFragment implements
|
OnClickListener {
|
|
// private TextView tv_top_bar_left;
|
// private TextView tv_top_bar_middle;
|
private WebView webview;
|
|
@Override
|
public void onPause() {
|
webview.reload();
|
super.onPause();
|
EventBus.getDefault().unregister(this);
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
EventBus.getDefault().register(this);
|
}
|
|
public void getPlayUrl(PlayUrl playUrl) {
|
}
|
|
@Override
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
Bundle savedInstanceState) {
|
return super.onCreateView(inflater, container, savedInstanceState);
|
}
|
|
@Override
|
public void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
|
}
|
|
@Override
|
public void onDestroy() {
|
webview.destroy();
|
super.onDestroy();
|
}
|
|
// 文件下载监听
|
private class MyWebViewDownLoadListener implements DownloadListener {
|
|
@Override
|
public void onDownloadStart(String url, String userAgent,
|
String contentDisposition, String mimetype, long contentLength) {
|
startDownLoadFile(url);
|
/*
|
* Uri uri = Uri.parse(url); Intent intent = new
|
* Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
|
*/
|
}
|
}
|
|
private NotificationManager manager;
|
private Notification notif;
|
int j = -1;
|
|
private void startDownLoadFile(String url) {
|
|
new DownFiles(getActivity(), new DownFiles.IProgress() {
|
|
@Override
|
public void getProgress(int p) {
|
// stub
|
if (p == 100) {
|
handler.sendEmptyMessage(1);
|
} else {
|
if (manager == null || notif == null) {
|
Toast.makeText(getActivity(), "文件已经开始下载",
|
Toast.LENGTH_SHORT).show();
|
|
manager = (NotificationManager) getActivity()
|
.getSystemService(
|
getActivity().NOTIFICATION_SERVICE);
|
notif = new Notification();
|
notif.icon = R.drawable.ic_launcher;
|
notif.tickerText = "热门应用下载";
|
notif.contentView = new RemoteViews(getActivity()
|
.getPackageName(), R.layout.notify_item);
|
notif.contentView.setTextViewText(
|
R.id.content_view_text1, "热门应用下载");
|
}
|
|
Message msg = handler.obtainMessage();
|
if (j != p) {
|
msg.what = 0;
|
msg.arg1 = p;
|
handler.sendMessage(msg);
|
}
|
j = p;
|
}
|
}
|
|
}).execute(url);
|
|
}
|
|
private Handler handler = new Handler() {
|
@Override
|
public void handleMessage(Message msg) {
|
super.handleMessage(msg);
|
switch (msg.what) {
|
case 0:
|
notif.contentView.setTextViewText(R.id.content_view_per,
|
msg.arg1 + "%");
|
manager.notify(0, notif);
|
break;
|
case 1:
|
notif.contentView
|
.setTextViewText(R.id.content_view_per, "下载完成");
|
manager.notify(0, notif);
|
j = 100;
|
manager.cancelAll();
|
|
break;
|
default:
|
break;
|
}
|
}
|
|
};
|
|
@Override
|
public void onClick(View v) {
|
if (v.getId() == R.id.iv_back) {
|
EventBus.getDefault().post(new AccumulateRule());// 播放界面返回替代使用AccumulateRule
|
// class
|
}
|
}
|
|
@Override
|
public int getContentResource() {
|
return R.layout.fragment_iqiyi_video;
|
}
|
|
public myWebView webclient;
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
// tv_top_bar_left = (TextView) contentView
|
// .findViewById(R.id.tv_top_bar_left);
|
// tv_top_bar_middle = (TextView) contentView
|
// .findViewById(R.id.tv_top_bar_middle);
|
|
contentView.findViewById(R.id.iv_back).setOnClickListener(this);
|
webview = (WebView) contentView.findViewById(R.id.webview);
|
// tv_top_bar_left.setText("返回");
|
// tv_top_bar_left.setOnClickListener(this);
|
WebSettings webSettings = webview.getSettings();
|
webSettings.setJavaScriptEnabled(true);
|
|
webview.setDownloadListener(new MyWebViewDownLoadListener());
|
|
webclient = new myWebView();
|
webview.setWebViewClient(webclient);
|
|
webview.setWebChromeClient(new WebChromeClient() {
|
|
@Override
|
public void onReceivedTitle(WebView view, String title) {
|
}
|
});
|
|
PlayUrl playUrl = (PlayUrl) getArguments().getSerializable("playUrl");
|
if (playUrl != null) {
|
webview.loadUrl(playUrl.getUrl());
|
}
|
}
|
|
class myWebView extends WebViewClient {
|
@Override
|
public void onPageFinished(WebView view, String url) {
|
super.onPageFinished(view, url);
|
VideoDetailActivity.hideImage();
|
}
|
}
|
|
@Override
|
public void onDestroyView() {
|
super.onDestroyView();
|
}
|
|
// public void onEventMainThread(PlayUrl info) {
|
// webview.loadUrl(info.getUrl());
|
// }
|
|
public void onEventMainThread(VideoDetailActivity.ChangeVideoEvent changeVideoEvent) {
|
if ("VideoPlayerFragment".equals(changeVideoEvent.getTag())) {
|
changeVideoEvent.setTag("VideoDetailActivity");
|
EventBus.getDefault().post(changeVideoEvent);
|
}
|
}
|
}
|