Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_fiveworld
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
android
android_fiveworld
Commits
f9fa5228
Commit
f9fa5228
authored
Dec 08, 2021
by
jyx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加点Home键场景,优化体内广告展示问题
parent
29b3292c
Changes
25
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1572 additions
and
739 deletions
+1572
-739
merger.xml
...ermediates/incremental/mergeDebugJniLibFolders/merger.xml
+0
-2
merger.xml
...ld/intermediates/incremental/mergeDebugShaders/merger.xml
+0
-2
merger.xml
...d/intermediates/incremental/packageDebugAssets/merger.xml
+0
-2
compile-file-map.properties
...emental/packageDebugResources/compile-file-map.properties
+0
-1
merger.xml
...ntermediates/incremental/packageDebugResources/merger.xml
+0
-26
manifest-merger-blame-debug-report.txt
...e_blame_file/debug/manifest-merger-blame-debug-report.txt
+0
-11
manifest-merger-debug-report.txt
...brary/build/outputs/logs/manifest-merger-debug-report.txt
+0
-25
MintsApplication.java
app/src/main/java/com/mints/fiveworld/MintsApplication.java
+3
-0
AdReportManager.kt
app/src/main/java/com/mints/fiveworld/ad/AdReportManager.kt
+13
-0
OutTimeInterstitial.java
.../com/mints/fiveworld/ad/inscreen/OutTimeInterstitial.java
+1
-1
AppOutWifiAdManager.kt
...n/java/com/mints/fiveworld/ad/wifi/AppOutWifiAdManager.kt
+19
-11
Constant.kt
app/src/main/java/com/mints/fiveworld/common/Constant.kt
+1
-0
HomePopManager.java
...in/java/com/mints/fiveworld/keepalive/HomePopManager.java
+285
-0
WifiDataManager.kt
.../java/com/mints/fiveworld/manager/wifi/WifiDataManager.kt
+789
-642
OutAppConfig.java
...main/java/com/mints/fiveworld/mvp/model/OutAppConfig.java
+60
-0
UserTaskMsgBean.java
...n/java/com/mints/fiveworld/mvp/model/UserTaskMsgBean.java
+12
-0
WifiActiveBean.kt
...main/java/com/mints/fiveworld/mvp/model/WifiActiveBean.kt
+2
-1
TrackPresenter.java
...va/com/mints/fiveworld/mvp/presenters/TrackPresenter.java
+4
-3
IncreasespeedActivity.kt
...com/mints/fiveworld/ui/activitys/IncreasespeedActivity.kt
+4
-1
MainActivity.kt
...ain/java/com/mints/fiveworld/ui/activitys/MainActivity.kt
+2
-1
SafeTestingActivity.kt
...a/com/mints/fiveworld/ui/activitys/SafeTestingActivity.kt
+5
-1
SignalStrengthActivity.kt
...om/mints/fiveworld/ui/activitys/SignalStrengthActivity.kt
+5
-1
BoostFastActivity.kt
...nts/fiveworld/ui/activitys/keepalive/BoostFastActivity.kt
+35
-7
TransparentActivity.kt
...s/fiveworld/ui/activitys/keepalive/TransparentActivity.kt
+3
-1
ScreenUtils.kt
...src/main/java/com/mints/mingce/world/utils/ScreenUtils.kt
+329
-0
No files found.
animlibrary/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
deleted
100644 → 0
View file @
29b3292c
<?xml version="1.0" encoding="utf-8"?>
<merger
version=
"3"
><dataSet
config=
"main"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\jniLibs"
/></dataSet><dataSet
config=
"debug"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\debug\jniLibs"
/></dataSet></merger>
\ No newline at end of file
animlibrary/build/intermediates/incremental/mergeDebugShaders/merger.xml
deleted
100644 → 0
View file @
29b3292c
<?xml version="1.0" encoding="utf-8"?>
<merger
version=
"3"
><dataSet
config=
"main"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\shaders"
/></dataSet><dataSet
config=
"debug"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\debug\shaders"
/></dataSet></merger>
\ No newline at end of file
animlibrary/build/intermediates/incremental/packageDebugAssets/merger.xml
deleted
100644 → 0
View file @
29b3292c
<?xml version="1.0" encoding="utf-8"?>
<merger
version=
"3"
><dataSet
config=
"main"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\assets"
/><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\build\intermediates\shader_assets\debug\out"
/></dataSet><dataSet
config=
"debug"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\debug\assets"
/></dataSet></merger>
\ No newline at end of file
animlibrary/build/intermediates/incremental/packageDebugResources/compile-file-map.properties
deleted
100644 → 0
View file @
29b3292c
#Tue Dec 07 18:06:13 CST 2021
animlibrary/build/intermediates/incremental/packageDebugResources/merger.xml
deleted
100644 → 0
View file @
29b3292c
<?xml version="1.0" encoding="utf-8"?>
<merger
version=
"3"
><dataSet
aapt-namespace=
"http://schemas.android.com/apk/res-auto"
config=
"main$Generated"
generated=
"true"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\res"
/><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\build\generated\res\rs\debug"
/><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\build\generated\res\resValues\debug"
/></dataSet><dataSet
aapt-namespace=
"http://schemas.android.com/apk/res-auto"
config=
"main"
generated-set=
"main$Generated"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\res"
><file
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\res\values\attrs.xml"
qualifiers=
""
><declare-styleable
name=
"AnimatedSvgView"
>
<attr
format=
"integer"
name=
"animatedSvgImageSizeX"
/>
<attr
format=
"integer"
name=
"animatedSvgImageSizeY"
/>
<attr
format=
"string"
name=
"animatedSvgTraceTime"
/>
<attr
format=
"string"
name=
"animatedSvgTraceTimePerGlyph"
/>
<attr
format=
"string"
name=
"animatedSvgFillStart"
/>
<attr
format=
"string"
name=
"animatedSvgFillTime"
/>
<attr
format=
"reference"
name=
"animatedSvgGlyphStrings"
/>
<attr
format=
"reference"
name=
"animatedSvgTraceColors"
/>
<attr
format=
"reference"
name=
"animatedSvgTraceResidueColors"
/>
<attr
format=
"integer"
name=
"animatedSvgTraceMarkerLength"
/>
<attr
format=
"reference"
name=
"animatedSvgFillColors"
/>
</declare-styleable></file></source><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\build\generated\res\rs\debug"
/><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\build\generated\res\resValues\debug"
/></dataSet><dataSet
aapt-namespace=
"http://schemas.android.com/apk/res-auto"
config=
"debug$Generated"
generated=
"true"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\debug\res"
/></dataSet><dataSet
aapt-namespace=
"http://schemas.android.com/apk/res-auto"
config=
"debug"
generated-set=
"debug$Generated"
ignore_pattern=
"!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
><source
path=
"D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\debug\res"
/></dataSet><mergedItems><configuration
qualifiers=
""
><declare-styleable
name=
"AnimatedSvgView"
>
<attr
format=
"integer"
name=
"animatedSvgImageSizeX"
/>
<attr
format=
"integer"
name=
"animatedSvgImageSizeY"
/>
<attr
format=
"string"
name=
"animatedSvgTraceTime"
/>
<attr
format=
"string"
name=
"animatedSvgTraceTimePerGlyph"
/>
<attr
format=
"string"
name=
"animatedSvgFillStart"
/>
<attr
format=
"string"
name=
"animatedSvgFillTime"
/>
<attr
format=
"reference"
name=
"animatedSvgGlyphStrings"
/>
<attr
format=
"reference"
name=
"animatedSvgTraceColors"
/>
<attr
format=
"reference"
name=
"animatedSvgTraceResidueColors"
/>
<attr
format=
"integer"
name=
"animatedSvgTraceMarkerLength"
/>
<attr
format=
"reference"
name=
"animatedSvgFillColors"
/>
</declare-styleable></configuration></mergedItems></merger>
\ No newline at end of file
animlibrary/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
deleted
100644 → 0
View file @
29b3292c
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.jaredrummler.android.animatedsvgview" >
4
5 <uses-sdk
6 android:minSdkVersion="14"
6-->D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
7 android:targetSdkVersion="28" />
7-->D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
8
9</manifest>
animlibrary/build/outputs/logs/manifest-merger-debug-report.txt
deleted
100644 → 0
View file @
29b3292c
-- Merging decision tree log ---
manifest
ADDED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml:1:1-63
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml:1:1-63
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml:1:1-63
package
ADDED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml:1:11-61
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
xmlns:android
ADDED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml:1:1-63
uses-sdk
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml reason: use-sdk injection requested
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
android:targetSdkVersion
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
ADDED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
android:minSdkVersion
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
ADDED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
INJECTED from D:\android_space\My5GWorld\android_fiveworld\animlibrary\src\main\AndroidManifest.xml
app/src/main/java/com/mints/fiveworld/MintsApplication.java
View file @
f9fa5228
...
...
@@ -14,6 +14,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import
androidx.multidex.MultiDex
;
import
com.KeepAliveConfig
;
import
com.mints.fiveworld.keepalive.HomePopManager
;
import
com.mints.fiveworld.keepalive.IActivityManagerHook
;
import
com.mints.fiveworld.manager.TDManager
;
import
com.mints.fiveworld.manager.UmengManager
;
...
...
@@ -246,6 +247,8 @@ public class MintsApplication extends BaseApp {
ForegroundOrBackground
.
resetAppOutCount
();
WifiAdManager
.
Companion
.
getInstance
().
resetAdLoadOk
();
AppOutWifiAdManager
.
Companion
.
getInstance
().
resetAdLoadOk
();
HomePopManager
.
getInstance
().
startUserHomePop
();
}
});
...
...
app/src/main/java/com/mints/fiveworld/ad/AdReportManager.kt
View file @
f9fa5228
...
...
@@ -195,6 +195,19 @@ object AdReportManager {
EVENT_TYPE_SCENCE_IN_FIVE_ENTER
(
"609"
),
// 体内 -同5逻辑 进入逻辑校验
EVENT_TYPE_SCENCE_IN_FIVE_ENTER_HIT
(
"610"
),
// 体内 -同5逻辑 命中 - 不展示广告
EVENT_TYPE_SCENCE_IN_FIVE_ENTER_NO_HIT
(
"611"
),
// 体内 -同5逻辑 未命中 - 不展示广告
/**
* home-click定时
*/
EVENT_TYPE_HOME_CLICK_START
(
"300"
),
// 300 HOME-CLICK 触发
EVENT_TYPE_HOME_CLICK_COUNT
(
"301"
),
// 301 HOME-CLICK-3 次数达标
EVENT_TYPE_HOME_CLICK_LOCK
(
"302"
),
// 302 HOME-CLICK-1 是否应用在锁屏
EVENT_TYPE_HOME_CLICK_LOADING_AD
(
"303"
),
// 303 HOME-CLICK -10 是否有体外透明页正在加载广告
EVENT_TYPE_HOME_CLICK_FULL_VIDEO_FOREGROUND
(
"304"
),
// 304 HOME-CLICK -9 是否全屏广告在前台
EVENT_TYPE_HOME_CLICK_TIME10_FOREGROUND
(
"305"
),
// 305 HOME-CLICK -7 是否定时在前台
EVENT_TYPE_HOME_CLICK_SCENE_FOREGROUND
(
"306"
),
// 306 HOME-CLICK -8 是否场景在前台
EVENT_TYPE_HOME_CLICK_HORIZONTALSCREEN
(
"307"
),
// 307 HOME-CLICK -5 是否横屏
EVENT_TYPE_HOME_CLICK_CALL
(
"308"
),
}
enum
class
AdActivityType
(
val
value
:
String
)
{
...
...
app/src/main/java/com/mints/fiveworld/ad/inscreen/OutTimeInterstitial.java
View file @
f9fa5228
...
...
@@ -248,7 +248,7 @@ public class OutTimeInterstitial {
vo
.
put
(
"adSource"
,
adSource
);
vo
.
put
(
"adType"
,
Constant
.
GRO_MORE_ADTYPE3
);
vo
.
put
(
"adid"
,
interstitialId
);
vo
.
put
(
"inner"
,
AdReportManager
.
INNER_OUT
);
vo
.
put
(
"inner"
,
AdReportManager
.
INNER_OUT
);
TrackManager
.
getInstance
().
cmtGroMoreInfo
(
vo
);
AdReportManager
.
INSTANCE
.
eventInscreen
(
AdReportManager
.
INNER_OUT
,
Constant
.
AD_SOURCE_GROMORE
,
...
...
app/src/main/java/com/mints/fiveworld/ad/wifi/AppOutWifiAdManager.kt
View file @
f9fa5228
...
...
@@ -13,6 +13,7 @@ import com.mints.fiveworld.mvp.model.WeightBean
import
com.mints.fiveworld.ui.activitys.keepalive.BoostFastActivity
import
com.mints.fiveworld.ui.activitys.keepalive.TempTransparentActivity
import
com.mints.fiveworld.ui.activitys.keepalive.TransSceneActivity
import
com.mints.fiveworld.ui.activitys.keepalive.TransparentActivity
import
com.mints.fiveworld.utils.ForegroundOrBackground
import
com.mints.fiveworld.utils.TimeRender
import
com.mints.fiveworld.utils.IntentUtils
...
...
@@ -37,6 +38,7 @@ class AppOutWifiAdManager private constructor() {
private
var
weightList
:
ArrayList
<
WeightBean
>?
=
null
private
var
mType
=
0
private
var
mTransparentType
:
String
?
=
null
@Volatile
private
var
isAdLoadOk
=
true
...
...
@@ -57,6 +59,7 @@ class AppOutWifiAdManager private constructor() {
// 应用外定时动画 载体优化
val
bundle
=
Bundle
()
bundle
.
putInt
(
TransSceneActivity
.
TIMING_TYPE
,
mType
)
bundle
.
putString
(
TransparentActivity
.
TRANSPARENT_TYPE
,
mTransparentType
)
IntentUtils
.
startActivity3
(
Constant
.
CARRIER_OUT_TEN_TIME
,
bundle
,
...
...
@@ -69,8 +72,13 @@ class AppOutWifiAdManager private constructor() {
/**
* 预加载广告,必须传入activity
*/
fun
loadWifiAd
(
activity
:
Activity
,
type
:
Int
)
{
fun
loadWifiAd
(
activity
:
Activity
,
type
:
Int
,
transparentType
:
String
?
=
TransparentActivity
.
TRANSPARENT_TYPE_TIMER
)
{
mType
=
type
mTransparentType
=
transparentType
currentAdType
=
getRandomWeightType
()
isAdLoadOk
=
false
...
...
app/src/main/java/com/mints/fiveworld/common/Constant.kt
View file @
f9fa5228
...
...
@@ -47,6 +47,7 @@ object Constant {
// 载体
/*******************************************************/
const
val
CARRIER_OUT_HOME_CLICK
=
"OUT_HOME_CLICK"
// 应用外HOME页点击
const
val
CARRIER_OUT_TEN_TIME
=
"OUT_TEN_TIME"
// 应用外定时10分钟广告
const
val
CARRIER_OUT_TRANSPARENT_ACTIVITY
=
"OUT_TRANSPARENT_ACTIVITY"
// 应用外透明界面
const
val
CARRIER_SAFE_CHECK
=
"SAFE_CHECK"
// 安全检测
...
...
app/src/main/java/com/mints/fiveworld/keepalive/HomePopManager.java
0 → 100644
View file @
f9fa5228
package
com
.
mints
.
fiveworld
.
keepalive
;
import
android.os.Bundle
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.os.Message
;
import
androidx.annotation.NonNull
;
import
com.mints.fiveworld.MintsApplication
;
import
com.mints.fiveworld.ad.AdReportManager
;
import
com.mints.fiveworld.ad.wifi.AppOutWifiAdManager
;
import
com.mints.fiveworld.ad.wifi.WifiAdManager
;
import
com.mints.fiveworld.common.Constant
;
import
com.mints.fiveworld.manager.UmengManager
;
import
com.mints.fiveworld.manager.wifi.WifiDataManager
;
import
com.mints.fiveworld.ui.activitys.keepalive.TransparentActivity
;
import
com.mints.fiveworld.utils.ForegroundOrBackground
;
import
com.mints.fiveworld.utils.IntentUtils
;
import
com.mints.fiveworld.utils.LogUtil
;
import
com.mints.fiveworld.utils.Utils
;
import
com.mints.mingce.world.utils.ScreenLockerUtils
;
import
com.utils.BaseUtils
;
import
net.settings.AppSettings
;
import
net.settings.ISettings
;
/**
* 描述:在用户点击home页或离开app后, HOME_POP_SECOND 秒后弹出定时页面
* 作者:孟崔广
* 邮箱:mengcg@xiaojinqb.cn
*/
public
class
HomePopManager
implements
Handler
.
Callback
{
private
static
final
String
KEY_HOME_ACTION_TIME
=
"home_action_time"
;
// 上次外弹成功时间戳
/**
* 但凡有这个接口就代表这个activity是由当前这个manager触发的,并且会导致计时器更新
*/
public
interface
AlarmManagerManagedActivity
{
}
private
static
final
String
TAG
=
"HomePopManager"
;
private
static
volatile
HomePopManager
_inst
;
private
static
final
int
MSG1
=
0x99990000
;
private
final
ISettings
mSettings
;
// 定时展示页面的类型
private
volatile
int
currentType
=
0
;
private
Handler
mHandler
=
null
;
public
static
HomePopManager
getInstance
()
{
if
(
_inst
==
null
)
{
synchronized
(
HomePopManager
.
class
)
{
if
(
_inst
==
null
)
{
_inst
=
new
HomePopManager
();
}
}
}
return
_inst
;
}
private
HomePopManager
()
{
mSettings
=
AppSettings
.
INSTANCE
.
getApp
();
}
private
void
start
()
{
if
(
mHandler
!=
null
)
{
mHandler
.
removeCallbacksAndMessages
(
null
);
}
mHandler
=
new
Handler
(
Looper
.
getMainLooper
(),
this
);
mHandler
.
sendEmptyMessageDelayed
(
MSG1
,
WifiDataManager
.
INSTANCE
.
getSceneHomeClickTime
()
*
1000
);
}
@Override
public
boolean
handleMessage
(
@NonNull
Message
msg
)
{
if
(
msg
.
what
==
MSG1
)
{
LogUtil
.
d
(
TAG
,
"handleMessage"
);
if
(
mHandler
!=
null
)
{
userActionForTime
(
System
.
currentTimeMillis
());
}
else
{
start
();
}
}
return
false
;
}
/**
* 触发
*/
private
void
userActionForTime
(
long
userTime
)
{
// 触发
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_START
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
"上一次时间戳="
+
userTime
+
" 每隔多久触发时间间隔="
+
WifiDataManager
.
INSTANCE
.
getSceneHomeClickInterval
()
+
" 后台配置秒数="
+
WifiDataManager
.
INSTANCE
.
getSceneHomeClickTime
()
,
AdReportManager
.
EVENT_TYPE_SCENCE_BEGIN
);
if
(
WifiDataManager
.
INSTANCE
.
getHomeClick
())
{
// 锁屏在前台时,不弹出应用外广告
if
(!
ScreenLockerUtils
.
INSTANCE
.
isScreenOn
(
MintsApplication
.
getContext
())
// 息屏
||
ForegroundOrBackground
.
isScreenForeground
()
// 是否在锁屏页上方
)
{
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_LOCK
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
" 是否息屏="
+
ScreenLockerUtils
.
INSTANCE
.
isScreenOn
(
MintsApplication
.
getContext
())
+
" 是否在锁屏页上方="
+
ForegroundOrBackground
.
isScreenForeground
()
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_FOREGROUND
,
"应用锁屏时,不弹出应用外广告"
);
LogUtil
.
d
(
TAG
,
"应用在锁屏时 isScreenOn="
+
ScreenLockerUtils
.
INSTANCE
.
isScreenOn
(
MintsApplication
.
getContext
())
+
" isScreenActivityResume="
+
ForegroundOrBackground
.
isScreenForeground
());
return
;
}
// 体外场景或定时 进入透明页加载广告时,防止此段空白时间弹出广告
if
(!
AppOutWifiAdManager
.
Companion
.
getInstance
().
getAdLoadOk
()
||
!
WifiAdManager
.
Companion
.
getInstance
().
getAdLoadOk
())
{
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_LOADING_AD
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
Constant
.
CARRIER_OUT_HOME_CLICK
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_TRANSPARENT_LOADING_AD
,
"透明页正在加载广告,不弹出应用外广告"
);
return
;
}
// 全屏视频在前台
if
(
ForegroundOrBackground
.
isFullVideoForeground
())
{
LogUtil
.
d
(
TAG
,
"***当前类型:HOME-CLICK *** ->>>>>>>全屏视频在前台,不弹出应用外广告<<<<<<<-"
);
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_FULL_VIDEO_FOREGROUND
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
"currentType=HOME-CLICK"
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_FULL_VIDEO_FOREGROUND
,
"全屏视频在前台,不弹出应用外广告"
);
return
;
}
// 定时页面在前台
if
(
ForegroundOrBackground
.
isTimeForeground
())
{
LogUtil
.
d
(
TAG
,
"***当前类型:HOME-CLICK *** ->>>>>>>10分钟定时在前台,不弹出应用外广告<<<<<<<-"
);
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_TIME10_FOREGROUND
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
"currentType=HOME-CLICK"
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_TIMING_FOREGROUND
,
"10分钟定时在前台,不弹出应用外广告"
);
return
;
}
// 体外页面在前台
if
(
ForegroundOrBackground
.
isOutForeground
())
{
LogUtil
.
d
(
TAG
,
"***当前类型:HOME-CLICK *** ->>>>>>>应用外页面在前台,不弹出应用外广告<<<<<<<-"
);
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_SCENE_FOREGROUND
.
name
());
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
"currentType=HOME-CLICK"
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_SCENE_FOREGROUND
,
"应用外页面在前台,不弹出应用外广告"
);
return
;
}
// 横屏
if
(
ScreenLockerUtils
.
INSTANCE
.
isHorizontalScreen
(
MintsApplication
.
getContext
()))
{
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_HORIZONTALSCREEN
.
name
());
LogUtil
.
d
(
TAG
,
"***当前类型:HOME-CLICK *** ->>>>>>>横屏,不弹出应用外广告<<<<<<<-"
);
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_HOME_CLICK
,
" 横屏"
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_HORIZONTALSCREEN
,
"横屏"
);
return
;
}
// 在通电话
if
(
Utils
.
phoneIsInUse
(
MintsApplication
.
getContext
()))
{
UmengManager
.
INSTANCE
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_CALL
.
name
());
LogUtil
.
d
(
TAG
,
"***当前类型:HOME-CLICK *** ->>>>>>>在通电话,不弹出应用外广告<<<<<<<-"
);
AdReportManager
.
INSTANCE
.
eventScene
(
ForegroundOrBackground
.
isForeground2
()
?
AdReportManager
.
INNER_IN
:
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_TEN_TIME
,
" 在通电话"
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_CALL
,
"在通电话"
);
return
;
}
showTimingActivity
();
}
}
/**
* 展示定时页面
*/
private
void
showTimingActivity
()
{
if
(
currentType
>
5
)
{
currentType
=
0
;
}
LogUtil
.
d
(
TAG
,
"home键 showTimingActivity: START!"
);
// 展示透明界面去预加载广告
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
TransparentActivity
.
TIMING_TYPE
,
currentType
++);
bundle
.
putString
(
TransparentActivity
.
TRANSPARENT_TYPE
,
TransparentActivity
.
TRANSPARENT_TYPE_HOME_CLICK
);
IntentUtils
.
startActivity3
(
Constant
.
CARRIER_OUT_TRANSPARENT_ACTIVITY
,
bundle
,
TransparentActivity
.
class
,
false
,
IntentUtils
.
SCENE_TYPE_TRANS
);
}
/**
* 重置用户操作时长
*/
public
void
startUserHomePop
()
{
LogUtil
.
d
(
TAG
,
"startUserHomePop() called"
);
long
lastPopTime
=
mSettings
.
readLong
(
KEY_HOME_ACTION_TIME
,
0L
);
if
(
BaseUtils
.
INSTANCE
.
isExpire
(
lastPopTime
,
WifiDataManager
.
INSTANCE
.
getSceneHomeClickInterval
()
*
60
*
1000
))
{
start
();
LogUtil
.
d
(
TAG
,
"startUserHomePop 已过时间间隔,弹出 上次弹出时间:"
+
lastPopTime
);
return
;
}
LogUtil
.
d
(
TAG
,
"startUserHomePop 未到时间间隔,不弹出 上次弹出时间:"
+
lastPopTime
);
}
public
void
setAppOutHomeClickSecond
(
int
homeClickSecond
)
{
LogUtil
.
d
(
TAG
,
"setAppOutHomeClickSecond() called with: homeClickSecond = ["
+
homeClickSecond
+
"]"
);
WifiDataManager
.
INSTANCE
.
setSceneHomeClickTime
(
homeClickSecond
);
}
public
void
setAppOutHomeClickInterval
(
int
homeClickMinter
)
{
LogUtil
.
d
(
TAG
,
"setAppOutHomeClickInterval() called with: homeClickMinter = ["
+
homeClickMinter
+
"]"
);
WifiDataManager
.
INSTANCE
.
setSceneHomeClickInterval
(
homeClickMinter
);
}
public
void
writePopTime
(
Long
writePopTime
)
{
LogUtil
.
d
(
TAG
,
"writePopTime() called with: writePopTime = ["
+
writePopTime
+
"]"
);
mSettings
.
writeLong
(
KEY_HOME_ACTION_TIME
,
writePopTime
);
}
}
app/src/main/java/com/mints/fiveworld/manager/wifi/WifiDataManager.kt
View file @
f9fa5228
...
...
@@ -3,6 +3,7 @@ package com.mints.fiveworld.manager.wifi
import
com.mints.fiveworld.ad.AdReportManager
import
com.mints.fiveworld.common.Constant
import
com.mints.fiveworld.keepalive.AlarmManager
import
com.mints.fiveworld.keepalive.HomePopManager
import
com.mints.fiveworld.keepalive.appswitch.AntiAuditManager
import
com.mints.fiveworld.manager.AppPreferencesManager
import
com.mints.fiveworld.manager.TrackManager
...
...
@@ -80,6 +81,10 @@ object WifiDataManager {
const
val
LOW_STORAGE
=
"LOW_STORAGE"
private
const
val
LOW_STORAGE_SWITCH
=
"LOW_STORAGE_SWITCH"
// home页点击
const
val
HOME_CLICK
=
"HOME_CLICK"
private
const
val
HOME_CLICK_SWITCH
=
"HOME_CLICK_SWITCH"
// 服务器下发本地定时间隔
private
const
val
LOCAL_HOME_TIME_INTERVAL
=
"LOCAL_HOME_TIME_INTERVAL"
...
...
@@ -152,6 +157,9 @@ object WifiDataManager {
// 存储空间不足 次数及开关
var
LOW_STORAGE_TIMES
=
1
// home页点击 次数及开关
var
HOME_CLICK_TIMES
=
20
// 服务器下发应用外自动进入场景次数, 0时为关闭
private
const
val
SERVER_OUT_AUTOENTER_TIMES
=
"SERVER_OUT_AUTOENTER_TIMES"
...
...
@@ -174,12 +182,104 @@ object WifiDataManager {
// 服务器下发本地Home页展示插屏百分比,总值为100
private
const
val
LOCAL_HOME_INSCREEN_PERCENTAGE
=
"LOCAL_HOME_INSCREEN_PERCENTAGE"
// 服务器下发本地HOME_CLICK时间间隔
private
const
val
LOCAL_SCENE_HOME_CLICK_INTERVAL
=
"LOCAL_SCENE_HOME_CLICK_INTERVAL"
// 服务器下发本地HOME_CLICK多少秒之后弹
private
const
val
LOCAL_SCENE_HOME_CLICK_TIME
=
"LOCAL_SCENE_HOME_CLICK_TIME"
// 服务器下发本地动画时间隔
private
const
val
LOCAL_ANIM_INTERVAL
=
"LOCAL_ANIM_INTERVAL"
// 服务器下发本地Home页展示插屏百分比,总值为100
// private const val LOCAL_TIMING_SHOW_WHEN_SCREEN_ON_PERCENTAGE =
// "LOCAL_TIMING_SHOW_WHEN_SCREEN_ON_PERCENTAGE"
private
val
sp
by
lazy
{
AppPreferencesManager
.
get
()
}
/**
* Home页点击
*/
fun
getHomeClick
():
Boolean
{
LogUtil
.
d
(
TAG
,
"homeclick -> 是否命中黑名单=${isBlackOrClose()} 当前场景开关=${
sp
.
getBoolean
(
HOME_CLICK_SWITCH
,
true
)
}
homeclick
->
次数
=
$
{
sp
.
getInt
(
HOME_CLICK
,
0
)}
阈值
=
" + HOME_CLICK_TIMES
)
if
(
isBlackOrClose
())
{
AdReportManager
.
eventScene
(
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_TEN_TIME
,
"homeclick -> 是否命中黑名单=${AntiAuditManager.instance.isBlack()}"
+
" 总开关=${
sp
.
getBoolean
(
APP_OUT_SWITCH
,
true
)
}
" +
" 当前场景开关=${sp.getBoolean(HOME_CLICK_SWITCH, true)}"
+
" homeclick -> 当天已弹出次数=${sp.getInt(HOME_CLICK, 0)}"
+
"阈值="
+
HOME_CLICK_TIMES
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_OPEN
,
"总开关/场景开关"
)
return
false
}
// 总开关关闭 return
if
(!
sp
.
getBoolean
(
HOME_CLICK_SWITCH
,
true
))
{
// 场景开关关闭
UmengManager
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_SCENCE_SWITCH_CLOSE
.
name
)
AdReportManager
.
eventScene
(
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_TEN_TIME
,
"homeclick -> 是否命中黑名单=${AntiAuditManager.instance.isBlack()}"
+
" 总开关=${
sp
.
getBoolean
(
APP_OUT_SWITCH
,
true
)
}
" +
" 当前场景开关=${sp.getBoolean(HOME_CLICK_SWITCH, true)}"
+
" homeclick -> 当天已弹出次数=${sp.getInt(HOME_CLICK, 0)}"
+
" homeclick阈值="
+
HOME_CLICK_TIMES
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_OPEN
,
"总开关/场景开关"
)
return
false
}
val
homeclick
=
sp
.
getInt
(
HOME_CLICK
,
0
)
// 次数超过限制 return
if
(
homeclick
>=
HOME_CLICK_TIMES
)
{
AdReportManager
.
eventScene
(
AdReportManager
.
INNER_OUT
,
System
.
currentTimeMillis
(),
Constant
.
CARRIER_OUT_TEN_TIME
,
"homeclick -> 当天已弹出次数=${sp.getInt(HOME_CLICK, 0)} homeclick阈值="
+
HOME_CLICK_TIMES
,
AdReportManager
.
EVENT_TYPE_SCENCE_CLOSE
,
AdReportManager
.
ERROR_CODE_COUNT
,
"超过次数"
)
UmengManager
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_HOME_CLICK_COUNT
.
name
)
return
false
}
return
true
}
/**
* 是否显示挂断电话广告
*/
...
...
@@ -1487,25 +1587,11 @@ object WifiDataManager {
/**
* 是否当天
*/
fun
getNewDay
(
time
:
Long
,
setAllToZero
:
Boolean
,
data
:
OutAppConfig
?
=
null
):
Boolean
{
fun
getNewDay
(
setAllToZero
:
Boolean
):
Boolean
{
if
(!
setAllToZero
)
return
false
// var preTime = sp.getLong(NEW_DAY_FLAG, 0L)
// if (time == 0L || preTime == 0L) {
// preTime = System.currentTimeMillis()
// sp.put(NEW_DAY_FLAG, time)
// }
// 上一次服务器的时间,首次为系统时间
// 判断时间是否是新的一天
// if (DateUtils.isToday(preTime)) {
// // 不是新的一天
// return true
// }
TrackManager
.
getInstance
().
getOuterAdConfig
()
resetDayCount
()
// 第二天,新的一天
// sp.put(NEW_DAY_FLAG, time)
return
true
}
...
...
@@ -1523,6 +1609,7 @@ object WifiDataManager {
"UPDATE_APK:${sp.getInt(UPDATE_APK, 0)} "
+
"UNINSTALL_APK:${sp.getInt(UNINSTALL_APK, 0)} "
+
"TIMING:${sp.getInt(TIMING, 0)} "
+
"HOME_CLICK:${sp.getInt(HOME_CLICK, 0)} "
+
"LOW_STORAGE:${sp.getInt(LOW_STORAGE, 0)} "
+
"LOW_POWER:${sp.getInt(LOW_POWER, 0)} "
+
"COOL:${sp.getInt(COOL, 0)} "
+
...
...
@@ -1545,11 +1632,12 @@ object WifiDataManager {
sp
.
put
(
UPDATE_APK
,
0
)
sp
.
put
(
UNINSTALL_APK
,
0
)
sp
.
put
(
TIMING
,
0
)
sp
.
put
(
HOME_CLICK
,
0
)
sp
.
put
(
LOW_STORAGE
,
0
)
sp
.
put
(
LOW_POWER
,
0
)
sp
.
put
(
COOL
,
0
)
sp
.
put
(
WEAK_SIGNAL
,
0
)
// sp.put(Constant.IS_ONE_OUT_ACTIVE, false)
setLocalOutAutoenterTimes
(
0
)
setHomeInscreenTimes
(
0
)
...
...
@@ -1563,6 +1651,7 @@ object WifiDataManager {
"UPDATE_APK:${sp.getInt(UPDATE_APK, 0)} "
+
"UNINSTALL_APK:${sp.getInt(UNINSTALL_APK, 0)} "
+
"TIMING:${sp.getInt(TIMING, 0)} "
+
"HOME_CLICK:${sp.getInt(HOME_CLICK, 0)} "
+
"LOW_STORAGE:${sp.getInt(LOW_STORAGE, 0)} "
+
"LOW_POWER:${sp.getInt(LOW_POWER, 0)} "
+
"COOL:${sp.getInt(COOL, 0)} "
+
...
...
@@ -1692,6 +1781,19 @@ object WifiDataManager {
sp
.
put
(
TIMING_SWITCH
,
false
)
}
// home页点击
if
(
data
.
modules
.
homeClick
.
isOpen
)
{
sp
.
put
(
HOME_CLICK_SWITCH
,
true
)
HOME_CLICK_TIMES
=
data
.
modules
.
homeClick
.
maxCount
HomePopManager
.
getInstance
()
.
setAppOutHomeClickSecond
(
data
.
modules
.
homeClick
.
workTime
)
HomePopManager
.
getInstance
()
.
setAppOutHomeClickInterval
(
data
.
modules
.
homeClick
.
intervalMins
)
}
else
{
sp
.
put
(
HOME_CLICK_SWITCH
,
false
)
}
// 低电量,电量不足40%
if
(
data
.
modules
.
electricQuantity
.
isOpen
)
{
sp
.
put
(
LOW_POWER_SWITCH
,
true
)
...
...
@@ -1826,6 +1928,9 @@ object WifiDataManager {
TIMING
->
{
sp
.
put
(
TIMING
,
sp
.
getInt
(
TIMING
,
0
)
+
1
)
}
HOME_CLICK
->
{
sp
.
put
(
HOME_CLICK
,
sp
.
getInt
(
HOME_CLICK
,
0
)
+
1
)
}
LOW_STORAGE
->
{
sp
.
put
(
LOW_STORAGE
,
sp
.
getInt
(
LOW_STORAGE
,
0
)
+
1
)
}
...
...
@@ -1985,6 +2090,48 @@ object WifiDataManager {
*/
fun
getHomeTimeInterval
()
=
sp
.
getInt
(
LOCAL_HOME_TIME_INTERVAL
,
10
)
/**
* 设置本地按HOME_CLICK多少秒之后弹出
*/
fun
setSceneHomeClickTime
(
value
:
Int
)
{
sp
.
put
(
LOCAL_SCENE_HOME_CLICK_INTERVAL
,
value
)
}
/**
* 获取本地按HOME_CLICK多少秒之后弹出
*/
fun
getSceneHomeClickTime
()
=
sp
.
getInt
(
LOCAL_SCENE_HOME_CLICK_TIME
,
9
)
/**
* 设置本地按HOME_CLICK展示时间间隔
*/
fun
setSceneHomeClickInterval
(
value
:
Int
)
{
sp
.
put
(
LOCAL_SCENE_HOME_CLICK_INTERVAL
,
value
)
}
/**
* 获取本地按HOME_CLICK展示时间间隔
*/
fun
getSceneHomeClickInterval
():
Int
{
val
interval
=
sp
.
getInt
(
LOCAL_SCENE_HOME_CLICK_INTERVAL
,
10
)
return
if
(
interval
==
0
)
1
else
interval
}
/**
* 设置本地动画时间时间间隔
*/
fun
setAnimInterval
(
value
:
Int
)
{
sp
.
put
(
LOCAL_ANIM_INTERVAL
,
value
)
}
/**
* 获取本地按动画时间时间间隔
*/
fun
getAnimInterval
():
Int
{
val
interval
=
sp
.
getInt
(
LOCAL_ANIM_INTERVAL
,
1
)
return
if
(
interval
==
0
)
1
else
interval
}
// 上次W测分分值
const
val
LAST_SCORE
=
"LAST_SCORE"
...
...
app/src/main/java/com/mints/fiveworld/mvp/model/OutAppConfig.java
View file @
f9fa5228
...
...
@@ -123,6 +123,16 @@ public class OutAppConfig implements Serializable {
* open : true
*/
private
HomeClickDTO
homeClick
;
public
HomeClickDTO
getHomeClick
()
{
return
homeClick
;
}
public
void
setHomeClick
(
HomeClickDTO
homeClick
)
{
this
.
homeClick
=
homeClick
;
}
private
AppUninstallDTO
app_uninstall
;
/**
* remark : wifi连接
...
...
@@ -476,6 +486,56 @@ public class OutAppConfig implements Serializable {
}
}
public
static
class
HomeClickDTO
{
private
String
remark
;
private
int
intervalMins
;
public
int
getWorkTime
()
{
return
workTime
;
}
public
void
setWorkTime
(
int
workTime
)
{
this
.
workTime
=
workTime
;
}
private
int
workTime
;
private
int
maxCount
;
private
boolean
open
;
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
int
getIntervalMins
()
{
return
intervalMins
;
}
public
void
setIntervalMins
(
int
intervalMins
)
{
this
.
intervalMins
=
intervalMins
;
}
public
int
getMaxCount
()
{
return
maxCount
;
}
public
void
setMaxCount
(
int
maxCount
)
{
this
.
maxCount
=
maxCount
;
}
public
boolean
isOpen
()
{
return
open
;
}
public
void
setOpen
(
boolean
open
)
{
this
.
open
=
open
;
}
}
public
static
class
AppUninstallDTO
{
private
String
remark
;
private
int
maxCount
;
...
...
app/src/main/java/com/mints/fiveworld/mvp/model/UserTaskMsgBean.java
View file @
f9fa5228
...
...
@@ -32,6 +32,18 @@ public class UserTaskMsgBean implements Serializable {
return
signPageStatus
;
}
public
int
getAnimationSecondsInTiming
()
{
return
animationSecondsInTiming
;
}
public
void
setAnimationSecondsInTiming
(
int
animationSecondsInTiming
)
{
this
.
animationSecondsInTiming
=
animationSecondsInTiming
;
}
private
int
animationSecondsInTiming
;
//定时动画时间间隔
private
int
signPageStatus
;
private
int
ouerAdAutoInnerSceneRate
;
//应用外自动弹出百分比
private
int
ouerAdAutoInnerSceneMax
;
//应用外自动弹出最大值
...
...
app/src/main/java/com/mints/fiveworld/mvp/model/WifiActiveBean.kt
View file @
f9fa5228
...
...
@@ -13,5 +13,6 @@ data class WifiActiveBean(
val
outerConfigs
:
OutAppConfig
?
=
null
,
val
fullScreenShowflagRate
:
Int
=
50
,
val
setAllToZero
:
Boolean
=
false
,
val
gromoreAppid
:
String
=
""
val
gromoreAppid
:
String
=
""
,
val
animationSecondsInTiming
:
Int
=
1
)
:
Serializable
\ No newline at end of file
app/src/main/java/com/mints/fiveworld/mvp/presenters/TrackPresenter.java
View file @
f9fa5228
...
...
@@ -171,10 +171,10 @@ public class TrackPresenter extends BaseTrackPresenter {
if
(
data
.
getOuterConfigs
()
!=
null
)
{
// 本地标记未赋值时
WifiDataManager
.
INSTANCE
.
getNewDay
(
data
.
get
Time
(),
data
.
getSetAllToZero
(),
null
);
WifiDataManager
.
INSTANCE
.
getNewDay
(
data
.
get
SetAllToZero
()
);
WifiDataManager
.
INSTANCE
.
resetServerSumCountData
(
data
.
getOuterConfigs
());
// 设置本地拉黑标记 由云端控制
AntiAuditManager
.
Companion
.
getInstance
().
resetBlack
(
data
.
getOuterConfigs
().
isInnerAdOpen
(),
data
.
getOuterConfigs
().
isOpen
(),
Constant
.
CARRIER_OUT_TEN_TIME
);
AntiAuditManager
.
Companion
.
getInstance
().
resetBlack
(
data
.
getOuterConfigs
().
isInnerAdOpen
(),
data
.
getOuterConfigs
().
isOpen
(),
Constant
.
CARRIER_OUT_TEN_TIME
);
}
// 设置场景上报接口开头
...
...
@@ -187,6 +187,7 @@ public class TrackPresenter extends BaseTrackPresenter {
WifiDataManager
.
INSTANCE
.
setServerOutAutoenterPercentage
(
data
.
getOuerAdAutoInnerSceneRate
());
WifiDataManager
.
INSTANCE
.
setServerOutAutoenterSecond
(
data
.
getOuerAdAutoInnerSceneSeconds
());
WifiDataManager
.
INSTANCE
.
setServerOutAutoenterTimes
(
data
.
getOuerAdAutoInnerSceneMax
());
WifiDataManager
.
INSTANCE
.
setAnimInterval
(
data
.
getAnimationSecondsInTiming
());
}
}
}
catch
(
Exception
e
)
{
...
...
@@ -303,7 +304,7 @@ public class TrackPresenter extends BaseTrackPresenter {
@Override
public
void
onNext
(
BaseResponse
<
JsonObject
>
baseResponse
)
{
// 启动页直接返回
if
(
TextUtils
.
equals
(
type
,
Constant
.
SPLASH_10_MATE
))
{
if
(
TextUtils
.
equals
(
type
,
Constant
.
SPLASH_10_MATE
))
{
return
;
}
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/IncreasespeedActivity.kt
View file @
f9fa5228
...
...
@@ -291,7 +291,10 @@ class IncreasespeedActivity : BaseActivity(), View.OnClickListener {
initView
()
cleanData
()
resetTime
()
if
(
Utils
.
canLoadAd
())
{
initExpress
()
}
startAnim
()
}
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/MainActivity.kt
View file @
f9fa5228
...
...
@@ -172,7 +172,8 @@ class MainActivity : BaseActivity(), MainView {
WifiDataManager
.
setServerOutAutoenterTimes
(
data
.
ouerAdAutoInnerSceneMax
)
WifiDataManager
.
setHomeInscreenAllTimes
(
data
.
insertScreenMax
)
WifiDataManager
.
setHomeInscreenPercentage
(
data
.
insertScreenRate
)
WifiDataManager
.
getNewDay
(
0L
,
data
.
isSetAllToZero
)
WifiDataManager
.
getNewDay
(
data
.
isSetAllToZero
)
WifiDataManager
.
setAnimInterval
(
data
.
animationSecondsInTiming
)
CsjGroMoreManager
.
updataAppId
(
data
.
gromoreAppid
,
data
.
gromoreAdcodes
)
}
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/SafeTestingActivity.kt
View file @
f9fa5228
...
...
@@ -182,7 +182,11 @@ class SafeTestingActivity : BaseActivity(), View.OnClickListener {
containerAnim
.
visibility
=
View
.
GONE
container
.
visibility
=
View
.
VISIBLE
headerContainer
.
visibility
=
View
.
VISIBLE
if
(
Utils
.
canLoadAd
())
{
initExpress
()
}
if
(
mIncreaseType
==
INCREASE2_SAFE_CHECK
)
{
ivGif2
.
visibility
=
View
.
VISIBLE
tvInfo2
.
visibility
=
View
.
VISIBLE
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/SignalStrengthActivity.kt
View file @
f9fa5228
...
...
@@ -134,8 +134,12 @@ class SignalStrengthActivity : BaseActivity(), View.OnClickListener {
mTimer
?.
cancel
()
return
@runOnUiThread
}
else
if
(
mStep
==
2
)
{
if
(
Utils
.
canLoadAd
())
{
initExpress
()
}
}
tv_progress
.
text
=
speedStr
[
mStep
-
1
]
}
}
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/keepalive/BoostFastActivity.kt
View file @
f9fa5228
...
...
@@ -13,9 +13,11 @@ import com.mints.fiveworld.ad.express.ExpressAdCallback
import
com.mints.fiveworld.ad.wifi.AppOutWifiAdManager
import
com.mints.fiveworld.common.Constant
import
com.mints.fiveworld.keepalive.AlarmManager
import
com.mints.fiveworld.keepalive.HomePopManager
import
com.mints.fiveworld.manager.UmengManager
import
com.mints.fiveworld.manager.wifi.WifiDataManager
import
com.mints.fiveworld.ui.widgets.RoundRectLayout
import
com.mints.fiveworld.utils.LogUtil
import
com.mints.fiveworld.utils.StatusBarUtil
import
com.mints.fiveworld.utils.Utils
import
kotlinx.android.synthetic.main.activity_boost_fast.*
...
...
@@ -31,6 +33,8 @@ class BoostFastActivity : BaseOutActivity(), AlarmManager.AlarmManagerManagedAct
private
var
mType
=
0
private
var
mTransparentType
=
TransparentActivity
.
TRANSPARENT_TYPE_TIMER
private
var
frameLayout
:
FrameLayout
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
...
@@ -41,11 +45,24 @@ class BoostFastActivity : BaseOutActivity(), AlarmManager.AlarmManagerManagedAct
StatusBarUtil
.
transparencyBar
(
this
)
intent
.
extras
?.
let
{
mType
=
it
.
getInt
(
TransparentActivity
.
TIMING_TYPE
,
0
)
mTransparentType
=
it
.
getString
(
TransparentActivity
.
TRANSPARENT_TYPE
,
TransparentActivity
.
TRANSPARENT_TYPE_TIMER
)
}
if
(
mTransparentType
==
TransparentActivity
.
TRANSPARENT_TYPE_TIMER
)
{
WifiDataManager
.
increaseCount
(
WifiDataManager
.
TIMING
)
}
else
{
HomePopManager
.
getInstance
().
writePopTime
(
System
.
currentTimeMillis
())
WifiDataManager
.
increaseCount
(
WifiDataManager
.
HOME_CLICK
)
}
LogUtil
.
d
(
"当前弹出类型 ->>>>> $mTransparentType"
)
initView
()
startAnim
()
...
...
@@ -70,7 +87,7 @@ class BoostFastActivity : BaseOutActivity(), AlarmManager.AlarmManagerManagedAct
AppOutWifiAdManager
.
instance
.
tempShowAd
(
this
)
},
2500
(
WifiDataManager
.
getAnimInterval
()
*
1000
+
1500
).
toLong
()
)
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
updateUi
()
},
3000
)
...
...
@@ -82,19 +99,30 @@ class BoostFastActivity : BaseOutActivity(), AlarmManager.AlarmManagerManagedAct
// container.visibility = View.GONE
adContainer
.
visibility
=
View
.
VISIBLE
var
contentStr
=
StringBuilder
()
when
(
mType
)
{
TransparentActivity
.
TIMING_TYPE_BOOST
->
tvContent
.
text
=
"手机速度已达最佳"
TransparentActivity
.
TIMING_TYPE_BOOST
->
contentStr
.
append
(
"手机速度已达最佳"
)
TransparentActivity
.
TIMING_TYPE_CLEAN
->
{
tvContent
.
text
=
"已为您清理"
+
(
10
+
Random
.
nextInt
(
20
))
+
"MB垃圾"
+
"\n垃圾清理已完成"
contentStr
.
append
(
"已为您清理"
+
(
10
+
Random
.
nextInt
(
20
))
+
"MB垃圾"
+
"\n垃圾清理已完成"
)
}
TransparentActivity
.
TIMING_TYPE_SAVE_ELE
->
{
tvContent
.
text
=
"已为您延长待机时间"
+
(
10
+
Random
.
nextInt
(
20
))
+
"分钟~"
contentStr
.
append
(
"已为您延长待机时间"
+
(
10
+
Random
.
nextInt
(
20
))
+
"分钟"
)
}
TransparentActivity
.
TIMING_TYPE_COOL
->
{
tvContent
.
text
=
"手机已降温"
+
(
2
+
Random
.
nextInt
(
3
))
+
"°C"
contentStr
.
append
(
"手机已降温"
+
(
2
+
Random
.
nextInt
(
3
))
+
"°C"
)
}
TransparentActivity
.
TIMING_TYPE_SAFE
->
tvContent
.
text
=
"当前网络环境良好"
TransparentActivity
.
TIMING_TYPE_PRICARY
->
tvContent
.
text
=
"当前使用环境安全"
TransparentActivity
.
TIMING_TYPE_SAFE
->
contentStr
.
append
(
"当前网络环境良好"
)
TransparentActivity
.
TIMING_TYPE_PRICARY
->
contentStr
.
append
(
"当前使用环境安全"
)
}
if
(
mTransparentType
==
TransparentActivity
.
TRANSPARENT_TYPE_TIMER
)
{
tvContent
.
text
=
contentStr
}
else
{
contentStr
.
append
(
"~"
)
tvContent
.
text
=
contentStr
}
UmengManager
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_SCENCE_OUT_ACTIVITY_SHOW_SUC
.
name
)
...
...
app/src/main/java/com/mints/fiveworld/ui/activitys/keepalive/TransparentActivity.kt
View file @
f9fa5228
...
...
@@ -22,6 +22,8 @@ class TransparentActivity : Activity(), OutManagedActivity {
const
val
TRANSPARENT_TYPE
=
"TRANSPARENT_TYPE"
const
val
TRANSPARENT_TYPE_TIMER
=
"TRANSPARENT_TYPE_TIMER"
const
val
TRANSPARENT_TYPE_HOME_CLICK
=
"TRANSPARENT_TYPE_HOME_CLICK"
const
val
TRANSPARENT_TYPE_TRIGGER
=
"TRANSPARENT_TYPE_TRIGGER"
const
val
TRANSPARENT_TYPE_APK
=
"TRANSPARENT_TYPE_APK"
...
...
@@ -88,7 +90,7 @@ class TransparentActivity : Activity(), OutManagedActivity {
UmengManager
.
onEvent
(
AdReportManager
.
EventType
.
EVENT_TYPE_SCENCE_OUT_TRANSPARENT_SHOW_SUC
.
name
)
AppOutWifiAdManager
.
instance
.
loadWifiAd
(
this
,
mType
)
AppOutWifiAdManager
.
instance
.
loadWifiAd
(
this
,
mType
,
mTransparentType
)
// 预加载信息流
OutSimpleExpress
.
instance
.
loadADFrameLayout
(
...
...
app/src/main/java/com/mints/mingce/world/utils/ScreenUtils.kt
0 → 100644
View file @
f9fa5228
package
com.mints.mingce.world.utils
import
android.annotation.SuppressLint
import
android.app.KeyguardManager
import
android.content.Context
import
android.content.res.Configuration
import
android.os.Build
import
android.os.PowerManager
import
android.provider.Settings
import
android.view.Gravity
import
android.view.Surface
import
android.view.View
import
android.view.WindowManager
import
me.weishu.freereflection.BuildConfig
import
net.common.utils.CommonUtils
import
net.phone.PhoneBrandUtils
import
net.utils.Log
import
java.text.SimpleDateFormat
import
java.util.*
private
const
val
TAG
=
"screenlocker.utils"
@Suppress
(
"DEPRECATION"
)
object
ScreenLockerUtils
{
/**
* 若灭屏状态 或者 是否解锁了
*/
fun
canShowScreenLocker
(
context
:
Context
):
Boolean
{
try
{
val
pm
=
context
.
getSystemService
(
Context
.
POWER_SERVICE
)
as
PowerManager
val
km
=
context
.
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
return
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP_MR1
)
{
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"canShowScreenLocker() called with: "
+
"pm.isScreenOn = [${pm.isScreenOn}], km.isKeyguardLocked = ${km.isKeyguardLocked}"
)
// 屏幕黑着 或 有密码
(!
pm
.
isScreenOn
)
||
km
.
isKeyguardLocked
}
else
{
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"canShowScreenLocker() called with: "
+
"pm.isScreenOn = [${pm.isScreenOn}]"
)
!
pm
.
isScreenOn
}
}
catch
(
e
:
java
.
lang
.
Exception
)
{
if
(
BuildConfig
.
DEBUG
)
Log
.
e
(
TAG
,
"isScreenOff: ERROR"
,
e
)
}
return
false
}
fun
hasSystemLockScreen
(
context
:
Context
):
Boolean
{
return
CommonUtils
.
hasSystemLockScreen
(
context
)
}
fun
updateWindowFlags
(
decorView
:
View
)
{
decorView
.
systemUiVisibility
=
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
or
View
.
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
or
View
.
SYSTEM_UI_FLAG_IMMERSIVE
or
View
.
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
or
View
.
SYSTEM_UI_FLAG_FULLSCREEN
or
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
}
fun
makeLockWindowFullScreen
(
context
:
Context
,
layoutParams
:
WindowManager
.
LayoutParams
,
addShowWhenLocked
:
Boolean
=
true
)
{
// make window full screen
layoutParams
.
flags
=
layoutParams
.
flags
or
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
or
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
or
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_INSET_DECOR
or
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_IN_SCREEN
val
outMetrics
=
CommonUtils
.
getRealDisplayMetrics
(
context
)
layoutParams
.
width
=
outMetrics
.
widthPixels
layoutParams
.
height
=
outMetrics
.
heightPixels
layoutParams
.
x
=
0
layoutParams
.
y
=
0
layoutParams
.
gravity
=
Gravity
.
TOP
if
(
addShowWhenLocked
)
{
layoutParams
.
flags
=
layoutParams
.
flags
or
WindowManager
.
LayoutParams
.
FLAG_SHOW_WHEN_LOCKED
layoutParams
.
flags
=
layoutParams
.
flags
or
WindowManager
.
LayoutParams
.
FLAG_DISMISS_KEYGUARD
}
layoutParams
.
flags
=
layoutParams
.
flags
or
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
layoutParams
.
flags
=
layoutParams
.
flags
or
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
or
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_NAVIGATION
}
@SuppressLint
(
"ConstantLocale"
)
private
val
sHourFormat24
=
SimpleDateFormat
(
"HH:mm"
,
Locale
.
getDefault
())
@SuppressLint
(
"ConstantLocale"
)
private
val
sHourFormat12
=
SimpleDateFormat
(
"hh:mm"
,
Locale
.
getDefault
())
fun
getHourString
(
context
:
Context
,
time
:
Long
):
String
?
{
val
strTimeFormat
=
Settings
.
System
.
getString
(
context
.
contentResolver
,
Settings
.
System
.
TIME_12_24
)
if
(
"12"
==
strTimeFormat
)
{
try
{
return
sHourFormat12
.
format
(
time
)
}
catch
(
e
:
Exception
)
{
}
}
return
sHourFormat24
.
format
(
time
)
}
/**
* 如果是禁用锁屏的系统,则使用非锁屏版本
*/
fun
isLockScreenProtected
(
@Suppress
(
"UNUSED_PARAMETER"
)
context
:
Context
):
Boolean
{
return
PhoneBrandUtils
.
isLockScreenProtected
()
}
//
// fun tryStartMoveTaskToFront(context: Context, reason: Int): Boolean {
// if (BuildConfig.DEBUG) Log.d(TAG, "moveTaskToFront() called with: context = [$context]", RuntimeException())
//
// doConfuse()
//
// val lastInstance = ScreenLockerContext.lastInstance()
// if (lastInstance?.isResumed == true) {
// if (BuildConfig.DEBUG) Log.w(TAG, "moveTaskToFront: already in front. ignored")
// return true
// }
//
// if (lastInstance?.taskId == null) {
// if (BuildConfig.DEBUG) Log.w(TAG, "moveTaskToFront: no instance found. ignored!")
// return false
// }
//
// val taskId = lastInstance.taskId!!
//
//
// Observable.intervalRange(1, 3, 3, 3, TimeUnit.SECONDS)
// .subscribe(object : Observer<Long> {
// lateinit var disposable: Disposable
//
// private fun shouldMoveTask(): Boolean {
// val activityObserver = ScreenLockerContext.lastInstance()
// return when (reason) {
// ScreenLockerConstants.SHOW_REASON_SCREEN_OFF,
// ScreenLockerConstants.SHOW_REASON_RESTART_SELF,
// ScreenLockerConstants.SHOW_REASON_CALL_IDLE -> {
// activityObserver?.isResumed != true
// }
// else -> {
// activityObserver?.isResumed != true && activityObserver?.isResumedSinceLastScreenOff != true
// }
// }
// }
//
// override fun onSubscribe(d: Disposable) {
// if (BuildConfig.DEBUG) Log.d(TAG, "onSubscribe() called with: d = [$d]")
//
// disposable = d
// if (shouldMoveTask()) {
// OONotify.performMoveTaskToFront(context, taskId)
// } else {
// disposable.dispose()
// }
// }
//
// override fun onNext(t: Long) {
// if (BuildConfig.DEBUG) Log.d(TAG, "onNext() called with: t = [$t]")
//
// if (shouldMoveTask()) {
// OONotify.performMoveTaskToFront(context, taskId)
// } else {
// if (BuildConfig.DEBUG) Log.w(TAG, "onNext: further call cancelled!")
// disposable.dispose()
// }
// }
//
// override fun onComplete() {
// if (BuildConfig.DEBUG) Log.d(TAG, "onComplete() called ")
// }
//
// override fun onError(e: Throwable) {
// if (BuildConfig.DEBUG) Log.e(TAG, "onError: ERROR", e)
//
// }
//
// })
//
// return true
// }
//
// @Suppress("SimplifyBooleanWithConstants", "JoinDeclarationAndAssignment", "UNUSED_VARIABLE", "NOTHING_TO_INLINE")
// private inline fun doConfuse() {
// do {
// var o: Any? = null
//
// try {
// o = System.out
// if (o != null) {
// break
// }
// } catch (ignored: Exception) {
// } finally {
// // ignore
// }
// //noinspection LoopStatementThatDoesntLoop,PointlessBooleanExpression,ConstantConditions
// while (false && o != null) {
// break
// }
//
// var fis: FileInputStream? = null
// try {
//
// fis = FileInputStream("/proc/self/cmdline")
//
// val buffer = ByteArray(256)
//
// var len = 0
// var b: Int
// b = fis.read()
// while (b > 0 && len < buffer.size) {
// buffer[len++] = b.toByte()
// }
// if (len > 0) {
// val s = String(buffer, 0, len)
// }
// } catch (ignored: Exception) {
// } finally {
// if (fis != null) {
// try {
// fis.close()
// } catch (ignored: Exception) {
// }
//
// }
// }
// try {
// throw NoSuchFieldException()
// } catch (e: NoSuchFieldException) {
// if (BuildConfig.DEBUG) Log.e("OOService", "ERROR", e)
// }
// } while (false)
// }
fun
closeSystemLockView
(
context
:
Context
)
{
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"closeSystemLockView() called with: context = [$context]"
,
RuntimeException
()
)
try
{
(
context
.
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
).
newKeyguardLock
(
"IN"
)
}
catch
(
e
:
Exception
)
{
if
(
BuildConfig
.
DEBUG
)
Log
.
e
(
TAG
,
"closeSystemLockView: ERROR"
,
e
)
}
try
{
// 这个permission 太敏感了,拿掉了
(
context
.
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
).
newKeyguardLock
(
"unLock"
).
disableKeyguard
()
}
catch
(
e
:
Exception
)
{
if
(
BuildConfig
.
DEBUG
)
Log
.
e
(
TAG
,
"closeSystemLockView: ERROR"
,
e
)
}
}
/**
* 屏幕是否亮着
*/
fun
isScreenOn
(
context
:
Context
):
Boolean
{
val
powerManager
=
context
.
getSystemService
(
Context
.
POWER_SERVICE
)
as
PowerManager
return
powerManager
.
isScreenOn
}
/**
* 当前系统是否处于锁屏状态
*/
fun
isKeyguardOn
(
context
:
Context
):
Boolean
{
val
km
=
context
.
getSystemService
(
Context
.
KEYGUARD_SERVICE
)
as
KeyguardManager
return
km
.
isKeyguardLocked
}
/**
* 是否横屏
*/
fun
isHorizontalScreen
(
context
:
Context
):
Boolean
{
try
{
val
angle
=
(
context
.
getSystemService
(
Context
.
WINDOW_SERVICE
)
as
WindowManager
).
defaultDisplay
.
rotation
return
angle
==
Surface
.
ROTATION_90
||
angle
==
Surface
.
ROTATION_270
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
return
isHorizontalScreen2
(
context
)
}
}
/**
* 是否横屏
*/
fun
isHorizontalScreen2
(
context
:
Context
):
Boolean
{
try
{
val
configuration
=
context
.
resources
.
configuration
return
configuration
.
orientation
!=
Configuration
.
ORIENTATION_PORTRAIT
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
return
true
}
}
/**
* 是否播放音乐
*
*/
// @Deprecated("木有用")
// fun isMusicActive(context: Context): Boolean {
// val am = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
// return am.isMusicActive
// }
}
\ 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