Commit d009f17d authored by Han Ruisong's avatar Han Ruisong
Browse files

升级到 3.5.1

1.SDK增加跑马灯信息获取功能。
parent 50683cdd
No preview for this file type
No preview for this file type
......@@ -32,7 +32,7 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//获得场景视频SDK,必须引入
implementation 'com.bokecc:vod:3.5.0'
implementation 'com.bokecc:vod:3.5.1'
//播放加密视频必须引用http和drmv6
implementation 'com.bokecc:http:1.2.0'
implementation 'com.bokecc:drmv6:2.19.0'
......
......@@ -18,6 +18,7 @@ import android.widget.LinearLayout;
import com.bokecc.sdk.mobile.util.HttpUtil;
import com.bokecc.vod.adapter.PlayVideoAdapter;
import com.bokecc.vod.data.DataSet;
import com.bokecc.vod.data.DataUtil;
import com.bokecc.vod.data.HuodeVideoInfo;
import com.bokecc.vod.download.DownloadController;
import com.bokecc.vod.download.DownloadListActivity;
......@@ -63,7 +64,6 @@ public class MainActivity extends AppCompatActivity {
setContentView(R.layout.activity_main);
MultiUtils.setStatusBarColor(this, R.color.transparent, true);
initView();
//初始化数据库和下载数据 没有开通授权播放和下载功能的账号 verificationCode可为空值
verificationCode = MultiUtils.getVerificationCode();
DownloadController.init(verificationCode);
......
......@@ -69,6 +69,7 @@ import com.bokecc.sdk.mobile.ad.PauseADInfo;
import com.bokecc.sdk.mobile.exception.HuodeException;
import com.bokecc.sdk.mobile.play.DWMediaPlayer;
import com.bokecc.sdk.mobile.play.MarqueeAction;
import com.bokecc.sdk.mobile.play.MarqueeInfo;
import com.bokecc.sdk.mobile.play.MarqueeView;
import com.bokecc.sdk.mobile.play.MediaMode;
import com.bokecc.sdk.mobile.play.OnAuthMsgListener;
......@@ -323,7 +324,6 @@ public class MediaPlayActivity extends Activity implements View.OnClickListener,
//跑马灯
private MarqueeView mv_video;
private List<MarqueeAction> marqueeActions;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -720,33 +720,6 @@ public class MediaPlayActivity extends Activity implements View.OnClickListener,
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_UI);
}
//跑马灯
marqueeActions = new ArrayList<>();
MarqueeAction marqueeAction0 = new MarqueeAction();
marqueeAction0.setIndex(0);
marqueeAction0.setDuration(5000);
marqueeAction0.setStartXpos(0.1f);
marqueeAction0.setStartYpos(0.2f);
marqueeAction0.setEndXpos(0.8f);
marqueeAction0.setEndYpos(0.5f);
marqueeAction0.setStartAlpha(1.0f);
marqueeAction0.setEndAlpha(1.0f);
marqueeActions.add(marqueeAction0);
MarqueeAction marqueeAction1 = new MarqueeAction();
marqueeAction1.setIndex(1);
marqueeAction1.setDuration(3000);
marqueeAction1.setStartXpos(0.8f);
marqueeAction1.setStartYpos(0.2f);
marqueeAction1.setEndXpos(0.1f);
marqueeAction1.setEndYpos(0.8f);
marqueeAction1.setStartAlpha(1.0f);
marqueeAction1.setEndAlpha(1.0f);
marqueeActions.add(marqueeAction1);
mv_video.setMarqueeActions(marqueeActions);
mv_video.setType(MarqueeView.TEXT);
mv_video.setTextColor("#ffffff");
mv_video.setTextFontSize(20);
}
private void getLastVideoPostion() {
......@@ -846,8 +819,9 @@ public class MediaPlayActivity extends Activity implements View.OnClickListener,
//设置鉴权监听器
player.setOnAuthMsgListener(new OnAuthMsgListener() {
@Override
public void onAuthMsg(final int enable, final int freetime, final String messaage) {
public void onAuthMsg(final int enable, final int freetime, final String messaage, final MarqueeInfo marqueeInfo) {
runOnUiThread(new Runnable() {
@Override
public void run() {
......@@ -863,6 +837,42 @@ public class MediaPlayActivity extends Activity implements View.OnClickListener,
tv_watch_tip.setText("可试看" + minute + "分钟" + second + "秒,购买会员查看完整版");
}
tv_pre_watch_over.setText(freeWatchOverMsg);
//设置跑马灯
if (marqueeInfo != null) {
String type = marqueeInfo.getType();
int loop = marqueeInfo.getLoop();
ArrayList<MarqueeAction> action = marqueeInfo.getAction();
mv_video.setLoop(loop);
mv_video.setMarqueeActions(action);
MarqueeInfo.TextBean textBean = marqueeInfo.getTextBean();
MarqueeInfo.ImageBean imageBean = marqueeInfo.getImageBean();
if (!TextUtils.isEmpty(type) && type.equals("text")) {
mv_video.setType(MarqueeView.TEXT);
if (textBean != null) {
String content = textBean.getContent();
if (!TextUtils.isEmpty(content)) {
mv_video.setTextContent(content);
}
int font_size = textBean.getFont_size();
mv_video.setTextFontSize(font_size);
String color = textBean.getColor();
if (!TextUtils.isEmpty(color) && color.length() == 8) {
String textColor = "#" + color.substring(2, 8);
if (textColor.length() == 7) {
//textColor:文字颜色,格式如:#ffffff
mv_video.setTextColor(textColor);
}
}
}
} else if (!TextUtils.isEmpty(type) && type.equals("image")) {
mv_video.setType(MarqueeView.IMAGE);
if (imageBean != null) {
mv_video.setMarqueeImage(activity, imageBean.getImage_url(), imageBean.getWidth(), imageBean.getHeight());
}
}
}
}
});
}
......@@ -2091,7 +2101,6 @@ public class MediaPlayActivity extends Activity implements View.OnClickListener,
}
//运行跑马灯
mv_video.setTextContent("跑马灯");
mv_video.start();
}
......
......@@ -68,12 +68,14 @@ import com.bokecc.sdk.mobile.ad.PauseADInfo;
import com.bokecc.sdk.mobile.exception.HuodeException;
import com.bokecc.sdk.mobile.play.DWIjkMediaPlayer;
import com.bokecc.sdk.mobile.play.MarqueeAction;
import com.bokecc.sdk.mobile.play.MarqueeInfo;
import com.bokecc.sdk.mobile.play.MarqueeView;
import com.bokecc.sdk.mobile.play.MediaMode;
import com.bokecc.sdk.mobile.play.OnAuthMsgListener;
import com.bokecc.sdk.mobile.play.OnDreamWinErrorListener;
import com.bokecc.sdk.mobile.play.OnExercisesMsgListener;
import com.bokecc.sdk.mobile.play.OnHotspotListener;
import com.bokecc.sdk.mobile.play.OnMarqueeImgFailListener;
import com.bokecc.sdk.mobile.play.OnPlayModeListener;
import com.bokecc.sdk.mobile.play.OnQAMsgListener;
import com.bokecc.sdk.mobile.play.OnVisitMsgListener;
......@@ -328,7 +330,6 @@ public class SpeedPlayActivity extends Activity implements View.OnClickListener,
//跑马灯
private MarqueeView mv_video;
private List<MarqueeAction> marqueeActions;
@Override
......@@ -729,34 +730,6 @@ public class SpeedPlayActivity extends Activity implements View.OnClickListener,
if (sensorManager != null) {
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_UI);
}
//跑马灯
marqueeActions = new ArrayList<>();
MarqueeAction marqueeAction0 = new MarqueeAction();
marqueeAction0.setIndex(0);
marqueeAction0.setDuration(5000);
marqueeAction0.setStartXpos(0.1f);
marqueeAction0.setStartYpos(0.2f);
marqueeAction0.setEndXpos(0.8f);
marqueeAction0.setEndYpos(0.5f);
marqueeAction0.setStartAlpha(1.0f);
marqueeAction0.setEndAlpha(1.0f);
marqueeActions.add(marqueeAction0);
MarqueeAction marqueeAction1 = new MarqueeAction();
marqueeAction1.setIndex(1);
marqueeAction1.setDuration(3000);
marqueeAction1.setStartXpos(0.8f);
marqueeAction1.setStartYpos(0.2f);
marqueeAction1.setEndXpos(0.1f);
marqueeAction1.setEndYpos(0.8f);
marqueeAction1.setStartAlpha(1.0f);
marqueeAction1.setEndAlpha(1.0f);
marqueeActions.add(marqueeAction1);
mv_video.setMarqueeActions(marqueeActions);
mv_video.setType(MarqueeView.TEXT);
mv_video.setTextColor("#ffffff");
mv_video.setTextFontSize(20);
}
private void getLastVideoPostion() {
......@@ -855,7 +828,7 @@ public class SpeedPlayActivity extends Activity implements View.OnClickListener,
//设置鉴权监听器
player.setOnAuthMsgListener(new OnAuthMsgListener() {
@Override
public void onAuthMsg(final int enable, final int freetime, final String messaage) {
public void onAuthMsg(final int enable, final int freetime, final String messaage, final MarqueeInfo marqueeInfo) {
runOnUiThread(new Runnable() {
@Override
public void run() {
......@@ -871,6 +844,42 @@ public class SpeedPlayActivity extends Activity implements View.OnClickListener,
tv_watch_tip.setText("可试看" + minute + "分钟" + second + "秒,购买会员查看完整版");
}
tv_pre_watch_over.setText(freeWatchOverMsg);
//设置跑马灯
if (marqueeInfo != null) {
String type = marqueeInfo.getType();
int loop = marqueeInfo.getLoop();
ArrayList<MarqueeAction> action = marqueeInfo.getAction();
mv_video.setLoop(loop);
mv_video.setMarqueeActions(action);
MarqueeInfo.TextBean textBean = marqueeInfo.getTextBean();
MarqueeInfo.ImageBean imageBean = marqueeInfo.getImageBean();
if (!TextUtils.isEmpty(type) && type.equals("text")) {
mv_video.setType(MarqueeView.TEXT);
if (textBean != null) {
String content = textBean.getContent();
if (!TextUtils.isEmpty(content)) {
mv_video.setTextContent(content);
}
int font_size = textBean.getFont_size();
mv_video.setTextFontSize(font_size);
String color = textBean.getColor();
if (!TextUtils.isEmpty(color) && color.length() == 8) {
String textColor = "#" + color.substring(2, 8);
if (textColor.length() == 7) {
//textColor:文字颜色,格式如:#ffffff
mv_video.setTextColor(textColor);
}
}
}
} else if (!TextUtils.isEmpty(type) && type.equals("image")) {
mv_video.setType(MarqueeView.IMAGE);
if (imageBean != null) {
mv_video.setMarqueeImage(activity, imageBean.getImage_url(), imageBean.getWidth(), imageBean.getHeight());
}
}
}
}
});
}
......@@ -2118,7 +2127,6 @@ public class SpeedPlayActivity extends Activity implements View.OnClickListener,
}
//运行跑马灯
mv_video.setTextContent("跑马灯");
mv_video.start();
}
......
......@@ -66,6 +66,7 @@ import com.bokecc.sdk.mobile.ad.FrontADInfo;
import com.bokecc.sdk.mobile.ad.PauseADInfo;
import com.bokecc.sdk.mobile.exception.HuodeException;
import com.bokecc.sdk.mobile.play.DWMediaPlayer;
import com.bokecc.sdk.mobile.play.MarqueeInfo;
import com.bokecc.sdk.mobile.play.MediaMode;
import com.bokecc.sdk.mobile.play.OnAuthMsgListener;
import com.bokecc.sdk.mobile.play.OnDreamWinErrorListener;
......@@ -758,7 +759,7 @@ public class VrPlayActivity extends Activity implements View.OnClickListener,
//设置鉴权监听器
player.setOnAuthMsgListener(new OnAuthMsgListener() {
@Override
public void onAuthMsg(final int enable, final int freetime, final String messaage) {
public void onAuthMsg(final int enable, final int freetime, final String messaage, final MarqueeInfo marqueeInfo) {
runOnUiThread(new Runnable() {
@Override
public void run() {
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>所有类 (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
......@@ -37,6 +37,9 @@
<li><a href="com/bokecc/sdk/mobile/exception/HuodeException.html" title="com.bokecc.sdk.mobile.exception中的类" target="classFrame">HuodeException</a></li>
<li><a href="com/bokecc/sdk/mobile/play/InfoCollector.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">InfoCollector</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeAction.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">MarqueeAction</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">MarqueeInfo</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.ImageBean.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">MarqueeInfo.ImageBean</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.TextBean.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">MarqueeInfo.TextBean</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeView.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">MarqueeView</a></li>
<li><a href="com/bokecc/sdk/mobile/util/Md5Encrypt.html" title="com.bokecc.sdk.mobile.util中的类" target="classFrame">Md5Encrypt</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MediaMode.html" title="com.bokecc.sdk.mobile.play中的枚举" target="classFrame">MediaMode</a></li>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>所有类 (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
......@@ -37,6 +37,9 @@
<li><a href="com/bokecc/sdk/mobile/exception/HuodeException.html" title="com.bokecc.sdk.mobile.exception中的类">HuodeException</a></li>
<li><a href="com/bokecc/sdk/mobile/play/InfoCollector.html" title="com.bokecc.sdk.mobile.play中的类">InfoCollector</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeAction.html" title="com.bokecc.sdk.mobile.play中的类">MarqueeAction</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.html" title="com.bokecc.sdk.mobile.play中的类">MarqueeInfo</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.ImageBean.html" title="com.bokecc.sdk.mobile.play中的类">MarqueeInfo.ImageBean</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeInfo.TextBean.html" title="com.bokecc.sdk.mobile.play中的类">MarqueeInfo.TextBean</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MarqueeView.html" title="com.bokecc.sdk.mobile.play中的类">MarqueeView</a></li>
<li><a href="com/bokecc/sdk/mobile/util/Md5Encrypt.html" title="com.bokecc.sdk.mobile.util中的类">Md5Encrypt</a></li>
<li><a href="com/bokecc/sdk/mobile/play/MediaMode.html" title="com.bokecc.sdk.mobile.play中的枚举">MediaMode</a></li>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DWADRequest (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DWMediaAD (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DWMediaADListener (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FrontADInfo.AdBean (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FrontADInfo (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PauseADInfo.AdBean (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PauseADInfo (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>com.bokecc.sdk.mobile.ad (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>com.bokecc.sdk.mobile.ad (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>com.bokecc.sdk.mobile.ad 类分层结构 (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_201) on Fri Mar 13 16:24:39 CST 2020 -->
<!-- Generated by javadoc (1.8.0_201) on Tue Mar 17 15:13:57 CST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DownloadListener (okccsdk)</title>
<meta name="date" content="2020-03-13">
<meta name="date" content="2020-03-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment