Commit b36fa473 authored by wanglei's avatar wanglei

...

parent 51af3b20
...@@ -9,17 +9,18 @@ import android.graphics.Color ...@@ -9,17 +9,18 @@ import android.graphics.Color
import android.net.Uri import android.net.Uri
import android.provider.Settings import android.provider.Settings
import android.view.View import android.view.View
import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.adapter.AppManagerAdapter import com.base.datarecovery.adapter.AppManagerAdapter
import com.base.datarecovery.ads.AdmobMaxHelper import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.bean.AppBean import com.base.datarecovery.bean.AppBean
import com.base.datarecovery.databinding.ActivityAppManagerBinding
import com.base.datarecovery.databinding.ActivityAppProcessBinding import com.base.datarecovery.databinding.ActivityAppProcessBinding
import com.base.datarecovery.help.BaseActivity import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.help.KotlinExt.toFormatSize import com.base.datarecovery.help.KotlinExt.toFormatSize
import com.base.datarecovery.utils.BarUtils import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.utils.RamUtils.ramPair import com.base.datarecovery.utils.RamUtils.ramPair
import com.base.datarecovery.view.DialogViews.showAppProcessExitDialog
import com.base.datarecovery.view.DialogViews.showExitFunctionDialog import com.base.datarecovery.view.DialogViews.showExitFunctionDialog
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
...@@ -33,6 +34,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() { ...@@ -33,6 +34,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
private lateinit var adapter: AppManagerAdapter private lateinit var adapter: AppManagerAdapter
private var ePercent = 0
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun initView() { override fun initView() {
...@@ -42,6 +44,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() { ...@@ -42,6 +44,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
val ramPair = ramPair() val ramPair = ramPair()
val percent = ((ramPair.first.toFloat() / ramPair.second.toFloat()) * 100).toInt() val percent = ((ramPair.first.toFloat() / ramPair.second.toFloat()) * 100).toInt()
ePercent = percent
binding.tvPercent.text = percent.toString() binding.tvPercent.text = percent.toString()
binding.pbRam.progress = percent binding.pbRam.progress = percent
binding.tvSize.text = "${ramPair.first.toFormatSize()}/${ramPair.second.toFormatSize()}" binding.tvSize.text = "${ramPair.first.toFormatSize()}/${ramPair.second.toFormatSize()}"
...@@ -59,6 +62,11 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() { ...@@ -59,6 +62,11 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
onBackPressedDispatcher.addCallback {
showAppProcessExitDialog(ePercent) {
finishToMain()
}
}
binding.flFanhui.setOnClickListener { binding.flFanhui.setOnClickListener {
showExitFunctionDialog { showAd -> showExitFunctionDialog { showAd ->
if (showAd) { if (showAd) {
......
...@@ -8,6 +8,9 @@ import android.content.Context ...@@ -8,6 +8,9 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.text.SpannableString
import android.text.Spanned
import android.text.style.ForegroundColorSpan
import android.view.Gravity import android.view.Gravity
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
...@@ -34,6 +37,7 @@ import com.base.datarecovery.bean.ConstObject.SELECT_FILE_DOCUMENT ...@@ -34,6 +37,7 @@ import com.base.datarecovery.bean.ConstObject.SELECT_FILE_DOCUMENT
import com.base.datarecovery.bean.ConstObject.SELECT_FILE_OTHER import com.base.datarecovery.bean.ConstObject.SELECT_FILE_OTHER
import com.base.datarecovery.bean.ConstObject.SELECT_FILE_PICTURE import com.base.datarecovery.bean.ConstObject.SELECT_FILE_PICTURE
import com.base.datarecovery.bean.ConstObject.SELECT_FILE_VIDEO import com.base.datarecovery.bean.ConstObject.SELECT_FILE_VIDEO
import com.base.datarecovery.databinding.DialogAppProcessExitBinding
import com.base.datarecovery.databinding.DialogCameraSettingBinding import com.base.datarecovery.databinding.DialogCameraSettingBinding
import com.base.datarecovery.databinding.DialogDeletePermanentlyBinding import com.base.datarecovery.databinding.DialogDeletePermanentlyBinding
import com.base.datarecovery.databinding.DialogExitAppBinding import com.base.datarecovery.databinding.DialogExitAppBinding
...@@ -380,4 +384,34 @@ object DialogViews { ...@@ -380,4 +384,34 @@ object DialogViews {
} }
} }
@SuppressLint("SetTextI18n")
fun Context.showAppProcessExitDialog(percent: Int, action: () -> Unit) {
val binding = DialogAppProcessExitBinding.inflate(LayoutInflater.from(this))
val dialog = AlertDialog.Builder(this).create()
dialog.setView(binding.root)
dialog.show()
val text = "RAM accounts for more than $percent%.\nAre you sure want to leave?"
val spannableString = SpannableString(text)
val start = text.indexOf("$percent%")
val end = start + "$percent%".length
spannableString.setSpan(ForegroundColorSpan(Color.RED), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
binding.tvTip.text = spannableString
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val lp: WindowManager.LayoutParams? = dialog.window?.attributes
lp?.width = this.resources.getDimensionPixelOffset(R.dimen.dp_315)
// lp?.height=
dialog.window?.setAttributes(lp)
binding.tvN.setOnClickListener {
dialog.dismiss()
action.invoke()
}
binding.tvY.setOnClickListener {
dialog.dismiss()
}
}
} }
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="20dp"/>
<solid android:color="#EFEFEF"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="20dp">
<ImageView
android:layout_width="305dp"
android:layout_height="185dp"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="26dp"
android:text="Prompt"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="RAM accounts for more than 50%.\nAre you sure want to leave?"
android:textSize="14sp"
tools:ignore="HardcodedText" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:layout_marginBottom="20dp">
<TextView
android:id="@+id/tv_n"
android:layout_width="126dp"
android:layout_height="40dp"
android:background="@drawable/bg_efefef_20"
android:gravity="center"
android:text="End"
android:textColor="#666666"
android:textSize="17sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_y"
android:layout_width="126dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:background="@drawable/bg_4773ff_20"
android:gravity="center"
android:text="Continue"
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.cardview.widget.CardView>
...@@ -7,4 +7,5 @@ ...@@ -7,4 +7,5 @@
<dimen name="dp_17">17dp</dimen> <dimen name="dp_17">17dp</dimen>
<dimen name="dp_5">5dp</dimen> <dimen name="dp_5">5dp</dimen>
<dimen name="dp_9">9dp</dimen> <dimen name="dp_9">9dp</dimen>
<dimen name="dp_315">315dp</dimen>
</resources> </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