Commit 5cf1718f authored by wanglei's avatar wanglei

[拆包]新的引导页

parent f32cb609
...@@ -76,6 +76,11 @@ ...@@ -76,6 +76,11 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.guide.GuideExperienceActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.guide.GuideCleanActivity" android:name=".ui.guide.GuideCleanActivity"
android:exported="false" android:exported="false"
......
...@@ -5,7 +5,7 @@ package com.base.appzxhy ...@@ -5,7 +5,7 @@ package com.base.appzxhy
*/ */
object GlobalConfig { object GlobalConfig {
//包名 //包名
const val PACKAGE_NAME = "com.tgv.malware.yhj.clean" const val PACKAGE_NAME = "com.rgt.super.fvb.clean"
// 域名 // 域名
/** /**
...@@ -31,7 +31,7 @@ object GlobalConfig { ...@@ -31,7 +31,7 @@ object GlobalConfig {
/** /**
* Key Aes 加密key * Key Aes 加密key
*/ */
const val KEY_AES = "zfjlryvsi02nk1q3" const val KEY_AES = "v51t9sj0pcpn32co"
/** /**
* Key solar 归因key * Key solar 归因key
......
...@@ -42,12 +42,14 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN ...@@ -42,12 +42,14 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.UNINSTALL_APP
import com.base.appzxhy.bean.FileBean import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.bean.config.AdConfigBean import com.base.appzxhy.bean.config.AdConfigBean
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.ads.NativeParentView import com.base.appzxhy.business.ads.NativeParentView
import com.base.appzxhy.business.helper.EventUtils import com.base.appzxhy.business.helper.EventUtils
import com.base.appzxhy.ui.appuninstall.AppUninstallActivity
import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity
import com.base.appzxhy.ui.clean.JunkCleanActivity import com.base.appzxhy.ui.clean.JunkCleanActivity
import com.base.appzxhy.ui.dialog.FunctionBackDialog import com.base.appzxhy.ui.dialog.FunctionBackDialog
...@@ -455,6 +457,10 @@ fun Activity.jumpAction(key: String) { ...@@ -455,6 +457,10 @@ fun Activity.jumpAction(key: String) {
PHOTO_COMPRESSION -> { PHOTO_COMPRESSION -> {
goToAc(PhotoCompressionActivity::class.java) goToAc(PhotoCompressionActivity::class.java)
} }
UNINSTALL_APP -> {
goToAc(AppUninstallActivity::class.java)
}
} }
} }
......
package com.base.appzxhy.bean.config package com.base.appzxhy.bean.config
import com.base.appzxhy.databinding.DialogAdCountdownBinding
class AdConfigBean( class AdConfigBean(
...@@ -19,6 +21,7 @@ class AdConfigBean( ...@@ -19,6 +21,7 @@ class AdConfigBean(
var functionInShowAd: Boolean = true,//功能进入显示广告 var functionInShowAd: Boolean = true,//功能进入显示广告
var rvEmptyShowNative: Boolean = true,//列表空的显示原生不 var rvEmptyShowNative: Boolean = true,//列表空的显示原生不
var requestUmp: Boolean = false,//是否需要请求ump var requestUmp: Boolean = false,//是否需要请求ump
var showCountdown: Boolean = false,//是否显示倒计时
) { ) {
......
...@@ -14,6 +14,7 @@ data class ConfigBean( ...@@ -14,6 +14,7 @@ data class ConfigBean(
val vipConfigBean: VipConfigBean = VipConfigBean(), val vipConfigBean: VipConfigBean = VipConfigBean(),
val noEventKey: List<String> = listOf(), val noEventKey: List<String> = listOf(),
val getConfigInterval: Int = 4,//请求配间隔小时 val getConfigInterval: Int = 4,//请求配间隔小时
val guideMode: Int = 0,//引导页模式
) { ) {
......
package com.base.appzxhy.business.ads package com.base.appzxhy.business.ads
abstract class AdsShowCallBack { abstract class AdsShowCallBack {
open fun show() {}
var adShowed: Boolean = false
open fun show() {
adShowed = true
}
open fun failed(where: Int = 0) { open fun failed(where: Int = 0) {
adShowed = false
next() next()
} }
open fun adFailed(where: Int = 0) { open fun adFailed(where: Int = 0) {
adShowed = false
next() next()
} }
open fun close(where: Int = 0) { open fun close(where: Int = 0) {
adShowed = false
next() next()
} }
......
...@@ -4,6 +4,7 @@ import android.app.Activity ...@@ -4,6 +4,7 @@ import android.app.Activity
import android.content.Context import android.content.Context
import com.base.appzxhy.GlobalConfig import com.base.appzxhy.GlobalConfig
import com.base.appzxhy.MyApplication import com.base.appzxhy.MyApplication
import com.base.appzxhy.bean.config.AdConfigBean
import com.base.appzxhy.business.ads.AdCountDownDialog.createUICountdownTimer import com.base.appzxhy.business.ads.AdCountDownDialog.createUICountdownTimer
import com.base.appzxhy.business.ads.AdCountDownDialog.showAdCountDownDialog import com.base.appzxhy.business.ads.AdCountDownDialog.showAdCountDownDialog
import com.base.appzxhy.business.ads.AdEvent import com.base.appzxhy.business.ads.AdEvent
...@@ -148,7 +149,11 @@ class AdInterMgr { ...@@ -148,7 +149,11 @@ class AdInterMgr {
} }
val activity = adState.activityRef?.get() val activity = adState.activityRef?.get()
activity?.let { activity?.let {
createUICountdownTimer(adState.adDialog) { if (AdConfigBean.adsConfigBean.showCountdown){
createUICountdownTimer(adState.adDialog) {
show(it)
}
}else{
show(it) show(it)
} }
} }
......
...@@ -44,7 +44,7 @@ class AppUninstallActivity : BaseActivity<ActivityAppUninstallBinding>(ActivityA ...@@ -44,7 +44,7 @@ class AppUninstallActivity : BaseActivity<ActivityAppUninstallBinding>(ActivityA
} }
binding.tvOk.setOnClickListener { binding.tvOk.setOnClickListener {
CleanResultActivity.functionKey = UNINSTALL_APP CleanResultActivity.functionKey = UNINSTALL_APP
CleanResultActivity.titleName = this.getString(R.string.app_uninstall) CleanResultActivity.titleName = this.getString(R.string.uninstall_app)
goToAc(CleanResultActivity::class.java) goToAc(CleanResultActivity::class.java)
finish() finish()
} }
......
...@@ -47,10 +47,11 @@ class StoragePermissionDialog( ...@@ -47,10 +47,11 @@ class StoragePermissionDialog(
val binding = DialogStorage2Binding.inflate(LayoutInflater.from(activity)) val binding = DialogStorage2Binding.inflate(LayoutInflater.from(activity))
var action: (() -> Unit)? = null var action: (() -> Unit)? = null
var actionEd: Boolean = false
fun showDialog() { fun showDialog() {
dialog.setView(binding.root) dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(false) dialog.setCanceledOnTouchOutside(true)
dialog.show() dialog.show()
...@@ -77,6 +78,7 @@ class StoragePermissionDialog( ...@@ -77,6 +78,7 @@ class StoragePermissionDialog(
// dialog.dismiss() // dialog.dismiss()
// } // }
binding.tvOpenSettings.setOnClickListener { binding.tvOpenSettings.setOnClickListener {
actionEd = true
dialog.dismiss() dialog.dismiss()
action?.invoke() action?.invoke()
} }
......
package com.base.appzxhy.ui.guide
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.UNINSTALL_APP
import com.base.appzxhy.databinding.ActivityGuideExperienceBinding
import com.base.appzxhy.ui.dialog.StoragePermissionDialog
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
class GuideExperienceActivity : BaseActivity<ActivityGuideExperienceBinding>(
ActivityGuideExperienceBinding::inflate
) {
override fun initView() {
super.initView()
val appName = getString(R.string.app_name)
binding.tvTip.text = getString(R.string.app_function_experience_tip, appName)
}
override fun handleBackCallBack() {
}
override fun initListener() {
super.initListener()
binding.tvBtn.setOnClickListener {
val dialog = StoragePermissionDialog(this)
dialog.action = {
requestStoragePermission(launcher) {
if (it) {
val key = arrayOf(JUNK_CLEAN, SCREENSHOT_CLEAN, LARGE_FILE_CLEAN, PHOTO_COMPRESSION, SIMILAR_PHOTOS).random()
jumpAction(key)
} else {
val key = arrayOf(BATTERY_INFO, UNINSTALL_APP).random()
jumpAction(key)
}
}
}
dialog.dialog.setOnDismissListener {
if (!dialog.actionEd){
val key = arrayOf(BATTERY_INFO, UNINSTALL_APP).random()
jumpAction(key)
}
}
dialog.showDialog()
}
}
}
\ No newline at end of file
...@@ -6,7 +6,6 @@ import android.view.ViewGroup ...@@ -6,7 +6,6 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView.ViewHolder import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.bean.FeatureBean import com.base.appzxhy.bean.FeatureBean
import com.base.appzxhy.databinding.ItemFeatureSpan12Binding
import com.base.appzxhy.databinding.ItemFeatureSpan1Binding import com.base.appzxhy.databinding.ItemFeatureSpan1Binding
import com.base.appzxhy.databinding.ItemFeatureSpan2Binding import com.base.appzxhy.databinding.ItemFeatureSpan2Binding
import com.base.appzxhy.utils.Utils.inflate import com.base.appzxhy.utils.Utils.inflate
......
...@@ -2,7 +2,6 @@ package com.base.appzxhy.ui.main ...@@ -2,7 +2,6 @@ package com.base.appzxhy.ui.main
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.ActivityManager import android.app.ActivityManager
import android.view.ViewTreeObserver
import androidx.core.content.ContextCompat.getSystemService import androidx.core.content.ContextCompat.getSystemService
import androidx.core.graphics.Insets import androidx.core.graphics.Insets
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
...@@ -12,7 +11,6 @@ import androidx.recyclerview.widget.GridLayoutManager ...@@ -12,7 +11,6 @@ import androidx.recyclerview.widget.GridLayoutManager
import com.airbnb.lottie.LottieDrawable import com.airbnb.lottie.LottieDrawable
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.base.BaseFragment import com.base.appzxhy.base.BaseFragment
import com.base.appzxhy.base.goToAc
import com.base.appzxhy.base.jumpAction import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean import com.base.appzxhy.bean.FeatureBean
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
...@@ -22,9 +20,8 @@ import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION ...@@ -22,9 +20,8 @@ import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SETTINGS import com.base.appzxhy.bean.FeatureBean.Companion.SETTINGS
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.VIDEO_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.UNINSTALL_APP
import com.base.appzxhy.databinding.FragmentHome3Binding import com.base.appzxhy.databinding.FragmentHome3Binding
import com.base.appzxhy.ui.appuninstall.AppUninstallActivity
import com.base.appzxhy.ui.dialog.permissionStorageJump import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.ui.set.SettingActivity import com.base.appzxhy.ui.set.SettingActivity
import com.base.appzxhy.utils.BarUtils import com.base.appzxhy.utils.BarUtils
...@@ -57,9 +54,9 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::in ...@@ -57,9 +54,9 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::in
R.drawable.icon_similar_h, R.drawable.icon_similar_h,
), ),
FeatureBean( FeatureBean(
VIDEO_CLEAN, UNINSTALL_APP,
R.string.video_clean, R.string.uninstall_app,
R.drawable.icon_similar_h, R.drawable.icon_app_uninstall,
), ),
FeatureBean( FeatureBean(
...@@ -125,30 +122,25 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::in ...@@ -125,30 +122,25 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::in
adapter.itemClick = { adapter.itemClick = {
if (it.key == VIDEO_CLEAN) {
goToAc(AppUninstallActivity::class.java)
} else {
when (it.key) {
JUNK_CLEAN,
SCREENSHOT_CLEAN,
LARGE_FILE_CLEAN,
PHOTO_COMPRESSION, SIMILAR_PHOTOS -> {
(requireActivity() as MainActivity).permissionStorageJump(it.key)
}
BATTERY_INFO -> { when (it.key) {
(requireActivity() as MainActivity).jumpAction(it.key) JUNK_CLEAN,
} SCREENSHOT_CLEAN,
LARGE_FILE_CLEAN,
PHOTO_COMPRESSION, SIMILAR_PHOTOS -> {
(requireActivity() as MainActivity).permissionStorageJump(it.key)
}
BATTERY_INFO, UNINSTALL_APP -> {
(requireActivity() as MainActivity).jumpAction(it.key)
}
SETTINGS -> {
(requireActivity() as MainActivity).goToAc(SettingActivity::class.java)
}
SETTINGS -> {
(requireActivity() as MainActivity).goToAc(SettingActivity::class.java)
} }
}
}
} }
......
...@@ -19,16 +19,15 @@ import androidx.core.view.ViewCompat ...@@ -19,16 +19,15 @@ import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.appzxhy.GlobalConfig.URL_PRIVACY import com.base.appzxhy.GlobalConfig.URL_PRIVACY
import com.base.appzxhy.GlobalConfig.URL_USE
import com.base.appzxhy.MyApplication import com.base.appzxhy.MyApplication
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.SpConstObject.ifAgreePrivacy import com.base.appzxhy.SpConstObject.ifAgreePrivacy
import com.base.appzxhy.SpConstObject.isGuided import com.base.appzxhy.SpConstObject.isGuided
import com.base.appzxhy.base.BaseActivity import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.jumpAction import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean.Companion.ANTIVIRUS
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.config.AdConfigBean import com.base.appzxhy.bean.config.AdConfigBean
import com.base.appzxhy.bean.config.ConfigBean
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.helper.EventUtils import com.base.appzxhy.business.helper.EventUtils
...@@ -38,6 +37,7 @@ import com.base.appzxhy.business.service.StayJobService.Companion.startStayJobSe ...@@ -38,6 +37,7 @@ import com.base.appzxhy.business.service.StayJobService.Companion.startStayJobSe
import com.base.appzxhy.databinding.ActivitySplashBinding import com.base.appzxhy.databinding.ActivitySplashBinding
import com.base.appzxhy.ui.dialog.StoragePermissionDialog import com.base.appzxhy.ui.dialog.StoragePermissionDialog
import com.base.appzxhy.ui.guide.GuideCleanActivity import com.base.appzxhy.ui.guide.GuideCleanActivity
import com.base.appzxhy.ui.guide.GuideExperienceActivity
import com.base.appzxhy.ui.main.MainActivity import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.utils.LogEx import com.base.appzxhy.utils.LogEx
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
...@@ -191,10 +191,22 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -191,10 +191,22 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
} }
override fun next() { override fun next() {
LogEx.logDebug(TAG, "next") val action = {
viewModel.overCountDown() LogEx.logDebug(TAG, "next")
binding.progressBar.setProgress(100, true) viewModel.overCountDown()
binding.root.postDelayed({ jumpNext() }, 250) binding.progressBar.setProgress(100, true)
binding.root.postDelayed({ jumpNext() }, 250)
}
if (this.adShowed) {
action.invoke()
} else {
AdsMgr.showInsert(this@SplashActivity, showCallBack = object : AdsShowCallBack() {
override fun next() {
action.invoke()
}
})
}
} }
}) })
...@@ -230,7 +242,17 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -230,7 +242,17 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
when { when {
!isGuided -> { !isGuided -> {
isGuided = true isGuided = true
goToAc(GuideCleanActivity::class.java) when (ConfigBean.configBean.guideMode) {
0 -> {
goToAc(GuideExperienceActivity::class.java)
}
1 -> {
goToAc(GuideCleanActivity::class.java)
}
else -> goToAc(MainActivity::class.java)
}
finish() finish()
} }
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dp_60" android:layout_marginStart="@dimen/dp_60"
android:text="@string/app_uninstall" android:text="@string/uninstall_app"
android:textColor="#1A1A1A" android:textColor="#1A1A1A"
android:textSize="@dimen/sp_20" android:textSize="@dimen/sp_20"
android:textStyle="bold" /> android:textStyle="bold" />
......
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.guide.GuideExperienceActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/img_experience" />
<TextView
android:id="@+id/tvTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_35"
android:layout_marginTop="@dimen/dp_30"
android:gravity="center"
android:text="@string/app_function_experience_tip"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<TextView
android:foreground="?attr/selectableItemBackground"
android:id="@+id/tvBtn"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_50"
android:background="@drawable/bg_splash_button"
android:gravity="center"
android:text="@string/experience_it_immediately"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:text="AD LOADING" android:text="LOADING"
android:textColor="#ff111111" android:textColor="#ff111111"
android:textSize="20sp" android:textSize="20sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<androidx.constraintlayout.widget.ConstraintLayout 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:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginHorizontal="@dimen/dp_16"
android:layout_height="@dimen/dp_400" android:layout_height="@dimen/dp_400"
android:layout_marginHorizontal="@dimen/dp_16"
android:background="@color/transparent"> android:background="@color/transparent">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
...@@ -124,7 +124,6 @@ ...@@ -124,7 +124,6 @@
android:textSize="@dimen/sp_18" /> android:textSize="@dimen/sp_18" />
<TextView <TextView
android:textSize="@dimen/sp_18"
android:id="@+id/tvSubmit" android:id="@+id/tvSubmit"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/dp_42" android:layout_height="@dimen/dp_42"
...@@ -133,7 +132,8 @@ ...@@ -133,7 +132,8 @@
android:background="@drawable/icon_anniu" android:background="@drawable/icon_anniu"
android:gravity="center" android:gravity="center"
android:text="@string/submit" android:text="@string/submit"
android:textColor="@color/white" /> android:textColor="@color/white"
android:textSize="@dimen/sp_18" />
</LinearLayout> </LinearLayout>
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/tanchuang" /> app:srcCompat="@drawable/rate_face" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -39,7 +39,7 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -39,7 +39,7 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="app_manager">App Manager</string> <string name="app_manager">App Manager</string>
<string name="large_file_clean">Large File Clean</string> <string name="large_file_clean">Large File Clean</string>
<string name="photo_compression">Photo Compression</string> <string name="photo_compression">Photo Compression</string>
<string name="similar_photos">Duplicate Photos</string> <string name="similar_photos">Similar Photos</string>
<string name="home">Home</string> <string name="home">Home</string>
<string name="recovery">Recovery</string> <string name="recovery">Recovery</string>
<string name="settings">Settings</string> <string name="settings">Settings</string>
...@@ -237,10 +237,12 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -237,10 +237,12 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="thank_you_very_much">Thank you very much for taking the time to rate us.</string> <string name="thank_you_very_much">Thank you very much for taking the time to rate us.</string>
<string name="view">View</string> <string name="view">View</string>
<string name="content_not_found">Content not found</string> <string name="content_not_found">Content not found</string>
<string name="app_uninstall">App Uninstall</string> <string name="uninstall_app">Uninstall App</string>
<string name="ok">OK</string> <string name="ok">OK</string>
<string name="size">Size</string> <string name="size">Size</string>
<string name="install_time">Install Time</string> <string name="install_time">Install Time</string>
<string name="app_function_experience_tip">%s is an advanced cleaner for Android devices to clean mobile phones. Cleaning apps can clean up empty files, log files, outdated APKs, temporary files, similar pictures, and large files. It can also view battery information, uninstall apps and compress pictures.</string>
<string name="experience_it_immediately">Experience it immediately</string>
</resources> </resources>
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