Commit 536500c0 authored by wanglei's avatar wanglei

[拆包]权限弹窗UI,移除无用功能

parent b2e8b470
......@@ -126,11 +126,6 @@
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.malware.MalwareCleanActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider
android:name="androidx.core.content.FileProvider"
......
......@@ -25,6 +25,7 @@ import java.util.UUID
import com.base.appzxhy.SpConstObject.appLanguageSp
import com.base.appzxhy.SpConstObject.appLanguageCountrySp
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.helper.EventUtils
import com.base.appzxhy.business.helper.NewComUtils.spConfig
import com.base.appzxhy.business.push.fcm.FCMManager
import com.base.appzxhy.business.push.notification.MyNotificationManager
......@@ -98,9 +99,14 @@ class MyApplication : Application() {
}
private fun initGid() = MainScope().launch(Dispatchers.IO) {
val info: AdvertisingIdClient.Info = AdvertisingIdClient.getAdvertisingIdInfo(applicationContext)
val advertisingId = info.id
AppPreferences.getInstance().put("gid", advertisingId)
try {
val info: AdvertisingIdClient.Info = AdvertisingIdClient.getAdvertisingIdInfo(applicationContext)
val advertisingId = info.id
AppPreferences.getInstance().put("gid", advertisingId)
} catch (e: Exception) {
EventUtils.event("gid_exception")
}
}
override fun attachBaseContext(base: Context?) {
......
......@@ -53,7 +53,6 @@ import com.base.appzxhy.ui.clean.JunkCleanActivity
import com.base.appzxhy.ui.dialog.FunctionBackDialog
import com.base.appzxhy.ui.largefile.LargeFileCleanActivity
import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.ui.malware.MalwareCleanActivity
import com.base.appzxhy.ui.photocompression.PhotoCompressionActivity
import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity
import com.base.appzxhy.ui.similar.SimilarPhotosActivity
......@@ -456,10 +455,6 @@ fun Activity.jumpAction(key: String) {
PHOTO_COMPRESSION -> {
goToAc(PhotoCompressionActivity::class.java)
}
ANTIVIRUS -> {
goToAc(MalwareCleanActivity::class.java)
}
}
}
......
......@@ -5,6 +5,7 @@ import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout
import com.base.appzxhy.R
import com.base.appzxhy.databinding.DialogConfirmBinding
......@@ -23,8 +24,9 @@ class ConfirmDialog(
dialog.show()
val params = dialog.window?.attributes
// params?.width = LinearLayout.LayoutParams.MATCH_PARENT
// params?.height = LinearLayout.LayoutParams.WRAP_CONTENT
// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_300)
params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.CENTER
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
......
......@@ -9,7 +9,6 @@ import com.base.appzxhy.databinding.DialogFunctionBackBinding
import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity
import com.base.appzxhy.ui.clean.JunkCleanActivity
import com.base.appzxhy.ui.largefile.LargeFileCleanActivity
import com.base.appzxhy.ui.malware.MalwareCleanActivity
import com.base.appzxhy.ui.photocompression.PhotoCompressionActivity
import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity
import com.base.appzxhy.ui.similar.SimilarPhotosActivity
......@@ -64,11 +63,6 @@ class FunctionBackDialog(
binding.tvContent.text = activity.getString(R.string.exit_similar_photos_content)
}
is MalwareCleanActivity -> {
binding.tvTitle.text = activity.getString(R.string.exit_malware_clean)
binding.tvContent.text = activity.getString(R.string.exit_malware_clean_content)
}
else -> {
back.invoke()
return
......
......@@ -10,6 +10,7 @@ import androidx.core.graphics.toColorInt
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.databinding.DialogStorage2Binding
import com.base.appzxhy.databinding.DialogStorageBinding
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
......@@ -43,7 +44,7 @@ class StoragePermissionDialog(
) {
val dialog = AlertDialog.Builder(activity).create()
val binding = DialogStorageBinding.inflate(LayoutInflater.from(activity))
val binding = DialogStorage2Binding.inflate(LayoutInflater.from(activity))
var action: (() -> Unit)? = null
......@@ -54,15 +55,16 @@ class StoragePermissionDialog(
dialog.show()
val params = dialog.window?.attributes
params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_316)
// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_316)
params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.CENTER
params?.gravity = Gravity.BOTTOM
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val appName = activity.getString(R.string.app_name)
binding.tvContent.text =
highlightText(activity.getString(R.string.storage_permission_content, appName), appName, "#2DD29E".toColorInt())
highlightText(activity.getString(R.string.storage_permission_content, appName), appName, "#0456ed".toColorInt())
// binding.lottieAnimationView.let {
// it.imageAssetsFolder = "permission_sc/images"
......@@ -71,10 +73,10 @@ class StoragePermissionDialog(
// it.playAnimation()
// }
binding.tvDeny.setOnClickListener {
dialog.dismiss()
}
binding.tvAllow.setOnClickListener {
// binding.tvDeny.setOnClickListener {
// dialog.dismiss()
// }
binding.tvOpenSettings.setOnClickListener {
dialog.dismiss()
action?.invoke()
}
......
......@@ -69,6 +69,10 @@ class GuideActivity : BaseActivity<ActivityGuideBinding>(ActivityGuideBinding::i
binding.viewpager2.currentItem = 2
return
}
if (page == 2) {
binding.viewpager2.currentItem = 3
return
}
if (page == 3) {
startActivity(Intent(this, MainActivity::class.java))
finish()
......
......@@ -25,13 +25,13 @@ class GuideFragment : BaseFragment<FragmentGuideBinding>(FragmentGuideBinding::i
}
1 -> {
binding.iv.setImageResource(R.drawable.yingdaoye2)
binding.iv.setImageResource(R.drawable.yindaoye2)
binding.ivDian.setImageResource(R.drawable.dian_2)
binding.tvContent.text = getString(R.string.guide_tip_2)
}
3 -> {
binding.iv.setImageResource(R.drawable.yingdaoye3)
binding.iv.setImageResource(R.drawable.yindaoye3)
binding.ivDian.setImageResource(R.drawable.dian_3)
binding.tvContent.text = getString(R.string.guide_tip_3)
binding.tvBtn.text = getString(R.string.get_started)
......
......@@ -8,6 +8,7 @@ import com.base.appzxhy.ui.guide.GuideActivity
class NativeFullFragment : BaseFragment<FragmentNativeFullBinding>(FragmentNativeFullBinding::inflate) {
var page: Int = 2
override fun onResume() {
super.onResume()
......@@ -23,7 +24,7 @@ class NativeFullFragment : BaseFragment<FragmentNativeFullBinding>(FragmentNativ
binding.ivClose.setOnClickListener {
val activity = requireActivity() as GuideActivity
activity.next(3)
activity.next(page)
}
......
......@@ -24,7 +24,6 @@ import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.VIDEO_CLEAN
import com.base.appzxhy.databinding.FragmentHome3Binding
import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.ui.malware.MalwareDialog
import com.base.appzxhy.ui.set.SettingActivity
import com.base.appzxhy.utils.BarUtils
import com.base.appzxhy.utils.KotlinExt.toFormatSize
......@@ -133,17 +132,6 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::in
(requireActivity() as MainActivity).goToAc(SettingActivity::class.java)
}
ANTIVIRUS -> {
val dialog = MalwareDialog(requireActivity())
dialog.action = {
if (it) {
(requireActivity() as MainActivity).permissionStorageJump(ANTIVIRUS)
}
}
dialog.showDialog()
}
}
}
......
package com.base.appzxhy.ui.malware
import com.base.appzxhy.MyApplication
import com.trustlook.sdk.cloudscan.CloudScanClient
import com.trustlook.sdk.data.Region
/**
*Create by SleepDog on 2025-01-24
*/
object CloudScan {
val scanClient by lazy(LazyThreadSafetyMode.NONE) {
CloudScanClient.Builder(MyApplication.appContext)
// 设置服务地区,
// 海外地区设置:Region.INTL,百度用户设置:Region.BAIDU
.setRegion(Region.INTL)
// 设置连接超时时长,单位为毫秒
.setConnectionTimeout(30000)
//设置传输超时时长,单位为毫秒
.setSocketTimeout(30000)
.build()
}
}
\ No newline at end of file
//package com.base.appzxhy.ui.malware
//
//import com.base.appzxhy.MyApplication
//import com.trustlook.sdk.cloudscan.CloudScanClient
//import com.trustlook.sdk.data.Region
//
///**
// *Create by SleepDog on 2025-01-24
// */
//object CloudScan {
// val scanClient by lazy(LazyThreadSafetyMode.NONE) {
// CloudScanClient.Builder(MyApplication.appContext)
// // 设置服务地区,
//// 海外地区设置:Region.INTL,百度用户设置:Region.BAIDU
// .setRegion(Region.INTL)
// // 设置连接超时时长,单位为毫秒
// .setConnectionTimeout(30000)
// //设置传输超时时长,单位为毫秒
// .setSocketTimeout(30000)
// .build()
// }
//}
\ No newline at end of file
package com.base.appzxhy.ui.malware
import android.app.Activity
import android.view.LayoutInflater
import androidx.appcompat.app.AlertDialog
import androidx.constraintlayout.widget.ConstraintLayout
import com.base.appzxhy.R
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.DialogErrBinding
class ErrorScanDialog(
val activity: Activity
) {
val dialog = AlertDialog.Builder(activity).create()
val binding = DialogErrBinding.inflate(LayoutInflater.from(activity))
var action: (() -> Unit)? = null
fun showDialog() {
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(false)
dialog.show()
val params = dialog.window?.attributes
// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
// params?.gravity = Gravity.BOTTOM
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
binding.tvSure.setOnClickListener {
dialog.dismiss()
action?.invoke()
}
}
}
\ No newline at end of file
//package com.base.appzxhy.ui.malware
//
//import android.app.Activity
//import android.view.LayoutInflater
//import androidx.appcompat.app.AlertDialog
//import androidx.constraintlayout.widget.ConstraintLayout
//import com.base.appzxhy.R
//import com.base.appzxhy.business.ads.AdsMgr
//import com.base.appzxhy.databinding.DialogErrBinding
//
//class ErrorScanDialog(
// val activity: Activity
//) {
// val dialog = AlertDialog.Builder(activity).create()
// val binding = DialogErrBinding.inflate(LayoutInflater.from(activity))
//
// var action: (() -> Unit)? = null
//
// fun showDialog() {
// dialog.setView(binding.root)
// dialog.setCanceledOnTouchOutside(false)
// dialog.show()
//
// val params = dialog.window?.attributes
//// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
// params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
//// params?.gravity = Gravity.BOTTOM
// dialog.window?.attributes = params
// dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
//
// AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
// binding.tvSure.setOnClickListener {
// dialog.dismiss()
// action?.invoke()
// }
// }
//}
\ No newline at end of file
package com.base.appzxhy.ui.malware
import android.app.Activity
import android.view.LayoutInflater
import androidx.appcompat.app.AlertDialog
import com.base.appzxhy.databinding.DialogMalwareTipBinding
import com.base.appzxhy.utils.AppPreferences
//是否已经同意
var malwareTipAgree = false
get() {
return AppPreferences.getInstance().getBoolean("malwareTipAgree", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("malwareTipAgree", value, true)
}
class MalwareDialog(
val activity: Activity
) {
val dialog = AlertDialog.Builder(activity).create()
val binding = DialogMalwareTipBinding.inflate(LayoutInflater.from(activity))
var action: ((flag: Boolean) -> Unit)? = null
fun showDialog() {
if (malwareTipAgree) {
action?.invoke(true)
return
}
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(false)
dialog.show()
val params = dialog.window?.attributes
// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
// params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
// params?.gravity = Gravity.BOTTOM
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
var flag = false
binding.tvCancel.setOnClickListener {
dialog.dismiss()
}
binding.tvSure.setOnClickListener {
dialog.dismiss()
flag = true
malwareTipAgree = true
action?.invoke(true)
}
dialog.setOnDismissListener {
action?.invoke(flag)
}
}
}
\ No newline at end of file
//package com.base.appzxhy.ui.malware
//
//import android.app.Activity
//import android.view.LayoutInflater
//import androidx.appcompat.app.AlertDialog
//import com.base.appzxhy.databinding.DialogMalwareTipBinding
//import com.base.appzxhy.utils.AppPreferences
//
////是否已经同意
//var malwareTipAgree = false
// get() {
// return AppPreferences.getInstance().getBoolean("malwareTipAgree", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("malwareTipAgree", value, true)
// }
//
//class MalwareDialog(
// val activity: Activity
//) {
//
// val dialog = AlertDialog.Builder(activity).create()
// val binding = DialogMalwareTipBinding.inflate(LayoutInflater.from(activity))
//
// var action: ((flag: Boolean) -> Unit)? = null
//
// fun showDialog() {
//
// if (malwareTipAgree) {
// action?.invoke(true)
// return
// }
//
// dialog.setView(binding.root)
// dialog.setCanceledOnTouchOutside(false)
// dialog.show()
//
// val params = dialog.window?.attributes
//// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
//// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
//// params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
//// params?.gravity = Gravity.BOTTOM
// dialog.window?.attributes = params
// dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
//
// var flag = false
//
// binding.tvCancel.setOnClickListener {
// dialog.dismiss()
// }
// binding.tvSure.setOnClickListener {
// dialog.dismiss()
// flag = true
// malwareTipAgree = true
// action?.invoke(true)
// }
//
// dialog.setOnDismissListener {
// action?.invoke(flag)
// }
// }
//}
\ No newline at end of file
......@@ -38,9 +38,7 @@ import com.base.appzxhy.business.service.StayJobService.Companion.startStayJobSe
import com.base.appzxhy.databinding.ActivitySplashBinding
import com.base.appzxhy.ui.dialog.StoragePermissionDialog
import com.base.appzxhy.ui.guide.GuideCleanActivity
import com.base.appzxhy.ui.language.LanguageActivity
import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.ui.malware.MalwareDialog
import com.base.appzxhy.utils.LogEx
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
......@@ -283,21 +281,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
}
}
if (actionId == ANTIVIRUS) {
val dialog = MalwareDialog(this)
dialog.action = {
if (it) {
actionStorage.invoke()
} else {
goToAc(MainActivity::class.java)
finish()
}
}
dialog.showDialog()
} else {
actionStorage.invoke()
}
actionStorage.invoke()
}
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="@dimen/dp_1"
android:color="#AEB4BD" />
<corners android:radius="@dimen/dp_4" />
</shape>
\ No newline at end of file
......@@ -11,7 +11,7 @@
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%">
<shape>
<solid android:color="#2DD29E" /> <!-- 进度条颜色 -->
<solid android:color="@color/colorPrimary" /> <!-- 进度条颜色 -->
<corners android:radius="@dimen/dp_10" />
</shape>
</scale>
......
......@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_background">
android:background="@drawable/bg_ffffff_10">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
......@@ -41,18 +41,17 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_cancel"
android:layout_width="0dp"
android:layout_height="@dimen/dp_50"
android:layout_height="@dimen/dp_40"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="24dp"
android:background="@drawable/bg_enable_no_50"
android:background="@drawable/bg_stroke_aeb4bd_4"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:paddingVertical="8dp"
android:text="@string/cancel"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_confirm"
app:layout_constraintStart_toStartOf="parent"
......@@ -61,18 +60,17 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_confirm"
android:layout_width="0dp"
android:layout_height="@dimen/dp_50"
android:layout_height="@dimen/dp_40"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="24dp"
android:background="@drawable/bg_enable_50"
android:background="@drawable/bg_enable_4"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:paddingVertical="8dp"
android:text="@string/confirm"
android:textColor="@color/white"
android:textSize="14sp"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_cancel"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_background_top"
android:paddingTop="24dp"
android:paddingBottom="40dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:text="@string/storage_permission_title"
android:textColor="@color/color_1a1a1a"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="8dp"
android:text="@string/storage_permission_content"
android:textColor="@color/color_666666"
android:textSize="16sp"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_permission"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="12dp"
android:adjustViewBounds="true"
android:src="@drawable/img_quanxian_pop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvContent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvOpenSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/bg_btn_50"
android:gravity="center"
android:paddingVertical="12dp"
android:text="@string/open_settings"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/iv_permission" />
</androidx.constraintlayout.widget.ConstraintLayout>
......@@ -51,7 +51,7 @@
android:layout_width="@dimen/dp_250"
android:layout_height="@dimen/dp_250"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp">
android:layout_marginTop="-20dp">
<View
android:layout_width="match_parent"
......@@ -121,6 +121,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_marginTop="-10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
......
......@@ -70,4 +70,5 @@
<dimen name="dp_250">250dp</dimen>
<dimen name="dp_28">28dp</dimen>
<dimen name="dp_54">54dp</dimen>
<dimen name="dp_32">32dp</dimen>
</resources>
\ No newline at end of file
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