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
1709729b
Commit
1709729b
authored
Dec 01, 2023
by
xujialang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新-4
parent
d663b069
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
1074 additions
and
592 deletions
+1074
-592
mapping.txt
app/mapping.txt
+7
-7
Config.java
app/src/main/java/com/zl/sdk/Config.java
+0
-7
KPListener.java
app/src/main/java/com/zl/sdk/KPListener.java
+1
-1
OutHelp.java
app/src/main/java/com/zl/sdk/OutHelp.java
+61
-64
TopOnAdLoadManager.java
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
+2
-1
TopOnNativeAdLoad.java
...rc/main/java/com/zl/sdk/ad/natives/TopOnNativeAdLoad.java
+2
-2
EventUtils.java
app/src/main/java/com/zl/sdk/event/EventUtils.java
+40
-7
StatisticsManager.java
...n/java/com/zl/sdk/event/statistics/StatisticsManager.java
+1
-2
Utils.java
app/src/main/java/com/zl/sdk/event/statistics/Utils.java
+0
-28
IconHelp.java
app/src/main/java/com/zl/sdk/icon/IconHelp.java
+20
-51
IconStateCallBack.java
app/src/main/java/com/zl/sdk/icon/IconStateCallBack.java
+0
-10
CheckHelper.java
app/src/main/java/com/zl/sdk/out/CheckHelper.java
+67
-73
DxActivity.java
app/src/main/java/com/zl/sdk/out/DxActivity.java
+0
-67
DxManager.java
app/src/main/java/com/zl/sdk/out/DxManager.java
+77
-0
OutAdManager.java
app/src/main/java/com/zl/sdk/out/OutAdManager.java
+19
-29
AbsView.java
app/src/main/java/com/zl/sdk/out/ui/AbsView.java
+8
-0
BaseActivity.java
app/src/main/java/com/zl/sdk/out/ui/BaseActivity.java
+1
-1
DialogFactory.java
app/src/main/java/com/zl/sdk/out/ui/DialogFactory.java
+13
-0
DxActivity.java
app/src/main/java/com/zl/sdk/out/ui/DxActivity.java
+206
-0
IView.java
app/src/main/java/com/zl/sdk/out/ui/IView.java
+15
-0
WeatherPureAdDialog.java
app/src/main/java/com/zl/sdk/out/ui/WeatherPureAdDialog.java
+271
-0
DpiUtil.java
app/src/main/java/com/zl/sdk/util/DpiUtil.java
+251
-0
LogToFile.java
app/src/main/java/com/zl/sdk/util/log/LogToFile.java
+0
-236
LogToLogcat.java
app/src/main/java/com/zl/sdk/util/log/LogToLogcat.java
+12
-6
No files found.
app/mapping.txt
View file @
1709729b
...
@@ -1478,20 +1478,20 @@ com.zl.sdk.out.OutAdManager$Holder -> o.f$b:
...
@@ -1478,20 +1478,20 @@ com.zl.sdk.out.OutAdManager$Holder -> o.f$b:
1:1:void <clinit>():37:37 -> <clinit>
1:1:void <clinit>():37:37 -> <clinit>
1:1:void <init>():36:36 -> <init>
1:1:void <init>():36:36 -> <init>
1:1:com.zl.sdk.out.OutAdManager access$100():36:36 -> a
1:1:com.zl.sdk.out.OutAdManager access$100():36:36 -> a
com.zl.sdk.out.
SLK
Manager -> o.g:
com.zl.sdk.out.
Dx
Manager -> o.g:
android.content.Intent intent -> a
android.content.Intent intent -> a
java.lang.String TAG -> b
java.lang.String TAG -> b
1:1:void <init>(com.zl.sdk.out.
SLK
Manager$1):5:5 -> <init>
1:1:void <init>(com.zl.sdk.out.
Dx
Manager$1):5:5 -> <init>
2:51:void <init>():6:55 -> <init>
2:51:void <init>():6:55 -> <init>
1:1:com.zl.sdk.out.
SLK
Manager get():14:14 -> a
1:1:com.zl.sdk.out.
Dx
Manager get():14:14 -> a
2:2:void resetIntent(android.content.Intent):58:58 -> a
2:2:void resetIntent(android.content.Intent):58:58 -> a
1:1:android.content.Intent getIntent():62:62 -> b
1:1:android.content.Intent getIntent():62:62 -> b
com.zl.sdk.out.
SLK
Manager$1 -> o.g$a:
com.zl.sdk.out.
Dx
Manager$1 -> o.g$a:
com.zl.sdk.out.
SLK
Manager$Holder -> o.g$b:
com.zl.sdk.out.
Dx
Manager$Holder -> o.g$b:
com.zl.sdk.out.
SLK
Manager INSTANCE -> a
com.zl.sdk.out.
Dx
Manager INSTANCE -> a
1:1:void <clinit>():10:10 -> <clinit>
1:1:void <clinit>():10:10 -> <clinit>
1:1:void <init>():9:9 -> <init>
1:1:void <init>():9:9 -> <init>
1:1:com.zl.sdk.out.
SLK
Manager access$100():9:9 -> a
1:1:com.zl.sdk.out.
Dx
Manager access$100():9:9 -> a
com.zl.sdk.outad.BuildConfig -> p.a:
com.zl.sdk.outad.BuildConfig -> p.a:
boolean DEBUG -> a
boolean DEBUG -> a
java.lang.String BUILD_TYPE -> c
java.lang.String BUILD_TYPE -> c
...
...
app/src/main/java/com/zl/sdk/Config.java
View file @
1709729b
...
@@ -2,12 +2,5 @@ package com.zl.sdk;
...
@@ -2,12 +2,5 @@ package com.zl.sdk;
public
class
Config
{
public
class
Config
{
public
static
final
int
REMINDER_TYPE_WEATHER_PURE_AD
=
8
;
public
static
final
int
REMINDER_TYPE_WEATHER_PURE_AD
=
8
;
public
static
final
int
AD_SCENE_TYPE_NOTIFY
=
0
;
public
static
final
int
AD_SCENE_TYPE_HOME
=
1
;
public
static
final
int
AD_SCENE_TYPE_HOME
=
1
;
public
static
final
int
AD_SCENE_TYPE_LOCK
=
2
;
public
static
final
String
KEY_WEATHER_REMINDERS_INFO
=
"Extra_weather_reminders_info"
;
public
static
final
String
KEY_WEATHER_AD_DATA
=
"Extra_weather_ad_data"
;
}
}
app/src/main/java/com/zl/sdk/KPListener.java
View file @
1709729b
...
@@ -17,7 +17,7 @@ public interface KPListener {
...
@@ -17,7 +17,7 @@ public interface KPListener {
*
*
* @return
* @return
*/
*/
boolean
icon
Show
();
boolean
icon
IsHide
();
/**
/**
* 应用是否运行在前台
* 应用是否运行在前台
...
...
app/src/main/java/com/zl/sdk/OutHelp.java
View file @
1709729b
package
com
.
zl
.
sdk
;
package
com
.
zl
.
sdk
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.app.NotificationManager
;
import
android.content.BroadcastReceiver
;
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
...
@@ -8,11 +9,8 @@ import android.content.IntentFilter;
...
@@ -8,11 +9,8 @@ import android.content.IntentFilter;
import
androidx.annotation.Keep
;
import
androidx.annotation.Keep
;
import
com.blankj.utilcode.util.AppUtils
;
import
com.pgl.ssdk.C
;
import
com.zl.sdk.ad.topOn.TopOnAdManager
;
import
com.zl.sdk.ad.topOn.TopOnAdManager
;
import
com.zl.sdk.bean.AdAppInfo
;
import
com.zl.sdk.bean.AdAppInfo
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.out.ActionFrom
;
import
com.zl.sdk.out.ActionFrom
;
import
com.zl.sdk.out.DialogShowStatusCallback
;
import
com.zl.sdk.out.DialogShowStatusCallback
;
...
@@ -44,14 +42,11 @@ public final class OutHelp implements KPListener {
...
@@ -44,14 +42,11 @@ public final class OutHelp implements KPListener {
private
static
final
String
TAG
=
"OutShow OutHelp ---> "
;
private
static
final
String
TAG
=
"OutShow OutHelp ---> "
;
private
Context
mContext
=
null
;
private
Context
mContext
=
null
;
private
boolean
isDebug
=
false
;
private
boolean
isDebug
=
false
;
private
Intent
intent
=
null
;
private
String
sdkName
=
null
;
//是否第一次轮询
//是否第一次轮询
private
boolean
firstLx
=
true
;
private
boolean
firstLx
=
true
;
//外展弹窗拉起回调
private
DialogShowStatusCallback
dialogShowStatusCallback
=
null
;
/**
/**
* 初始化
* 初始化
...
@@ -61,18 +56,16 @@ public final class OutHelp implements KPListener {
...
@@ -61,18 +56,16 @@ public final class OutHelp implements KPListener {
* @param isDebug appId
* @param isDebug appId
* @param isDebug appKey
* @param isDebug appKey
*/
*/
public
void
init
(
Context
context
,
boolean
isDebug
,
String
appId
,
String
appKey
)
{
public
void
init
(
Context
context
,
boolean
isDebug
,
String
appId
,
String
appKey
,
String
sdkName
)
{
this
.
mContext
=
context
;
this
.
mContext
=
context
;
this
.
isDebug
=
isDebug
;
this
.
isDebug
=
isDebug
;
this
.
sdkName
=
sdkName
;
AdAppInfo
appInfo
=
new
AdAppInfo
(
""
,
""
);
//初始化广告SDK
//初始化广告SDK
AdAppInfo
appInfo
=
new
AdAppInfo
(
appId
,
appKey
);
TopOnAdManager
.
get
().
initSDK
(
context
,
appInfo
);
TopOnAdManager
.
get
().
initSDK
(
context
,
appInfo
);
//Icon初始化
//Icon初始化
// IcOptManager.getInstance().init(context);
IconHelp
.
get
().
init
();
IconHelp
.
get
().
init
(
context
);
//初始化触发条件
//初始化触发条件
initTriggerConditions
();
initTriggerConditions
();
}
}
...
@@ -87,7 +80,7 @@ public final class OutHelp implements KPListener {
...
@@ -87,7 +80,7 @@ public final class OutHelp implements KPListener {
timer
.
schedule
(
new
TimerTask
()
{
timer
.
schedule
(
new
TimerTask
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
showOutAd
(
firstLx
,
null
);
showOutAd
(
firstLx
);
}
}
},
60
*
1000
);
},
60
*
1000
);
}
}
...
@@ -106,11 +99,8 @@ public final class OutHelp implements KPListener {
...
@@ -106,11 +99,8 @@ public final class OutHelp implements KPListener {
* 进入外展广告播放逻辑(解锁)
* 进入外展广告播放逻辑(解锁)
*
*
* @param actionFrom 动作来源
* @param actionFrom 动作来源
* @param callback 结果回调
*/
*/
public
void
showOutAd
(
ActionFrom
actionFrom
,
DialogShowStatusCallback
callback
)
{
public
void
showOutAd
(
ActionFrom
actionFrom
)
{
intent
=
new
Intent
(
mContext
,
);
dialogShowStatusCallback
=
callback
;
OutAdManager
.
get
().
startShowOutAd
(
actionFrom
);
OutAdManager
.
get
().
startShowOutAd
(
actionFrom
);
}
}
...
@@ -118,55 +108,33 @@ public final class OutHelp implements KPListener {
...
@@ -118,55 +108,33 @@ public final class OutHelp implements KPListener {
/**
/**
* 进入外展广告播放逻辑 (轮询)
* 进入外展广告播放逻辑 (轮询)
*
*
* @param isFirst 是否第一次检查
* @param isFirst 是否第一次检查
* @param callback 结果回调
*/
*/
private
void
showOutAd
(
boolean
isFirst
,
DialogShowStatusCallback
callback
)
{
private
void
showOutAd
(
boolean
isFirst
)
{
intent
=
new
Intent
(
mContext
,
);
dialogShowStatusCallback
=
callback
;
OutAdManager
.
get
().
checkShowOutAd
(
isFirst
);
OutAdManager
.
get
().
checkShowOutAd
(
isFirst
);
}
}
public
void
startDialogSuccess
()
{
LogUtil
.
d
(
TAG
+
"广告SLK 拉起成功"
);
try
{
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START_OK
,
""
,
,
actionState
);
}
catch
(
Throwable
throwable
)
{
}
}
// /**
// * 设置广告数据
// *
// * @param map 线上配置广告信息
// * @param defaultData 本地默认广告信息
// */
// public void setAdDataMap(Map<Integer, ArrayList<WeatherAdData.NormalAdData>> map, WeatherAdData.NormalAdData defaultData) {
// AdDataManager.get().setAdDataMap(map);
// AdDataManager.get().setDefaultData(defaultData);
// }
public
Context
getContext
()
{
public
Context
getContext
()
{
return
mContext
;
return
mContext
;
}
}
public
Intent
getIntent
()
{
return
intent
;
}
public
boolean
isDebug
()
{
public
boolean
isDebug
()
{
return
isDebug
;
return
isDebug
;
}
}
public
DialogShowStatusCallback
getDialogShowStatusCallback
()
{
public
String
getSdkName
()
{
return
dialogShowStatusCallback
;
return
sdkName
;
}
}
public
void
cleanDialogCallBack
()
{
public
void
clearNotification
()
{
dialogShowStatusCallback
=
null
;
try
{
NotificationManager
mNotificationManager
=
(
NotificationManager
)
mContext
.
getSystemService
(
Context
.
NOTIFICATION_SERVICE
);
if
(
mNotificationManager
!=
null
)
{
mNotificationManager
.
cancelAll
();
}
}
catch
(
Exception
e
)
{
}
}
}
...
@@ -196,21 +164,50 @@ public final class OutHelp implements KPListener {
...
@@ -196,21 +164,50 @@ public final class OutHelp implements KPListener {
* 反射获取icon状态
* 反射获取icon状态
*/
*/
@Override
@Override
public
boolean
iconShow
()
{
public
boolean
iconIsHide
()
{
return
false
;
try
{
Class
<?>
kpClass
=
Class
.
forName
(
"IconHelp"
);
Method
instanceMethod
=
kpClass
.
getMethod
(
"get"
);
Object
obj
=
instanceMethod
.
invoke
(
null
);
Method
isHideMethod
=
kpClass
.
getMethod
(
"isIconHided"
);
Object
isInit
=
isHideMethod
.
invoke
(
kpClass
.
cast
(
obj
));
if
(
isInit
!=
null
)
{
return
(
boolean
)
isInit
;
}
else
{
return
false
;
}
}
catch
(
ClassNotFoundException
|
InvocationTargetException
|
NoSuchMethodException
|
IllegalAccessException
e
)
{
return
false
;
}
}
}
/**
* 反射获取应用是否在前台
*
* @return
*/
@Override
@Override
public
boolean
isAppForeground
()
{
public
boolean
isAppForeground
()
{
return
AppUtils
.
isAppForeground
(
mContext
.
getPackageName
());
try
{
Class
<?>
kpClass
=
Class
.
forName
(
"FG"
);
Method
clsMethod
=
kpClass
.
getMethod
(
"isAppInFront"
);
Object
isAppInFront
=
clsMethod
.
invoke
(
null
);
if
(
isAppInFront
!=
null
)
{
return
(
boolean
)
isAppInFront
;
}
else
{
return
false
;
}
}
catch
(
ClassNotFoundException
|
InvocationTargetException
|
NoSuchMethodException
|
IllegalAccessException
e
)
{
return
false
;
}
}
}
/**
/**
* 反射调用保活拉起弹窗
* 反射调用保活拉起弹窗
*
* 动态代理获取拉起结果的回调
* @param intent
* @param callback
*/
*/
@Override
@Override
public
void
startOutDialog
(
Intent
intent
,
DialogShowStatusCallback
callback
)
{
public
void
startOutDialog
(
Intent
intent
,
DialogShowStatusCallback
callback
)
{
...
@@ -219,7 +216,7 @@ public final class OutHelp implements KPListener {
...
@@ -219,7 +216,7 @@ public final class OutHelp implements KPListener {
Method
surpriseMethod
=
fgClass
.
getMethod
(
"surprise"
);
Method
surpriseMethod
=
fgClass
.
getMethod
(
"surprise"
);
Class
<?>
startCallbackClass
=
Class
.
forName
(
"StartCallback"
);
Class
<?>
startCallbackClass
=
Class
.
forName
(
"StartCallback"
);
Constructor
constructor
=
startCallbackClass
.
getConstructor
();
Constructor
<?>
constructor
=
startCallbackClass
.
getConstructor
();
Object
callObj
=
constructor
.
newInstance
();
Object
callObj
=
constructor
.
newInstance
();
Object
newCallBack
=
Proxy
.
newProxyInstance
(
Object
newCallBack
=
Proxy
.
newProxyInstance
(
...
@@ -238,9 +235,9 @@ public final class OutHelp implements KPListener {
...
@@ -238,9 +235,9 @@ public final class OutHelp implements KPListener {
}
}
public
class
StartCallbackProxy
implements
InvocationHandler
{
public
static
class
StartCallbackProxy
implements
InvocationHandler
{
private
Object
proxyObj
;
private
final
Object
proxyObj
;
private
DialogShowStatusCallback
callback
;
private
final
DialogShowStatusCallback
callback
;
public
StartCallbackProxy
(
Object
obj
,
DialogShowStatusCallback
callback
)
{
public
StartCallbackProxy
(
Object
obj
,
DialogShowStatusCallback
callback
)
{
this
.
proxyObj
=
obj
;
this
.
proxyObj
=
obj
;
...
@@ -264,7 +261,7 @@ public final class OutHelp implements KPListener {
...
@@ -264,7 +261,7 @@ public final class OutHelp implements KPListener {
}
}
}
}
public
class
TriggerReceiver
extends
BroadcastReceiver
{
public
static
class
TriggerReceiver
extends
BroadcastReceiver
{
@Override
@Override
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
if
(
intent
==
null
)
{
if
(
intent
==
null
)
{
...
@@ -274,7 +271,7 @@ public final class OutHelp implements KPListener {
...
@@ -274,7 +271,7 @@ public final class OutHelp implements KPListener {
switch
(
action
)
{
switch
(
action
)
{
case
Intent
.
ACTION_USER_PRESENT
:
{
case
Intent
.
ACTION_USER_PRESENT
:
{
LogUtil
.
d
(
"OutShow ===>>> 解锁"
);
LogUtil
.
d
(
"OutShow ===>>> 解锁"
);
OutHelp
.
get
().
showOutAd
(
ActionFrom
.
ACTION_USER_PRESENT
,
null
);
OutHelp
.
get
().
showOutAd
(
ActionFrom
.
ACTION_USER_PRESENT
);
break
;
break
;
}
}
case
Intent
.
ACTION_SCREEN_ON
:
{
case
Intent
.
ACTION_SCREEN_ON
:
{
...
...
app/src/main/java/com/zl/sdk/ad/TopOnAdLoadManager.java
View file @
1709729b
...
@@ -34,6 +34,7 @@ import java.util.Map;
...
@@ -34,6 +34,7 @@ import java.util.Map;
public
final
class
TopOnAdLoadManager
{
public
final
class
TopOnAdLoadManager
{
public
static
final
String
TAG
=
"OutShow TopOnAdLoadManager"
;
public
static
final
String
TAG
=
"OutShow TopOnAdLoadManager"
;
public
static
final
String
REGISTER_TAG_WEATHER_PURE_AD
=
"WeatherPureAdDialog"
;
private
Context
mContext
;
private
Context
mContext
;
private
final
HashMap
<
String
,
AdCacheData
>
adCacheDataMap
=
new
HashMap
<>();
private
final
HashMap
<
String
,
AdCacheData
>
adCacheDataMap
=
new
HashMap
<>();
...
@@ -62,7 +63,7 @@ public final class TopOnAdLoadManager {
...
@@ -62,7 +63,7 @@ public final class TopOnAdLoadManager {
//加载成功,调用播放纯广告逻辑
//加载成功,调用播放纯广告逻辑
LogUtil
.
d
(
TAG
+
"doWork 222"
);
LogUtil
.
d
(
TAG
+
"doWork 222"
);
OutAdManager
.
get
().
doWork
(
ActionFrom
.
ACTION_UNKNOWN
);
OutAdManager
.
get
().
doWork
(
ActionFrom
.
ACTION_UNKNOWN
);
},
IconHelp
.
get
().
isIconHide
d
()
?
0
:
1000
);
},
IconHelp
.
get
().
isIconHide
()
?
0
:
1000
);
}
}
@Override
@Override
...
...
app/src/main/java/com/zl/sdk/ad/natives/TopOnNativeAdLoad.java
View file @
1709729b
...
@@ -12,12 +12,12 @@ import com.anythink.nativead.api.ATNativeEventListener;
...
@@ -12,12 +12,12 @@ import com.anythink.nativead.api.ATNativeEventListener;
import
com.anythink.nativead.api.ATNativeNetworkListener
;
import
com.anythink.nativead.api.ATNativeNetworkListener
;
import
com.anythink.nativead.api.ATNativePrepareInfo
;
import
com.anythink.nativead.api.ATNativePrepareInfo
;
import
com.anythink.nativead.api.NativeAd
;
import
com.anythink.nativead.api.NativeAd
;
import
com.blankj.utilcode.util.ScreenUtils
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.ad.AdBean
;
import
com.zl.sdk.ad.AdBean
;
import
com.zl.sdk.event.AdsParamsInfo
;
import
com.zl.sdk.event.AdsParamsInfo
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.ReportBean
;
import
com.zl.sdk.event.ReportBean
;
import
com.zl.sdk.util.DpiUtil
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -141,7 +141,7 @@ public class TopOnNativeAdLoad {
...
@@ -141,7 +141,7 @@ public class TopOnNativeAdLoad {
});
});
Map
<
String
,
Object
>
localMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
localMap
=
new
HashMap
<>();
localMap
.
put
(
ATAdConst
.
KEY
.
AD_WIDTH
,
ScreenUtils
.
getScreenWidth
()
-
dip2px
(
context
,
20
));
//单位:px,期望展示广告的宽度
localMap
.
put
(
ATAdConst
.
KEY
.
AD_WIDTH
,
DpiUtil
.
getScreenWidth
()
-
dip2px
(
context
,
20
));
//单位:px,期望展示广告的宽度
localMap
.
put
(
ATAdConst
.
KEY
.
AD_HEIGHT
,
dip2px
(
context
,
300
));
//单位:px,期望展示广告的高度
localMap
.
put
(
ATAdConst
.
KEY
.
AD_HEIGHT
,
dip2px
(
context
,
300
));
//单位:px,期望展示广告的高度
atNative
.
setLocalExtra
(
localMap
);
atNative
.
setLocalExtra
(
localMap
);
atNative
.
makeAdRequest
();
atNative
.
makeAdRequest
();
...
...
app/src/main/java/com/zl/sdk/event/EventUtils.java
View file @
1709729b
...
@@ -4,7 +4,10 @@ import android.os.Build;
...
@@ -4,7 +4,10 @@ import android.os.Build;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
com.zl.sdk.Config
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
...
@@ -40,7 +43,9 @@ public final class EventUtils {
...
@@ -40,7 +43,9 @@ public final class EventUtils {
public
static
final
String
SLK_SW_CLOSE
=
"swClose"
;
public
static
final
String
SLK_SW_CLOSE
=
"swClose"
;
public
static
final
String
DIALOG_TYPE_AD
=
"ad"
;
public
static
final
String
DIALOG_TYPE_AD
=
"ad"
;
public
static
final
String
OUT_DIALOG_EXPOSE_ONCE_STAY_TIME
=
"out_dialog_ex_s_t"
;
public
static
final
String
OUT_DIALOG_ONLY_AD_FAIL
=
"out_dialog_ad_fail"
;
public
static
final
String
REMINDER_DIALOG_FG_SURPRISE_START
=
"reminder_dg_fg_surprise_start"
;
public
static
final
String
REMINDER_DIALOG_FG_SURPRISE_START
=
"reminder_dg_fg_surprise_start"
;
...
@@ -50,7 +55,7 @@ public final class EventUtils {
...
@@ -50,7 +55,7 @@ public final class EventUtils {
map
.
put
(
"reason"
,
reason
.
name
().
toLowerCase
());
map
.
put
(
"reason"
,
reason
.
name
().
toLowerCase
());
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"type"
,
type
);
map
.
put
(
"type"
,
type
);
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_FAIL
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_FAIL
,
""
,
map
);
}
}
...
@@ -59,7 +64,7 @@ public final class EventUtils {
...
@@ -59,7 +64,7 @@ public final class EventUtils {
map
.
put
(
"isLock"
,
isLock
?
"1"
:
"0"
);
map
.
put
(
"isLock"
,
isLock
?
"1"
:
"0"
);
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"type"
,
type
);
map
.
put
(
"type"
,
type
);
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_SCREEN_LOCK
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_SCREEN_LOCK
,
""
,
map
);
}
}
...
@@ -67,7 +72,7 @@ public final class EventUtils {
...
@@ -67,7 +72,7 @@ public final class EventUtils {
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"action"
,
String
.
valueOf
(
actionState
));
map
.
put
(
"type"
,
type
);
map
.
put
(
"type"
,
type
);
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_LOCK_SECURE
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_LOCK_SECURE
,
""
,
map
);
}
}
...
@@ -85,6 +90,34 @@ public final class EventUtils {
...
@@ -85,6 +90,34 @@ public final class EventUtils {
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_LOCK_TRRIGER
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_LOCK_TRRIGER
,
""
,
map
);
}
}
public
static
void
statOutOnlyAdFail
(
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
,
String
reason
)
{
if
(
remindersInfo
==
null
||
data
==
null
)
{
return
;
}
String
adType
=
data
.
cpAdtype
;
if
(
TextUtils
.
isEmpty
(
adType
))
{
return
;
}
String
type
=
""
;
if
(
adType
.
equals
(
WeatherAdData
.
CP_AD_TYPE_BANNER
))
{
type
=
"banner"
;
}
else
if
(
adType
.
equals
(
WeatherAdData
.
CP_AD_TYPE_NATIVE
))
{
type
=
"native"
;
}
else
if
(
adType
.
equals
(
WeatherAdData
.
CP_AD_TYPE_CHAPING
))
{
type
=
"interstitial"
;
}
String
scene
=
"home"
;
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"adUnitId"
,
data
.
cpAdslot
);
map
.
put
(
"ad_type"
,
type
);
map
.
put
(
"ad_scenes"
,
scene
);
map
.
put
(
"ad_msg_error"
,
TextUtils
.
isEmpty
(
reason
)
?
"unknown"
:
reason
);
Statistics
.
getInstance
().
onEvent
(
OutHelp
.
get
().
getContext
(),
OUT_DIALOG_ONLY_AD_FAIL
,
""
,
map
);
}
//广告事件
//广告事件
public
static
void
statAdRequest
(
ReportBean
bean
)
{
public
static
void
statAdRequest
(
ReportBean
bean
)
{
...
@@ -169,7 +202,7 @@ public final class EventUtils {
...
@@ -169,7 +202,7 @@ public final class EventUtils {
map
.
put
(
"type"
,
"out"
);
map
.
put
(
"type"
,
"out"
);
map
.
put
(
"reason"
,
exception
);
map
.
put
(
"reason"
,
exception
);
map
.
put
(
"os"
,
getOSVersion
());
map
.
put
(
"os"
,
getOSVersion
());
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
map
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
map
.
put
(
"osLevel"
,
String
.
valueOf
(
getSdkInt
()));
map
.
put
(
"osLevel"
,
String
.
valueOf
(
getSdkInt
()));
map
.
put
(
"ad_ready"
,
false
);
map
.
put
(
"ad_ready"
,
false
);
map
.
put
(
"ad_action"
,
String
.
valueOf
(
isAdReady
));
map
.
put
(
"ad_action"
,
String
.
valueOf
(
isAdReady
));
...
@@ -180,8 +213,8 @@ public final class EventUtils {
...
@@ -180,8 +213,8 @@ public final class EventUtils {
//轮询外展广告
//轮询外展广告
public
static
void
statTimeTriggle
()
{
public
static
void
statTimeTriggle
()
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"type"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
map
.
put
(
"type"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
// map.put("init", String.valueOf(KplvManager.getInstance().is
Init()));
map
.
put
(
"init"
,
String
.
valueOf
(
IconHelp
.
get
().
isKp
Init
()));
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
"time_trig"
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
"time_trig"
,
""
,
map
);
}
}
...
@@ -214,7 +247,7 @@ public final class EventUtils {
...
@@ -214,7 +247,7 @@ public final class EventUtils {
hashMap
.
put
(
AdsParamsInfo
.
AD_CURRENCYCode
,
bean
.
currencyCode
);
hashMap
.
put
(
AdsParamsInfo
.
AD_CURRENCYCode
,
bean
.
currencyCode
);
hashMap
.
put
(
AdsParamsInfo
.
AD_VALUEMICROS
,
String
.
valueOf
(
bean
.
valueMicros
));
hashMap
.
put
(
AdsParamsInfo
.
AD_VALUEMICROS
,
String
.
valueOf
(
bean
.
valueMicros
));
hashMap
.
put
(
AdsParamsInfo
.
AD_SCENES
,
bean
.
ad_scenes
);
hashMap
.
put
(
AdsParamsInfo
.
AD_SCENES
,
bean
.
ad_scenes
);
hashMap
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
d
()));
hashMap
.
put
(
"hide"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHide
()));
if
(!
TextUtils
.
isEmpty
(
bean
.
eventid
))
{
if
(!
TextUtils
.
isEmpty
(
bean
.
eventid
))
{
if
(!
bean
.
eventid
.
equals
(
AdsParamsInfo
.
F_REQUEST
))
{
if
(!
bean
.
eventid
.
equals
(
AdsParamsInfo
.
F_REQUEST
))
{
hashMap
.
put
(
AdsParamsInfo
.
SOURCE
,
bean
.
source
);
hashMap
.
put
(
AdsParamsInfo
.
SOURCE
,
bean
.
source
);
...
...
app/src/main/java/com/zl/sdk/event/statistics/StatisticsManager.java
View file @
1709729b
...
@@ -3,7 +3,6 @@ package com.zl.sdk.event.statistics;
...
@@ -3,7 +3,6 @@ package com.zl.sdk.event.statistics;
import
android.content.Context
;
import
android.content.Context
;
import
android.net.NetworkInfo
;
import
android.net.NetworkInfo
;
import
com.blankj.utilcode.util.ObjectUtils
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
...
@@ -224,7 +223,7 @@ public class StatisticsManager {
...
@@ -224,7 +223,7 @@ public class StatisticsManager {
NetworkInfo
info
=
Utils
.
getNetworkInfo
(
context
);
NetworkInfo
info
=
Utils
.
getNetworkInfo
(
context
);
String
net
=
info
==
null
?
""
:
info
.
getTypeName
();
String
net
=
info
==
null
?
""
:
info
.
getTypeName
();
map
.
put
(
StatisticsKey
.
NETWORK
,
net
);
map
.
put
(
StatisticsKey
.
NETWORK
,
net
);
if
(
ObjectUtils
.
isNotEmpty
(
dataMap
))
{
if
(
dataMap
!=
null
&&
!
dataMap
.
isEmpty
(
))
{
map
.
putAll
(
dataMap
);
map
.
putAll
(
dataMap
);
}
}
return
map
;
return
map
;
...
...
app/src/main/java/com/zl/sdk/event/statistics/Utils.java
View file @
1709729b
...
@@ -11,8 +11,6 @@ import android.util.DisplayMetrics;
...
@@ -11,8 +11,6 @@ import android.util.DisplayMetrics;
import
android.view.Display
;
import
android.view.Display
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
com.blankj.utilcode.util.LogUtils
;
import
java.io.Closeable
;
import
java.io.Closeable
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
...
@@ -188,32 +186,6 @@ public class Utils {
...
@@ -188,32 +186,6 @@ public class Utils {
return
""
;
return
""
;
}
}
public
static
Bitmap
getMediaBitmap
(
Bitmap
bitmap
,
int
mediaWidth
,
int
mediaHeight
)
{
int
width
=
bitmap
.
getWidth
();
int
height
=
bitmap
.
getHeight
();
if
(
width
<=
mediaWidth
||
height
<=
mediaHeight
)
{
LogUtils
.
d
(
TAG
,
"width = "
+
width
+
", height = "
+
height
);
return
bitmap
;
}
else
{
int
w
;
int
h
;
int
a
=
width
*
mediaHeight
;
int
b
=
height
*
mediaWidth
;
if
(
a
==
b
)
{
w
=
mediaWidth
;
h
=
mediaHeight
;
}
else
if
(
a
>
b
)
{
w
=
a
/
height
;
h
=
mediaHeight
;
}
else
{
w
=
mediaWidth
;
h
=
b
/
width
;
}
LogUtils
.
d
(
TAG
,
"width = "
+
width
+
", height = "
+
height
+
", w = "
+
w
+
", h = "
+
h
);
return
Bitmap
.
createScaledBitmap
(
bitmap
,
w
,
h
,
true
);
}
}
/**
/**
* 打印当前线程的调用堆栈
* 打印当前线程的调用堆栈
...
...
app/src/main/java/com/zl/sdk/icon/IconHelp.java
View file @
1709729b
package
com
.
zl
.
sdk
.
icon
;
package
com
.
zl
.
sdk
.
icon
;
import
android.app.NotificationManager
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.bean.IconAdConfig
;
import
com.zl.sdk.bean.IconAdConfig
;
import
com.zl.sdk.bean.IconOpt
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.SPUtils
;
import
com.zl.sdk.util.SPUtils
;
...
@@ -29,6 +26,7 @@ public class IconHelp {
...
@@ -29,6 +26,7 @@ public class IconHelp {
//icon是否可见
//icon是否可见
private
volatile
boolean
iconHide
=
false
;
private
volatile
boolean
iconHide
=
false
;
private
volatile
boolean
kpInit
=
false
;
//重试间隔时间 默认20秒
//重试间隔时间 默认20秒
private
long
retryShowAdTime
=
20
*
1000L
;
private
long
retryShowAdTime
=
20
*
1000L
;
...
@@ -52,8 +50,8 @@ public class IconHelp {
...
@@ -52,8 +50,8 @@ public class IconHelp {
}
}
public
void
init
(
Context
context
)
{
public
void
init
()
{
iconHide
=
!
OutHelp
.
get
().
iconShow
();
iconHide
=
OutHelp
.
get
().
iconIsHide
();
LogUtil
.
d
(
TAG
+
"检查icon状态: iconHide="
+
iconHide
);
LogUtil
.
d
(
TAG
+
"检查icon状态: iconHide="
+
iconHide
);
if
(
iconHide
)
{
if
(
iconHide
)
{
...
@@ -61,14 +59,28 @@ public class IconHelp {
...
@@ -61,14 +59,28 @@ public class IconHelp {
}
}
}
}
public
boolean
isIconHide
()
{
return
iconHide
;
}
public
boolean
isKpInit
()
{
return
kpInit
;
}
public
void
setKpInit
(
boolean
kpInit
)
{
this
.
kpInit
=
kpInit
;
}
/**
/**
* 隐藏icon
* icon状态变化
* 先判断条件
*/
*/
public
void
changeIconState
(
boolean
isHide
)
{
public
void
changeIconState
(
boolean
isHide
)
{
if
(
iconHide
==
isHide
)
{
return
;
}
iconHide
=
isHide
;
iconHide
=
isHide
;
LogUtil
.
d
(
TAG
+
"检查icon状态:
设置为是否可见
iconHide="
+
iconHide
);
LogUtil
.
d
(
TAG
+
"检查icon状态:iconHide="
+
iconHide
);
if
(
iconHide
)
{
if
(
iconHide
)
{
iconHadHide
();
iconHadHide
();
...
@@ -82,40 +94,9 @@ public class IconHelp {
...
@@ -82,40 +94,9 @@ public class IconHelp {
}
}
}
}
public
void
clearNotification
()
{
try
{
NotificationManager
mNotificationManager
=
(
NotificationManager
)
OutHelp
.
get
().
getContext
().
getSystemService
(
Context
.
NOTIFICATION_SERVICE
);
if
(
mNotificationManager
!=
null
)
{
mNotificationManager
.
cancelAll
();
}
}
catch
(
Exception
e
)
{
}
}
private
static
final
String
PREF_FILE_NAME
=
"NetWeatherConfig"
;
private
static
final
String
PREF_FILE_NAME
=
"NetWeatherConfig"
;
private
static
final
String
KEY_WEATHER_HIDE_SHOW_ICON
=
"h_s_Icon_new"
;
private
static
final
String
KEY_WEATHER_HIDE_SHOW_ICON_AD_CONFIG
=
"h_s_Icon_Ad_Config"
;
private
static
final
String
KEY_WEATHER_HIDE_SHOW_ICON_AD_CONFIG
=
"h_s_Icon_Ad_Config"
;
public
IconOpt
getIconOptObj
()
{
IconOpt
iconOpt
=
null
;
String
json
=
SPUtils
.
getInstance
(
OutHelp
.
get
().
getContext
(),
PREF_FILE_NAME
).
getString
(
KEY_WEATHER_HIDE_SHOW_ICON
,
""
);
if
(
TextUtils
.
isEmpty
(
json
))
{
return
null
;
}
try
{
JSONObject
jsonObject
=
new
JSONObject
(
json
);
iconOpt
=
new
IconOpt
();
iconOpt
.
hide_sw
=
jsonObject
.
optInt
(
"hide_sw"
);
iconOpt
.
hide_interval_time
=
jsonObject
.
optInt
(
"hide_interval_time"
);
iconOpt
.
is_screen_off
=
jsonObject
.
optBoolean
(
"is_screen_off"
);
}
catch
(
Exception
e
)
{
}
LogUtil
.
d
(
"get icon config:"
+
iconOpt
);
return
iconOpt
;
}
private
IconAdConfig
getIconAdConfigObj
()
{
private
IconAdConfig
getIconAdConfigObj
()
{
IconAdConfig
iconOpt
=
null
;
IconAdConfig
iconOpt
=
null
;
String
json
=
SPUtils
.
getInstance
(
OutHelp
.
get
().
getContext
(),
PREF_FILE_NAME
).
getString
(
KEY_WEATHER_HIDE_SHOW_ICON_AD_CONFIG
,
""
);
String
json
=
SPUtils
.
getInstance
(
OutHelp
.
get
().
getContext
(),
PREF_FILE_NAME
).
getString
(
KEY_WEATHER_HIDE_SHOW_ICON_AD_CONFIG
,
""
);
...
@@ -143,17 +124,5 @@ public class IconHelp {
...
@@ -143,17 +124,5 @@ public class IconHelp {
IconHelp
.
get
().
setRetryShowAdCount
(
adConfig
.
retry_times
);
IconHelp
.
get
().
setRetryShowAdCount
(
adConfig
.
retry_times
);
IconHelp
.
get
().
setRetryShowAdTime
(
adConfig
.
retry_interval_time
*
1000L
);
IconHelp
.
get
().
setRetryShowAdTime
(
adConfig
.
retry_interval_time
*
1000L
);
}
}
//移除所有应用内界面
// LaunchStart.getInstance().cleanAllActivityExcludeAds();
//移除所有SLKActivity
// SLKManager.get().removeAllSLKActivity();
//删除所有通知消息
// clearNotification();
}
public
boolean
isIconHided
()
{
return
iconHide
;
}
}
}
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/icon/IconStateCallBack.java
deleted
100644 → 0
View file @
d663b069
package
com
.
zl
.
sdk
.
icon
;
public
interface
IconStateCallBack
{
/**
* icon状态
*
* @param isShow true 显示 false 隐藏
*/
void
iconState
(
boolean
isShow
);
}
app/src/main/java/com/zl/sdk/out/CheckHelper.java
View file @
1709729b
package
com
.
zl
.
sdk
.
out
;
package
com
.
zl
.
sdk
.
out
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Context
;
import
android.media.AudioManager
;
import
android.media.AudioManager
;
import
android.net.ConnectivityManager
;
import
android.net.NetworkInfo
;
import
android.text.format.DateUtils
;
import
android.text.format.DateUtils
;
import
com.anythink.expressad.reward.player.ATRewardVideoActivity
;
import
com.applovin.adview.AppLovinFullscreenActivity
;
import
com.applovin.adview.AppLovinFullscreenThemedActivity
;
import
com.applovin.sdk.AppLovinWebViewActivity
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.bytedance.sdk.openadsdk.activity.TTFullScreenExpressVideoActivity
;
import
com.bytedance.sdk.openadsdk.activity.TTFullScreenVideoActivity
;
import
com.bytedance.sdk.openadsdk.activity.TTInterstitialActivity
;
import
com.mbridge.msdk.reward.player.MBRewardVideoActivity
;
import
com.vungle.ads.internal.ui.VungleActivity
;
import
com.blankj.utilcode.util.NetworkUtils
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.DialogFailReason
;
import
com.zl.sdk.event.DialogFailReason
;
import
com.zl.sdk.
icon.IconHelp
;
import
com.zl.sdk.
event.EventUtils
;
import
com.zl.sdk.util.AppOutUtils
;
import
com.zl.sdk.util.AppOutUtils
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
...
@@ -34,33 +23,31 @@ public class CheckHelper {
...
@@ -34,33 +23,31 @@ public class CheckHelper {
* 解锁/回到桌面 触发展示的外展广告
* 解锁/回到桌面 触发展示的外展广告
*/
*/
public
static
boolean
checkAdCanShowByScene
(
int
actionState
)
{
public
static
boolean
checkAdCanShowByScene
(
int
actionState
)
{
// boolean isInit = KplvManager.getInstance().isInit();
boolean
isInit
=
OutHelp
.
get
().
isInit
();
// if (!isInit) {
if
(!
isInit
)
{
// LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
LogUtil
.
d
(
TAG
+
"(场景检查)保活未初始化,不能展示"
);
// EventUtils.staDialogFail(DialogFailReason.NO_INIT, actionState, EventUtils.DIALOG_TYPE_AD);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_INIT
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
// return false;
return
false
;
// }
}
//TODO 放在外面判断
// if (SLK
Manager.get().existAppOutActivities()) {
if
(
Dx
Manager
.
get
().
existAppOutActivities
())
{
//
LogUtil.d(TAG + "(场景检查)存在外展弹窗,不能展示");
LogUtil
.
d
(
TAG
+
"(场景检查)存在外展弹窗,不能展示"
);
//
EventUtils.staDialogFail(DialogFailReason.EXIST_OUT, actionState, EventUtils.DIALOG_TYPE_AD);
EventUtils
.
staDialogFail
(
DialogFailReason
.
EXIST_OUT
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
//
return false;
return
false
;
//
}
}
if
(!
NetworkUtils
.
isConnected
(
))
{
if
(!
isNetworkAvailable
(
OutHelp
.
get
().
getContext
()
))
{
LogUtil
.
d
(
TAG
+
"(场景检查)网络未连接,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)网络未连接,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_NET
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_NET
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
}
}
// if (FG.isAppInFront
()) {
if
(
OutHelp
.
get
().
isAppForeground
())
{
//
LogUtil.d(TAG + "(场景检查)应用在前台,不能展示");
LogUtil
.
d
(
TAG
+
"(场景检查)应用在前台,不能展示"
);
//
EventUtils.staDialogFail(DialogFailReason.IS_FOREGROUND, actionState, EventUtils.DIALOG_TYPE_AD);
EventUtils
.
staDialogFail
(
DialogFailReason
.
IS_FOREGROUND
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
//
return false;
return
false
;
//
}
}
if
(!
AppOutUtils
.
isScreenOn
())
{
if
(!
AppOutUtils
.
isScreenOn
())
{
LogUtil
.
d
(
TAG
+
"(场景检查)手机未亮屏,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)手机未亮屏,不能展示"
);
...
@@ -95,14 +82,14 @@ public class CheckHelper {
...
@@ -95,14 +82,14 @@ public class CheckHelper {
}
}
public
static
boolean
checkAdCanShowBySceneNoIcon
(
int
actionState
)
{
public
static
boolean
checkAdCanShowBySceneNoIcon
(
int
actionState
)
{
// boolean isInit = KplvManager.getInstance
().isInit();
boolean
isInit
=
OutHelp
.
get
().
isInit
();
//
if (!isInit) {
if
(!
isInit
)
{
//
LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
LogUtil
.
d
(
TAG
+
"(场景检查)保活未初始化,不能展示"
);
//
EventUtils.staDialogFail(DialogFailReason.NO_INIT, actionState, EventUtils.DIALOG_TYPE_AD);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_INIT
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
//
return false;
return
false
;
//
}
}
if
(!
NetworkUtils
.
isConnected
(
))
{
if
(!
isNetworkAvailable
(
OutHelp
.
get
().
getContext
()
))
{
LogUtil
.
d
(
TAG
+
"(场景检查)网络未连接,不能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)网络未连接,不能展示"
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_NET
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
EventUtils
.
staDialogFail
(
DialogFailReason
.
NO_NET
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
return
false
;
return
false
;
...
@@ -126,41 +113,42 @@ public class CheckHelper {
...
@@ -126,41 +113,42 @@ public class CheckHelper {
return
false
;
return
false
;
}
}
// if (checkTopActivityIsAd() && KplvManager.getInstance().isAppFront()) {
// checkTopActivityIsAd()
// LogUtil.d(TAG + "(场景检查)广告播放中,不能展示");
if
(
OutHelp
.
get
().
isAppForeground
())
{
// EventUtils.staDialogFail(DialogFailReason.AD_EXITS, actionState, EventUtils.DIALOG_TYPE_AD);
LogUtil
.
d
(
TAG
+
"(场景检查)广告播放中,不能展示"
);
// return false;
EventUtils
.
staDialogFail
(
DialogFailReason
.
AD_EXITS
,
actionState
,
EventUtils
.
DIALOG_TYPE_AD
);
// }
return
false
;
}
LogUtil
.
d
(
TAG
+
"(场景检查)能展示"
);
LogUtil
.
d
(
TAG
+
"(场景检查)能展示"
);
return
true
;
return
true
;
}
}
/**
//
/**
* 检查顶层activity是否是广告的页面
//
* 检查顶层activity是否是广告的页面
*
//
*
* @return
//
* @return
*/
//
*/
private
static
boolean
checkTopActivityIsAd
()
{
//
private static boolean checkTopActivityIsAd() {
Activity
topActivity
=
ActivityUtils
.
getTopActivity
();
//
Activity topActivity = ActivityUtils.getTopActivity();
if
(
topActivity
!=
null
)
{
//
if (topActivity != null) {
return
topActivity
instanceof
TTFullScreenVideoActivity
//
return topActivity instanceof TTFullScreenVideoActivity
||
topActivity
instanceof
TTFullScreenExpressVideoActivity
//
|| topActivity instanceof TTFullScreenExpressVideoActivity
||
topActivity
instanceof
TTInterstitialActivity
//
|| topActivity instanceof TTInterstitialActivity
//applovin
//
//applovin
||
topActivity
instanceof
AppLovinFullscreenActivity
//
|| topActivity instanceof AppLovinFullscreenActivity
||
topActivity
instanceof
AppLovinFullscreenThemedActivity
//
|| topActivity instanceof AppLovinFullscreenThemedActivity
||
topActivity
instanceof
AppLovinWebViewActivity
//
|| topActivity instanceof AppLovinWebViewActivity
//TopOn
//
//TopOn
||
topActivity
instanceof
ATRewardVideoActivity
//
|| topActivity instanceof ATRewardVideoActivity
//Vungle
//
//Vungle
||
topActivity
instanceof
VungleActivity
//
|| topActivity instanceof VungleActivity
//M
//
//M
||
topActivity
instanceof
MBRewardVideoActivity
;
//
|| topActivity instanceof MBRewardVideoActivity;
}
//
}
return
false
;
//
return false;
}
//
}
public
static
boolean
isUserPhone
()
{
public
static
boolean
isUserPhone
()
{
...
@@ -200,7 +188,7 @@ public class CheckHelper {
...
@@ -200,7 +188,7 @@ public class CheckHelper {
long
spaceTime
;
long
spaceTime
;
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
spaceTime
=
data
.
intervalHide
*
DateUtils
.
SECOND_IN_MILLIS
;
spaceTime
=
data
.
intervalHide
*
DateUtils
.
SECOND_IN_MILLIS
;
LogUtil
.
d
(
TAG
+
"(次数检查)间隔时间(icon隐藏)="
+
spaceTime
);
LogUtil
.
d
(
TAG
+
"(次数检查)间隔时间(icon隐藏)="
+
spaceTime
);
}
else
{
}
else
{
...
@@ -227,7 +215,7 @@ public class CheckHelper {
...
@@ -227,7 +215,7 @@ public class CheckHelper {
AppOutSP
.
saveHomeInterstitialAdDayShowCount
(
0
);
AppOutSP
.
saveHomeInterstitialAdDayShowCount
(
0
);
}
}
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
if
(
homeDayShowCount
>=
data
.
showTimeHide
)
{
if
(
homeDayShowCount
>=
data
.
showTimeHide
)
{
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 当前次数="
+
homeDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)总次数 (icon隐藏) 当前次数="
+
homeDayShowCount
);
...
@@ -245,7 +233,7 @@ public class CheckHelper {
...
@@ -245,7 +233,7 @@ public class CheckHelper {
}
}
}
}
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
if
(
WeatherAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
data
.
cpAdtype
)
&&
(
homeNativeAdDayShowCount
>=
data
.
showTimesHideForAdId
))
{
if
(
WeatherAdData
.
CP_AD_TYPE_NATIVE
.
equals
(
data
.
cpAdtype
)
&&
(
homeNativeAdDayShowCount
>=
data
.
showTimesHideForAdId
))
{
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 当前次数="
+
homeNativeAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)原生 (icon隐藏) 当前次数="
+
homeNativeAdDayShowCount
);
...
@@ -263,7 +251,7 @@ public class CheckHelper {
...
@@ -263,7 +251,7 @@ public class CheckHelper {
}
}
}
}
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
if
(
WeatherAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
)
&&
(
homeInterstitialAdDayShowCount
>=
data
.
showTimesHideForAdId
))
{
if
(
WeatherAdData
.
CP_AD_TYPE_CHAPING
.
equals
(
data
.
cpAdtype
)
&&
(
homeInterstitialAdDayShowCount
>=
data
.
showTimesHideForAdId
))
{
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 超过播放次数"
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
LogUtil
.
d
(
TAG
+
"(次数检查)插屏 (icon隐藏) 当前次数="
+
homeInterstitialAdDayShowCount
);
...
@@ -324,4 +312,10 @@ public class CheckHelper {
...
@@ -324,4 +312,10 @@ public class CheckHelper {
LogUtil
.
d
(
"监听是否在通话中 Calling="
+
calling
);
LogUtil
.
d
(
"监听是否在通话中 Calling="
+
calling
);
return
calling
;
return
calling
;
}
}
public
static
boolean
isNetworkAvailable
(
final
Context
context
)
{
ConnectivityManager
connectivityManager
=
(
ConnectivityManager
)
context
.
getSystemService
(
Context
.
CONNECTIVITY_SERVICE
);
NetworkInfo
activeNetworkInfo
=
connectivityManager
.
getActiveNetworkInfo
();
return
activeNetworkInfo
!=
null
&&
activeNetworkInfo
.
isConnected
();
}
}
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/out/DxActivity.java
deleted
100644 → 0
View file @
d663b069
package
com
.
zl
.
sdk
.
out
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.KeyEvent
;
public
class
DxActivity
extends
BaseActivity
{
public
DxActivity
(
Activity
activity
)
{
super
(
activity
);
}
@Override
public
void
onBeforeCreate
(
Bundle
bundle
)
{
}
@Override
public
void
onAfterCreate
(
Bundle
bundle
)
{
}
@Override
public
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
}
@Override
public
void
onStart
()
{
super
.
onStart
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
}
@Override
public
void
onPause
()
{
super
.
onPause
();
}
@Override
public
void
onStop
()
{
super
.
onStop
();
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
}
@Override
public
boolean
onKeyDown
(
int
i
,
KeyEvent
keyEvent
)
{
return
false
;
}
@Override
public
void
finish
()
{
}
@Override
public
boolean
beforeBackPressed
()
{
return
false
;
}
}
app/src/main/java/com/zl/sdk/out/
SLK
Manager.java
→
app/src/main/java/com/zl/sdk/out/
Dx
Manager.java
View file @
1709729b
package
com
.
zl
.
sdk
.
out
;
package
com
.
zl
.
sdk
.
out
;
import
android.content.Intent
;
import
android.app.Activity
;
import
android.os.Build
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.bean.WeatherAdData
;
public
class
SLKManager
{
import
java.util.Stack
;
private
SLKManager
()
{
public
class
DxManager
{
private
DxManager
()
{
}
}
private
static
class
Holder
{
private
static
class
Holder
{
private
static
final
SLKManager
INSTANCE
=
new
SLK
Manager
();
private
static
final
DxManager
INSTANCE
=
new
Dx
Manager
();
}
}
public
static
SLK
Manager
get
()
{
public
static
Dx
Manager
get
()
{
return
SLK
Manager
.
Holder
.
INSTANCE
;
return
Dx
Manager
.
Holder
.
INSTANCE
;
}
}
private
static
final
String
TAG
=
"OutShow
SLK
Manager --> "
;
private
static
final
String
TAG
=
"OutShow
Dx
Manager --> "
;
private
RemindersInfo
outRemindersInfo
=
null
;
private
RemindersInfo
outRemindersInfo
=
null
;
...
@@ -40,39 +43,35 @@ public class SLKManager {
...
@@ -40,39 +43,35 @@ public class SLKManager {
}
}
// private final Stack<Activity> appOutActivities = new Stack<Activity>();
private
final
Stack
<
Activity
>
appOutActivities
=
new
Stack
<
Activity
>();
//
//
// public boolean existAppOutActivities() {
public
boolean
existAppOutActivities
()
{
// return !appOutActivities.isEmpty();
return
!
appOutActivities
.
isEmpty
();
// }
}
//
// public Stack<Activity> getAppOutActivities() {
public
Stack
<
Activity
>
getAppOutActivities
()
{
// return appOutActivities;
return
appOutActivities
;
// }
}
//
//
// public void addActivity(Activity activity) {
public
void
addActivity
(
Activity
activity
)
{
// appOutActivities.push(activity);
appOutActivities
.
push
(
activity
);
// }
}
//
// public void removeActivity(Activity activity) {
public
void
removeActivity
(
Activity
activity
)
{
// appOutActivities.remove(activity);
appOutActivities
.
remove
(
activity
);
// }
}
//
// public void removeAllSLKActivity() {
public
void
removeAllSLKActivity
()
{
// if (appOutActivities.isEmpty()) {
if
(
appOutActivities
.
isEmpty
())
{
// return;
return
;
// }
}
//
// for (Activity activity : appOutActivities) {
for
(
Activity
activity
:
appOutActivities
)
{
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity
.
finishAndRemoveTask
();
// activity.finishAndRemoveTask();
}
// } else {
// activity.finish();
appOutActivities
.
clear
();
// }
}
// }
//
// appOutActivities.clear();
// }
}
}
app/src/main/java/com/zl/sdk/out/OutAdManager.java
View file @
1709729b
package
com
.
zl
.
sdk
.
out
;
package
com
.
zl
.
sdk
.
out
;
import
android.content.ComponentName
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.os.Looper
;
import
android.os.Parcelable
;
import
android.text.format.DateUtils
;
import
android.text.format.DateUtils
;
import
com.zl.sdk.Config
;
import
com.zl.sdk.Config
;
...
@@ -15,6 +15,7 @@ import com.zl.sdk.bean.WeatherAdData;
...
@@ -15,6 +15,7 @@ import com.zl.sdk.bean.WeatherAdData;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.out.ui.DxActivity
;
import
com.zl.sdk.util.AppOutUtils
;
import
com.zl.sdk.util.AppOutUtils
;
import
com.zl.sdk.util.LogUtil
;
import
com.zl.sdk.util.LogUtil
;
...
@@ -79,7 +80,7 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -79,7 +80,7 @@ public class OutAdManager extends BaseOutShowManager {
}
}
boolean
canShowByScene
;
boolean
canShowByScene
;
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
canShowByScene
=
CheckHelper
.
checkAdCanShowBySceneNoIcon
(
actionState
);
canShowByScene
=
CheckHelper
.
checkAdCanShowBySceneNoIcon
(
actionState
);
}
else
{
}
else
{
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionState
);
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionState
);
...
@@ -146,12 +147,12 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -146,12 +147,12 @@ public class OutAdManager extends BaseOutShowManager {
//isAppFirstStartInTheDevices app在此设备上的首次启动
//isAppFirstStartInTheDevices app在此设备上的首次启动
if
(
firstCheck
if
(
firstCheck
&&
!
IconHelp
.
get
().
isIconHided
()
&&
!
OutHelp
.
get
().
iconIsHide
()
&&
isAppFirstStartInTheDevices
(
lastShowTime
))
{
&&
isAppFirstStartInTheDevices
(
lastShowTime
))
{
LogUtil
.
d
(
TAG
,
">>>轮询检查<<< first start, no need check"
);
LogUtil
.
d
(
TAG
,
">>>轮询检查<<< first start, no need check"
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"type"
,
String
.
valueOf
(
IconHelp
.
get
().
isIconHided
()));
map
.
put
(
"type"
,
String
.
valueOf
(
OutHelp
.
get
().
iconIsHide
()));
map
.
put
(
"init"
,
String
.
valueOf
(
KplvManager
.
getInstance
().
isInit
()));
map
.
put
(
"init"
,
String
.
valueOf
(
OutHelp
.
get
().
isInit
()));
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
"time_first_trig"
,
""
,
map
);
Statistics
.
getInstance
().
dotEvent
(
OutHelp
.
get
().
getContext
(),
"time_first_trig"
,
""
,
map
);
return
;
return
;
}
}
...
@@ -171,7 +172,7 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -171,7 +172,7 @@ public class OutAdManager extends BaseOutShowManager {
long
spaceTime
;
long
spaceTime
;
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
spaceTime
=
adData
.
intervalHide
*
DateUtils
.
SECOND_IN_MILLIS
;
spaceTime
=
adData
.
intervalHide
*
DateUtils
.
SECOND_IN_MILLIS
;
LogUtil
.
d
(
TAG
+
"检查是否需要展示广告 间隔时间(icon隐藏)="
+
spaceTime
);
LogUtil
.
d
(
TAG
+
"检查是否需要展示广告 间隔时间(icon隐藏)="
+
spaceTime
);
}
else
{
}
else
{
...
@@ -268,7 +269,7 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -268,7 +269,7 @@ public class OutAdManager extends BaseOutShowManager {
boolean
canShowByScene
;
boolean
canShowByScene
;
if
(
IconHelp
.
get
().
isIconHided
())
{
if
(
OutHelp
.
get
().
iconIsHide
())
{
canShowByScene
=
CheckHelper
.
checkAdCanShowBySceneNoIcon
(
actionFrom
.
getAction
());
canShowByScene
=
CheckHelper
.
checkAdCanShowBySceneNoIcon
(
actionFrom
.
getAction
());
}
else
{
}
else
{
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionFrom
.
getAction
());
canShowByScene
=
CheckHelper
.
checkAdCanShowByScene
(
actionFrom
.
getAction
());
...
@@ -291,10 +292,10 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -291,10 +292,10 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回成功"
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回成功"
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
if
(
OutHelp
.
get
().
getDialogShowStatusCallback
()
!=
null
)
{
//
if (OutHelp.get().getDialogShowStatusCallback() != null) {
OutHelp
.
get
().
getDialogShowStatusCallback
().
success
();
//
OutHelp.get().getDialogShowStatusCallback().success();
OutHelp
.
get
().
cleanDialogCallBack
();
//
OutHelp.get().cleanDialogCallBack();
}
//
}
}
}
/**
/**
...
@@ -304,12 +305,10 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -304,12 +305,10 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回失败"
);
LogUtil
.
d
(
TAG
+
">>>广告逻辑结束<<< ===> END 返回失败"
);
LogUtil
.
d
(
TAG
);
LogUtil
.
d
(
TAG
);
// if (OutHelp.get().getDialogShowStatusCallback() != null) {
// OutHelp.get().getDialogShowStatusCallback().fail(reason);
if
(
OutHelp
.
get
().
getDialogShowStatusCallback
()
!=
null
)
{
// OutHelp.get().cleanDialogCallBack();
OutHelp
.
get
().
getDialogShowStatusCallback
().
fail
(
reason
);
// }
OutHelp
.
get
().
cleanDialogCallBack
();
}
}
}
...
@@ -318,7 +317,6 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -318,7 +317,6 @@ public class OutAdManager extends BaseOutShowManager {
*/
*/
private
void
startAdDialog
(
Context
context
,
boolean
isShow
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
)
{
private
void
startAdDialog
(
Context
context
,
boolean
isShow
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
)
{
try
{
try
{
// Intent intent = OutHelp.get().getIntent();
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
intent
.
setComponent
(
new
ComponentName
(
context
,
"cn.kuwo.show.ui.show.KWLiveActivity"
));
intent
.
setComponent
(
new
ComponentName
(
context
,
"cn.kuwo.show.ui.show.KWLiveActivity"
));
try
{
try
{
...
@@ -335,16 +333,8 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -335,16 +333,8 @@ public class OutAdManager extends BaseOutShowManager {
//TODO 清除隐藏的Activity
//TODO 清除隐藏的Activity
// LaunchStart.getInstance().cleanAllActivityExcludeAds();
// LaunchStart.getInstance().cleanAllActivityExcludeAds();
DxManager
.
get
().
setOutRemindersInfo
(
remindersInfo
);
// intent.setClass(context, SLKActivity.class);
DxManager
.
get
().
setOutAdData
(
data
);
// if (!(context instanceof Activity)) {
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// }
// intent.putExtra(Config.KEY_WEATHER_REMINDERS_INFO, (Parcelable) remindersInfo);
// intent.putExtra(Config.KEY_WEATHER_AD_DATA, data);
SLKManager
.
get
().
setOutRemindersInfo
(
remindersInfo
);
SLKManager
.
get
().
setOutAdData
(
data
);
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START
,
""
,
isShow
,
actionFrom
.
getAction
());
EventUtils
.
statRemindOutFgSurpriseStart
(
EventUtils
.
SLK_START
,
""
,
isShow
,
actionFrom
.
getAction
());
...
@@ -414,7 +404,7 @@ public class OutAdManager extends BaseOutShowManager {
...
@@ -414,7 +404,7 @@ public class OutAdManager extends BaseOutShowManager {
private
void
outDialogShowFail
(
boolean
isShow
,
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
,
String
reason
)
{
private
void
outDialogShowFail
(
boolean
isShow
,
Context
context
,
ActionFrom
actionFrom
,
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
,
String
reason
)
{
LogUtil
.
d
(
TAG
,
"广告SLK("
+
(
isShow
?
"播放"
:
"加载"
)
+
") 拉起失败 失败原因:"
+
reason
);
LogUtil
.
d
(
TAG
,
"广告SLK("
+
(
isShow
?
"播放"
:
"加载"
)
+
") 拉起失败 失败原因:"
+
reason
);
try
{
try
{
Icon
Help
.
get
().
clearNotification
();
Out
Help
.
get
().
clearNotification
();
if
(!
hadStartAdDialogFail
)
{
if
(!
hadStartAdDialogFail
)
{
LogUtil
.
d
(
TAG
,
"广告SLK("
+
(
isShow
?
"播放"
:
"加载"
)
+
") 拉起失败 重试一次"
);
LogUtil
.
d
(
TAG
,
"广告SLK("
+
(
isShow
?
"播放"
:
"加载"
)
+
") 拉起失败 重试一次"
);
hadStartAdDialogFail
=
true
;
hadStartAdDialogFail
=
true
;
...
...
app/src/main/java/com/zl/sdk/out/ui/AbsView.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
out
.
ui
;
import
android.app.Activity
;
public
abstract
class
AbsView
implements
IView
{
private
static
final
String
TAG
=
"OutWeatherDialog"
;
protected
Activity
activity
;
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/out/BaseActivity.java
→
app/src/main/java/com/zl/sdk/out/
ui/
BaseActivity.java
View file @
1709729b
package
com
.
zl
.
sdk
.
out
;
package
com
.
zl
.
sdk
.
out
.
ui
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
...
...
app/src/main/java/com/zl/sdk/out/ui/DialogFactory.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
out
.
ui
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.WeatherAdData
;
public
final
class
DialogFactory
{
public
static
IView
createDialog
(
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
)
{
if
(
remindersInfo
==
null
)
{
return
null
;
}
return
new
WeatherPureAdDialog
(
remindersInfo
,
data
);
}
}
app/src/main/java/com/zl/sdk/out/ui/DxActivity.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
out
.
ui
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.KeyEvent
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.FrameLayout
;
import
com.zl.sdk.Config
;
import
com.zl.sdk.OutHelp
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.out.DxManager
;
import
com.zl.sdk.util.LogUtil
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
DxActivity
extends
BaseActivity
{
private
static
final
String
TAG
=
"OutShow Dx ---> "
;
private
Intent
intent
=
null
;
private
RemindersInfo
remindersInfo
;
private
WeatherAdData
.
NormalAdData
adData
;
private
IView
proxyView
;
private
long
onceStayTime
;
//activity生命周期中是否已经执行过execute()方法
private
boolean
hasExecuteInLifeCycle
=
false
;
public
DxActivity
(
Activity
activity
)
{
super
(
activity
);
}
@Override
public
void
onBeforeCreate
(
Bundle
bundle
)
{
}
@Override
public
void
onAfterCreate
(
Bundle
bundle
)
{
LogUtil
.
d
(
TAG
+
"onCreate"
);
}
@Override
public
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
LogUtil
.
d
(
TAG
+
"onNewIntent : "
+
hasExecuteInLifeCycle
);
if
(!
hasExecuteInLifeCycle
)
{
execute
();
}
}
@Override
public
void
onStart
()
{
super
.
onStart
();
LogUtil
.
d
(
TAG
+
"onStart :"
+
hasExecuteInLifeCycle
+
" hashCode="
+
hashCode
());
if
(!
hasExecuteInLifeCycle
)
{
execute
();
}
}
@Override
public
void
onResume
()
{
super
.
onResume
();
LogUtil
.
d
(
TAG
+
"onResume hashCode="
+
hashCode
());
if
(
proxyView
!=
null
)
{
proxyView
.
onResume
();
}
}
@Override
public
void
onPause
()
{
super
.
onPause
();
LogUtil
.
d
(
TAG
+
"onPause hashCode="
+
hashCode
());
if
(
proxyView
!=
null
)
{
proxyView
.
onPause
();
}
}
@Override
public
void
onStop
()
{
hasExecuteInLifeCycle
=
false
;
super
.
onStop
();
LogUtil
.
d
(
TAG
+
"onStop hashCode="
+
hashCode
());
}
@Override
public
void
onDestroy
()
{
LogUtil
.
d
(
TAG
+
"onDestroy hashCode="
+
hashCode
());
hasExecuteInLifeCycle
=
false
;
if
(
proxyView
!=
null
)
{
proxyView
.
onDestroy
();
proxyView
=
null
;
}
final
long
time
=
Math
.
abs
(
onceStayTime
-
System
.
currentTimeMillis
());
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"s_d_t"
,
String
.
valueOf
(
time
));
Statistics
.
getInstance
().
onEvent
(
OutHelp
.
get
().
getContext
(),
EventUtils
.
OUT_DIALOG_EXPOSE_ONCE_STAY_TIME
,
null
,
map
);
super
.
onDestroy
();
}
@Override
public
boolean
onKeyDown
(
int
i
,
KeyEvent
keyEvent
)
{
return
false
;
}
@Override
public
void
finish
()
{
if
(
IconHelp
.
get
().
isIconHide
())
{
LogUtil
.
d
(
TAG
+
"icon隐藏 退回到后台"
);
if
(
proxyView
!=
null
)
{
proxyView
.
onDestroy
();
proxyView
=
null
;
}
activity
.
moveTaskToBack
(
true
);
}
else
{
LogUtil
.
d
(
TAG
+
"icon未隐藏 finish"
);
if
(
proxyView
!=
null
)
{
proxyView
.
onDestroy
();
proxyView
=
null
;
}
activity
.
finish
();
}
}
@Override
public
boolean
beforeBackPressed
()
{
finish
();
return
true
;
}
private
void
statSLKStart
(
RemindersInfo
remindersInfo
,
boolean
isHide
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
type
=
""
;
if
(
remindersInfo
!=
null
)
{
type
=
String
.
valueOf
(
remindersInfo
.
reminderType
);
}
map
.
put
(
"type"
,
type
);
map
.
put
(
"hide"
,
String
.
valueOf
(
isHide
));
Statistics
.
getInstance
().
dotEvent
(
activity
,
"slk_start"
,
""
,
map
);
}
private
void
execute
()
{
hasExecuteInLifeCycle
=
true
;
checkIntent
();
startShowDialog
();
}
private
void
checkIntent
()
{
adData
=
null
;
remindersInfo
=
null
;
adData
=
(
WeatherAdData
.
NormalAdData
)
DxManager
.
get
().
getOutAdData
();
LogUtil
.
d
(
TAG
+
"广告信息 ="
+
adData
);
remindersInfo
=
DxManager
.
get
().
getOutRemindersInfo
();
LogUtil
.
d
(
TAG
+
"弹窗信息 ="
+
remindersInfo
);
}
private
void
startShowDialog
()
{
statSLKStart
(
remindersInfo
,
IconHelp
.
get
().
isIconHide
());
if
(
remindersInfo
==
null
)
{
LogUtil
.
d
(
TAG
+
"finish remindersInfo为空"
);
finish
();
return
;
}
if
(
remindersInfo
.
reminderType
!=
Config
.
REMINDER_TYPE_WEATHER_PURE_AD
&&
IconHelp
.
get
().
isIconHide
())
{
LogUtil
.
d
(
TAG
+
"finish 不是纯广告并且隐藏了icon"
);
finish
();
return
;
}
Window
window
=
activity
.
getWindow
();
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_SECURE
);
FrameLayout
rootView
=
new
FrameLayout
(
activity
);
activity
.
setContentView
(
rootView
);
onceStayTime
=
System
.
currentTimeMillis
();
LogUtil
.
d
(
TAG
+
"加载新的Dialog"
);
proxyView
=
DialogFactory
.
createDialog
(
remindersInfo
,
adData
);
if
(
proxyView
==
null
)
{
LogUtil
.
d
(
TAG
+
"finish 5 View=null"
);
finish
();
return
;
}
proxyView
.
onCreate
(
activity
,
intent
,
rootView
);
}
}
app/src/main/java/com/zl/sdk/out/ui/IView.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
out
.
ui
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.widget.FrameLayout
;
public
interface
IView
{
void
onCreate
(
Activity
activity
,
Intent
intent
,
FrameLayout
rootView
);
// void onNewIntent(Intent intent);
void
onResume
();
void
onPause
();
// void onStart();
// void onStop();
void
onDestroy
();
}
app/src/main/java/com/zl/sdk/out/ui/WeatherPureAdDialog.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
out
.
ui
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.FrameLayout
;
import
android.widget.RelativeLayout
;
import
com.zl.sdk.ad.OnInAdListener
;
import
com.zl.sdk.ad.TopOnAdLoadManager
;
import
com.zl.sdk.bean.RemindersInfo
;
import
com.zl.sdk.bean.WeatherAdData
;
import
com.zl.sdk.event.EventUtils
;
import
com.zl.sdk.event.statistics.AdScenes
;
import
com.zl.sdk.event.statistics.Statistics
;
import
com.zl.sdk.icon.IconHelp
;
import
com.zl.sdk.out.AppOutSP
;
import
com.zl.sdk.util.DpiUtil
;
import
com.zl.sdk.util.LogUtil
;
import
java.util.HashMap
;
import
java.util.Map
;
class
WeatherPureAdDialog
extends
AbsView
{
private
static
final
String
TAG
=
"WeatherPureAdDialog"
;
private
FrameLayout
rootView
;
private
RemindersInfo
remindersInfo
;
private
WeatherAdData
.
NormalAdData
data
;
private
View
contentView
;
// private LinearLayout weatherAdContainer;
private
OnInAdListener
onInAdListener
;
public
WeatherPureAdDialog
(
RemindersInfo
remindersInfo
,
WeatherAdData
.
NormalAdData
data
)
{
this
.
remindersInfo
=
remindersInfo
;
this
.
data
=
data
;
}
@Override
public
void
onCreate
(
Activity
activity
,
Intent
intent
,
FrameLayout
rootView
)
{
this
.
activity
=
activity
;
this
.
rootView
=
rootView
;
if
(
data
==
null
)
{
finishActivity
();
return
;
}
initView
();
initData
();
}
@Override
public
void
onResume
()
{
}
@Override
public
void
onPause
()
{
}
private
void
initView
()
{
contentView
=
getContentView
();
FrameLayout
.
LayoutParams
params
=
new
FrameLayout
.
LayoutParams
(
FrameLayout
.
LayoutParams
.
MATCH_PARENT
,
FrameLayout
.
LayoutParams
.
WRAP_CONTENT
);
rootView
.
addView
(
contentView
,
params
);
// weatherAdContainer = contentView.findViewById(R.id.weatherAdContainer);
}
private
View
getContentView
()
{
//TODO 只加了根容器,原生广告容器没添加
RelativeLayout
relativeLayout
=
new
RelativeLayout
(
activity
);
int
padding
=
DpiUtil
.
dipTopx
(
8
);
relativeLayout
.
setPadding
(
padding
,
padding
,
padding
,
padding
);
relativeLayout
.
setBackgroundColor
(
Color
.
TRANSPARENT
);
return
relativeLayout
;
}
private
void
initData
()
{
if
(!
remindersInfo
.
isAdType
)
{
LogUtil
.
d
(
TAG
+
"initAd no isAdType"
);
finishActivity
();
return
;
}
String
cpName
=
data
.
cpName
;
if
(
TextUtils
.
isEmpty
(
cpName
))
{
LogUtil
.
d
(
TAG
+
"initAd cpName empty"
);
finishActivity
();
return
;
}
String
adUnitId
=
data
.
cpAdslot
;
if
(
TextUtils
.
isEmpty
(
adUnitId
))
{
LogUtil
.
d
(
TAG
+
"initAd cpAdslot empty"
);
finishActivity
();
return
;
}
String
adType
=
data
.
cpAdtype
;
if
(
TextUtils
.
isEmpty
(
adType
))
{
LogUtil
.
d
(
TAG
+
"initAd adType empty"
);
finishActivity
();
return
;
}
if
(
adType
.
equals
(
WeatherAdData
.
CP_AD_TYPE_BANNER
))
{
LogUtil
.
d
(
TAG
+
"initAd adType banner"
);
finishActivity
();
return
;
}
registerCallBack
(
adType
);
if
(
adType
.
equals
(
WeatherAdData
.
CP_AD_TYPE_CHAPING
))
{
checkCanShowItAd
(
cpName
,
adUnitId
);
return
;
}
// if (adType.equals(WeatherAdData.CP_AD_TYPE_NATIVE)) {
// checkCanShowNativeAd();
// return;
// }
LogUtil
.
d
(
TAG
+
"initAd no support adType="
+
adType
);
finishActivity
();
}
private
void
registerCallBack
(
String
adType
)
{
onInAdListener
=
new
OnInAdListener
()
{
@Override
public
void
onCloseAd
()
{
LogUtil
.
d
(
TAG
+
"initAd onCloseAd"
);
finishActivity
();
}
@Override
public
void
onLoadAd
()
{
LogUtil
.
d
(
TAG
+
"initAd onLoadAd"
);
}
@Override
public
void
onShow
()
{
LogUtil
.
d
(
TAG
+
"initAd onShow"
);
}
@Override
public
void
onNotAd
(
String
errorMessage
)
{
LogUtil
.
d
(
TAG
+
"initAd onNotAd errorMessage ="
+
errorMessage
);
EventUtils
.
statOutOnlyAdFail
(
remindersInfo
,
data
,
errorMessage
);
finishActivity
();
}
@Override
public
void
onClk
()
{
LogUtil
.
d
(
TAG
+
"initAd onClk"
);
finishActivity
();
}
@Override
public
void
cacheDataTimeOut
()
{
LogUtil
.
d
(
TAG
+
"initAd cacheDataTimeOut"
);
}
};
TopOnAdLoadManager
.
getInstance
().
registerCallBack
(
adType
,
TopOnAdLoadManager
.
REGISTER_TAG_WEATHER_PURE_AD
,
onInAdListener
);
}
private
void
checkCanShowItAd
(
String
cpName
,
String
adUnitId
)
{
boolean
isReady
=
TopOnAdLoadManager
.
getInstance
().
isInterstitialReady
(
cpName
,
adUnitId
);
LogUtil
.
d
(
TAG
+
"initAd interstitial isReady ="
+
isReady
);
statAdDialogExp
(
isReady
);
if
(
isReady
)
{
showInterstitial
();
return
;
}
TopOnAdLoadManager
.
getInstance
().
loadInterstitialAd
(
data
,
AdScenes
.
AD_SCENES_PURE
);
finishActivity
();
}
private
void
statAdDialogExp
(
boolean
adReady
)
{
try
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"ad_ready"
,
String
.
valueOf
(
adReady
));
Statistics
.
getInstance
().
dotEvent
(
activity
,
"ad_dialog_exp"
,
""
,
map
);
}
catch
(
Exception
e
)
{
}
}
// private void checkCanShowNativeAd() {
// Object cacheData = TopOnAdLoadManager.getInstance().getAdCacheData(data.cpAdslot);
// boolean hasCache = cacheData instanceof AdCacheData
// && !((AdCacheData) cacheData).isNativeTimeout();
// LogUtil.d(TAG + "initAd native hasCache == " + hasCache);
// boolean isScreenOn = AppOutUtils.isScreenOn();
// boolean isLock = AppOutUtils.isScreenLock();
//
// if (hasCache) {
// LogUtil.d(TAG + "initAd native isScreenOn == " + isScreenOn + ", isLock =" + isLock);
// if (!isScreenOn || isLock) {
// statNativeScreenState("cache", isScreenOn, isLock);
// finishActivity();
// return;
// }
// showNativeAd();
// return;
// }
//
// statNativeScreenState("load", isScreenOn, isLock);
// TopOnAdLoadManager.getInstance().loadNativeAd(data, AdScenes.AD_SCENES_PURE);
// finishActivity();
// }
// private void statNativeScreenState(String state, boolean isScreenOn, boolean isLock) {
// Map<String, Object> map = new HashMap<>();
// map.put("state", state);
// map.put("isScreenOn", String.valueOf(isScreenOn));
// map.put("isLock", String.valueOf(isLock));
// Statistics.getInstance().dotEvent(activity, "native_state", "", map);
// }
@Override
public
void
onDestroy
()
{
LogUtil
.
d
(
TAG
+
"WeatherPureAdDialog onDestroy"
);
if
(
data
!=
null
)
{
TopOnAdLoadManager
.
getInstance
().
unregisterCallBack
(
data
.
cpAdtype
,
TopOnAdLoadManager
.
REGISTER_TAG_WEATHER_PURE_AD
);
}
AppOutSP
.
saveOutAdDialogCloseLastTime
(
System
.
currentTimeMillis
());
}
// private void showNativeAd() {
// TopOnAdLoadManager.getInstance().showNativeAd(data, weatherAdContainer);
// }
private
void
showInterstitial
()
{
TopOnAdLoadManager
.
getInstance
().
showInterstitialAd
(
activity
,
data
,
AdScenes
.
AD_SCENES_PURE
);
}
private
void
showBannerAd
()
{
// TopOnAdLoadManager.getInstance(activity).showAd(data, weatherAdContainer, activity);
}
/**
* 结束SLK 或者 退到后台
*/
protected
void
finishActivity
()
{
try
{
if
(
activity
!=
null
)
{
if
(
IconHelp
.
get
().
isIconHide
())
{
LogUtil
.
d
(
TAG
+
"SLK 退回到后台"
);
activity
.
moveTaskToBack
(
true
);
}
else
{
LogUtil
.
d
(
TAG
+
"SLK finish"
);
activity
.
finish
();
}
}
}
catch
(
Exception
ignored
)
{
}
}
}
\ No newline at end of file
app/src/main/java/com/zl/sdk/util/DpiUtil.java
0 → 100644
View file @
1709729b
package
com
.
zl
.
sdk
.
util
;
import
android.content.Context
;
import
android.os.Build
;
import
android.util.DisplayMetrics
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.view.WindowManager
;
/**
* DpiUtils
*/
public
class
DpiUtil
{
private
static
final
String
TAG
=
"DpiUtils"
;
private
static
Context
mContext
;
// 当前屏幕的densityDpi
private
static
float
mDmDensityDpi
=
0.0f
;
private
static
int
mWidth
=
0
;
private
static
int
mHeight
=
0
;
private
static
DisplayMetrics
mDisplayMetrics
;
private
static
float
mScale
=
1.0f
;
// 设计分辨率
private
static
int
mDesignWidth
=
0
;
private
static
int
mDesignHeight
=
0
;
private
static
float
mScaleX
=
1.0f
;
private
static
float
mScaleY
=
1.0f
;
public
static
boolean
isFull
()
{
float
s
=
(
float
)
getHeight
()
/
getWidth
();
LogUtil
.
d
(
"屏幕比列:"
+
s
);
LogUtil
.
d
(
"屏幕height:"
+
DpiUtil
.
pxTodip
(
getHeight
()));
LogUtil
.
d
(
"屏幕width:"
+
DpiUtil
.
pxTodip
(
getWidth
()));
return
s
>
2
;
}
/**
* 根据构造函数获得当前手机的屏幕系数
*/
public
static
void
init
(
Context
context
)
{
mContext
=
context
;
// 获取当前屏幕
mDisplayMetrics
=
context
.
getResources
().
getDisplayMetrics
();
// 设置DensityDpi,mWidth,mHeight
mDmDensityDpi
=
mDisplayMetrics
.
densityDpi
;
mWidth
=
mDisplayMetrics
.
widthPixels
;
mHeight
=
mDisplayMetrics
.
heightPixels
;
// 密度因子
mScale
=
getDmDensityDpi
()
/
160
;
Log
.
i
(
TAG
,
" dmDensityDpi:"
+
mDmDensityDpi
+
" mWidth:"
+
mWidth
+
" mHeight:"
+
mHeight
);
}
/**
* 密度转换像素
*/
public
static
int
dipTopx
(
float
dipValue
)
{
return
(
int
)
(
dipValue
*
mScale
+
0.5f
);
}
public
static
int
sp2px
(
float
sp
)
{
return
(
int
)
TypedValue
.
applyDimension
(
TypedValue
.
COMPLEX_UNIT_SP
,
sp
,
mContext
.
getResources
().
getDisplayMetrics
());
}
/**
* 像素转换密度
*/
public
static
int
pxTodip
(
float
pxValue
)
{
return
(
int
)
(
pxValue
/
mScale
+
0.5f
);
}
/**
* 当前屏幕的density因子
*
* @retrun DmDensity Getter
*/
public
static
float
getDmDensityDpi
()
{
return
mDmDensityDpi
;
}
/**
* 获取设备的屏幕宽度(Dp)
*
* @return mWidth
*/
public
static
int
getDPWidth
()
{
return
pxTodip
(
mWidth
);
}
/**
* 获取设备的屏幕宽度(Dp)
*
* @return mWidth
*/
public
static
int
getDPHeight
()
{
return
pxTodip
(
mHeight
);
}
/**
* 获取设备的屏幕宽度(Dp)
*
* @return mWidth
*/
public
static
int
getScreenDPWidth
()
{
return
pxTodip
(
getScreenWidth
());
}
/**
* 获取设备的屏幕宽度(Dp)
*
* @return mWidth
*/
public
static
int
getScreenDPHeight
()
{
return
pxTodip
(
getScreenHeight
());
}
/**
* 获取屏幕宽度
*
* @return
*/
public
static
int
getScreenWidth
()
{
int
width
;
DisplayMetrics
dm
=
new
DisplayMetrics
();
WindowManager
windowMgr
=
(
WindowManager
)
mContext
.
getSystemService
(
Context
.
WINDOW_SERVICE
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN_MR1
)
{
windowMgr
.
getDefaultDisplay
().
getRealMetrics
(
dm
);
width
=
dm
.
widthPixels
;
}
else
{
width
=
DpiUtil
.
getWidth
();
}
return
width
;
}
/**
* 获取屏幕高度
*
* @return
*/
public
static
int
getScreenHeight
()
{
int
height
;
DisplayMetrics
dm
=
new
DisplayMetrics
();
WindowManager
windowMgr
=
(
WindowManager
)
mContext
.
getSystemService
(
Context
.
WINDOW_SERVICE
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN_MR1
)
{
assert
windowMgr
!=
null
;
windowMgr
.
getDefaultDisplay
().
getRealMetrics
(
dm
);
// 获取高度
height
=
dm
.
heightPixels
;
}
else
{
height
=
DpiUtil
.
getHeight
();
}
return
height
;
}
/**
* 获取设备的屏幕宽度(Pixels)
*
* @return mWidth
*/
public
static
int
getWidth
()
{
return
mWidth
;
}
/**
* 获取设备的屏幕高度(Pixels)
*
* @return mHeight
*/
public
static
int
getHeight
()
{
return
mHeight
;
}
/**
* 设计分辨率
*/
public
static
void
SetDesignResolution
(
int
width
,
int
height
)
{
mDesignWidth
=
width
;
mDesignHeight
=
height
;
mScaleX
=
(
float
)
mWidth
/
mDesignWidth
;
mScaleY
=
(
float
)
mHeight
/
mDesignHeight
;
Log
.
i
(
TAG
,
"mScaleX"
+
mScaleX
+
", mScaleY"
+
mScaleY
);
}
/**
* 返回横向缩放比例
*
* @return
*/
public
static
float
getScaleX
()
{
return
mScaleX
;
}
/**
* 返回纵向缩放比例
*
* @return
*/
public
static
float
getScaleY
()
{
return
mScaleY
;
}
/**
* 将设计坐标点的横坐标x转换成实际像素点的x
*
* @param x
* @return
*/
public
static
int
toRealX
(
int
x
)
{
return
(
int
)
(
x
*
mScaleX
);
}
/**
* 将设计坐标点的纵坐标y转换成实际像素点的y
*
* @param y
* @return
*/
public
static
int
toRealY
(
int
y
)
{
return
(
int
)
(
y
*
mScaleY
);
}
/**
* 将实际像素点的x转换成设计坐标点的横坐标x
*
* @param x
* @return
*/
public
static
int
toDesignX
(
int
x
)
{
return
(
int
)
(
x
/
mScaleX
);
}
/**
* 将实际像素点的y转换成设计坐标点的纵坐标y
*
* @param y
* @return
*/
public
static
int
toDesignY
(
int
y
)
{
return
(
int
)
(
y
/
mScaleY
);
}
}
app/src/main/java/com/zl/sdk/util/log/LogToFile.java
deleted
100644 → 0
View file @
d663b069
package
com
.
zl
.
sdk
.
util
.
log
;
import
android.os.Environment
;
import
android.os.Process
;
import
com.blankj.utilcode.util.Utils
;
import
java.io.BufferedWriter
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStreamWriter
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.io.Writer
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
LogToFile
extends
AbsLog
{
public
static
final
String
CALENDAR_PATH_FILE
=
"Ssui/calendar"
;
private
static
final
String
BASE_FILENAME
=
".log"
;
private
static
final
String
PACKAGE_NAME
=
CALENDAR_PATH_FILE
+
"/Log"
;
private
static
final
String
LOG_LINE_CONNECTOR
=
" : "
;
private
static
final
String
LOG_SEPARATOR
=
" "
;
private
static
final
int
SIZE
=
2048
;
private
static
String
LOG_DIRECTORY
;
// = SDCardUtil.getSDCardPath();//StorageMgr.getInstance().getSdcardAppFilesAbsolutePath();
private
static
final
String
TIME_FORMAT
=
"yyyy-MM-dd HH:mm:ss.SSS"
;
private
static
final
String
DAY_FORMAT
=
"yyyy-MM-dd"
;
private
boolean
mIsOpen
=
false
;
private
Writer
mWriter
;
public
LogToFile
()
{
if
(
Environment
.
MEDIA_MOUNTED
.
equals
(
Environment
.
getExternalStorageState
())
&&
Utils
.
getApp
().
getExternalCacheDir
()
!=
null
)
LOG_DIRECTORY
=
Utils
.
getApp
().
getExternalCacheDir
().
getAbsolutePath
();
// + FILE_SEP + "log" + FILE_SEP;
else
{
LOG_DIRECTORY
=
Utils
.
getApp
().
getCacheDir
().
getAbsolutePath
();
// + FILE_SEP + "log" + FILE_SEP;
}
}
@Override
public
void
w
(
String
tag
,
String
msg
)
{
// println(tag, msg, "w");
}
@Override
public
void
i
(
String
tag
,
String
msg
)
{
// println(tag, msg, "i");
}
@Override
public
void
v
(
String
tag
,
String
msg
)
{
// println(tag, msg, "v");
}
@Override
public
void
d
(
String
tag
,
String
msg
)
{
// println(tag, msg, "d");
}
@Override
public
void
e
(
String
tag
,
String
msg
)
{
// println(tag, msg, "e");
}
@Override
public
void
e
(
String
tag
,
String
msg
,
Throwable
e
)
{
// printStack(tag, msg, "e", e);
}
@Override
public
void
e
(
String
tag
,
Throwable
e
)
{
// printStack(tag, "", "e", e);
}
@Override
public
void
dForce
(
String
msg
)
{
// println("", msg, "dForce");
}
@Override
public
void
dForce
(
String
tag
,
String
msg
)
{
// println(tag, msg, "dForce");
}
@Override
public
void
wForce
(
String
tag
,
String
msg
)
{
// println(tag, msg, "wForce");
}
@Override
public
void
wForce
(
String
tag
,
Throwable
e
)
{
// printStack(tag, "", "wForce", e);
}
@Override
public
void
wForce
(
String
tag
,
String
msg
,
Throwable
e
)
{
// printStack(tag, msg, "wForce", e);
}
@Override
public
void
eForce
(
String
tag
,
String
msg
,
Throwable
e
)
{
// printStack(tag, msg, "eForce", e);
}
@Override
public
void
eForce
(
String
tag
,
Throwable
e
)
{
// printStack(tag, "", "eForce", e);
}
@Override
public
void
debugLog
(
Object
debugLog
)
{
// dForce("debugLog", String.valueOf(debugLog));
}
private
static
String
getCurrentDate
()
{
SimpleDateFormat
dateFormat
=
(
SimpleDateFormat
)
DateFormat
.
getDateInstance
();
dateFormat
.
applyPattern
(
DAY_FORMAT
);
return
dateFormat
.
format
(
new
Date
());
}
private
static
String
getCurrentTime
()
{
SimpleDateFormat
dateFormat
=
(
SimpleDateFormat
)
DateFormat
.
getDateInstance
();
dateFormat
.
applyPattern
(
TIME_FORMAT
);
return
dateFormat
.
format
(
new
Date
());
}
private
static
String
getLogDirectory
()
{
final
StringBuffer
buffer
=
new
StringBuffer
();
buffer
.
append
(
LOG_DIRECTORY
).
append
(
File
.
separator
).
append
(
PACKAGE_NAME
).
append
(
File
.
separator
)
.
append
(
getCurrentDate
()).
append
(
BASE_FILENAME
);
return
buffer
.
toString
();
}
private
void
open
()
throws
Exception
{
File
file
=
new
File
(
getLogDirectory
());
if
(!
file
.
getParentFile
().
exists
())
{
try
{
file
.
getParentFile
().
mkdirs
();
}
catch
(
Exception
e
)
{
throw
new
LogException
(
"create log dirs error!"
+
e
);
}
}
if
(!
file
.
exists
())
{
try
{
file
.
createNewFile
();
}
catch
(
IOException
e
)
{
throw
new
LogException
(
"create log file error!"
+
e
);
}
}
try
{
OutputStreamWriter
writer
=
new
OutputStreamWriter
(
new
FileOutputStream
(
file
,
true
),
"utf-8"
);
mWriter
=
new
BufferedWriter
(
writer
,
SIZE
);
}
catch
(
IOException
e
)
{
throw
new
LogException
(
"open log file error!"
);
}
mIsOpen
=
true
;
}
private
void
writeLine
(
String
message
)
{
try
{
mWriter
.
append
(
message
);
mWriter
.
append
(
'\n'
);
mWriter
.
flush
();
}
catch
(
Exception
e
)
{
throw
new
LogException
();
}
}
public
void
dispose
()
{
if
(
mWriter
!=
null
)
{
try
{
mWriter
.
close
();
}
catch
(
IOException
e
)
{
// ignore
}
}
}
private
void
println
(
String
tag
,
String
msg
,
String
level
)
{
if
(!
mIsOpen
)
{
try
{
open
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
;
}
}
final
StringBuffer
buffer
=
new
StringBuffer
();
buffer
.
append
(
getCurrentTime
()).
append
(
LOG_SEPARATOR
).
append
(
Process
.
myPid
())
.
append
(
LOG_SEPARATOR
).
append
(
GLOBAL_TAG
+
"."
+
tag
).
append
(
LOG_SEPARATOR
).
append
(
level
).
append
(
LOG_LINE_CONNECTOR
).
append
(
msg
);
writeLine
(
buffer
.
toString
());
}
public
void
printStack
(
String
tag
,
String
msg
,
String
level
,
Throwable
throwable
)
{
if
(!
mIsOpen
)
{
try
{
open
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
;
}
}
final
StringBuffer
buffer
=
new
StringBuffer
();
buffer
.
append
(
getCurrentTime
()).
append
(
LOG_SEPARATOR
).
append
(
Process
.
myPid
())
.
append
(
LOG_SEPARATOR
).
append
(
GLOBAL_TAG
+
"."
+
tag
).
append
(
LOG_SEPARATOR
).
append
(
level
).
append
(
LOG_LINE_CONNECTOR
).
append
(
msg
);
writeLine
(
buffer
.
toString
());
StringWriter
sw
=
null
;
PrintWriter
pw
=
null
;
try
{
sw
=
new
StringWriter
();
pw
=
new
PrintWriter
(
sw
,
true
);
throwable
.
printStackTrace
(
pw
);
pw
.
flush
();
sw
.
flush
();
writeLine
(
tag
+
LOG_LINE_CONNECTOR
+
sw
.
toString
());
}
catch
(
Exception
e
)
{
}
finally
{
if
(
sw
!=
null
)
{
try
{
sw
.
close
();
}
catch
(
IOException
e
)
{
}
}
if
(
pw
!=
null
)
{
pw
.
close
();
}
}
}
}
app/src/main/java/com/zl/sdk/util/log/LogToLogcat.java
View file @
1709729b
package
com
.
zl
.
sdk
.
util
.
log
;
package
com
.
zl
.
sdk
.
util
.
log
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
com.blankj.utilcode.util.StringUtils
;
public
class
LogToLogcat
extends
AbsLog
{
public
class
LogToLogcat
extends
AbsLog
{
@Override
@Override
...
@@ -62,19 +61,19 @@ public class LogToLogcat extends AbsLog {
...
@@ -62,19 +61,19 @@ public class LogToLogcat extends AbsLog {
@Override
@Override
public
void
dForce
(
String
msg
)
{
public
void
dForce
(
String
msg
)
{
msg
=
StringUtils
.
null2Length0
(
msg
);
msg
=
null2Length0
(
msg
);
Log
.
d
(
GLOBAL_TAG
,
msg
);
Log
.
d
(
GLOBAL_TAG
,
msg
);
}
}
@Override
@Override
public
void
dForce
(
String
tag
,
String
msg
)
{
public
void
dForce
(
String
tag
,
String
msg
)
{
msg
=
StringUtils
.
null2Length0
(
msg
);
msg
=
null2Length0
(
msg
);
Log
.
d
(
GLOBAL_TAG
+
"."
+
tag
,
msg
);
Log
.
d
(
GLOBAL_TAG
+
"."
+
tag
,
msg
);
}
}
@Override
@Override
public
void
wForce
(
String
tag
,
String
msg
)
{
public
void
wForce
(
String
tag
,
String
msg
)
{
msg
=
StringUtils
.
null2Length0
(
msg
);
msg
=
null2Length0
(
msg
);
Log
.
w
(
GLOBAL_TAG
+
"."
+
tag
,
msg
);
Log
.
w
(
GLOBAL_TAG
+
"."
+
tag
,
msg
);
}
}
...
@@ -90,7 +89,7 @@ public class LogToLogcat extends AbsLog {
...
@@ -90,7 +89,7 @@ public class LogToLogcat extends AbsLog {
@Override
@Override
public
void
eForce
(
String
tag
,
String
msg
,
Throwable
e
)
{
public
void
eForce
(
String
tag
,
String
msg
,
Throwable
e
)
{
msg
=
StringUtils
.
null2Length0
(
msg
);
msg
=
null2Length0
(
msg
);
Log
.
e
(
GLOBAL_TAG
+
"."
+
tag
,
msg
,
e
);
Log
.
e
(
GLOBAL_TAG
+
"."
+
tag
,
msg
,
e
);
}
}
...
@@ -104,4 +103,11 @@ public class LogToLogcat extends AbsLog {
...
@@ -104,4 +103,11 @@ public class LogToLogcat extends AbsLog {
dForce
(
"debugLog"
,
String
.
valueOf
(
debugLog
));
dForce
(
"debugLog"
,
String
.
valueOf
(
debugLog
));
}
}
private
String
null2Length0
(
String
str
)
{
if
(
TextUtils
.
isEmpty
(
str
))
{
return
""
;
}
else
{
return
str
;
}
}
}
}
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