Commit 474d8319 authored by wanglei's avatar wanglei

...

parent 883eadab
......@@ -138,7 +138,7 @@ object AdmobNativeUtils {
}
}
private var readyNative = arrayListOf<NewsBean>()
var readyNative = arrayListOf<NewsBean>()
fun loadNativeList(count: Int) {
readyNative.clear()
repeat(count) {
......
......@@ -12,12 +12,15 @@ import android.widget.TextView
import android.widget.TextView.OnEditorActionListener
import android.widget.Toast
import androidx.core.content.ContentProviderCompat.requireContext
import androidx.core.content.FileProvider
import com.base.browserwhite.R
import com.base.browserwhite.ads.admob.AdmobNativeUtils
import com.base.browserwhite.bean.DownloadBean
import com.base.browserwhite.databinding.DialogDownloadConfirmBinding
import com.base.browserwhite.databinding.DialogDownloadFinishBinding
import com.base.browserwhite.databinding.DialogDownloadVideoBinding
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.getDownloadJson
import com.base.browserwhite.utils.KotlinExt.toFormatSize
......@@ -25,6 +28,7 @@ import com.base.browserwhite.utils.LogEx
import com.bumptech.glide.Glide
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import java.io.File
object DownloadDialog {
......@@ -69,8 +73,8 @@ object DownloadDialog {
adapter.downloadFinishAction = { id ->
dialog.dismiss()
val recordFile = getDownloadJson()
val bean = DownloadUtils.getDownloadJsonBean(recordFile).filter { it.downloadId == id }
showDownloadFinishDialog()
val bean = DownloadUtils.getDownloadJsonBean(recordFile).find { it.downloadId == id }
bean?.let { showDownloadFinishDialog(it) }
}
binding.tvDownloadDir.setOnClickListener {
......@@ -132,7 +136,7 @@ object DownloadDialog {
}
fun Context.showDownloadFinishDialog() {
fun Context.showDownloadFinishDialog(bean: DownloadBean) {
val binding = DialogDownloadFinishBinding.inflate(LayoutInflater.from(this))
val dialog = AlertDialog.Builder(this).create()
dialog.setView(binding.root)
......@@ -142,6 +146,21 @@ object DownloadDialog {
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_335)
dialog.window?.attributes = params
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
import com.base.browserwhite.utils.IntentEx.shareAction
import com.base.browserwhite.utils.KotlinExt.toFormatTime
import com.base.browserwhite.utils.PermissionUtils.checkStorePermission
import com.base.browserwhite.utils.PermissionUtils.requestStorePermission
import com.google.gson.Gson
import com.liulishuo.filedownloader.FileDownloader
import java.io.File
......
......@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.browserwhite.ads.admob.AdmobNativeUtils
import com.base.browserwhite.bean.ConstObject.APP_PROCESS
import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER
......@@ -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.NewsAdapter
import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx
import com.base.browserwhite.help.NewsUtils
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.loadState.LoadState
import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter
......@@ -34,24 +35,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
@SuppressLint("SetTextI18n")
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
BarUtils.setStatusBarColor(this, Color.parseColor("#4C9E80"))
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
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,
clickAction = { url ->
startActivity(Intent(this, NewsDetailActivity::class.java).apply {
......@@ -79,6 +67,27 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
return !isLoading
}
}).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
requestMore()
}
......@@ -91,10 +100,7 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvFunctionBtn.setOnClickListener {
startActivity(Intent(this, AppProcessActivity::class.java))
finish()
}
}
fun requestMore() {
......@@ -109,11 +115,12 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
isLoading = false
binding.root.post {
LogEx.logDebug(TAG, "beanCallBack")
val newsAdList = AdmobNativeUtils.addNativeAdNewsBean(it)
// val newsAdList = AdmobNativeUtils.addNativeAdNewsBean(it)
if (lastNewsId == null) {
newsAdapter.submitList(newsAdList)
newsAdapter.add(AdmobNativeUtils.readyNative[0])
newsAdapter.addAll(it)
} else {
newsAdapter.addAll(newsAdList)
newsAdapter.addAll(it)
}
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>() {
}
}
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 10087) {
......
......@@ -8,193 +8,49 @@
android:orientation="vertical"
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_height="wrap_content"
android:background="#4C9F81"
app:layout_constraintTop_toTopOf="parent">
android:background="#4C9E80"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_scrollFlags="noScroll">
<LinearLayout
android:id="@+id/ll"
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:padding="15dp">
<FrameLayout
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
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Clean Junk"
android:textColor="@color/white"
android:textSize="19sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
android:src="@mipmap/b_fanhui"
tools:ignore="ContentDescription,MissingPrefix" />
</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
android:id="@+id/tv_tip"
android:layout_width="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: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="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:textSize="19sp"
android:textStyle="bold"
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>
<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>
\ No newline at end of file
......@@ -59,6 +59,7 @@
</LinearLayout>
<TextView
android:id="@+id/tv_play"
android:layout_width="80dp"
android:layout_height="36dp"
android:layout_gravity="center_vertical|end"
......@@ -81,6 +82,7 @@
</FrameLayout>
<TextView
android:layout_marginBottom="16dp"
android:id="@+id/tv_download"
android:layout_width="match_parent"
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