Commit 579c5771 authored by wanglei's avatar wanglei

========节日加班==========

parent 6d47c8fc
...@@ -52,6 +52,12 @@ ...@@ -52,6 +52,12 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name=".activity.SettingActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
</activity>
<activity <activity
android:name=".activity.FileCategoryActivity" android:name=".activity.FileCategoryActivity"
android:exported="false" android:exported="false"
...@@ -94,13 +100,7 @@ ...@@ -94,13 +100,7 @@
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name="com.base.superfilemanager.activity.MainActivity" android:name="com.base.superfilemanager.activity.MainActivity"
android:exported="true"> android:exported="true"></activity>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity <activity
android:name="com.base.superfilemanager.activity.ScanJunkActivity" android:name="com.base.superfilemanager.activity.ScanJunkActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait"
......
...@@ -57,8 +57,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -57,8 +57,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
) )
} }
// private val child1 = ArrayList<ChildBean>()
// private val child2 = ArrayList<ChildBean>()
private val child3 = ArrayList<ChildBean>() private val child3 = ArrayList<ChildBean>()
private val child4 = ArrayList<ChildBean>() private val child4 = ArrayList<ChildBean>()
private val child5 = ArrayList<ChildBean>() private val child5 = ArrayList<ChildBean>()
...@@ -110,22 +108,12 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -110,22 +108,12 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
FileHelps.getFileList({ FileHelps.getFileList({
}, { }, {
// if (mData.isEmpty()) {
//
//
// }
FileHelps.fileList.toList().let { it -> FileHelps.fileList.toList().let { it ->
if (it.isNotEmpty()) { if (it.isNotEmpty()) {
// child3.clear()
// child4.clear()
// child5.clear()
// sizes[0] = 0
// sizes[1] = 0
// sizes[2] = 0
val a = it.filter { it.isApk() } val a = it.filter { it.isApk() }
val halfSize = if (a.size % 2 == 1) a.size / 2 + 1 else a.size / 2 val halfSize = if (a.size % 2 == 1) a.size / 2 + 1 else a.size / 2
val firstHalf = a.subList(0, halfSize) val firstHalf = a.subList(0, halfSize)
firstHalf.forEach { l -> a.forEach { l ->
sizes[0] += l.size sizes[0] += l.size
// junkList.add(p0.path) // junkList.add(p0.path)
val bean = ChildBean(R.mipmap.apk, l.name, l.path, l.size) val bean = ChildBean(R.mipmap.apk, l.name, l.path, l.size)
...@@ -133,11 +121,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -133,11 +121,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
} }
ScanCount += 1 ScanCount += 1
updateSize(doneIndex = 0) updateSize(doneIndex = 0)
// mData.addAll(it)
val b = it.filter { it.isJunk() } val b = it.filter { it.isJunk() }
val bhalfSize = if (b.size % 2 == 1) b.size / 2 + 1 else b.size / 2 val bHalfSize = if (b.size % 2 == 1) b.size / 2 + 1 else b.size / 2
val bfirstHalf = b.subList(0, bhalfSize) val bFirstHalf = b.subList(0, bHalfSize)
bfirstHalf.forEach { l -> b.forEach { l ->
sizes[1] += l.size sizes[1] += l.size
// junkList.add(p0.path) // junkList.add(p0.path)
val bean = ChildBean(null, l.name, l.path, l.size) val bean = ChildBean(null, l.name, l.path, l.size)
...@@ -146,11 +133,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -146,11 +133,10 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
ScanCount += 1 ScanCount += 1
updateSize(doneIndex = 1) updateSize(doneIndex = 1)
val c = it.filter { it.isOtherTrash() } val c = it.filter { it.isOtherTrash() }
val chalfSize = if (c.size % 2 == 1) c.size / 2 + 1 else c.size / 2 val cHalfSize = if (c.size % 2 == 1) c.size / 2 + 1 else c.size / 2
val cfirstHalf = c.subList(0, chalfSize) val cFirstHalf = c.subList(0, cHalfSize)
cfirstHalf.forEach { l -> c.forEach { l ->
sizes[2] += l.size sizes[2] += l.size
// junkList.add(p0.path)
val bean = ChildBean(null, l.name, l.path, l.size) val bean = ChildBean(null, l.name, l.path, l.size)
child5.add(bean) child5.add(bean)
} }
...@@ -173,7 +159,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -173,7 +159,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
selectSize = 0L selectSize = 0L
for (i in parentList.indices) { for (i in parentList.indices) {
if (parentList[i].childItem.isNotEmpty()) { if (parentList[i].childItem.isNotEmpty()) {
val childsize = parentList[i].childItem.filter { val childSize = parentList[i].childItem.filter {
it.isChildSelected it.isChildSelected
}.sumOf { }.sumOf {
it.childSize it.childSize
...@@ -187,7 +173,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -187,7 +173,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
} }
} }
} }
selectSize += childsize selectSize += childSize
} else { } else {
if (parentList[i].isParentSelected) { if (parentList[i].isParentSelected) {
selectSize += parentList[i].parentSize selectSize += parentList[i].parentSize
...@@ -263,12 +249,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -263,12 +249,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
it.isChildSelected it.isChildSelected
}.map { it.chilepath }) }.map { it.chilepath })
} }
// for (item in parentList) {
// if (item.isParentSelected) {
// Log.e("MXL", "updateView: " + item)
// }
// }
} }
private val mAdapter by lazy { private val mAdapter by lazy {
...@@ -375,10 +355,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -375,10 +355,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
val childType = parentList[groupPosition].childItem[childPosition] val childType = parentList[groupPosition].childItem[childPosition]
when (groupPosition) { when (groupPosition) {
0 -> { 0 -> {
// val c = ConfigHelper.appList?.firstOrNull {
// it.name == childType.childname
// }
// viewHolder.binding.idImgIcon.setImageDrawable(c?.icon)
val packageManager: PackageManager = this@CleanJunkActivity.packageManager val packageManager: PackageManager = this@CleanJunkActivity.packageManager
val apkFilePath = childType.chilepath // 替换成您的APK文件路径 val apkFilePath = childType.chilepath // 替换成您的APK文件路径
val packageInfo = val packageInfo =
......
...@@ -122,8 +122,8 @@ class PermissionManagerActivity : BaseActivity<ActivityPermissionManagerBinding> ...@@ -122,8 +122,8 @@ class PermissionManagerActivity : BaseActivity<ActivityPermissionManagerBinding>
val info: PackageInfo val info: PackageInfo
try { try {
info = pm.getPackageInfo(pkg, PackageManager.GET_PERMISSIONS) info = pm.getPackageInfo(pkg, PackageManager.GET_PERMISSIONS)
val packagePermissions = info.requestedPermissions val packagePermissions: Array<String>? = info.requestedPermissions ?: null
packagePermissions.forEach { permission -> packagePermissions?.forEach { permission ->
LogEx.logDebug(TAG, "permission=$permission") LogEx.logDebug(TAG, "permission=$permission")
val common = commonPermissions.find { it.permissionMatch == permission } val common = commonPermissions.find { it.permissionMatch == permission }
common?.let { common?.let {
......
package com.base.superfilemanager.activity
import android.content.Intent
import android.net.Uri
import com.base.superfilemanager.databinding.ActivitySettingBinding
import com.base.superfilemanager.display.NotificationService
import com.base.superfilemanager.display.fcm.FcmHelper
import com.base.superfilemanager.display.fcm.NotificationJobService.Companion.initJob
import com.base.superfilemanager.helps.BaseActivity
import com.base.superfilemanager.helps.ConfigHelper.allNotification
import com.base.superfilemanager.helps.ConfigHelper.remainNotification
class SettingActivity : BaseActivity<ActivitySettingBinding>() {
override val binding: ActivitySettingBinding by lazy {
ActivitySettingBinding.inflate(layoutInflater)
}
override fun initView() {
binding.switchRemainNotification.isChecked = remainNotification
binding.switchAllNotification.isChecked = allNotification
}
override fun initListener() {
binding.ivBack.setOnClickListener {
// AdmobUtils.showInterstitialAd(this) {
finishToMain()
// }
}
binding.switchRemainNotification.setOnCheckedChangeListener { buttonView, isChecked ->
remainNotification = isChecked
if (isChecked) {
initJob()
} else {
val serviceIntent = Intent(this, NotificationService::class.java)
stopService(serviceIntent)
}
}
binding.switchAllNotification.setOnCheckedChangeListener { buttonView, isChecked ->
allNotification = isChecked
switchFcm(isChecked)
}
binding.cardPrivacy.setOnClickListener {
val intent = Intent(
Intent.ACTION_VIEW,
Uri.parse("https://sites.google.com/view/esuper-file-manager/home")
)
startActivity(intent)
}
}
private fun switchFcm(checked: Boolean) {
if (checked) {
FcmHelper.subscribeToTopic()
} else {
FcmHelper.unSubscribeToTopic()
}
}
}
\ No newline at end of file
...@@ -18,7 +18,7 @@ import com.blankj.utilcode.util.BarUtils ...@@ -18,7 +18,7 @@ import com.blankj.utilcode.util.BarUtils
import com.base.superfilemanager.databinding.ActivityLayoutSplashBinding import com.base.superfilemanager.databinding.ActivityLayoutSplashBinding
import com.base.superfilemanager.display.CloseNotificationReceiver import com.base.superfilemanager.display.CloseNotificationReceiver
import com.base.superfilemanager.display.NotificationHelper import com.base.superfilemanager.display.NotificationHelper
import com.base.superfilemanager.display.fcm.NotificationJobService import com.base.superfilemanager.display.fcm.NotificationJobService.Companion.initJob
import com.base.superfilemanager.helps.BaseActivity import com.base.superfilemanager.helps.BaseActivity
import com.base.superfilemanager.helps.ConfigHelper import com.base.superfilemanager.helps.ConfigHelper
import com.base.superfilemanager.helps.LogEx import com.base.superfilemanager.helps.LogEx
...@@ -75,16 +75,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(), ...@@ -75,16 +75,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
loadAd() loadAd()
} }
private fun initJob() {
val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
val job = JobInfo.Builder(0, ComponentName(this, NotificationJobService::class.java))
.setMinimumLatency(0L)
.setOverrideDeadline(0L)
.setPersisted(true)
.build()
jobScheduler.schedule(job)
}
override fun onProgressMax() { override fun onProgressMax() {
Handler().postDelayed({ Handler().postDelayed({
......
...@@ -44,7 +44,7 @@ class PrivacyAgreementManager { ...@@ -44,7 +44,7 @@ class PrivacyAgreementManager {
binding.idTvPrivacyPolicy.setOnClickListener { binding.idTvPrivacyPolicy.setOnClickListener {
val intent = Intent( val intent = Intent(
Intent.ACTION_VIEW, Intent.ACTION_VIEW,
Uri.parse("https://sites.google.com/view/one-clean-master/home") Uri.parse("https://sites.google.com/view/esuper-file-manager/home")
) )
context.startActivity(intent) context.startActivity(intent)
} }
......
...@@ -2,9 +2,7 @@ package com.base.superfilemanager.activity.splash ...@@ -2,9 +2,7 @@ package com.base.superfilemanager.activity.splash
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import com.base.superfilemanager.activity.GuestActivity
import com.base.superfilemanager.activity.AppManagerActivity import com.base.superfilemanager.activity.AppManagerActivity
import com.base.superfilemanager.activity.BatteryInfoActivity
import com.base.superfilemanager.activity.CleanGuestActivity import com.base.superfilemanager.activity.CleanGuestActivity
import com.base.superfilemanager.activity.LargeFileCleanActivity import com.base.superfilemanager.activity.LargeFileCleanActivity
import com.base.superfilemanager.activity.MainActivity import com.base.superfilemanager.activity.MainActivity
...@@ -14,16 +12,12 @@ import com.base.superfilemanager.activity.RepeaterdPhotoActivity ...@@ -14,16 +12,12 @@ import com.base.superfilemanager.activity.RepeaterdPhotoActivity
import com.base.superfilemanager.activity.ScanJunkActivity import com.base.superfilemanager.activity.ScanJunkActivity
import com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity import com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER import com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_INSTALL_PACKAGE_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH import com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC import com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS import com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP import com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE import com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_UNINSTALL_PACKAGE_PUSH
import com.base.superfilemanager.helps.ConfigHelper import com.base.superfilemanager.helps.ConfigHelper
import com.base.superfilemanager.helps.EventHelper import com.base.superfilemanager.helps.EventHelper
...@@ -46,6 +40,7 @@ object SplashJumpUtils { ...@@ -46,6 +40,7 @@ object SplashJumpUtils {
ID_JUNK_CLEAN_PUSH -> { ID_JUNK_CLEAN_PUSH -> {
context.startActivity(Intent(context, ScanJunkActivity::class.java)) context.startActivity(Intent(context, ScanJunkActivity::class.java))
} }
ID_LARGE_FILE_PUSH -> { ID_LARGE_FILE_PUSH -> {
context.startActivity(Intent(context, LargeFileCleanActivity::class.java)) context.startActivity(Intent(context, LargeFileCleanActivity::class.java))
} }
...@@ -72,26 +67,11 @@ object SplashJumpUtils { ...@@ -72,26 +67,11 @@ object SplashJumpUtils {
//================================被动广播============================================== //================================被动广播==============================================
ID_INSTALL_PACKAGE_PUSH -> {
context.startActivity(Intent(context, ScanJunkActivity::class.java))
}
ID_UNINSTALL_PACKAGE_PUSH -> {
context.startActivity(Intent(context, ScanJunkActivity::class.java))
}
ID_CHARGE -> {
context.startActivity(Intent(context, BatteryInfoActivity::class.java))
}
ID_LOW_BATTERY_PUSH -> {
context.startActivity(Intent(context, BatteryInfoActivity::class.java))
}
else -> { else -> {
val isHotLaunch = context.intent?.extras?.getBoolean("isHotLaunch", false) ?: false val isHotLaunch = context.intent?.extras?.getBoolean("isHotLaunch", false) ?: false
if (!isHotLaunch) { if (!isHotLaunch) {
if (!ConfigHelper.ifGuest) { if (!ConfigHelper.ifGuest) {
ConfigHelper.ifGuest = true
context.startActivity(Intent(context, CleanGuestActivity::class.java)) context.startActivity(Intent(context, CleanGuestActivity::class.java))
} else { } else {
context.startActivity(Intent(context, MainActivity::class.java)) context.startActivity(Intent(context, MainActivity::class.java))
......
...@@ -55,11 +55,6 @@ data class ConfigBean( ...@@ -55,11 +55,6 @@ data class ConfigBean(
//场景触发push actionId 被动发送 //场景触发push actionId 被动发送
const val ID_WIFI_PUSH = 22001//连接wifi时 const val ID_WIFI_PUSH = 22001//连接wifi时
const val ID_INSTALL_PACKAGE_PUSH = 22002//安装应用
const val ID_UNINSTALL_PACKAGE_PUSH = 22003//卸载应用
const val ID_CHARGE = 22004//充电
const val ID_LOW_BATTERY_PUSH = 22005//电量低于阈值时
const val ID_LOW_RAM_PUSH = 22007//内存低于阈值
fun ConfigBean.getActionPushInterval(actionId: Int): Int { fun ConfigBean.getActionPushInterval(actionId: Int): Int {
val interval = when (actionId) { val interval = when (actionId) {
...@@ -78,11 +73,6 @@ data class ConfigBean( ...@@ -78,11 +73,6 @@ data class ConfigBean(
ID_RECENT_USE_APP -> push_interval_11014 ID_RECENT_USE_APP -> push_interval_11014
ID_SIMILAR_IMAGE -> push_interval_11015 ID_SIMILAR_IMAGE -> push_interval_11015
ID_WIFI_PUSH -> push_interval_22001 ID_WIFI_PUSH -> push_interval_22001
ID_INSTALL_PACKAGE_PUSH -> push_interval_22002
ID_UNINSTALL_PACKAGE_PUSH -> push_interval_22003
ID_CHARGE -> push_interval_22004
ID_LOW_BATTERY_PUSH -> push_interval_22005
ID_LOW_RAM_PUSH -> push_interval_22007
else -> 0 else -> 0
} }
return interval return interval
......
...@@ -6,13 +6,6 @@ import android.content.Intent ...@@ -6,13 +6,6 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import com.blankj.utilcode.util.SPUtils
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import com.base.superfilemanager.display.NotificationHelper.postActionNotification
import com.base.superfilemanager.helps.BaseApplication
import kotlin.time.Duration.Companion.minutes
import kotlin.time.DurationUnit
class ActionBroadcast : BroadcastReceiver() { class ActionBroadcast : BroadcastReceiver() {
...@@ -56,12 +49,10 @@ class ActionBroadcast : BroadcastReceiver() { ...@@ -56,12 +49,10 @@ class ActionBroadcast : BroadcastReceiver() {
Log.d("glc", "解锁") Log.d("glc", "解锁")
if (mIsScreenOn && !isLock) { if (mIsScreenOn && !isLock) {
// 展示主动推送 // 展示主动推送
NotificationTimerTask(null).oneShotNotification()
} }
} }
Intent.ACTION_POWER_CONNECTED -> { Intent.ACTION_POWER_CONNECTED -> {
BaseApplication.context.postActionNotification(ID_CHARGE)
} }
Intent.ACTION_POWER_DISCONNECTED -> { Intent.ACTION_POWER_DISCONNECTED -> {
...@@ -69,25 +60,9 @@ class ActionBroadcast : BroadcastReceiver() { ...@@ -69,25 +60,9 @@ class ActionBroadcast : BroadcastReceiver() {
} }
Intent.ACTION_BATTERY_CHANGED -> {//电量改变 Intent.ACTION_BATTERY_CHANGED -> {//电量改变
lowBattery(intent)
} }
} }
} }
private fun lowBattery(intent: Intent?) {
val level = intent?.getIntExtra("level", 0) ?: 0
if (level < 50) {
val lastPushTime = SPUtils.getInstance().getLong(ID_LOW_BATTERY_PUSH.toString(), 0)
val flag2 = (System.currentTimeMillis() - lastPushTime) > 20.minutes.toLong(DurationUnit.MILLISECONDS)
val isPushCfg = PushStrategy.isPush(ID_LOW_BATTERY_PUSH)
if (flag2 && isPushCfg) {
BaseApplication.context.postActionNotification(ID_LOW_BATTERY_PUSH, extra = level)
}
}
}
} }
\ No newline at end of file
...@@ -18,17 +18,13 @@ import com.base.superfilemanager.R ...@@ -18,17 +18,13 @@ import com.base.superfilemanager.R
import com.base.superfilemanager.activity.splash.NewSplashActivity import com.base.superfilemanager.activity.splash.NewSplashActivity
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER import com.base.superfilemanager.bean.ConfigBean.Companion.ID_APP_MANAGER
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_BATTERY_PUSH import com.base.superfilemanager.bean.ConfigBean.Companion.ID_BATTERY_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_CHARGE
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_CLEAN_NOTIFICATION import com.base.superfilemanager.bean.ConfigBean.Companion.ID_CLEAN_NOTIFICATION
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_INSTALL_PACKAGE_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH import com.base.superfilemanager.bean.ConfigBean.Companion.ID_JUNK_CLEAN_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LARGE_FILE_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_LOW_BATTERY_PUSH
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC import com.base.superfilemanager.bean.ConfigBean.Companion.ID_NETWORK_TRAFFIC
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS import com.base.superfilemanager.bean.ConfigBean.Companion.ID_PHOTO_COMPRESS
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP import com.base.superfilemanager.bean.ConfigBean.Companion.ID_RECENT_USE_APP
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE import com.base.superfilemanager.bean.ConfigBean.Companion.ID_SIMILAR_IMAGE
import com.base.superfilemanager.bean.ConfigBean.Companion.ID_UNINSTALL_PACKAGE_PUSH
import com.base.superfilemanager.helps.BaseApplication import com.base.superfilemanager.helps.BaseApplication
import com.base.superfilemanager.helps.ComUtils import com.base.superfilemanager.helps.ComUtils
import com.base.superfilemanager.helps.EventHelper import com.base.superfilemanager.helps.EventHelper
...@@ -170,31 +166,6 @@ object NotificationHelper { ...@@ -170,31 +166,6 @@ object NotificationHelper {
} }
//==================================下面是被动推送的情况=============================================== //==================================下面是被动推送的情况===============================================
ID_INSTALL_PACKAGE_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.install)
remoteViews.setTextViewText(R.id.tv_desc, "Installation successful. Delete useless APKs")
remoteViews.setTextViewText(R.id.tv_btn, "Scan")
}
ID_UNINSTALL_PACKAGE_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.uninstall)
remoteViews.setTextViewText(R.id.tv_desc, "Uninstalled successfully, clean residual files from your device")
remoteViews.setTextViewText(R.id.tv_btn, "Clean up")
}
ID_CHARGE -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.start)
remoteViews.setTextViewText(R.id.tv_desc, "View phone battery consumption recently")
remoteViews.setTextViewText(R.id.tv_btn, "View")
}
ID_LOW_BATTERY_PUSH -> {
remoteViews.setImageViewResource(R.id.iv_icon, R.drawable.batter)
remoteViews.setTextViewText(R.id.tv_desc, "The battery is $extra%, view the battery information")
remoteViews.setTextViewText(R.id.tv_btn, "View")
}
else -> { else -> {
return return
} }
......
...@@ -57,8 +57,6 @@ object PushStrategy { ...@@ -57,8 +57,6 @@ object PushStrategy {
// } // }
//是否上次推送间隔大于配置间隔 //是否上次推送间隔大于配置间隔
// val isOganic = UserChancelEx.isOrganicUser()
// val interval = if (isOganic) pushManagement.o_push_interval else pushManagement.all_push_interval
val interval = configBean.all_push_interval val interval = configBean.all_push_interval
if (!canPushNextTime(interval)) { if (!canPushNextTime(interval)) {
LogEx.logDebug(TAG, "================================总间隔拦截===============================") LogEx.logDebug(TAG, "================================总间隔拦截===============================")
......
package com.base.superfilemanager.display.fcm package com.base.superfilemanager.display.fcm
import android.annotation.SuppressLint
import android.app.AlarmManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.util.Log import android.util.Log
import com.google.android.gms.tasks.OnCompleteListener import com.google.android.gms.tasks.OnCompleteListener
import com.google.android.gms.tasks.Task import com.google.android.gms.tasks.Task
...@@ -45,4 +40,15 @@ object FcmHelper { ...@@ -45,4 +40,15 @@ object FcmHelper {
}) })
} }
fun unSubscribeToTopic() {
FirebaseMessaging.getInstance().unsubscribeFromTopic("news")
.addOnCompleteListener { task: Task<Void?> ->
if (task.isSuccessful) {
} else {
}
}
}
} }
\ No newline at end of file
...@@ -10,8 +10,8 @@ import com.base.superfilemanager.helps.EventHelper ...@@ -10,8 +10,8 @@ import com.base.superfilemanager.helps.EventHelper
class MyFirebaseMessagingReceiver : BroadcastReceiver() { class MyFirebaseMessagingReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
val message = intent?.extras?.getString("message") val message = intent.extras?.getString("message")
Log.d(TAG, "Received FCM message"+message) Log.d(TAG, "Received FCM message$message")
EventHelper.event("fcm_receiver",message) EventHelper.event("fcm_receiver",message)
......
...@@ -2,8 +2,12 @@ package com.base.superfilemanager.display.fcm ...@@ -2,8 +2,12 @@ package com.base.superfilemanager.display.fcm
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.ActivityManager import android.app.ActivityManager
import android.app.job.JobInfo
import android.app.job.JobParameters import android.app.job.JobParameters
import android.app.job.JobScheduler
import android.app.job.JobService import android.app.job.JobService
import android.content.ComponentName
import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import com.base.superfilemanager.display.NotificationService import com.base.superfilemanager.display.NotificationService
...@@ -54,5 +58,15 @@ class NotificationJobService : JobService() { ...@@ -54,5 +58,15 @@ class NotificationJobService : JobService() {
companion object { companion object {
private const val JOB_ID = 123 private const val JOB_ID = 123
fun Context.initJob() {
val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
val job = JobInfo.Builder(0, ComponentName(this, NotificationJobService::class.java))
.setMinimumLatency(0L)
.setOverrideDeadline(0L)
.setPersisted(true)
.build()
jobScheduler.schedule(job)
}
} }
} }
\ No newline at end of file
...@@ -19,6 +19,7 @@ import com.base.superfilemanager.activity.NetWorkActivity ...@@ -19,6 +19,7 @@ import com.base.superfilemanager.activity.NetWorkActivity
import com.base.superfilemanager.activity.RecentAppActivity import com.base.superfilemanager.activity.RecentAppActivity
import com.base.superfilemanager.activity.RepeaterdPhotoActivity import com.base.superfilemanager.activity.RepeaterdPhotoActivity
import com.base.superfilemanager.activity.ScanJunkActivity import com.base.superfilemanager.activity.ScanJunkActivity
import com.base.superfilemanager.activity.SettingActivity
import com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity import com.base.superfilemanager.activity.photocompress.photo.StartCompressionPhotoActivity
import com.base.superfilemanager.databinding.FragmentLayoutHomeBinding import com.base.superfilemanager.databinding.FragmentLayoutHomeBinding
import com.base.superfilemanager.helps.BaseFragment import com.base.superfilemanager.helps.BaseFragment
...@@ -88,6 +89,9 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() { ...@@ -88,6 +89,9 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() {
binding.idNotificationCleaner.setOnClickListener { binding.idNotificationCleaner.setOnClickListener {
startActivity(Intent(requireContext(), NotificationGuestActivity::class.java)) startActivity(Intent(requireContext(), NotificationGuestActivity::class.java))
} }
binding.ivSetting.setOnClickListener {
startActivity(Intent(requireContext(), SettingActivity::class.java))
}
MainScope().launch(Dispatchers.IO) { MainScope().launch(Dispatchers.IO) {
NetWorkSpeed.startMoritor() NetWorkSpeed.startMoritor()
} }
......
...@@ -39,7 +39,6 @@ object ConfigHelper { ...@@ -39,7 +39,6 @@ object ConfigHelper {
} }
var ifAgreePrivacy = false var ifAgreePrivacy = false
get() { get() {
return SPUtils.getInstance().getBoolean("ifAgreePrivacy", field) return SPUtils.getInstance().getBoolean("ifAgreePrivacy", field)
...@@ -56,6 +55,21 @@ object ConfigHelper { ...@@ -56,6 +55,21 @@ object ConfigHelper {
field = value field = value
SPUtils.getInstance().put("ifGuest", value, true) SPUtils.getInstance().put("ifGuest", value, true)
} }
var remainNotification = true
get() {
return SPUtils.getInstance().getBoolean("remainNotification", field)
}
set(value) {
field = value
SPUtils.getInstance().put("remainNotification", value, true)
}
var allNotification = true
get() {
return SPUtils.getInstance().getBoolean("fcmNotification", field)
}
set(value) {
field = value
SPUtils.getInstance().put("fcmNotification", value, true)
}
} }
\ No newline at end of file
...@@ -43,6 +43,10 @@ object EventHelper { ...@@ -43,6 +43,10 @@ object EventHelper {
Log.e(TAG, "ifAgreePrivacy=$ifAgreePrivacy") Log.e(TAG, "ifAgreePrivacy=$ifAgreePrivacy")
return return
} }
val filterKey = arrayOf("click_start_to_use", "install_referrer", "ad_show", "ad_click", "ad_price")
if (!filterKey.contains(key)) {
return
}
if (isSingleEvent) { if (isSingleEvent) {
val stringSet = SPUtils.getInstance().getStringSet("singleEvent") val stringSet = SPUtils.getInstance().getStringSet("singleEvent")
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#2372FC" android:state_checked="true" />
<item android:color="#D1D1D1" android:state_checked="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!-- <solid android:color="#EDFF7A" />-->
<size
android:width="25dp"
android:height="25dp" />
<!-- 边缘全透明 -->
<stroke
android:width="2dp"
android:color="#00000000" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<!-- <solid android:color="#2372FD" />-->
<size android:height="25dp" />
<corners android:radius="30dp" />
</shape>
</item>
</layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activity.SettingActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
tools:ignore="UselessParent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:src="@mipmap/fanhui"
android:tint="@color/black"
tools:ignore="ContentDescription,UseAppTint" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Notification settings"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</FrameLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="20dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="Notification toolbar"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_remain_notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:layout_marginBottom="5dp"
android:thumb="@drawable/bg_switch_thumb_ffffff"
app:thumbTint="@color/white"
app:track="@drawable/bg_switch_track"
app:trackTint="@color/color_switch_track_selector" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="20dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="All Notification Messages"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_all_notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:layout_marginBottom="5dp"
android:thumb="@drawable/bg_switch_thumb_ffffff"
app:thumbTint="@color/white"
app:track="@drawable/bg_switch_track"
app:trackTint="@color/color_switch_track_selector" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/card_privacy"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="20dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:text="Privacy Policy"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
</androidx.cardview.widget.CardView>
</LinearLayout>
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="24dp" android:paddingTop="24dp"
...@@ -15,14 +15,23 @@ ...@@ -15,14 +15,23 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_gravity="center"
android:gravity="center" android:gravity="center"
android:text="@string/app_name" android:text="@string/app_name"
android:textColor="#222222" android:textColor="#222222"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" /> android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat> <ImageView
android:id="@+id/iv_setting"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="16dp"
android:src="@mipmap/setting_home"
tools:ignore="ContentDescription" />
</FrameLayout>
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/id_scroll_view" android:id="@+id/id_scroll_view"
......
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