Commit e831c041 authored by wanglei's avatar wanglei

...

parent 29208313
...@@ -23,15 +23,32 @@ ...@@ -23,15 +23,32 @@
-dontwarn javax.annotation.Nullable -dontwarn javax.annotation.Nullable
-keep class com.base.appzxhy.bean.** { *; } -keep class com.base.appzxhy.bean.** { *; }
-keep class com.google.gson.reflect.** { *; }
-keep class * extends com.google.gson.reflect.TypeToken ##---------------Begin: proguard configuration for Gson ----------
-keep class com.google.gson.stream.** { *; } # 保留 Gson 库本身
-keep class com.squareup.okhttp.** { *; } -keep class com.google.gson.** { *; }
-dontwarn com.google.gson.**
# 保留泛型签名信息
-keepattributes Signature
# 保留注解
-keepattributes *Annotation* -keepattributes *Annotation*
# 保留特定接口和类
-keep class * extends com.google.gson.TypeAdapter -keep class * extends com.google.gson.TypeAdapter
-keep class * extends com.google.gson.JsonSerializer -keep class * implements com.google.gson.TypeAdapterFactory
-keep class * extends com.google.gson.Deserializer -keep class * implements com.google.gson.JsonSerializer
-keep class com.google.gson.TypeAdapters{*;} -keep class * implements com.google.gson.JsonDeserializer
# 保留特定字段
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
##---------------End: proguard configuration for Gson ----------
-keep class com.squareup.okhttp.** { *; }
-keep class com.bytedance.sdk.** { *; } -keep class com.bytedance.sdk.** { *; }
# 保持 Facebook SDK 的类和方法 # 保持 Facebook SDK 的类和方法
...@@ -39,10 +56,10 @@ ...@@ -39,10 +56,10 @@
-keep interface com.facebook.** { *; } -keep interface com.facebook.** { *; }
# 移除release日志 # 移除release日志
-assumenosideeffects class android.util.Log { #-assumenosideeffects class android.util.Log {
public static *** d(...); # public static *** d(...);
public static *** v(...); # public static *** v(...);
public static *** i(...); # public static *** i(...);
public static *** w(...); # public static *** w(...);
public static *** e(...); # public static *** e(...);
} #}
\ No newline at end of file \ No newline at end of file
package com.base.appzxhy.bean
data class LanguageBean(
val key: String,
val language: String,
val country: String,
) {
var isSelect: Boolean = false
companion object {
const val English = "English"
const val 简体中文 = "简体中文"
const val português = "português"//葡萄牙语
const val Español = "Español "//西班牙语
const val Français = "Français"//法语
const val Deutsch = "Deutsch"//德语
const val 日本語 = "日本語"
const val 한국인 = "한국인"
const val 繁體中文 = "繁體中文"
const val Bahasa_Indonesia = "Bahasa Indonesia"//印度尼西亚
const val ไทย = "ไทย"//泰语
const val Melayu = "Melayu"//马来语
const val Tiếng_Việt = "Tiếng Việt"//越南语
const val Italiano = "Italiano"//意大利语
const val Nederlands = "Nederlands"//荷兰语
const val Türk = "Türk"
}
}
\ No newline at end of file
...@@ -248,8 +248,8 @@ object AdsMgr { ...@@ -248,8 +248,8 @@ object AdsMgr {
nativeCallBack: ((Any?) -> Unit)? = null nativeCallBack: ((Any?) -> Unit)? = null
) { ) {
if (!adsConfigBean.isAdShow) { if (!adsConfigBean.isAdShow) {
nativeCallBack?.invoke(null)
nativeView.visibility = View.GONE nativeView.visibility = View.GONE
nativeCallBack?.invoke(null)
return return
} }
nativeView.visibility = View.VISIBLE nativeView.visibility = View.VISIBLE
......
...@@ -169,11 +169,11 @@ object NewComUtils { ...@@ -169,11 +169,11 @@ object NewComUtils {
//广告 //广告
AdConfigBean.adsConfigBean = configBean.adConfigBean AdConfigBean.adsConfigBean = configBean.adConfigBean
LogEx.logDebug("initConfig", "adsConfigBean=${configBean.adConfigBean.functionInShowAd}") LogEx.logDebug("initConfig", "adsConfigBean=${configBean.adConfigBean.isAdShow} ut=${configBean.ut}", true)
//通知配置 //通知配置
PopupConfigBean.popupConfigBean = configBean.popupConfigBean PopupConfigBean.popupConfigBean = configBean.popupConfigBean
LogEx.logDebug("initConfig", "popupConfigBean=${configBean.popupConfigBean.popupCount}") LogEx.logDebug("initConfig", "popupConfigBean=${configBean.popupConfigBean.popupCount}", true)
if (spConfig != config) { if (spConfig != config) {
spConfig = config spConfig = config
......
package com.base.appzxhy.ui.guide package com.base.appzxhy.ui.guide
import android.view.View
import androidx.activity.addCallback import androidx.activity.addCallback
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity import com.base.appzxhy.base.BaseActivity
...@@ -10,7 +11,7 @@ class GuideCleanActivity : BaseActivity<ActivityGuideCleanBinding>(ActivityGuide ...@@ -10,7 +11,7 @@ class GuideCleanActivity : BaseActivity<ActivityGuideCleanBinding>(ActivityGuide
override fun initView() { override fun initView() {
super.initView() super.initView()
changeLanguage(this)
} }
override fun initListener() { override fun initListener() {
...@@ -46,6 +47,9 @@ class GuideCleanActivity : BaseActivity<ActivityGuideCleanBinding>(ActivityGuide ...@@ -46,6 +47,9 @@ class GuideCleanActivity : BaseActivity<ActivityGuideCleanBinding>(ActivityGuide
} }
private fun changeNative() { private fun changeNative() {
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom) AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom) {
binding.flAd.removeAllViews()
binding.flAd.visibility = View.VISIBLE
}
} }
} }
\ No newline at end of file
package com.base.appzxhy.ui.language package com.base.appzxhy.ui.language
import com.base.appzxhy.R
import com.base.appzxhy.SpConstObject.appLanguageCountrySp
import com.base.appzxhy.SpConstObject.appLanguageSp
import com.base.appzxhy.base.BaseActivity import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.bean.LanguageBean
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.databinding.ActivityLanguageBinding import com.base.appzxhy.databinding.ActivityLanguageBinding
import com.base.appzxhy.ui.guide.GuideCleanActivity
import com.base.appzxhy.utils.LogEx
import java.util.Locale
class LanguageActivity : BaseActivity<ActivityLanguageBinding>(ActivityLanguageBinding::inflate) { class LanguageActivity : BaseActivity<ActivityLanguageBinding>(ActivityLanguageBinding::inflate) {
private val adapter = LanguageAdapter()
private val list: List<LanguageBean> by lazy {
val s = listOf(
LanguageBean(LanguageBean.English, Locale.ENGLISH.language, Locale.ENGLISH.country),
LanguageBean(LanguageBean.Français, Locale.FRENCH.language, Locale.FRENCH.country),
LanguageBean(LanguageBean.Deutsch, Locale.GERMAN.language, Locale.GERMAN.country),
LanguageBean(LanguageBean.Español, Locale("es", "").language, Locale("es", "").country),
LanguageBean(LanguageBean.português, Locale("pt", "").language, Locale("pt", "").country),
LanguageBean(LanguageBean.日本語, Locale.JAPAN.language, Locale.JAPAN.country),
LanguageBean(LanguageBean.한국인, Locale.KOREAN.language, Locale.KOREAN.country),
//一般来说不匹配地区,除非是中文
LanguageBean(LanguageBean.简体中文, Locale.SIMPLIFIED_CHINESE.language, Locale.SIMPLIFIED_CHINESE.country),
LanguageBean(LanguageBean.繁體中文, Locale.TRADITIONAL_CHINESE.language, Locale.TRADITIONAL_CHINESE.country),
)
val findBean = s.findLast { it.language == appLanguageSp && it.country == appLanguageCountrySp }
if (findBean != null) {
findBean.isSelect = true
} else {
s.first().isSelect = true
}
s
}
override fun initView() { override fun initView() {
super.initView() super.initView()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
binding.rv.adapter = adapter
adapter.submitList(list)
} }
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
adapter.click = {}
binding.llNext.setOnClickListener {
val selectLanguageBean = adapter.items.findLast { it.isSelect }
selectLanguageBean ?: return@setOnClickListener
LogEx.logDebug(TAG, "selectLanguageBean=$selectLanguageBean")
appLanguageSp = selectLanguageBean.language
appLanguageCountrySp = selectLanguageBean.country
AdsMgr.showInsert(this, showCallBack = object : AdsShowCallBack() {
override fun next() {
goToAc(GuideCleanActivity::class.java)
finish()
}
})
}
} }
} }
\ No newline at end of file
package com.base.appzxhy.ui.language
import android.annotation.SuppressLint
import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.base.appzxhy.R
import com.base.appzxhy.bean.LanguageBean
import com.base.appzxhy.databinding.ItemLanguageBinding
import com.base.appzxhy.utils.Utils.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class LanguageAdapter(
) : BaseQuickAdapter<LanguageBean, LanguageAdapter.LanguageViewHolder>() {
var click: ((item: LanguageBean) -> Unit)? = null
inner class LanguageViewHolder(view: View) : RecyclerView.ViewHolder(view)
@SuppressLint("NotifyDataSetChanged")
override fun onBindViewHolder(holder: LanguageViewHolder, position: Int, item: LanguageBean?) {
item ?: return
val binding = ItemLanguageBinding.bind(holder.itemView)
val contxt = holder.itemView.context
binding.tv.text = item.key
binding.fl.isSelected = item.isSelect
binding.ivSelector.isSelected = item.isSelect
if (item.isSelect) {
binding.tv.setTextColor(contxt.getColor(R.color.black))
binding.ivSelector.setImageResource(R.drawable.bg_select_yuan_s_2)
} else {
binding.tv.setTextColor(contxt.getColor(R.color.black))
binding.ivSelector.setImageResource(R.drawable.bg_select_yuan_n)
}
binding.root.setOnClickListener {
items.map { it.isSelect = false }
item.isSelect = true
notifyDataSetChanged()
click?.invoke(item)
}
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): LanguageViewHolder {
return LanguageViewHolder(R.layout.item_language.inflate(parent))
}
}
\ No newline at end of file
...@@ -36,6 +36,7 @@ import com.base.appzxhy.business.service.StayJobService.Companion.startStayJobSe ...@@ -36,6 +36,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.language.LanguageActivity
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
...@@ -106,7 +107,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -106,7 +107,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
binding.tvPrivacy.text = spannableString binding.tvPrivacy.text = spannableString
binding.tvPrivacy.movementMethod = LinkMovementMethod.getInstance() binding.tvPrivacy.movementMethod = LinkMovementMethod.getInstance()
binding.tvPrivacy.setLinkTextColor("#328EF6".toColorInt()) binding.tvPrivacy.setLinkTextColor("#2DD29E".toColorInt())
val spannableString2 = SpannableString("terms of service") val spannableString2 = SpannableString("terms of service")
spannableString2.setSpan(UnderlineSpan(), 0, spannableString2.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE) spannableString2.setSpan(UnderlineSpan(), 0, spannableString2.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
...@@ -118,7 +119,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -118,7 +119,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
binding.tvTerms.text = spannableString2 binding.tvTerms.text = spannableString2
binding.tvTerms.movementMethod = LinkMovementMethod.getInstance() binding.tvTerms.movementMethod = LinkMovementMethod.getInstance()
binding.tvTerms.setLinkTextColor("#328EF6".toColorInt()) binding.tvTerms.setLinkTextColor("#2DD29E".toColorInt())
} }
...@@ -221,8 +222,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -221,8 +222,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
when { when {
!isGuided -> { !isGuided -> {
isGuided = true // isGuided = true
goToAc(GuideCleanActivity::class.java) goToAc(LanguageActivity::class.java)
finish() finish()
} }
......
...@@ -7,6 +7,7 @@ import kotlinx.coroutines.delay ...@@ -7,6 +7,7 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
object ClickTimesUtils { object ClickTimesUtils {
private val TAG = "ClickTimesUtils" private val TAG = "ClickTimesUtils"
private var lastClickTime = 0L private var lastClickTime = 0L
private var continuousTimes = 0 private var continuousTimes = 0
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F0FFFA" />
<corners android:radius="@dimen/dp_16" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="@dimen/dp_1"
android:color="#E6E6E6" />
<solid android:color="@color/white" />
<corners android:radius="@dimen/dp_16" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:color="#2DD29E" android:width="@dimen/dp_1"/>
<solid android:color="#F0FFFA" />
<corners android:radius="@dimen/dp_16" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_yuan_s" android:state_selected="true" /> <item android:drawable="@drawable/bg_select_yuan_s" android:state_selected="true" />
<item android:drawable="@drawable/icon_yuan_n" android:state_selected="false" /> <item android:drawable="@drawable/bg_select_yuan_n" android:state_selected="false" />
</selector> </selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_language_s" android:state_selected="true" />
<item android:drawable="@drawable/bg_language_n" android:state_selected="false" />
</selector>
\ No newline at end of file
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
android:layout_marginHorizontal="35dp" android:layout_marginHorizontal="35dp"
android:layout_marginTop="56dp" android:layout_marginTop="56dp"
android:gravity="center" android:gravity="center"
android:text="Which type do you want to clean?" android:text="@string/which_type_do_you_want_to_clean"
android:textColor="#1A1A1A" android:textColor="#1A1A1A"
android:textSize="24sp" android:textSize="24sp"
android:textStyle="bold" android:textStyle="bold"
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp" android:layout_marginVertical="4dp"
android:background="@drawable/bg_f6fbff_10" android:background="@drawable/bg_f0fffa_16"
android:foreground="?attr/selectableItemBackground" android:foreground="?attr/selectableItemBackground"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp" android:layout_marginVertical="12dp"
android:layout_marginStart="20dp" android:layout_marginStart="20dp"
android:src="@drawable/icon_photo_guide" android:src="@drawable/icon_photo"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<TextView <TextView
...@@ -60,8 +60,8 @@ ...@@ -60,8 +60,8 @@
<ImageView <ImageView
android:id="@+id/iv1" android:id="@+id/iv1"
android:layout_width="wrap_content" android:layout_width="@dimen/dp_20"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_20"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp" android:layout_marginEnd="20dp"
android:background="@drawable/bg_select_yuan" android:background="@drawable/bg_select_yuan"
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp" android:layout_marginVertical="4dp"
android:background="@drawable/bg_f6fbff_10" android:background="@drawable/bg_f0fffa_16"
android:foreground="?attr/selectableItemBackground" android:foreground="?attr/selectableItemBackground"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp" android:layout_marginVertical="12dp"
android:layout_marginStart="20dp" android:layout_marginStart="20dp"
android:src="@drawable/icon_video_guide" /> android:src="@drawable/icon_video" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
...@@ -100,8 +100,8 @@ ...@@ -100,8 +100,8 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv2" android:id="@+id/iv2"
android:layout_width="wrap_content" android:layout_width="@dimen/dp_20"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_20"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp" android:layout_marginEnd="20dp"
android:background="@drawable/bg_select_yuan" /> android:background="@drawable/bg_select_yuan" />
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp" android:layout_marginVertical="4dp"
android:background="@drawable/bg_f6fbff_10" android:background="@drawable/bg_f0fffa_16"
android:foreground="?attr/selectableItemBackground" android:foreground="?attr/selectableItemBackground"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp" android:layout_marginVertical="12dp"
android:layout_marginStart="20dp" android:layout_marginStart="20dp"
android:src="@drawable/icon_audio_guide" /> android:src="@drawable/icon_audio" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
...@@ -137,10 +137,10 @@ ...@@ -137,10 +137,10 @@
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" /> android:textStyle="bold" />
<ImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv3" android:id="@+id/iv3"
android:layout_width="wrap_content" android:layout_width="@dimen/dp_20"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_20"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp" android:layout_marginEnd="20dp"
android:background="@drawable/bg_select_yuan" /> android:background="@drawable/bg_select_yuan" />
...@@ -150,10 +150,10 @@ ...@@ -150,10 +150,10 @@
<LinearLayout <LinearLayout
android:id="@+id/llDocument" android:id="@+id/llDocument"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_70"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="4dp" android:layout_marginVertical="4dp"
android:background="@drawable/bg_f6fbff_10" android:background="@drawable/bg_f0fffa_16"
android:foreground="?attr/selectableItemBackground" android:foreground="?attr/selectableItemBackground"
android:orientation="horizontal"> android:orientation="horizontal">
...@@ -161,9 +161,8 @@ ...@@ -161,9 +161,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="20dp" android:layout_marginStart="20dp"
android:src="@drawable/icon_document_guide" /> android:src="@drawable/icon_document" />
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
...@@ -176,10 +175,10 @@ ...@@ -176,10 +175,10 @@
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" /> android:textStyle="bold" />
<ImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv4" android:id="@+id/iv4"
android:layout_width="wrap_content" android:layout_width="@dimen/dp_20"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_20"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp" android:layout_marginEnd="20dp"
android:background="@drawable/bg_select_yuan" /> android:background="@drawable/bg_select_yuan" />
...@@ -188,24 +187,23 @@ ...@@ -188,24 +187,23 @@
</LinearLayout> </LinearLayout>
<FrameLayout <LinearLayout
android:id="@+id/llContinue" android:id="@+id/llContinue"
android:layout_width="250dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="50dp" android:layout_marginEnd="@dimen/dp_30"
android:background="@drawable/bg_splash_button" android:layout_marginBottom="@dimen/dp_30"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="16dp" android:padding="@dimen/dp_8"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@id/flAd"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent">
app:layout_constraintTop_toBottomOf="@id/ll">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="@string/continue_" android:text="@string/continue_"
android:textColor="#ffffff" android:textColor="@color/colorPrimary"
android:textSize="17sp" android:textSize="17sp"
android:textStyle="bold" /> android:textStyle="bold" />
...@@ -213,9 +211,9 @@ ...@@ -213,9 +211,9 @@
android:layout_width="@dimen/dp_30" android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30" android:layout_height="@dimen/dp_30"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
android:src="@drawable/du" /> android:src="@drawable/jiangtou_3" />
</FrameLayout> </LinearLayout>
<com.base.appzxhy.business.ads.NativeParentView <com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd" android:id="@+id/flAd"
......
...@@ -7,11 +7,71 @@ ...@@ -7,11 +7,71 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ui.language.LanguageActivity"> tools:context=".ui.language.LanguageActivity">
<FrameLayout <androidx.cardview.widget.CardView
app:layout_constraintTop_toTopOf="parent" android:id="@+id/flTop"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
</FrameLayout> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginVertical="@dimen/dp_16"
android:layout_marginStart="@dimen/dp_16"
android:text="@string/select_a_language"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/llNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="@dimen/dp_16"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next"
android:textColor="#2DD29E"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/jiangtou_3" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginVertical="@dimen/dp_8"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toTopOf="@id/flAd"
app:layout_constraintTop_toBottomOf="@id/flTop"
tools:listitem="@layout/item_language" />
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="@dimen/dp_5"
android:background="@drawable/bg_selector_language">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="16dp"
android:textColor="@color/black"
android:textSize="@dimen/sp_17"
tools:text="English" />
<ImageView
android:id="@+id/ivSelector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="24dp"
android:src="@drawable/bg_select_yuan_s"
tools:ignore="ContentDescription" />
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">Welchen Typ möchten Sie reinigen?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">Which type do you want to clean?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">¿Qué tipo quieres limpiar?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">Quel type souhaitez-vous nettoyer ?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">どのタイプを掃除しますか?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">어떤 종류의 청소를 하시겠습니까?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">Que tipo você quer limpar?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">您想清理哪种类型?</string>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="which_type_do_you_want_to_clean">您想清理哪種類型?</string>
</resources>
\ No newline at end of file
...@@ -53,4 +53,5 @@ ...@@ -53,4 +53,5 @@
<dimen name="dp_550">550dp</dimen> <dimen name="dp_550">550dp</dimen>
<dimen name="dp_500">500dp</dimen> <dimen name="dp_500">500dp</dimen>
<dimen name="sp_24">24sp</dimen> <dimen name="sp_24">24sp</dimen>
<dimen name="dp_1">1dp</dimen>
</resources> </resources>
\ No newline at end of file
<resources> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string name="app_name">Master Malware Clean</string> <string name="app_name">Master Malware Clean</string>
<string name="hello_blank_fragment">Hello blank fragment</string> <string name="hello_blank_fragment">Hello blank fragment</string>
<string name="facebook_app_id">4512448902756291</string> <string name="facebook_app_id">4512448902756291</string>
...@@ -7,6 +8,8 @@ ...@@ -7,6 +8,8 @@
<string name="involve_ad">This process may involve ad.</string> <string name="involve_ad">This process may involve ad.</string>
<string name="consent_required">Consent Required</string> <string name="consent_required">Consent Required</string>
<string name="which_type_do_you_want_to_clean">Which type do you want to clean?</string>
<string name="consent"> <string name="consent">
During the use of this APP, we need to obtain the following information:Mobile phone model, mobile phone manufacturer,Android system version,Application version number, application version name,Package name,Google Ad ID,Mobile phone local time zone,Mobile phone photo album, empty folders, apk files, temp files, log files,Battery power, mobile phone standby time, battery temperature, battery voltage, battery technology, battery capacity, battery current, current average value of the battery During the use of this APP, we need to obtain the following information:Mobile phone model, mobile phone manufacturer,Android system version,Application version number, application version name,Package name,Google Ad ID,Mobile phone local time zone,Mobile phone photo album, empty folders, apk files, temp files, log files,Battery power, mobile phone standby time, battery temperature, battery voltage, battery technology, battery capacity, battery current, current average value of the battery
...@@ -183,5 +186,7 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -183,5 +186,7 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="don_t_miss_important_tips">Don\'t miss important tips</string> <string name="don_t_miss_important_tips">Don\'t miss important tips</string>
<string name="let_us_know_how_we_re_doing">Let us know how we\'re doing!</string> <string name="let_us_know_how_we_re_doing">Let us know how we\'re doing!</string>
<string name="w_e_are_ahways_irying_to_improve_what_wedo_and_your_feedbackk_is_invaluable">W\'e are ahways irying to improve what wedo and your feedbackk is invaluable!</string> <string name="w_e_are_ahways_irying_to_improve_what_wedo_and_your_feedbackk_is_invaluable">W\'e are ahways irying to improve what wedo and your feedbackk is invaluable!</string>
<string name="select_a_language">Select a language</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