Commit 515d226d authored by wanglei's avatar wanglei

...

parent d1da35bc
package com.base.browserwhite.ui.activity.bookmark
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.drawable.ColorDrawable
import android.view.View
......@@ -9,26 +10,36 @@ 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.KotlinExt.toFormatTime
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: ((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?) {
if (item == null) return
val binding = ItemBookmarkHistoryBinding.bind(holder.itemView)
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)
if (item.name.isNotEmpty()) {
binding.tvLetters.text = item.name.first().toString()
binding.tvName.text = item.name
}
binding.flOpeartion.setOnClickListener {
moreAction?.invoke(it,item)
moreAction?.invoke(it, item)
}
}
......
package com.base.browserwhite.ui.activity.bookmark
import android.view.View
import androidx.core.view.isVisible
import androidx.core.widget.addTextChangedListener
import com.base.browserwhite.R
import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.bean.HistoryBean
......@@ -64,6 +66,32 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>() {
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() {
if (!viewInit) return
historyList.clear()
......
......@@ -48,7 +48,14 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}
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) {
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", link)
......@@ -159,9 +166,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}
binding.tvSearch.setOnClickListener {
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))
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", LinkSearchUtils.getSpSearchAction(content))
putExtra("url", link)
addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
})
finish()
......@@ -297,7 +311,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
gson.fromJson(it, SearchRecordBean::class.java)
}.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)
searchRecordAdapter.submitList(searchRecordList)
......
......@@ -71,8 +71,8 @@ object BookmarkDialog {
binding.vEdit.visibility = View.GONE
binding.llSelect.visibility = View.GONE
itemCount = 3
binding.vAddDesktop.visibility = View.GONE
itemCount = 4
}
}
......
<?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:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
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
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">
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="46dp"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="4dp"
android:background="@drawable/bg_eef1f6_26"
android:orientation="horizontal"
android:queryHint="Search">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/nohistory"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/search_bookmark"
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
android:id="@+id/tv_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="No History"
android:layout_gravity="center_vertical"
android:layout_marginEnd="15dp"
android:text="Cancel"
android:textColor="#0571ED"
android:visibility="gone"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
\ No newline at end of file
<FrameLayout
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 @@
<androidx.cardview.widget.CardView
android:id="@+id/card"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_width="29dp"
android:layout_height="29dp"
android:layout_marginVertical="4dp"
android:layout_marginStart="15dp"
app:cardElevation="0dp"
......@@ -48,7 +48,6 @@
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"
......@@ -57,6 +56,7 @@
android:text="G"
android:textColor="@color/white"
android:textSize="16sp"
tools:background="#FA94ED"
tools:ignore="ContentDescription,HardcodedText" />
</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