Commit 8794ffd4 authored by wanglei's avatar wanglei

...

parent c7f9596a
...@@ -26,7 +26,10 @@ android { ...@@ -26,7 +26,10 @@ android {
fun Long.toFormatTime3(): String { fun Long.toFormatTime3(): String {
return SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.ENGLISH).format(this) return SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.ENGLISH).format(this)
} }
setProperty("archivesBaseName", "master_malware_clean-v$versionName($versionCode)-${System.currentTimeMillis().toFormatTime3()}") setProperty(
"archivesBaseName",
"master_malware_clean-v$versionName($versionCode)-${System.currentTimeMillis().toFormatTime3()}"
)
ndk { ndk {
// 设置支持的 ABI 架构 // 设置支持的 ABI 架构
...@@ -115,7 +118,7 @@ gradle.taskGraph.whenReady { ...@@ -115,7 +118,7 @@ gradle.taskGraph.whenReady {
dependencies { dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
implementation(libs.androidx.core.ktx) implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat) implementation(libs.androidx.appcompat)
......
...@@ -18,6 +18,18 @@ ...@@ -18,6 +18,18 @@
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
</intent>
</queries>
<application <application
android:name=".MyApplication" android:name=".MyApplication"
android:allowBackup="true" android:allowBackup="true"
...@@ -30,29 +42,30 @@ ...@@ -30,29 +42,30 @@
android:theme="@style/Theme.AppTheme" android:theme="@style/Theme.AppTheme"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".ui.splash.SplashActivity" android:name=".ui.splash.SplashActivity"
android:exported="true" android:exported="true"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/splash.theme" android:theme="@style/splash.theme"
tools:ignore="DiscouragedApi,LockedOrientationActivity"> tools:ignore="DiscouragedApi,LockedOrientationActivity">
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />--> <intent-filter>
<!-- </intent-filter>--> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> </activity>
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
android:exported="true" android:exported="true"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity"> tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter> <!-- <intent-filter>-->
<action android:name="android.intent.action.MAIN" /> <!-- <action android:name="android.intent.action.MAIN" />-->
<category android:name="android.intent.category.LAUNCHER" /> <!-- <category android:name="android.intent.category.LAUNCHER" />-->
</intent-filter> <!-- </intent-filter>-->
</activity> </activity>
<activity <activity
android:name=".ui.language.LanguageActivity" android:name=".ui.language.LanguageActivity"
...@@ -113,6 +126,11 @@ ...@@ -113,6 +126,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.malware.MalwareCleanActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
...@@ -188,6 +206,9 @@ ...@@ -188,6 +206,9 @@
<meta-data <meta-data
android:name="com.facebook.sdk.ApplicationId" android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" /> android:value="@string/facebook_app_id" />
<meta-data
android:name="com.trustlook.ApiKey"
android:value="59d819bc2ebe7ad648beb3ed7da424b1da1a963750e1a163a1ef79c4" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
This diff is collapsed.
...@@ -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.dumpster.cleaner.tbt" const val PACKAGE_NAME = "com.tgv.malware.yhj.clean"
// 域名 // 域名
/** /**
...@@ -31,7 +31,7 @@ object GlobalConfig { ...@@ -31,7 +31,7 @@ object GlobalConfig {
/** /**
* Key Aes 加密key * Key Aes 加密key
*/ */
const val KEY_AES = "d1mnzmn2cs20xpmx" const val KEY_AES = "zfjlryvsi02nk1q3"
/** /**
* Key solar 归因key * Key solar 归因key
......
...@@ -13,6 +13,7 @@ import android.os.Bundle ...@@ -13,6 +13,7 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import android.widget.LinearLayout
import android.widget.Toast import android.widget.Toast
import androidx.activity.SystemBarStyle import androidx.activity.SystemBarStyle
import androidx.activity.addCallback import androidx.activity.addCallback
...@@ -34,6 +35,7 @@ import com.base.appzxhy.SpConstObject.appLanguageCountrySp ...@@ -34,6 +35,7 @@ import com.base.appzxhy.SpConstObject.appLanguageCountrySp
import com.base.appzxhy.SpConstObject.appLanguageSp import com.base.appzxhy.SpConstObject.appLanguageSp
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.SpConstObject.cleanedSize import com.base.appzxhy.SpConstObject.cleanedSize
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.FeatureBean.Companion.JUNK_CLEAN 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.LARGE_FILE_CLEAN
...@@ -52,6 +54,7 @@ import com.base.appzxhy.ui.clean.JunkCleanActivity ...@@ -52,6 +54,7 @@ import com.base.appzxhy.ui.clean.JunkCleanActivity
import com.base.appzxhy.ui.dialog.FunctionBackDialog import com.base.appzxhy.ui.dialog.FunctionBackDialog
import com.base.appzxhy.ui.largefile.LargeFileCleanActivity import com.base.appzxhy.ui.largefile.LargeFileCleanActivity
import com.base.appzxhy.ui.main.MainActivity 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.photocompression.PhotoCompressionActivity
import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity
import com.base.appzxhy.ui.similar.SimilarPhotosActivity import com.base.appzxhy.ui.similar.SimilarPhotosActivity
...@@ -316,6 +319,7 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -316,6 +319,7 @@ abstract class BaseActivity<VB : ViewBinding>(
val flAd: NativeParentView? = findViewById(R.id.include_flAd) val flAd: NativeParentView? = findViewById(R.id.include_flAd)
var tvProgress: AppCompatTextView? = findViewById(R.id.tv_progress) var tvProgress: AppCompatTextView? = findViewById(R.id.tv_progress)
val lottie: LottieAnimationView? = findViewById(R.id.lottie_animation) val lottie: LottieAnimationView? = findViewById(R.id.lottie_animation)
val llTrustlook: LinearLayout = findViewById(R.id.llTrustlook)
include?.let { include?.let {
it.visibility = View.VISIBLE it.visibility = View.VISIBLE
...@@ -346,6 +350,11 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -346,6 +350,11 @@ abstract class BaseActivity<VB : ViewBinding>(
} }
else -> { else -> {
if (lottieConfig == LottieEnum.MALWARE_SCAN) {
llTrustlook.visibility = View.VISIBLE
}
lifecycleScope.launch { lifecycleScope.launch {
val durationTime = Random.Default.nextLong(3000, 4000) val durationTime = Random.Default.nextLong(3000, 4000)
ValueAnimator.ofInt(0, 100).apply { ValueAnimator.ofInt(0, 100).apply {
...@@ -369,11 +378,7 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -369,11 +378,7 @@ abstract class BaseActivity<VB : ViewBinding>(
} }
AdsMgr.showInsert(this, showCallBack = object : AdsShowCallBack() { functionInAd { adNext.invoke() }
override fun next() {
adNext.invoke()
}
})
} }
...@@ -454,6 +459,10 @@ fun Activity.jumpAction(key: String) { ...@@ -454,6 +459,10 @@ fun Activity.jumpAction(key: String) {
PHOTO_COMPRESSION -> { PHOTO_COMPRESSION -> {
goToAc(PhotoCompressionActivity::class.java) goToAc(PhotoCompressionActivity::class.java)
} }
ANTIVIRUS -> {
goToAc(MalwareCleanActivity::class.java)
}
} }
} }
...@@ -465,10 +474,7 @@ enum class LottieEnum(val data: String, val images: String? = null, val isLoop: ...@@ -465,10 +474,7 @@ enum class LottieEnum(val data: String, val images: String? = null, val isLoop:
SCREENSHOT_LOTTIE("screenshot/scan/data.json", "screenshot/scan/images"), SCREENSHOT_LOTTIE("screenshot/scan/data.json", "screenshot/scan/images"),
SIMILAR_PHOTOS_LOTTIE("similar_photos/scan/data.json", "similar_photos/scan/images"), SIMILAR_PHOTOS_LOTTIE("similar_photos/scan/data.json", "similar_photos/scan/images"),
PHOTO_COMPRESSION_LOTTIE("photo_compression/scan/data.json", "photo_compression/scan/images"), PHOTO_COMPRESSION_LOTTIE("photo_compression/scan/data.json", "photo_compression/scan/images"),
MALWARE_SCAN("malware_scan/scan/data.json", "malware_scan/scan/images"),
// WHATSAPP("whatsapp/scan/data.json", "whatsapp/scan/images"),
// WEATHER(""),
// CONSTELLATION("")
} }
......
...@@ -2,16 +2,19 @@ package com.base.appzxhy.ui.cleanresult ...@@ -2,16 +2,19 @@ package com.base.appzxhy.ui.cleanresult
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.base.appzxhy.R import com.base.appzxhy.R
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 import com.base.appzxhy.bean.FeatureBean
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.FeatureBean.Companion.JUNK_CLEAN 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.LARGE_FILE_CLEAN
...@@ -81,7 +84,15 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle ...@@ -81,7 +84,15 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle
binding.rvResult.layoutManager = LinearLayoutManager(this) binding.rvResult.layoutManager = LinearLayoutManager(this)
if (titleName.isNotEmpty()) binding.tvTitle.text = titleName if (titleName.isNotEmpty()) binding.tvTitle.text = titleName
binding.tvCleanedUp.text = "${getString(R.string.cleaned_up)} ${Utils.getSizeFormat(total)}" if (total != 0L) {
binding.tvCleanedUp.text = "${getString(R.string.cleaned_up)} ${Utils.getSizeFormat(total)}"
total = 0L
}
if (functionKey == ANTIVIRUS) {
binding.tvCleanedUp.updatePadding(bottom = resources.getDimensionPixelSize(R.dimen.dp_20))
binding.tvTip.visibility = View.GONE
binding.tvCleanedUp.text = getString(R.string.no_threats_found)
}
list = getData() list = getData()
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
...@@ -117,6 +128,8 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle ...@@ -117,6 +128,8 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle
) )
add(FeatureBean(SCREENSHOT_CLEAN, R.string.screenshot_clean, R.drawable.h_screenshot, R.string.result_screenshot_clean)) add(FeatureBean(SCREENSHOT_CLEAN, R.string.screenshot_clean, R.drawable.h_screenshot, R.string.result_screenshot_clean))
add(FeatureBean(SIMILAR_PHOTOS, R.string.similar_photos, R.drawable.h_similar, R.string.result_similar_photos)) add(FeatureBean(SIMILAR_PHOTOS, R.string.similar_photos, R.drawable.h_similar, R.string.result_similar_photos))
} }
val filteredList = list.filter { it.key != functionKey } val filteredList = list.filter { it.key != functionKey }
......
...@@ -9,6 +9,7 @@ import com.base.appzxhy.databinding.DialogFunctionBackBinding ...@@ -9,6 +9,7 @@ import com.base.appzxhy.databinding.DialogFunctionBackBinding
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.largefile.LargeFileCleanActivity 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.photocompression.PhotoCompressionActivity
import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity
import com.base.appzxhy.ui.similar.SimilarPhotosActivity import com.base.appzxhy.ui.similar.SimilarPhotosActivity
...@@ -63,6 +64,11 @@ class FunctionBackDialog( ...@@ -63,6 +64,11 @@ class FunctionBackDialog(
binding.tvContent.text = activity.getString(R.string.exit_similar_photos_content) 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 -> { else -> {
back.invoke() back.invoke()
return return
......
...@@ -5,10 +5,10 @@ import android.animation.ObjectAnimator ...@@ -5,10 +5,10 @@ import android.animation.ObjectAnimator
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.view.View import android.view.View
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import androidx.core.animation.doOnEnd
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
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.ANTIVIRUS import com.base.appzxhy.bean.FeatureBean.Companion.ANTIVIRUS
...@@ -22,6 +22,8 @@ import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS ...@@ -22,6 +22,8 @@ import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.databinding.FragmentHomeBinding import com.base.appzxhy.databinding.FragmentHomeBinding
import com.base.appzxhy.ui.dialog.permissionStorageJump import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.ui.malware.MalwareCleanActivity
import com.base.appzxhy.ui.malware.MalwareDialog
import com.base.appzxhy.ui.set.SettingActivity import com.base.appzxhy.ui.set.SettingActivity
import com.base.appzxhy.utils.MyAnimationUtils import com.base.appzxhy.utils.MyAnimationUtils
...@@ -64,21 +66,21 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl ...@@ -64,21 +66,21 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
SIMILAR_PHOTOS, SIMILAR_PHOTOS,
R.string.similar_photos, R.string.similar_photos,
R.drawable.icon_similar, R.drawable.icon_similar,
R.string.cear_simnilar_pictures_on_the_phone, R.string.clear_similar_pictures_on_the_phone,
"#FBF7FF".toColorInt() "#FBF7FF".toColorInt()
), ),
FeatureBean( FeatureBean(
PHOTO_COMPRESSION, PHOTO_COMPRESSION,
R.string.image_compression, R.string.image_compression,
R.drawable.icon_compression, R.drawable.icon_compression,
R.string.coepress_mobile_phone_images, R.string.compress_mobile_phone_images,
"#FFF7F2".toColorInt() "#FFF7F2".toColorInt()
), ),
FeatureBean( FeatureBean(
BATTERY_INFO, BATTERY_INFO,
R.string.battery_info, R.string.battery_info,
R.drawable.icon_battery, R.drawable.icon_battery,
R.string.wiew_battery_information, R.string.view_battery_information,
"#F2FFF7".toColorInt() "#F2FFF7".toColorInt()
), ),
FeatureBean( FeatureBean(
...@@ -128,6 +130,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl ...@@ -128,6 +130,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
ANTIVIRUS -> { ANTIVIRUS -> {
val dialog= MalwareDialog(requireActivity())
dialog.action={
(requireActivity() as MainActivity).permissionStorageJump(it.key)
}
dialog.showDialog()
} }
} }
......
...@@ -86,8 +86,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -86,8 +86,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
setPrivacyPolicy() setPrivacyPolicy()
requestNotificationPermission() requestNotificationPermission()
viewModel.jumpNext = { viewModel.jumpNext = {
// Log.e(TAG, "Countdown jumpNext") Log.e(TAG, "Countdown jumpNext")
// jumpNext() jumpNext()
} }
// viewModel.onTick = { s, t -> // viewModel.onTick = { s, t ->
// Log.e(TAG, "onTick $s $t") // Log.e(TAG, "onTick $s $t")
...@@ -180,7 +180,6 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -180,7 +180,6 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
val acAction = { val acAction = {
initUMP { initUMP {
LogEx.logDebug(TAG, "initUMP callBack")
AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() { AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() {
override fun show() { override fun show() {
viewModel.stopCountdown() viewModel.stopCountdown()
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#EDF7FF"/>
<corners android:radius="@dimen/dp_50"/>
</shape>
\ No newline at end of file
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
app:layout_constraintTop_toBottomOf="@id/idLottie" /> app:layout_constraintTop_toBottomOf="@id/idLottie" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvTip"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
......
<?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">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_exit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_background_24"
android:paddingBottom="24dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="30dp"
android:includeFontPadding="false"
android:lineSpacingExtra="4dp"
android:text="@string/antivirus_scan_error_occurred_please_try_again"
android:textAlignment="center"
android:textColor="@color/color_1a1a1a"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_sure"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="36dp"
android:layout_marginTop="16dp"
android:background="@drawable/bg_btn_50"
android:paddingVertical="10dp"
android:text="@string/sure"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/white_background_24"
android:padding="12dp"
app:layout_constraintTop_toBottomOf="@id/cl_exit">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -61,11 +61,11 @@ ...@@ -61,11 +61,11 @@
android:layout_marginStart="28dp" android:layout_marginStart="28dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
android:background="@drawable/bg_enable_no_50" android:background="@drawable/bg_edf7ff_50"
android:paddingVertical="10dp" android:paddingVertical="10dp"
android:text="@string/cancel" android:text="@string/cancel"
android:textAlignment="center" android:textAlignment="center"
android:textColor="@color/white" android:textColor="@color/colorPrimary"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/tv_sure" app:layout_constraintEnd_toStartOf="@id/tv_sure"
...@@ -93,12 +93,12 @@ ...@@ -93,12 +93,12 @@
<com.base.appzxhy.business.ads.NativeParentView <com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd" android:id="@+id/flAd"
app:layout_constraintTop_toBottomOf="@id/cl_exit"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="15dp"
android:layout_marginTop="10dp"> android:layout_marginTop="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_exit">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent" android:layout_width="match_parent"
......
This diff is collapsed.
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="15dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="12dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@mipmap/logo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_select"
app:layout_constraintStart_toEndOf="@id/iv_icon"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@string/app_name"
android:textColor="@color/color_181b1f"
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:background="@drawable/bg_2dd29e_6ff2a2"
android:backgroundTint="#FFFCF4DE"
android:paddingHorizontal="8dp"
android:paddingVertical="2dp"
android:textColor="#FFC337"
android:textSize="12sp"
tools:text="Risk" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_select"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:src="@drawable/antivirus_delete"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/view_line"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_marginTop="12dp"
android:background="@color/color_ebebeb"
app:layout_constraintTop_toBottomOf="@id/ll_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -65,6 +65,44 @@ ...@@ -65,6 +65,44 @@
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/tv_progress" /> app:layout_constraintTop_toBottomOf="@id/tv_progress" />
<LinearLayout
android:id="@+id/llTrustlook"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/include_flAd">
<TextView
android:id="@+id/tv_recommend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="22dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:text="@string/malware_recommended"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@id/tv_hint"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/tv_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_30"
android:text="@string/powered_by_trustlook"
android:textColor="#CEE3FF"
android:textSize="16sp"
android:textStyle="bold"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</LinearLayout>
<com.base.appzxhy.business.ads.NativeParentView <com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/include_flAd" android:id="@+id/include_flAd"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -161,10 +161,23 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -161,10 +161,23 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="mobile_antivirus_protection">Mobile antivirus protection</string> <string name="mobile_antivirus_protection">Mobile antivirus protection</string>
<string name="clear_phone_screenshot">Clear phone screenshot</string> <string name="clear_phone_screenshot">Clear phone screenshot</string>
<string name="clear_large_files_on_the_phone">Clear large files on the phone</string> <string name="clear_large_files_on_the_phone">Clear large files on the phone</string>
<string name="cear_simnilar_pictures_on_the_phone">Cear simnilar pictures on the phone</string> <string name="clear_similar_pictures_on_the_phone">Clear similar pictures on the phone</string>
<string name="image_compression">image Compression</string> <string name="image_compression">image Compression</string>
<string name="coepress_mobile_phone_images">Coepress mobile phone images</string> <string name="compress_mobile_phone_images">Compress mobile phone images</string>
<string name="wiew_battery_information">Wiew battery information</string> <string name="view_battery_information">View battery information</string>
<string name="show_all_settings">show all settings</string> <string name="show_all_settings">show all settings</string>
<string name="malware_scan">Antivirus Scan</string>
<string name="uninstall">Uninstall</string>
<string name="apps">Apps</string>
<string name="antivirus_scan_error_occurred_please_try_again">Antivirus Scan error occurred,please try again</string>
<string name="exit_malware_clean">Exit Antivirus Scan</string>
<string name="exit_malware_clean_content">Exit Antivirus Scan? Potential threats found! Stay and secure your device immediately.</string>
<string name="no_threats_found">Your phone is completely secure\nno threats found!</string>
<string name="kind_tips">Kind Tips</string>
<string name="trustlook_privacy_policy">https://www.trustlook.com/privacy-policy</string>
<string name="powered_by_trustlook">Powered by Trustlook</string>
<string name="malware_recommended">It is recommended to turn on the network connection for more accurate results</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