Commit 73a62b1e authored by wanglei's avatar wanglei

...

parent 075e8d34
......@@ -5,4 +5,6 @@ data class HistoryBean(
val url: String = "",
val time: Long = 0,
val color: Int = 0,
) : SpBean()
) : SpBean() {
var showTime: Boolean = false
}
......@@ -8,6 +8,7 @@ import androidx.activity.addCallback
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.bean.HistoryBean
import com.base.browserwhite.databinding.ActivityBookmarkBinding
import com.base.browserwhite.ui.activity.BaseActivity
import com.base.browserwhite.ui.activity.bookmark.BookmarkFolderActivity.Companion.selectFolder
......@@ -15,9 +16,11 @@ import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.ui.views.BookmarkDialog.showBookmarkMoreDialog
import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.KotlinExt.toFormatTime
import com.base.browserwhite.utils.SpBeanUtils
import com.base.browserwhite.utils.SpBeanUtils.BOOKMARK_NAV_SP_KEY
import com.base.browserwhite.utils.SpBeanUtils.BOOKMARK_SP_KEY
import com.base.browserwhite.utils.SpBeanUtils.HISTORY_SP_KEY
import com.base.browserwhite.utils.ToastUtils.toast
import com.google.gson.Gson
......@@ -32,9 +35,12 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
}
private lateinit var bookmarkAdapter: BookmarkAdapter
private val bookmarkList = arrayListOf<BookmarkBean>()
private lateinit var historyAdapter: HistoryAdapter
private val historyList = arrayListOf<HistoryBean>()
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.WHITE)
......@@ -46,8 +52,6 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
binding.llEmpty.isVisible = list.isEmpty()
bookmarkAdapter.submitList(list)
}
bookmarkAdapter.moreAction = { view, bean ->
showBookmarkMoreDialog(
view,
......@@ -101,12 +105,22 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
)
}
historyAdapter = HistoryAdapter()
changeBookmark()
}
private fun changeBookmark() {
binding.rv.adapter = bookmarkAdapter
bookmarkAdapter.submitList(bookmarkList)
binding.llEmpty.isVisible = bookmarkList.isEmpty()
}
private fun changeHistory() {
binding.rv.adapter = historyAdapter
historyAdapter.submitList(historyList)
binding.llEmpty.isVisible = historyList.isEmpty()
}
override fun onResume() {
......@@ -116,12 +130,29 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
private fun initData() {
initBookmarkData()
initHistoryData()
}
private fun initHistoryData() {
historyList.clear()
val list = SpBeanUtils.getSpBeanList(HISTORY_SP_KEY)
val gson = Gson()
val item = list.map { gson.fromJson(it, HistoryBean::class.java) }
val time = ""
item.sortedBy { it.time }.forEach {
if (time != it.time.toFormatTime()) {
it.showTime = true
}
historyList.add(it)
}
}
private fun initBookmarkData() {
bookmarkList.clear()
val list = SpBeanUtils.getSpBeanList(BOOKMARK_SP_KEY)
val items = list.map { Gson().fromJson(it, BookmarkBean::class.java) }
val gson = Gson()
val items = list.map { gson.fromJson(it, BookmarkBean::class.java) }
bookmarkList.addAll(items)
bookmarkAdapter.currentFolderId = 0
......@@ -153,6 +184,7 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
binding.tvTabBookmark.isSelected = true
binding.tvTabHistory.isSelected = false
currentTab = BOOKMARK_TAB
changeBookmark()
}
binding.tvTabBookmark.callOnClick()
......@@ -163,6 +195,7 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
binding.tvTabHistory.isSelected = true
binding.tvTabBookmark.isSelected = false
currentTab = HISTORY_TAB
changeHistory()
}
binding.ivNewFolder.setOnClickListener {
launcher.launch(Intent(this, BookmarkFolderEditActivity::class.java))
......
package com.base.browserwhite.ui.activity.bookmark
import android.content.Context
import android.graphics.drawable.ColorDrawable
import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R
import com.base.browserwhite.bean.HistoryBean
import com.base.browserwhite.databinding.ItemBookmarkHistoryBinding
import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class HistoryAdapter : BaseQuickAdapter<HistoryBean, HistoryAdapter.HistoryViewHolder>() {
inner class HistoryViewHolder(view: View) : ViewHolder(view)
var moreAction: ((item: HistoryBean) -> Unit)? = null
override fun onBindViewHolder(holder: HistoryViewHolder, position: Int, item: HistoryBean?) {
if (item == null) return
val binding = ItemBookmarkHistoryBinding.bind(holder.itemView)
binding.flTime.isVisible = item.showTime
binding.tvLetters.background = ColorDrawable(item.color)
binding.tvLetters.text = item.name.first().toString()
binding.tvName.text = item.name
binding.flOpeartion.setOnClickListener {
moreAction?.invoke(item)
}
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): HistoryViewHolder {
return HistoryViewHolder(R.layout.item_bookmark_history.inflate(parent))
}
}
\ No newline at end of file
......@@ -23,6 +23,7 @@ import com.base.browserwhite.databinding.FragmentWebViewBinding
import com.base.browserwhite.ui.activity.download.DownloadAdapter
import com.base.browserwhite.ui.fragment.BaseFragment
import com.base.browserwhite.ui.activity.download.DownloadDialog.showDownloadVideoDialog
import com.base.browserwhite.utils.ColorUtils
import com.base.browserwhite.utils.DownloadUtils.getDownloadJson
import com.base.browserwhite.utils.DownloadUtils.getDownloadJsonBean
import com.base.browserwhite.utils.DownloadUtils.saveDownloadRecordFile
......@@ -200,10 +201,19 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
override fun onPageFinished(view: WebView?, url: String?) {
LogEx.logDebug(TAG, "onPageFinished")
super.onPageFinished(view, url)
val tittle= view?.title.toString()
val tittle = view?.title.toString()
bookmarkBean.name = tittle
onPageFinished?.invoke(url)
SpBeanUtils.addSpBean(HISTORY_SP_KEY,HistoryBean(name = tittle,url=url?:"", time = System.currentTimeMillis()))
//添加历史记录
SpBeanUtils.addSpBean(
HISTORY_SP_KEY,
HistoryBean(
name = tittle, url = url ?: "",
time = System.currentTimeMillis(),
color = ColorUtils.getRandomColor()
)
)
}
override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) {
......
......@@ -8,7 +8,7 @@ object SpBeanUtils {
const val BOOKMARK_SP_KEY = "bookmark_sp_key"//书签
const val BOOKMARK_NAV_SP_KEY = "bookmark_nav_sp_key"//书签导航
const val HISTORY_SP_KEY = "history_sp_key"
const val HISTORY_SP_KEY = "history_sp_key"//历史记录
fun getSpBeanList(key: String): List<String> {
val sp = AppPreferences.getInstance().getString(key, "")
......
......@@ -47,8 +47,8 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_time">
<TextView
tools:background="#FA94ED"
android:id="@+id/tv_letters"
android:layout_width="match_parent"
android:layout_height="match_parent"
......
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