采集向量优化调试
This commit is contained in:
@@ -3,8 +3,6 @@ package com.sw.dualscreen.view
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.DialogInterface
|
||||
import android.graphics.Color
|
||||
import android.graphics.Typeface
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
@@ -13,18 +11,15 @@ import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.sw.dualscreen.R
|
||||
import com.sw.dualscreen.adapter.GenericItemAdapter
|
||||
import com.sw.dualscreen.adapter.GridSpacingItemDecoration
|
||||
import com.sw.dualscreen.adapter.SearchFoodAdapter
|
||||
import com.sw.dualscreen.adapter.dpToPx
|
||||
import com.sw.dualscreen.databinding.BottomSheetDialogBinding
|
||||
import com.sw.dualscreen.databinding.ItemSearchFoodInfoBinding
|
||||
import com.sw.dualscreen.model.response.FoodInfo
|
||||
import com.sw.dualscreen.utils.Debouncer
|
||||
import com.sw.dualscreen.utils.KeyboardUtils
|
||||
import com.sw.dualscreen.viewmodel.UserViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
|
||||
/**
|
||||
* 底部搜索结果弹窗
|
||||
@@ -43,7 +38,7 @@ class CustomBottomSheetDialog(
|
||||
searchFoodList.forEachIndexed { index, info ->
|
||||
searchFoodList[index].isChecked = index == position
|
||||
}
|
||||
val item = searchFoodList[position]
|
||||
val item = searchFoodList[position].also { it.isFromSearch = true }
|
||||
Timber.d("itemClick ${item.foodName}, position = $position")
|
||||
itemClickCallback(item)
|
||||
checkedItem = item
|
||||
@@ -79,7 +74,7 @@ class CustomBottomSheetDialog(
|
||||
|
||||
private fun setDialogStyle() {
|
||||
dialog?.window?.let {
|
||||
it.decorView.background = ColorDrawable(Color.TRANSPARENT)
|
||||
it.decorView.background = Color.TRANSPARENT.toDrawable()
|
||||
it.decorView.setPadding(0, 0, 0, 0)
|
||||
it.attributes?.apply {
|
||||
width = ViewGroup.LayoutParams.MATCH_PARENT
|
||||
@@ -118,15 +113,17 @@ class CustomBottomSheetDialog(
|
||||
it.adapter = adapter
|
||||
}
|
||||
binding.ivSearch.setOnClickListener {
|
||||
searchInfo()
|
||||
searchFood()
|
||||
}
|
||||
KeyboardUtils.setupEditorAction(binding.etSearch) {
|
||||
searchInfo()
|
||||
searchFood()
|
||||
}
|
||||
registerDataChange()
|
||||
|
||||
searchFood()
|
||||
}
|
||||
|
||||
private fun searchInfo(){
|
||||
private fun searchFood(){
|
||||
debouncer.debounce {
|
||||
viewModel.searchByFoodName(binding.etSearch.text.toString()) {
|
||||
searchFoodList.clear()
|
||||
@@ -138,13 +135,13 @@ class CustomBottomSheetDialog(
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
private fun registerDataChange() {
|
||||
lifecycleScope.launch {
|
||||
viewModel.searchFoodInfoList.collect {
|
||||
searchFoodList.clear()
|
||||
searchFoodList.addAll(it)
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
// lifecycleScope.launch {
|
||||
// viewModel.searchFoodInfoList.collect {
|
||||
// searchFoodList.clear()
|
||||
// searchFoodList.addAll(it)
|
||||
// adapter.notifyDataSetChanged()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
// private fun createAdapter(): GenericItemAdapter<FoodInfo, ItemSearchFoodInfoBinding> {
|
||||
@@ -176,13 +173,13 @@ class CustomBottomSheetDialog(
|
||||
|
||||
override fun onCancel(dialog: DialogInterface) {
|
||||
Timber.d("onCancel")
|
||||
viewModel.cleanSearchFoodInfoList()
|
||||
// viewModel.cleanSearchFoodInfoList()
|
||||
super.onCancel(dialog)
|
||||
}
|
||||
|
||||
override fun dismiss() {
|
||||
Timber.d("dismiss")
|
||||
viewModel.cleanSearchFoodInfoList()
|
||||
// viewModel.cleanSearchFoodInfoList()
|
||||
super.dismiss()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user