Commit 3cb1a368 authored by wanglei's avatar wanglei

...

parent 4a055bc5
package com.base.datarecovery.activity
import android.content.Intent
import android.graphics.Color
import android.net.Uri
import android.os.Bundle
import androidx.activity.addCallback
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.base.datarecovery.R
import com.base.datarecovery.bean.ConstObject.fcmNotification
import com.base.datarecovery.bean.ConstObject.stayNotification
import com.base.datarecovery.databinding.ActivitySettingBinding
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.help.ConfigHelper
import com.base.datarecovery.service.StayNotificationService
import com.base.datarecovery.service.StayNotificationService.Companion.startStayNotification
import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.view.RateStarPop.showRateStarPopDialog
class SettingActivity : BaseActivity<ActivitySettingBinding>() {
......@@ -16,7 +27,50 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>() {
}
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.switchStayNotification.isChecked = stayNotification
binding.switchFcmNotification.isChecked = fcmNotification
}
override fun initListener() {
onBackPressedDispatcher.addCallback {
finishToMain()
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.switchStayNotification.setOnCheckedChangeListener { buttonView, isChecked ->
stayNotification = isChecked
if (isChecked) {
startStayNotification()
} else {
val serviceIntent = Intent(this, StayNotificationService::class.java)
stopService(serviceIntent)
}
}
binding.switchFcmNotification.setOnCheckedChangeListener { buttonView, isChecked ->
fcmNotification = isChecked
if (isChecked) {
// subscribeToTopic(ConfigHelper.packageName)
} else {
// unsubscribeFromTopic(ConfigHelper.packageName)
}
}
binding.llPrivacy.setOnClickListener {
val intent = Intent(
Intent.ACTION_VIEW,
Uri.parse(ConfigHelper.privacyPolicy)
)
startActivity(intent)
}
binding.llScore.setOnClickListener {
showRateStarPopDialog(mustShow = true)
}
}
}
\ No newline at end of file
......@@ -59,4 +59,21 @@ object ConstObject {
SPUtils.getInstance().put("privacyPinPassword", value, true)
}
var stayNotification = true
get() {
return SPUtils.getInstance().getBoolean("stayNotification", field)
}
set(value) {
field = value
SPUtils.getInstance().put("stayNotification", value, true)
}
var fcmNotification = true
get() {
return SPUtils.getInstance().getBoolean("fcmNotification", field)
}
set(value) {
field = value
SPUtils.getInstance().put("fcmNotification", value, true)
}
}
\ No newline at end of file
......@@ -13,17 +13,19 @@ import com.base.datarecovery.utils.SPUtils
object RateStarPop {
@SuppressLint("SetTextI18n")
fun Context.showRateStarPopDialog() {
fun Context.showRateStarPopDialog(mustShow: Boolean = false) {
val n = SPUtils.getInstance().getInt("RateNumbers", 0)
SPUtils.getInstance().put("RateNumbers", n + 1)
if (SPUtils.getInstance().getBoolean("isRated", false)) {
return
}
if (n > 0 && n % 8 == 0) {
} else {
return
if (!mustShow) {
val n = SPUtils.getInstance().getInt("RateNumbers", 0)
SPUtils.getInstance().put("RateNumbers", n + 1)
if (SPUtils.getInstance().getBoolean("isRated", false)) {
return
}
if (n > 0 && n % 8 == 0) {
} else {
return
}
}
......
<?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
......@@ -263,7 +263,7 @@
android:layout_height="wrap_content"
android:switchMinWidth="50dp"
android:thumbTint="#E4E7EC"
android:trackTint="@color/switch_track_selector_color"
android:trackTint="@color/switch_track_selector"
app:layout_constraintBottom_toTopOf="@id/tv_thumbnails_tip"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_thumbnails"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_587efc_3fd3ff"
android:orientation="vertical">
android:orientation="vertical"
app:layout_constraintTop_toTopOf="parent">
<View
android:layout_width="match_parent"
......@@ -79,7 +82,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="43dp"
android:layout_marginBottom="45dp"
android:text="Cleanable"
android:textColor="@color/white"
android:textSize="14sp"
......@@ -89,8 +92,10 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/bg_ffffff_tlr15">
android:layout_marginTop="-20dp"
android:background="@drawable/bg_ffffff_tlr15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_top">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/id_scan_result"
......@@ -125,4 +130,4 @@
</FrameLayout>
</LinearLayout>
\ No newline at end of file
</androidx.constraintlayout.widget.ConstraintLayout>
\ 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