Commit 515d226d authored by wanglei's avatar wanglei

...

parent d1da35bc
package com.base.browserwhite.ui.activity.bookmark package com.base.browserwhite.ui.activity.bookmark
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.view.View import android.view.View
...@@ -9,26 +10,36 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder ...@@ -9,26 +10,36 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R import com.base.browserwhite.R
import com.base.browserwhite.bean.HistoryBean import com.base.browserwhite.bean.HistoryBean
import com.base.browserwhite.databinding.ItemBookmarkHistoryBinding import com.base.browserwhite.databinding.ItemBookmarkHistoryBinding
import com.base.browserwhite.utils.KotlinExt.toFormatTime
import com.base.browserwhite.utils.XmlEx.inflate import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
class HistoryAdapter : BaseQuickAdapter<HistoryBean, HistoryAdapter.HistoryViewHolder>() { class HistoryAdapter : BaseQuickAdapter<HistoryBean, HistoryAdapter.HistoryViewHolder>() {
inner class HistoryViewHolder(view: View) : ViewHolder(view) inner class HistoryViewHolder(view: View) : ViewHolder(view)
var moreAction: ((view: View,item: HistoryBean) -> Unit)? = null var moreAction: ((view: View, item: HistoryBean) -> Unit)? = null
@SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: HistoryViewHolder, position: Int, item: HistoryBean?) { override fun onBindViewHolder(holder: HistoryViewHolder, position: Int, item: HistoryBean?) {
if (item == null) return if (item == null) return
val binding = ItemBookmarkHistoryBinding.bind(holder.itemView) val binding = ItemBookmarkHistoryBinding.bind(holder.itemView)
binding.flTime.isVisible = item.showTime binding.flTime.isVisible = item.showTime
if (System.currentTimeMillis().toFormatTime() == item.time.toFormatTime()) {
binding.tvTime.text = "Today"
} else {
binding.tvTime.text = item.time.toFormatTime()
}
binding.tvLetters.background = ColorDrawable(item.color) binding.tvLetters.background = ColorDrawable(item.color)
if (item.name.isNotEmpty()) { if (item.name.isNotEmpty()) {
binding.tvLetters.text = item.name.first().toString() binding.tvLetters.text = item.name.first().toString()
binding.tvName.text = item.name binding.tvName.text = item.name
} }
binding.flOpeartion.setOnClickListener { binding.flOpeartion.setOnClickListener {
moreAction?.invoke(it,item) moreAction?.invoke(it, item)
} }
} }
......
package com.base.browserwhite.ui.activity.bookmark package com.base.browserwhite.ui.activity.bookmark
import android.view.View
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.core.widget.addTextChangedListener
import com.base.browserwhite.R import com.base.browserwhite.R
import com.base.browserwhite.bean.BookmarkBean import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.bean.HistoryBean import com.base.browserwhite.bean.HistoryBean
...@@ -64,6 +66,32 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>() { ...@@ -64,6 +66,32 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>() {
initData() initData()
} }
override fun setListener() {
super.setListener()
binding.editSearch.addTextChangedListener {
if (it.isNullOrEmpty()) {
showAllList()
binding.tvCancel.visibility = View.GONE
return@addTextChangedListener
} else {
binding.tvCancel.visibility = View.VISIBLE
filterList(it.toString())
}
}
}
private fun showAllList() {
val list = historyList
binding.llEmpty.isVisible = list.isEmpty()
historyAdapter.submitList(list)
}
private fun filterList(content: String) {
val filterList = historyList.filter { it.name.contains(content) }
binding.llEmpty.isVisible = filterList.isEmpty()
historyAdapter.submitList(filterList)
}
fun initData() { fun initData() {
if (!viewInit) return if (!viewInit) return
historyList.clear() historyList.clear()
......
...@@ -48,7 +48,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -48,7 +48,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
} }
private fun searchJump(content: String) { private fun searchJump(content: String) {
val link = LinkSearchUtils.getSpSearchAction(content) var link = ""
LinkSearchUtils.handleInput(content, loadUrl = {
link = it
}, performSearch = {
link = LinkSearchUtils.getSpSearchAction(content)
})
if (isHomeSearch) { if (isHomeSearch) {
startActivity(Intent(this, WebBrowserActivity::class.java).apply { startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", link) putExtra("url", link)
...@@ -159,9 +166,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -159,9 +166,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
} }
binding.tvSearch.setOnClickListener { binding.tvSearch.setOnClickListener {
val content = binding.editWeb.text.toString() val content = binding.editWeb.text.toString()
var link = ""
LinkSearchUtils.handleInput(content, loadUrl = {
link = it
}, performSearch = {
link = LinkSearchUtils.getSpSearchAction(content)
})
SpBeanUtils.addSpBean(SEARCH_RECORD_SP_KEY, SearchRecordBean(content)) SpBeanUtils.addSpBean(SEARCH_RECORD_SP_KEY, SearchRecordBean(content))
startActivity(Intent(this, WebBrowserActivity::class.java).apply { startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", LinkSearchUtils.getSpSearchAction(content)) putExtra("url", link)
addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
}) })
finish() finish()
...@@ -297,7 +311,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() { ...@@ -297,7 +311,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
gson.fromJson(it, SearchRecordBean::class.java) gson.fromJson(it, SearchRecordBean::class.java)
}.reversed() }.reversed()
val lastList= if (list.size>=4) list.subList(0,4) else list val lastList = if (list.size >= 4) list.subList(0, 4) else list
searchRecordList.addAll(lastList) searchRecordList.addAll(lastList)
searchRecordAdapter.submitList(searchRecordList) searchRecordAdapter.submitList(searchRecordList)
......
...@@ -71,8 +71,8 @@ object BookmarkDialog { ...@@ -71,8 +71,8 @@ object BookmarkDialog {
binding.vEdit.visibility = View.GONE binding.vEdit.visibility = View.GONE
binding.llSelect.visibility = View.GONE binding.llSelect.visibility = View.GONE
binding.vAddDesktop.visibility = View.GONE
itemCount = 3 itemCount = 4
} }
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.activity.bookmark.HistoryFragment"> tools:context=".ui.activity.bookmark.HistoryFragment">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_bookmark_history" />
<LinearLayout <LinearLayout
android:id="@+id/ll_empty" android:id="@+id/searchView"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="46dp"
android:layout_gravity="center" android:layout_gravity="center_horizontal"
android:orientation="vertical" android:layout_marginHorizontal="15dp"
tools:ignore="UseCompoundDrawables"> android:layout_marginVertical="4dp"
android:background="@drawable/bg_eef1f6_26"
android:orientation="horizontal"
android:queryHint="Search">
<ImageView <ImageView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_vertical"
android:src="@mipmap/nohistory" android:layout_marginStart="15dp"
android:src="@mipmap/search_bookmark"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
<EditText
android:id="@+id/edit_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp"
android:layout_weight="1"
android:background="@null"
android:hint="search"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="Autofill,HardcodedText,LabelFor,TextFields" />
<TextView <TextView
android:id="@+id/tv_cancel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_vertical"
android:layout_marginTop="15dp" android:layout_marginEnd="15dp"
android:text="No History" android:text="Cancel"
android:textColor="#0571ED"
android:visibility="gone"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
</LinearLayout> </LinearLayout>
</FrameLayout> <FrameLayout
\ No newline at end of file android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_bookmark_history" />
<LinearLayout
android:id="@+id/ll_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/nohistory"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="No History"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
\ No newline at end of file
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/card" android:id="@+id/card"
android:layout_width="40dp" android:layout_width="29dp"
android:layout_height="40dp" android:layout_height="29dp"
android:layout_marginVertical="4dp" android:layout_marginVertical="4dp"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
app:cardElevation="0dp" app:cardElevation="0dp"
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
app:layout_constraintTop_toBottomOf="@id/fl_time"> app:layout_constraintTop_toBottomOf="@id/fl_time">
<TextView <TextView
tools:background="#FA94ED"
android:id="@+id/tv_letters" android:id="@+id/tv_letters"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
...@@ -57,6 +56,7 @@ ...@@ -57,6 +56,7 @@
android:text="G" android:text="G"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" android:textSize="16sp"
tools:background="#FA94ED"
tools:ignore="ContentDescription,HardcodedText" /> tools:ignore="ContentDescription,HardcodedText" />
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
......
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