Commit 511f250d authored by zhangww's avatar zhangww

3.16.1

1. 以api形式提供答题器是否显示的控制
2. 以构造函数的方法设置进度拖动后,历史进度中的答题器的展示逻辑区分
parent 698cd7ee
......@@ -13,12 +13,10 @@ android {
multiDexEnabled true
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
......@@ -35,25 +33,22 @@ dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation "androidx.multidex:multidex:2.0.1"
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
//获得场景视频SDK,必须引入
implementation 'com.bokecc:CCVOD:3.16.0'
implementation 'com.bokecc:drm:1.2.1'
//上传视频时使用压缩功能时需要引用
implementation 'com.bokecc:CompressVideoLib:1.0.0'
//使用投屏功能需要引用
implementation 'com.bokecc:ProjectionLib:1.7.0'
//使用Vr播放功能时需要引入
implementation 'com.bokecc:VrPlayLib:1.0.0'
//上传视频时使用压缩功能时需要引用
implementation 'com.bokecc:CompressVideoLib:1.0.0'
//使用投屏功能需要引用
//弹幕
implementation 'com.github.ctiao:DanmakuFlameMaster:0.9.25'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.bokecc:CCVOD:3.16.1-20210906.024705-1'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
......
......@@ -5,7 +5,7 @@
"entities": [
{
"id": "1:6060025343066017223",
"lastPropertyId": "17:3816992718513438077",
"lastPropertyId": "36:1874790241746428742",
"name": "DownloadInfo",
"properties": [
{
......@@ -53,27 +53,27 @@
"name": "definition"
},
{
"id": "12:6115575365879959584",
"id": "31:7827159696040632674",
"name": "firstSubtitleStatus"
},
{
"id": "13:860472885623208613",
"id": "32:8851220260638652969",
"name": "secondSubtitleStatus"
},
{
"id": "14:7190289340737822726",
"id": "33:2155359739921118719",
"name": "subtitleNum"
},
{
"id": "15:3961278680497059877",
"id": "34:2495958374113483274",
"name": "logoPath"
},
{
"id": "16:3224378872150319382",
"id": "35:4923909581247318562",
"name": "subtitleModel"
},
{
"id": "17:3816992718513438077",
"id": "36:1874790241746428742",
"name": "marqueeData"
}
],
......@@ -217,7 +217,7 @@
},
{
"id": "3:3846385358055158514",
"lastPropertyId": "4:195875901551481959",
"lastPropertyId": "6:4492167113589658383",
"name": "VideoPosition",
"properties": [
{
......@@ -233,7 +233,7 @@
"name": "position"
},
{
"id": "4:195875901551481959",
"id": "6:4492167113589658383",
"name": "isPlayCompleted"
}
],
......@@ -248,7 +248,29 @@
"modelVersionParserMinimum": 4,
"retiredEntityUids": [],
"retiredIndexUids": [],
"retiredPropertyUids": [],
"retiredPropertyUids": [
3224378872150319382,
3816992718513438077,
6268126333953209264,
948470671073719343,
266999901895778387,
5760890788511090985,
6857573945474810587,
195875901551481959,
6115575365879959584,
860472885623208613,
7190289340737822726,
3961278680497059877,
3221206190445851926,
3505207176845628138,
847482215232881989,
1497132657967155820,
2043414155781222709,
8258692877476244487,
5226982559650143641,
8015125848675797479,
9206353710029196620
],
"retiredRelationUids": [],
"version": 1
}
\ No newline at end of file
{
"_note1": "KEEP THIS FILE! Check it into a version control system (VCS) like git.",
"_note2": "ObjectBox manages crucial IDs for your object model. See docs for details.",
"_note3": "If you have VCS merge conflicts, you must resolve them according to ObjectBox docs.",
"entities": [
{
"id": "1:6060025343066017223",
"lastPropertyId": "30:9206353710029196620",
"name": "DownloadInfo",
"properties": [
{
"id": "1:1622790721163314640",
"name": "id"
},
{
"id": "2:1221438837839809883",
"name": "videoId"
},
{
"id": "3:8235839717438666153",
"name": "title"
},
{
"id": "4:8933925283326357468",
"name": "format"
},
{
"id": "5:7870869957414156305",
"name": "downloadMode"
},
{
"id": "6:2530283063349600920",
"name": "videoCover"
},
{
"id": "7:8317226133113895097",
"name": "start"
},
{
"id": "8:2384878916516863740",
"name": "end"
},
{
"id": "9:3867130596160747034",
"name": "status"
},
{
"id": "10:2900859768800932206",
"name": "createTime"
},
{
"id": "11:2172507572825499365",
"name": "definition"
}
],
"relations": []
},
{
"id": "2:964797898858734105",
"lastPropertyId": "32:2179349965915472766",
"name": "UploadInfo",
"properties": [
{
"id": "1:7484480020552332564",
"name": "id"
},
{
"id": "2:449234706359870061",
"name": "uploadId"
},
{
"id": "3:3218035617529113641",
"name": "start"
},
{
"id": "4:2720715995125586564",
"name": "end"
},
{
"id": "5:5512325991535030467",
"name": "status"
},
{
"id": "6:3565613935298714618",
"name": "progress"
},
{
"id": "7:1288183344224337213",
"name": "title"
},
{
"id": "8:609744063671341255",
"name": "tag"
},
{
"id": "9:8519669774027203610",
"name": "desc"
},
{
"id": "10:8805062260874014381",
"name": "filePath"
},
{
"id": "11:146757906384480135",
"name": "videoCoverPath"
},
{
"id": "12:7821999518592260342",
"name": "categoryId"
},
{
"id": "13:6953328528149201140",
"name": "uploadOrResume"
},
{
"id": "14:3035208258413647287",
"name": "videoId"
},
{
"id": "15:2566825800099791679",
"name": "server"
},
{
"id": "16:1767248285123702263",
"name": "servicetype"
},
{
"id": "17:6150241550608997901",
"name": "creationTime"
},
{
"id": "18:4764594701267324833",
"name": "priority"
},
{
"id": "19:4341222434025282425",
"name": "fileName"
},
{
"id": "20:409756951404409974",
"name": "encodetype"
},
{
"id": "21:7776049824025379551",
"name": "md5"
},
{
"id": "22:3075879940513911204",
"name": "fileByteSize"
},
{
"id": "23:2652113663350637120",
"name": "isCrop"
},
{
"id": "24:139105309883061313",
"name": "expectWidth"
},
{
"id": "25:6898594989038108063",
"name": "corner"
},
{
"id": "26:1115673559488587010",
"name": "offsetx"
},
{
"id": "27:2389466547650959770",
"name": "offsety"
},
{
"id": "28:9215329035263770611",
"name": "fontfamily"
},
{
"id": "29:173347385966572550",
"name": "fontsize"
},
{
"id": "30:6439987293458447140",
"name": "fontcolor"
},
{
"id": "31:8623230512527077942",
"name": "fontalpha"
},
{
"id": "32:2179349965915472766",
"name": "text"
}
],
"relations": []
},
{
"id": "3:3846385358055158514",
"lastPropertyId": "5:847482215232881989",
"name": "VideoPosition",
"properties": [
{
"id": "1:2675231074633761213",
"name": "id"
},
{
"id": "2:5505169350816903697",
"name": "videoId"
},
{
"id": "3:209787929914461889",
"name": "position"
}
],
"relations": []
}
],
"lastEntityId": "3:3846385358055158514",
"lastIndexId": "0:0",
"lastRelationId": "0:0",
"lastSequenceId": "0:0",
"modelVersion": 4,
"modelVersionParserMinimum": 4,
"retiredEntityUids": [],
"retiredIndexUids": [],
"retiredPropertyUids": [
3224378872150319382,
3816992718513438077,
6268126333953209264,
948470671073719343,
266999901895778387,
5760890788511090985,
6857573945474810587,
195875901551481959,
6115575365879959584,
860472885623208613,
7190289340737822726,
3961278680497059877,
3221206190445851926,
3505207176845628138,
847482215232881989,
1497132657967155820,
2043414155781222709,
8258692877476244487,
5226982559650143641,
8015125848675797479,
9206353710029196620
],
"retiredRelationUids": [],
"version": 1
}
\ No newline at end of file
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
\ No newline at end of file
......@@ -5,22 +5,22 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:name=".HuoDeApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true">
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
android:screenOrientation="portrait">
......@@ -35,15 +35,15 @@
android:name=".play.SpeedPlayActivity"
android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|screenLayout"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden|adjustResize"
android:supportsPictureInPicture="true" />
android:supportsPictureInPicture="true"
android:windowSoftInputMode="adjustPan|stateHidden|adjustResize" />
<activity
android:name=".play.MediaPlayActivity"
android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|screenLayout"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden|adjustResize"
android:supportsPictureInPicture="true" />
android:supportsPictureInPicture="true"
android:windowSoftInputMode="adjustPan|stateHidden|adjustResize" />
<activity
android:name=".play.VrPlayActivity"
......
......@@ -4,6 +4,7 @@ import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
......@@ -13,8 +14,12 @@ import androidx.appcompat.app.AppCompatActivity;
import com.bokecc.vod.utils.MultiUtils;
/**
* AccountInfoActivity
*
* @author CC
*/
public class AccountInfoActivity extends AppCompatActivity implements View.OnClickListener {
private Activity activity;
private TextView tv_user_id, tv_api_key;
private EditText et_verification_code;
private ImageView iv_back;
......@@ -25,7 +30,6 @@ public class AccountInfoActivity extends AppCompatActivity implements View.OnCli
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_info);
MultiUtils.setStatusBarColor(this, R.color.transparent, true);
activity = this;
initView();
}
......@@ -50,7 +54,6 @@ public class AccountInfoActivity extends AppCompatActivity implements View.OnCli
finish();
}
});
}
@Override
......
......@@ -8,16 +8,18 @@ package com.bokecc.vod;
public class ConfigUtil {
/**
* 账号ID 可以替换为自己的USER_ID
* 391E6E3340A00767
*/
public static final String USER_ID = "391E6E3340A00767";
/**
* 可以替换为自己的API_KEY
* T8WdOUuvFEiOsou1xjDr4U73v12M7iNa
*/
public static final String API_KEY = "T8WdOUuvFEiOsou1xjDr4U73v12M7iNa";
/**
* 获取视频信息的地址
*/
public final static String DATA_URL = "n";
public final static String DATA_URL = "https://p.bokecc.com/demo/videoinfo.json";
/**
* 配置下载文件路径
......@@ -50,4 +52,5 @@ public class ConfigUtil {
public static boolean AutoPlay = true;
public static boolean FORCE_ANSWER_SHEET = true;
}
......@@ -10,6 +10,7 @@ import androidx.multidex.MultiDexApplication;
import com.bokecc.sdk.mobile.download.VodDownloadManager;
import com.bokecc.sdk.mobile.drm.DRMServer;
import com.bokecc.sdk.mobile.play.InitializeManager;
import com.bokecc.sdk.mobile.util.DWSdkStorage;
import com.bokecc.sdk.mobile.util.DWStorageUtil;
import com.bokecc.vod.data.ObjectBox;
......@@ -44,6 +45,7 @@ public class HuoDeApplication extends MultiDexApplication {
VodDownloadManager.getInstance().init(HuoDeApplication.getContext(), ConfigUtil.USER_ID, ConfigUtil.API_KEY, downloadPath);
UMConfigure.init( context, getString(R.string.umeng_app_key), "HuoDeVod", 0,null);
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
InitializeManager.getInstance(getContext()).initialize();
}
public static Context getContext() {
......
......@@ -63,9 +63,6 @@ public class MainActivity extends AppCompatActivity {
Manifest.permission.WRITE_EXTERNAL_STORAGE};
private ArrayList<HuodeVideoInfo> videoDatas;
/**
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#CCffffff" />
<corners android:radius="16dp" />
</shape>
......@@ -141,5 +141,4 @@
android:text="是" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -706,8 +706,7 @@
android:id="@+id/iv_play_pause"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginRight="10dp"
/>
android:layout_marginRight="10dp" />
<ImageView
android:id="@+id/iv_next_video"
......@@ -1081,27 +1080,27 @@
<include
android:id="@+id/choiceRoot"
android:visibility="gone"
layout="@layout/layout_choice_question"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
layout="@layout/layout_choice_question"/>
android:visibility="gone" />
<include
android:id="@+id/commitAnswerErrorLayout"
layout="@layout/layout_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_centerInParent="true"
layout="@layout/layout_error"/>
android:visibility="gone" />
<include
android:id="@+id/statisticsLayout"
layout="@layout/layout_statistics"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:visibility="gone"
android:layout_height="wrap_content"
layout="@layout/layout_statistics"/>
android:layout_centerInParent="true"
android:visibility="gone" />
</RelativeLayout>
<!--选择投屏设备布局-->
......
......@@ -53,15 +53,35 @@
android:layout_marginBottom="5dp"
android:layout_weight="1" />
<TextView
android:id="@+id/goOnPlay"
android:layout_width="100dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:background="@drawable/resume_play_bg"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/resumePlay"
android:textColor="@color/white"
android:textSize="12sp" />
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/backView"
android:layout_width="100dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:layout_marginEnd="15dp"
android:background="@drawable/shape_gray_radius16"
android:gravity="center"
android:text="@string/backView"
android:textColor="@color/text_orange"
android:textSize="12sp" />
<TextView
android:id="@+id/goOnPlay"
android:layout_width="100dp"
android:layout_height="32dp"
android:layout_gravity="center"
android:background="@drawable/resume_play_bg"
android:gravity="center"
android:text="@string/resumePlay"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -33,4 +33,5 @@
<color name="layoutBac">#ffffff</color>
<color name="videoTitle">#000000</color>
<color name="closePauseVideoAdBac">#979797</color>
<color name="text_orange">#ffff6e0a</color>
</resources>
......@@ -6,4 +6,5 @@
<string name="resubmit">重新提交</string>
<string name="resumePlay">继续播放</string>
<string name="statistics_title">答题统计</string>
<string name="backView">回放</string>
</resources>
......@@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_242-release) on Tue Apr 13 15:50:13 GMT+08:00 2021 -->
<!-- Generated by javadoc (1.8.0_242-release) on Mon Sep 06 14:00:19 GMT+08:00 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>所有类</title>
<meta name="date" content="2021-04-13">
<meta name="date" content="2021-09-06">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
......@@ -14,11 +14,20 @@
<div class="indexContainer">
<ul>
<li><a href="com/bokecc/vod/AccountInfoActivity.html" title="com.bokecc.vod中的类" target="classFrame">AccountInfoActivity</a></li>
<li><a href="com/bokecc/sdk/mobile/play/AnalyseManager.html" title="com.bokecc.sdk.mobile.play中的类" target="classFrame">AnalyseManager</a></li>
<li><a href="com/bokecc/vod/view/AnimatedGifEncoder.html" title="com.bokecc.vod.view中的类" target="classFrame">AnimatedGifEncoder</a></li>
<li><a href="com/bokecc/vod/data/Answer.html" title="com.bokecc.vod.data中的类" target="classFrame">Answer</a></li>
<li><a href="com/bokecc/sdk/mobile/entry/AnswerCommitResult.html" title="com.bokecc.sdk.mobile.entry中的类" target="classFrame">AnswerCommitResult</a></li>