Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
Z
zxhc
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王雪伟
zxhc
Commits
c03b08a2
Commit
c03b08a2
authored
Jul 19, 2021
by
王雪伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复闪退问题
parent
bca448d5
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
102 additions
and
19 deletions
+102
-19
MainActivity.java
app/src/main/java/com/ym/zxhcsdkaar/MainActivity.java
+1
-1
zxhcsdk-release_1.3.7.aar
bendiaar/zxhcsdk-release_1.3.7.aar
+0
-0
HcDownLoadUtils.java
zxhcsdk/src/main/java/com/ym/zxhcsdk/HcDownLoadUtils.java
+6
-4
RewardVideoMediaPlayer.java
.../main/java/com/ym/zxhcsdk/ads/RewardVideoMediaPlayer.java
+42
-12
RewardVideoPortraitADActivity.java
...ava/com/ym/zxhcsdk/ads/RewardVideoPortraitADActivity.java
+15
-2
RewardVideoAdUpdateViewListener.java
.../ym/zxhcsdk/listener/RewardVideoAdUpdateViewListener.java
+4
-0
anim_progress_loading.xml
zxhcsdk/src/main/res/anim/anim_progress_loading.xml
+9
-0
icon_loading.png
zxhcsdk/src/main/res/drawable/icon_loading.png
+0
-0
shape_round_loading.xml
zxhcsdk/src/main/res/drawable/shape_round_loading.xml
+10
-0
activity_rewardvideo_portrait_a_d.xml
...src/main/res/layout/activity_rewardvideo_portrait_a_d.xml
+15
-0
No files found.
app/src/main/java/com/ym/zxhcsdkaar/MainActivity.java
View file @
c03b08a2
...
@@ -156,7 +156,7 @@ public class MainActivity extends Activity {
...
@@ -156,7 +156,7 @@ public class MainActivity extends Activity {
@Override
@Override
public
void
OnAdClosed
()
{
public
void
OnAdClosed
()
{
Log
.
d
(
"wxw"
,
"RewardVideoAd OnAdClosed"
);
Log
.
d
(
"wxw"
,
"RewardVideoAd OnAdClosed"
);
RewardAd
();
//
RewardAd();
}
}
@Override
@Override
...
...
bendiaar/zxhcsdk-release_1.3.7.aar
View file @
c03b08a2
No preview for this file type
zxhcsdk/src/main/java/com/ym/zxhcsdk/HcDownLoadUtils.java
View file @
c03b08a2
...
@@ -11,6 +11,8 @@ import android.net.Uri;
...
@@ -11,6 +11,8 @@ import android.net.Uri;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Environment
;
import
android.os.Environment
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
androidx.core.content.FileProvider
;
import
androidx.core.content.FileProvider
;
import
java.io.File
;
import
java.io.File
;
import
static
android
.
content
.
Context
.
DOWNLOAD_SERVICE
;
import
static
android
.
content
.
Context
.
DOWNLOAD_SERVICE
;
...
@@ -110,20 +112,20 @@ public class HcDownLoadUtils {
...
@@ -110,20 +112,20 @@ public class HcDownLoadUtils {
switch
(
status
)
{
switch
(
status
)
{
//下载暂停
//下载暂停
case
DownloadManager
.
STATUS_PAUSED
:
case
DownloadManager
.
STATUS_PAUSED
:
//
Log.d("wxw", "下载暂停" + adBean.getDownLoadId());
Log
.
d
(
"wxw"
,
"下载暂停"
+
adBean
.
getDownLoadId
());
break
;
break
;
//下载延迟
//下载延迟
case
DownloadManager
.
STATUS_PENDING
:
case
DownloadManager
.
STATUS_PENDING
:
//
Log.d("wxw", "下载延迟" + adBean.getDownLoadId());
Log
.
d
(
"wxw"
,
"下载延迟"
+
adBean
.
getDownLoadId
());
break
;
break
;
//正在下载
//正在下载
case
DownloadManager
.
STATUS_RUNNING
:
case
DownloadManager
.
STATUS_RUNNING
:
//
Log.d("wxw", "正在下载" + adBean.getDownLoadId());
Log
.
d
(
"wxw"
,
"正在下载"
+
adBean
.
getDownLoadId
());
break
;
break
;
//下载完成
//下载完成
case
DownloadManager
.
STATUS_SUCCESSFUL
:
case
DownloadManager
.
STATUS_SUCCESSFUL
:
cursor
.
close
();
cursor
.
close
();
//
Log.d("wxw", "下载完成" + adBean.getDownLoadId());
Log
.
d
(
"wxw"
,
"下载完成"
+
adBean
.
getDownLoadId
());
DownLoadSuccessReport
(
adBean
);
DownLoadSuccessReport
(
adBean
);
//下载完成安装APK
//下载完成安装APK
installAPK
(
adBean
);
installAPK
(
adBean
);
...
...
zxhcsdk/src/main/java/com/ym/zxhcsdk/ads/RewardVideoMediaPlayer.java
View file @
c03b08a2
package
com
.
ym
.
zxhcsdk
.
ads
;
package
com
.
ym
.
zxhcsdk
.
ads
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.media.MediaPlayer
;
import
android.media.MediaPlayer
;
import
android.util.Log
;
import
android.util.Log
;
...
@@ -7,6 +6,7 @@ import com.ym.zxhcsdk.HcAdBean;
...
@@ -7,6 +6,7 @@ import com.ym.zxhcsdk.HcAdBean;
import
com.ym.zxhcsdk.HttpClientUtils
;
import
com.ym.zxhcsdk.HttpClientUtils
;
import
com.ym.zxhcsdk.listener.RewardVideoAdShowListener
;
import
com.ym.zxhcsdk.listener.RewardVideoAdShowListener
;
import
com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener
;
import
com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener
;
import
java.io.IOException
;
import
java.io.IOException
;
/**
/**
...
@@ -17,12 +17,12 @@ public class RewardVideoMediaPlayer {
...
@@ -17,12 +17,12 @@ public class RewardVideoMediaPlayer {
private
static
volatile
RewardVideoMediaPlayer
mRewardVideoMediaPlayer
=
null
;
private
static
volatile
RewardVideoMediaPlayer
mRewardVideoMediaPlayer
=
null
;
private
static
MediaPlayer
mMediaPlayer
=
null
;
private
static
MediaPlayer
mMediaPlayer
=
null
;
public
boolean
isPrepared
=
false
;
//是否装载媒体资源完毕
public
boolean
isPrepared
=
false
;
//是否装载媒体资源完毕
public
boolean
isReportError
=
false
;
//是否装载媒体资源完毕
private
RewardVideoAdShowListener
mShowListener
;
//播放激励视频监听回调
private
RewardVideoAdShowListener
mShowListener
;
//播放激励视频监听回调
private
RewardVideoAdUpdateViewListener
updateViewListener
;
private
RewardVideoAdUpdateViewListener
updateViewListener
;
private
Activity
mActivity
;
private
Activity
mActivity
;
private
boolean
isShowVideo
;
//是否加载完成视频立即播放视频
private
boolean
isShowVideo
;
//是否加载完成视频立即播放视频
private
HcAdBean
mHcAdBean
;
//广告资源
private
HcAdBean
mHcAdBean
;
//广告资源
private
RewardVideoMediaPlayer
()
{}
private
RewardVideoMediaPlayer
()
{}
/**
/**
...
@@ -54,6 +54,7 @@ public class RewardVideoMediaPlayer {
...
@@ -54,6 +54,7 @@ public class RewardVideoMediaPlayer {
public
void
resetMediaPlayer
()
{
public
void
resetMediaPlayer
()
{
getMediaPlayer
().
release
();
getMediaPlayer
().
release
();
mMediaPlayer
=
null
;
mMediaPlayer
=
null
;
isReportError
=
false
;
}
}
public
Activity
getActivity
()
{
public
Activity
getActivity
()
{
return
mActivity
;
return
mActivity
;
...
@@ -70,6 +71,7 @@ public class RewardVideoMediaPlayer {
...
@@ -70,6 +71,7 @@ public class RewardVideoMediaPlayer {
getMediaPlayer
().
setOnPreparedListener
(
new
MediaPlayer
.
OnPreparedListener
()
{
getMediaPlayer
().
setOnPreparedListener
(
new
MediaPlayer
.
OnPreparedListener
()
{
@Override
@Override
public
void
onPrepared
(
MediaPlayer
mp
)
{
public
void
onPrepared
(
MediaPlayer
mp
)
{
Log
.
d
(
"wxw"
,
"MediaPlayer onPrepared"
);
isPrepared
=
true
;
isPrepared
=
true
;
if
(
isShowVideo
)
{
if
(
isShowVideo
)
{
startVideo
();
startVideo
();
...
@@ -87,7 +89,6 @@ public class RewardVideoMediaPlayer {
...
@@ -87,7 +89,6 @@ public class RewardVideoMediaPlayer {
mShowListener
.
OnVideoCompleted
();
mShowListener
.
OnVideoCompleted
();
}
}
});
});
updateViewListener
.
OnCompletionListener
();
updateViewListener
.
OnCompletionListener
();
}
}
}
}
...
@@ -95,19 +96,48 @@ public class RewardVideoMediaPlayer {
...
@@ -95,19 +96,48 @@ public class RewardVideoMediaPlayer {
getMediaPlayer
().
setOnErrorListener
(
new
MediaPlayer
.
OnErrorListener
()
{
//设置错误信息监听
getMediaPlayer
().
setOnErrorListener
(
new
MediaPlayer
.
OnErrorListener
()
{
//设置错误信息监听
@Override
@Override
public
boolean
onError
(
MediaPlayer
mp
,
int
what
,
int
extra
)
{
public
boolean
onError
(
MediaPlayer
mp
,
int
what
,
int
extra
)
{
Log
.
d
(
"wxw"
,
"MediaPlayer error "
+
what
+
" extra "
+
extra
);
if
(!
isReportError
){
if
(
null
!=
updateViewListener
)
{
isReportError
=
true
;
mActivity
.
runOnUiThread
(
new
Runnable
()
{
Log
.
d
(
"wxw"
,
"MediaPlayer error "
+
what
+
" extra "
+
extra
);
@Override
if
(
null
!=
updateViewListener
)
{
public
void
run
()
{
mActivity
.
runOnUiThread
(
new
Runnable
()
{
mShowListener
.
OnVideoError
(
"what"
+
what
+
" extra "
+
extra
);
@Override
}
public
void
run
()
{
});
mShowListener
.
OnVideoError
(
"what"
+
what
+
" extra "
+
extra
);
updateViewListener
.
OnErrorListener
(
what
+
""
);
}
});
updateViewListener
.
OnErrorListener
(
what
+
""
);
}
updateViewListener
.
showLoading
();
}
//true 不再回调Complete方法
return
true
;
}
});
getMediaPlayer
().
setOnBufferingUpdateListener
(
new
MediaPlayer
.
OnBufferingUpdateListener
()
{
@Override
public
void
onBufferingUpdate
(
MediaPlayer
mp
,
int
percent
)
{
Log
.
d
(
"wxw"
,
"MediaPlayer onBufferingUpdate"
+
percent
);
}
});
getMediaPlayer
().
setOnInfoListener
(
new
MediaPlayer
.
OnInfoListener
()
{
@Override
public
boolean
onInfo
(
MediaPlayer
mp
,
int
what
,
int
extra
)
{
Log
.
d
(
"wxw"
,
"MediaPlayer setOnInfoListener what"
+
what
+
"extra"
+
extra
);
if
(
what
==
MediaPlayer
.
MEDIA_INFO_VIDEO_RENDERING_START
){
updateViewListener
.
dismissLoading
();
return
true
;
}
else
if
(
what
==
MediaPlayer
.
MEDIA_INFO_BUFFERING_END
){
//MediaPlayer在缓冲完后继续播放。
updateViewListener
.
dismissLoading
();
return
true
;
}
else
if
(
what
==
MediaPlayer
.
MEDIA_INFO_BUFFERING_START
){
//MediaPlayer暂停播放等待缓冲更多数据。
updateViewListener
.
showLoading
();
return
true
;
}
}
return
false
;
return
false
;
}
}
});
});
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
...
zxhcsdk/src/main/java/com/ym/zxhcsdk/ads/RewardVideoPortraitADActivity.java
View file @
c03b08a2
...
@@ -13,7 +13,9 @@ import android.view.KeyEvent;
...
@@ -13,7 +13,9 @@ import android.view.KeyEvent;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
import
android.view.SurfaceView
;
import
android.view.View
;
import
android.view.View
;
import
android.view.animation.AnimationUtils
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
...
@@ -42,7 +44,7 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
...
@@ -42,7 +44,7 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
private
Timer
mTimer
;
//倒计时
private
Timer
mTimer
;
//倒计时
private
final
int
countDownWhat
=
0
;
private
final
int
countDownWhat
=
0
;
private
boolean
isVideoCompletion
=
false
;
//是否播放完成
private
boolean
isVideoCompletion
=
false
;
//是否播放完成
private
RelativeLayout
rlLoading
;
//loadingBg
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
...
@@ -61,7 +63,8 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
...
@@ -61,7 +63,8 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
TopTimeTv
=
findViewById
(
R
.
id
.
reward_ad_time
);
TopTimeTv
=
findViewById
(
R
.
id
.
reward_ad_time
);
TopClose
=
findViewById
(
R
.
id
.
reward_ad_close
);
TopClose
=
findViewById
(
R
.
id
.
reward_ad_close
);
ivPreview
=
findViewById
(
R
.
id
.
id_iv_preview
);
ivPreview
=
findViewById
(
R
.
id
.
id_iv_preview
);
rlLoading
=
findViewById
(
R
.
id
.
id_rl_loading
);
findViewById
(
R
.
id
.
id_iv_loading
).
startAnimation
(
AnimationUtils
.
loadAnimation
(
this
,
R
.
anim
.
anim_progress_loading
));
// 设置底部信息
// 设置底部信息
bottomTitle
.
setText
(
RewardVideoMediaPlayer
.
getInstance
().
getHcAdBean
().
getVideo_title
());
bottomTitle
.
setText
(
RewardVideoMediaPlayer
.
getInstance
().
getHcAdBean
().
getVideo_title
());
bottomDesc
.
setText
(
RewardVideoMediaPlayer
.
getInstance
().
getHcAdBean
().
getVideo_desc
());
bottomDesc
.
setText
(
RewardVideoMediaPlayer
.
getInstance
().
getHcAdBean
().
getVideo_desc
());
...
@@ -316,6 +319,16 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
...
@@ -316,6 +319,16 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
TopTimeTv
.
setVisibility
(
View
.
GONE
);
TopTimeTv
.
setVisibility
(
View
.
GONE
);
}
}
@Override
public
void
showLoading
()
{
rlLoading
.
setVisibility
(
View
.
VISIBLE
);
}
@Override
public
void
dismissLoading
()
{
rlLoading
.
setVisibility
(
View
.
GONE
);
}
@Override
@Override
protected
void
onDestroy
()
{
protected
void
onDestroy
()
{
super
.
onDestroy
();
super
.
onDestroy
();
...
...
zxhcsdk/src/main/java/com/ym/zxhcsdk/listener/RewardVideoAdUpdateViewListener.java
View file @
c03b08a2
...
@@ -16,4 +16,8 @@ public interface RewardVideoAdUpdateViewListener {
...
@@ -16,4 +16,8 @@ public interface RewardVideoAdUpdateViewListener {
/// 激励视频广告各种错误信息回调
/// 激励视频广告各种错误信息回调
/// </summary>
/// </summary>
void
OnErrorListener
(
String
error
);
void
OnErrorListener
(
String
error
);
void
showLoading
();
void
dismissLoading
();
}
}
zxhcsdk/src/main/res/anim/anim_progress_loading.xml
0 → 100644
View file @
c03b08a2
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:fromDegrees=
"0"
android:toDegrees=
"359"
android:pivotX=
"50%"
android:pivotY=
"50%"
android:duration=
"2000"
android:interpolator=
"@android:anim/linear_interpolator"
android:repeatCount=
"-1"
/>
\ No newline at end of file
zxhcsdk/src/main/res/drawable/icon_loading.png
0 → 100644
View file @
c03b08a2
1.3 KB
zxhcsdk/src/main/res/drawable/shape_round_loading.xml
0 → 100644
View file @
c03b08a2
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<!-- 填充的颜色 -->
<solid
android:color=
"#4a000000"
/>
<!-- 设置矩形的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners
android:radius=
"10dip"
/>
</shape>
\ No newline at end of file
zxhcsdk/src/main/res/layout/activity_rewardvideo_portrait_a_d.xml
View file @
c03b08a2
...
@@ -123,4 +123,19 @@
...
@@ -123,4 +123,19 @@
android:textSize=
"16sp"
/>
android:textSize=
"16sp"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id=
"@+id/id_rl_loading"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:background=
"@drawable/shape_round_loading"
android:padding=
"20dp"
android:visibility=
"visible"
>
<ImageView
android:id=
"@+id/id_iv_loading"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/icon_loading"
android:layout_centerInParent=
"true"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment