Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
Out
Project
Project
Details
Activity
Releases
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xjl
Out
Commits
1d5e61bc
Commit
1d5e61bc
authored
Jan 03, 2024
by
shenpc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码
parent
c6fa5509
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
106 deletions
+36
-106
OutHelp.java
app/src/main/java/com/zl/sdk/OutHelp.java
+21
-36
TopOnAdLoadManager.java
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
+1
-1
CheckHelper.java
app/src/main/java/com/zl/sdk/out/CheckHelper.java
+2
-64
DxActivity.java
app/src/main/java/com/zl/sdk/out/ui/DxActivity.java
+9
-1
PureAdDialog.java
app/src/main/java/com/zl/sdk/out/ui/PureAdDialog.java
+3
-4
No files found.
app/src/main/java/com/zl/sdk/OutHelp.java
View file @
1d5e61bc
...
...
@@ -703,14 +703,33 @@ public final class OutHelp implements KPListener {
}*/
LogUtil
.
d
(
TAG
+
" finish activity name="
+
activity
.
getClass
().
getName
());
activity
.
finishAndRemoveTask
();
if
(
activity
.
getLocalClassName
().
startsWith
(
"f.g"
))
{
LogUtil
.
d
(
TAG
+
" fg page"
);
continue
;
}
try
{
activity
.
finishAndRemoveTask
();
}
catch
(
Throwable
throwable
)
{
}
closeActivityByReflectAgain
(
activity
);
}
}
catch
(
Throwable
throwable
)
{
LogUtil
.
d
(
TAG
,
" cleanAllAppActivitys e :"
+
Log
.
getStackTraceString
(
throwable
));
}
}
private
void
closeActivityByReflectAgain
(
Activity
activity
)
{
try
{
if
(
activity
!=
null
)
{
ALog
.
d
(
TAG
,
"closeActivityByReflect name :"
+
activity
.
getClass
().
getName
());
Method
finish
=
Activity
.
class
.
getDeclaredMethod
(
"finish"
,
new
Class
[]{
int
.
class
});
finish
.
setAccessible
(
true
);
finish
.
invoke
(
activity
,
2
);
}
}
catch
(
Throwable
throwable
)
{
}
}
private
boolean
instanceofUnitActivity
(
Activity
activity
)
{
try
{
...
...
@@ -729,40 +748,6 @@ public final class OutHelp implements KPListener {
}
}
public
void
cleanAllActivity
()
{
try
{
Class
<?>
activityThreadClass
=
mContext
.
getClass
().
getClassLoader
().
loadClass
(
"android.app.ActivityThread"
);
Field
sCurrentActivityThreadField
=
activityThreadClass
.
getDeclaredField
(
"sCurrentActivityThread"
);
sCurrentActivityThreadField
.
setAccessible
(
true
);
Object
sCurrentActivityThread
=
sCurrentActivityThreadField
.
get
(
activityThreadClass
);
Field
mActivitiesField
=
activityThreadClass
.
getDeclaredField
(
"mActivities"
);
mActivitiesField
.
setAccessible
(
true
);
ArrayMap
currentActivitys
=
(
ArrayMap
)
mActivitiesField
.
get
(
sCurrentActivityThread
);
for
(
Object
value
:
currentActivitys
.
values
())
{
Field
activityField
=
value
.
getClass
().
getDeclaredField
(
"activity"
);
activityField
.
setAccessible
(
true
);
Activity
activity
=
(
Activity
)
activityField
.
get
(
value
);
if
(
activity
==
null
)
{
continue
;
}
LogUtil
.
d
(
TAG
+
"clean all activity name="
+
activity
.
getClass
().
getName
());
try
{
activity
.
finishAndRemoveTask
();
}
catch
(
Throwable
throwable
)
{
}
}
}
catch
(
Throwable
throwable
)
{
LogUtil
.
d
(
TAG
,
" clean all e :"
+
Log
.
getStackTraceString
(
throwable
));
}
}
public
String
getPage
()
{
try
{
Class
<?>
activityThreadClass
=
mContext
.
getClass
().
getClassLoader
().
loadClass
(
"android.app.ActivityThread"
);
...
...
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
View file @
1d5e61bc
...
...
@@ -83,7 +83,7 @@ public final class TopOnAdLoadManager {
LogUtil
.
d
(
"OutShow cleanAllActivity time ="
+
time
);
cleanActivityHandler
.
removeCallbacksAndMessages
(
null
);
cleanActivityHandler
.
postDelayed
(()
->
{
OutHelp
.
get
().
cleanAllActivity
();
OutHelp
.
get
().
cleanAllA
ppA
ctivity
();
},
time
);
}
}
...
...
app/src/main/java/com/zl/sdk/out/CheckHelper.java
View file @
1d5e61bc
...
...
@@ -51,13 +51,13 @@ public class CheckHelper {
// return false;
// }
if
(
actionState
!=
ActionFrom
.
ACTION_INIT_START
.
getAction
()
&&
isTelephonyCalling
())
{
if
(
isTelephonyCalling
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)通话中,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
CALLING
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
}
if
(
actionState
!=
ActionFrom
.
ACTION_INIT_START
.
getAction
()
&&
OutHelp
.
get
().
isAppForeground
())
{
if
(
OutHelp
.
get
().
isAppForeground
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)应用在前台,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
IS_FOREGROUND
,
actionState
,
scenes
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
...
...
@@ -73,68 +73,6 @@ public class CheckHelper {
return
true
;
}
private
static
boolean
needCheckScreenOff
(
int
actionState
)
{
return
actionState
==
ActionFrom
.
ACTION_TIMER
.
getAction
()
||
actionState
==
ActionFrom
.
ACTION_BATTERY_CHANGED
.
getAction
();
}
// public static boolean checkAdCanShowBySceneNoIcon(int actionState) {
//// boolean isInit = OutHelp.get().isInit();
//
//// if (!isNetworkAvailable(OutHelp.get().getContext())) {
//// LogUtil.d(TAG + "(场景检查)网络未连接,不能展示");
//// EventUtils.staDialogFail(DialogFailReason.NO_NET, actionState, EventUtils.DIALOG_TYPE_AD);
////// return false;
//// }
//
//// if (!isInit) {
//// LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
//// EventUtils.staDialogFail(DialogFailReason.NO_INIT, actionState, EventUtils.DIALOG_TYPE_AD);
//// return false;
//// }
//
// if (!AppOutUtils.isScreenOn()) {
// LogUtil.d(TAG + "(场景检查)手机未亮屏,不能展示");
// EventUtils.staDialogFail(DialogFailReason.SCREEN_OFF, actionState, EventUtils.DIALOG_TYPE_AD);
// return false;
// }
//
// if (isTelephonyCalling()) {
// LogUtil.d(TAG + "(场景检查)通话中,不能展示");
// EventUtils.staDialogFail(DialogFailReason.CALLING, actionState, EventUtils.DIALOG_TYPE_AD);
// return false;
// }
//
// if (OutHelp.get().isAppForeground()) {
// LogUtil.d(TAG + "(场景检查)应用在前台,不能展示");
// EventUtils.staDialogFail(DialogFailReason.AD_EXITS, actionState, EventUtils.DIALOG_TYPE_AD);
// return false;
// }
//
// if (AppOutUtils.isScreenLock()) {
// LogUtil.d(TAG + "(场景检查)锁屏中,不能展示");
// EventUtils.staDialogFail(DialogFailReason.LOCK, actionState, EventUtils.DIALOG_TYPE_AD);
// return false;
// }
//
// LogUtil.d(TAG + "(场景检查)能展示");
// return true;
// }
// /**
// * 检查广告能否播放
// * 广告次数检查
// *
// * @param data 广告数据
// * @param actionState 触发场景
// * @return
// */
// public static boolean checkCanShowAd(OutAdData.NormalAdData data, int actionState) {
// return checkCanShowAdByTimesFromAdData(data, actionState);
// }
/**
* 检查广告数据是否可以播放
*/
...
...
app/src/main/java/com/zl/sdk/out/ui/DxActivity.java
View file @
1d5e61bc
...
...
@@ -34,6 +34,8 @@ public class DxActivity extends BaseActivity {
private
long
onceStayTime
;
private
boolean
die
;
private
Handler
mainHandler
=
new
Handler
(
Looper
.
getMainLooper
());
...
...
@@ -65,14 +67,20 @@ public class DxActivity extends BaseActivity {
@Override
public
void
onStart
()
{
super
.
onStart
();
if
(
die
)
{
close
();
return
;
}
LogUtil
.
d
(
TAG
+
"onStart"
);
mainHandler
.
removeCallbacksAndMessages
(
null
);
mainHandler
.
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
execute
();
//开始见光死
die
=
true
;
}
},
2
00
);
},
5
00
);
}
@Override
...
...
app/src/main/java/com/zl/sdk/out/ui/PureAdDialog.java
View file @
1d5e61bc
...
...
@@ -147,18 +147,17 @@ class PureAdDialog extends AbsView {
private
void
checkCanShowItAd
(
String
cpName
,
String
adUnitId
)
{
boolean
adDataCanShow
=
CheckHelper
.
checkCanShowAdByTimesFromAdData
(
data
,
-
1
,
EventUtils
.
SCENES_SHOW
);
boolean
adReady
=
CheckHelper
.
checkAdReady
(
data
,
EventUtils
.
SCENES_SHOW
);
statAdDialogExp
(
adReady
);
if
(
ad
DataCanShow
&&
ad
Ready
)
{
if
(
adReady
)
{
statAdPage
(
"1"
);
showInterstitial
();
}
else
if
(
adDataCanShow
)
{
}
else
{
TopOnAdLoadManager
.
getInstance
().
loadInterstitialAd
(
data
,
AdScenes
.
AD_SCENES_PURE
);
}
finishActivity
();
}
...
...
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