Commit 474d8319 authored by wanglei's avatar wanglei

...

parent 883eadab
...@@ -138,7 +138,7 @@ object AdmobNativeUtils { ...@@ -138,7 +138,7 @@ object AdmobNativeUtils {
} }
} }
private var readyNative = arrayListOf<NewsBean>() var readyNative = arrayListOf<NewsBean>()
fun loadNativeList(count: Int) { fun loadNativeList(count: Int) {
readyNative.clear() readyNative.clear()
repeat(count) { repeat(count) {
......
...@@ -12,12 +12,15 @@ import android.widget.TextView ...@@ -12,12 +12,15 @@ import android.widget.TextView
import android.widget.TextView.OnEditorActionListener import android.widget.TextView.OnEditorActionListener
import android.widget.Toast import android.widget.Toast
import androidx.core.content.ContentProviderCompat.requireContext import androidx.core.content.ContentProviderCompat.requireContext
import androidx.core.content.FileProvider
import com.base.browserwhite.R import com.base.browserwhite.R
import com.base.browserwhite.ads.admob.AdmobNativeUtils
import com.base.browserwhite.bean.DownloadBean import com.base.browserwhite.bean.DownloadBean
import com.base.browserwhite.databinding.DialogDownloadConfirmBinding import com.base.browserwhite.databinding.DialogDownloadConfirmBinding
import com.base.browserwhite.databinding.DialogDownloadFinishBinding import com.base.browserwhite.databinding.DialogDownloadFinishBinding
import com.base.browserwhite.databinding.DialogDownloadVideoBinding import com.base.browserwhite.databinding.DialogDownloadVideoBinding
import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadFinishDialog import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadFinishDialog
import com.base.browserwhite.ui.activity.mediabrowser.MediaVideoDetailActivity
import com.base.browserwhite.utils.DownloadUtils import com.base.browserwhite.utils.DownloadUtils
import com.base.browserwhite.utils.DownloadUtils.getDownloadJson import com.base.browserwhite.utils.DownloadUtils.getDownloadJson
import com.base.browserwhite.utils.KotlinExt.toFormatSize import com.base.browserwhite.utils.KotlinExt.toFormatSize
...@@ -25,6 +28,7 @@ import com.base.browserwhite.utils.LogEx ...@@ -25,6 +28,7 @@ import com.base.browserwhite.utils.LogEx
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
import java.io.File
object DownloadDialog { object DownloadDialog {
...@@ -69,8 +73,8 @@ object DownloadDialog { ...@@ -69,8 +73,8 @@ object DownloadDialog {
adapter.downloadFinishAction = { id -> adapter.downloadFinishAction = { id ->
dialog.dismiss() dialog.dismiss()
val recordFile = getDownloadJson() val recordFile = getDownloadJson()
val bean = DownloadUtils.getDownloadJsonBean(recordFile).filter { it.downloadId == id } val bean = DownloadUtils.getDownloadJsonBean(recordFile).find { it.downloadId == id }
showDownloadFinishDialog() bean?.let { showDownloadFinishDialog(it) }
} }
binding.tvDownloadDir.setOnClickListener { binding.tvDownloadDir.setOnClickListener {
...@@ -132,7 +136,7 @@ object DownloadDialog { ...@@ -132,7 +136,7 @@ object DownloadDialog {
} }
fun Context.showDownloadFinishDialog() { fun Context.showDownloadFinishDialog(bean: DownloadBean) {
val binding = DialogDownloadFinishBinding.inflate(LayoutInflater.from(this)) val binding = DialogDownloadFinishBinding.inflate(LayoutInflater.from(this))
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
dialog.setView(binding.root) dialog.setView(binding.root)
...@@ -142,6 +146,21 @@ object DownloadDialog { ...@@ -142,6 +146,21 @@ object DownloadDialog {
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_335) params?.width = resources.getDimensionPixelOffset(R.dimen.dp_335)
dialog.window?.attributes = params dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent) dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
AdmobNativeUtils.showNativeAd(null, binding.flAd, R.layout.layout_admob_native_download)
binding.tvDownload.setOnClickListener {
}
binding.tvPlay.setOnClickListener {
dialog.dismiss()
startActivity(Intent(this, MediaVideoDetailActivity::class.java).apply {
val uri = FileProvider.getUriForFile(
this@showDownloadFinishDialog,
"com.base.browserwhite.provider", File(bean.path)
)
putExtra("uri", uri)
})
}
} }
} }
\ No newline at end of file
...@@ -20,7 +20,6 @@ import com.base.browserwhite.utils.DownloadUtils.saveDownloadRecordFile ...@@ -20,7 +20,6 @@ import com.base.browserwhite.utils.DownloadUtils.saveDownloadRecordFile
import com.base.browserwhite.utils.IntentEx.shareAction import com.base.browserwhite.utils.IntentEx.shareAction
import com.base.browserwhite.utils.KotlinExt.toFormatTime import com.base.browserwhite.utils.KotlinExt.toFormatTime
import com.base.browserwhite.utils.PermissionUtils.checkStorePermission import com.base.browserwhite.utils.PermissionUtils.checkStorePermission
import com.base.browserwhite.utils.PermissionUtils.requestStorePermission
import com.google.gson.Gson import com.google.gson.Gson
import com.liulishuo.filedownloader.FileDownloader import com.liulishuo.filedownloader.FileDownloader
import java.io.File import java.io.File
......
...@@ -4,6 +4,7 @@ import android.annotation.SuppressLint ...@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.browserwhite.ads.admob.AdmobNativeUtils import com.base.browserwhite.ads.admob.AdmobNativeUtils
import com.base.browserwhite.bean.ConstObject.APP_PROCESS import com.base.browserwhite.bean.ConstObject.APP_PROCESS
import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER
...@@ -12,10 +13,10 @@ import com.base.browserwhite.ui.activity.BaseActivity ...@@ -12,10 +13,10 @@ import com.base.browserwhite.ui.activity.BaseActivity
import com.base.browserwhite.ui.activity.news.NewsDetailActivity import com.base.browserwhite.ui.activity.news.NewsDetailActivity
import com.base.browserwhite.ui.activity.news.NewsAdapter import com.base.browserwhite.ui.activity.news.NewsAdapter
import com.base.browserwhite.utils.BarUtils import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx import com.base.browserwhite.utils.LogEx
import com.base.browserwhite.help.NewsUtils import com.base.browserwhite.help.NewsUtils
import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity
import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.chad.library.adapter4.QuickAdapterHelper import com.chad.library.adapter4.QuickAdapterHelper
import com.chad.library.adapter4.loadState.LoadState import com.chad.library.adapter4.loadState.LoadState
import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter
...@@ -34,24 +35,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() { ...@@ -34,24 +35,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun initView() { override fun initView() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.parseColor("#4C9E80"))
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
val from = intent.getStringExtra("from") val from = intent.getStringExtra("from")
when (from) {
JUNK_CLEANER -> {
val cleanSize = intent.getLongExtra("clean_size", 0L)
if (cleanSize > 0) {
binding.tvTip.text = "Cleaned up ${cleanSize.toFormatSize(1)}"
} else {
binding.tvTip.text = "No junk files found."
}
}
APP_PROCESS -> {
binding.tvTip.text = "Complete!"
}
}
newsAdapter = NewsAdapter(false, newsAdapter = NewsAdapter(false,
clickAction = { url -> clickAction = { url ->
startActivity(Intent(this, NewsDetailActivity::class.java).apply { startActivity(Intent(this, NewsDetailActivity::class.java).apply {
...@@ -79,6 +67,27 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() { ...@@ -79,6 +67,27 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
return !isLoading return !isLoading
} }
}).build() }).build()
helper.addBeforeAdapter(0, ResultHeadAdapter { headBinding ->
when (from) {
JUNK_CLEANER -> {
val cleanSize = intent.getLongExtra("clean_size", 0L)
if (cleanSize > 0) {
headBinding.tvTip.text = "Cleaned up ${cleanSize.toFormatSize(1)}"
} else {
headBinding.tvTip.text = "No junk files found."
}
}
APP_PROCESS -> {
headBinding.tvTip.text = "Complete!"
}
}
headBinding.tvFunctionBtn.setOnClickListener {
startActivity(Intent(this, AppProcessActivity::class.java))
finish()
}
})
binding.rvNews.adapter = helper.adapter binding.rvNews.adapter = helper.adapter
requestMore() requestMore()
} }
...@@ -91,10 +100,7 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() { ...@@ -91,10 +100,7 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
binding.flFanhui.setOnClickListener { binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
} }
binding.tvFunctionBtn.setOnClickListener {
startActivity(Intent(this, AppProcessActivity::class.java))
finish()
}
} }
fun requestMore() { fun requestMore() {
...@@ -109,11 +115,12 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() { ...@@ -109,11 +115,12 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
isLoading = false isLoading = false
binding.root.post { binding.root.post {
LogEx.logDebug(TAG, "beanCallBack") LogEx.logDebug(TAG, "beanCallBack")
val newsAdList = AdmobNativeUtils.addNativeAdNewsBean(it) // val newsAdList = AdmobNativeUtils.addNativeAdNewsBean(it)
if (lastNewsId == null) { if (lastNewsId == null) {
newsAdapter.submitList(newsAdList) newsAdapter.add(AdmobNativeUtils.readyNative[0])
newsAdapter.addAll(it)
} else { } else {
newsAdapter.addAll(newsAdList) newsAdapter.addAll(it)
} }
helper.trailingLoadState = LoadState.NotLoading(false) helper.trailingLoadState = LoadState.NotLoading(false)
} }
......
package com.base.browserwhite.ui.activity.result
import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R
import com.base.browserwhite.databinding.ItemResultHeadBinding
import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
import com.chad.library.adapter4.BaseSingleItemAdapter
class ResultHeadAdapter(
val bindUiAction: (headBinding: ItemResultHeadBinding) -> Unit
) : BaseSingleItemAdapter<Any, ResultHeadAdapter.ResultHeadViewHolder>() {
inner class ResultHeadViewHolder(view: View) : ViewHolder(view)
override fun onBindViewHolder(holder: ResultHeadViewHolder, item: Any?) {
bindUiAction.invoke(ItemResultHeadBinding.bind(holder.itemView))
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): ResultHeadViewHolder {
return ResultHeadViewHolder(R.layout.item_result_head.inflate(parent))
}
}
\ No newline at end of file
...@@ -131,6 +131,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -131,6 +131,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
} }
} }
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 10087) { if (requestCode == 10087) {
......
...@@ -8,193 +8,49 @@ ...@@ -8,193 +8,49 @@
android:orientation="vertical" android:orientation="vertical"
tools:context=".ui.activity.result.ResultActivity"> tools:context=".ui.activity.result.ResultActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top" <LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#4C9F81" android:background="#4C9E80"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_scrollFlags="noScroll">
<LinearLayout <FrameLayout
android:id="@+id/ll" android:id="@+id/fl_fanhui"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="40dp" android:padding="15dp">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout <ImageView
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@mipmap/b_fanhui"
tools:ignore="ContentDescription,MissingPrefix" />
</FrameLayout>
<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_vertical" android:layout_gravity="center_vertical"
android:text="Clean Junk" android:src="@mipmap/b_fanhui"
android:textColor="@color/white" tools:ignore="ContentDescription,MissingPrefix" />
android:textSize="19sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout> </FrameLayout>
<ImageView
android:id="@+id/iv_wancheng"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:src="@mipmap/wancheng_result"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll"
tools:ignore="ContentDescription" />
<TextView <TextView
android:id="@+id/tv_tip"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_gravity="center_vertical"
android:text="Clean Junk"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" android:textSize="19sp"
app:layout_constraintBottom_toTopOf="@id/card"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_wancheng"
tools:text="Cleaned up 108.7 KB" />
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="32dp"
android:layout_marginBottom="40dp"
app:cardCornerRadius="10dp"
app:cardElevation="0dp"
app:cardMaxElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_tip">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_function"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:src="@mipmap/process"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/ll_function"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@id/iv_function"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_function"
app:layout_constraintTop_toTopOf="@id/iv_function">
<TextView
android:id="@+id/tv_function"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Process manage"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_function_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="Manage processes run in the background"
android:textColor="#999999"
android:textSize="13sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<TextView
android:id="@+id/tv_function_btn"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="30dp"
android:layout_marginVertical="25dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Scan Now"
android:textColor="@color/white"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_function"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="47dp"
android:layout_height="25dp"
android:background="@drawable/bg_fd8700_tr10_bl10"
android:gravity="center"
android:text="REC"
android:textColor="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="-30dp"
android:background="@drawable/bg_ffffff_tlf15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="30dp"
android:text="Recommended news"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_news"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</LinearLayout> </LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_news"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/tv_play"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="36dp" android:layout_height="36dp"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
...@@ -81,6 +82,7 @@ ...@@ -81,6 +82,7 @@
</FrameLayout> </FrameLayout>
<TextView <TextView
android:layout_marginBottom="16dp"
android:id="@+id/tv_download" android:id="@+id/tv_download"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="50dp"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="#4C9E80"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_wancheng"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="45dp"
android:src="@mipmap/wancheng_result"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:textColor="@color/white"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@id/card"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_wancheng"
tools:text="Cleaned up 108.7 KB" />
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="32dp"
android:layout_marginBottom="40dp"
app:cardCornerRadius="10dp"
app:cardElevation="0dp"
app:cardMaxElevation="0dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_function"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:src="@mipmap/process"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/ll_function"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@id/iv_function"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_function"
app:layout_constraintTop_toTopOf="@id/iv_function">
<TextView
android:id="@+id/tv_function"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Process manage"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_function_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="Manage processes run in the background"
android:textColor="#999999"
android:textSize="13sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<TextView
android:id="@+id/tv_function_btn"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="30dp"
android:layout_marginVertical="25dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Scan Now"
android:textColor="@color/white"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_function"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="47dp"
android:layout_height="25dp"
android:background="@drawable/bg_fd8700_tr10_bl10"
android:gravity="center"
android:text="REC"
android:textColor="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/bg_ffffff_tlf15">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:text="Recommended News"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</FrameLayout>
</LinearLayout>
\ 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