Commit b36fa473 authored by wanglei's avatar wanglei

...

parent 51af3b20
......@@ -9,17 +9,18 @@ import android.graphics.Color
import android.net.Uri
import android.provider.Settings
import android.view.View
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.adapter.AppManagerAdapter
import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.bean.AppBean
import com.base.datarecovery.databinding.ActivityAppManagerBinding
import com.base.datarecovery.databinding.ActivityAppProcessBinding
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.help.KotlinExt.toFormatSize
import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.utils.RamUtils.ramPair
import com.base.datarecovery.view.DialogViews.showAppProcessExitDialog
import com.base.datarecovery.view.DialogViews.showExitFunctionDialog
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
......@@ -33,6 +34,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
private lateinit var adapter: AppManagerAdapter
private var ePercent = 0
@SuppressLint("SetTextI18n")
override fun initView() {
......@@ -42,6 +44,7 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
val ramPair = ramPair()
val percent = ((ramPair.first.toFloat() / ramPair.second.toFloat()) * 100).toInt()
ePercent = percent
binding.tvPercent.text = percent.toString()
binding.pbRam.progress = percent
binding.tvSize.text = "${ramPair.first.toFormatSize()}/${ramPair.second.toFormatSize()}"
......@@ -59,6 +62,11 @@ class AppProcessActivity : BaseActivity<ActivityAppProcessBinding>() {
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
showAppProcessExitDialog(ePercent) {
finishToMain()
}
}
binding.flFanhui.setOnClickListener {
showExitFunctionDialog { showAd ->
if (showAd) {
......
......@@ -8,6 +8,9 @@ import android.content.Context
import android.content.Intent
import android.graphics.Color
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.LayoutInflater
import android.view.View
......@@ -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_PICTURE
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.DialogDeletePermanentlyBinding
import com.base.datarecovery.databinding.DialogExitAppBinding
......@@ -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 @@
<dimen name="dp_17">17dp</dimen>
<dimen name="dp_5">5dp</dimen>
<dimen name="dp_9">9dp</dimen>
<dimen name="dp_315">315dp</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