mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Update: Wire the search bar
This commit is contained in:
parent
891ad6bc6e
commit
b047b5e814
@ -3,11 +3,13 @@ package com.looker.droidify.ui.activities
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
@ -23,7 +25,6 @@ import com.looker.droidify.R
|
||||
import com.looker.droidify.content.Preferences
|
||||
import com.looker.droidify.databinding.ActivityMainXBinding
|
||||
import com.looker.droidify.installer.AppInstaller
|
||||
import com.looker.droidify.screen.*
|
||||
import com.looker.droidify.service.Connection
|
||||
import com.looker.droidify.service.SyncService
|
||||
import com.looker.droidify.ui.fragments.MainNavFragmentX
|
||||
@ -52,6 +53,7 @@ class MainActivityX : AppCompatActivity() {
|
||||
lateinit var appBarConfiguration: AppBarConfiguration
|
||||
private lateinit var navController: NavController
|
||||
private val viewModel: MainActivityViewModelX by viewModels()
|
||||
val menuSetup = MutableLiveData<Boolean>()
|
||||
|
||||
private val syncConnection = Connection(SyncService::class.java, onBind = { _, _ ->
|
||||
navController.currentDestination?.let {
|
||||
@ -126,6 +128,7 @@ class MainActivityX : AppCompatActivity() {
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.menu_main, menu)
|
||||
menuSetup.value = true
|
||||
return super.onCreateOptionsMenu(menu)
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,7 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material.Scaffold
|
||||
import androidx.core.view.children
|
||||
@ -17,9 +18,8 @@ import com.looker.droidify.entity.Section
|
||||
import com.looker.droidify.ui.compose.ProductsVerticalRecycler
|
||||
import com.looker.droidify.ui.compose.theme.AppTheme
|
||||
import com.looker.droidify.utility.isDarkTheme
|
||||
import com.looker.droidify.widget.FocusSearchView
|
||||
|
||||
|
||||
// TODO add chips bar to navigate categories
|
||||
class ExploreFragment : MainNavFragmentX() {
|
||||
|
||||
private lateinit var binding: FragmentExploreXBinding
|
||||
@ -95,5 +95,21 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
)
|
||||
}
|
||||
}
|
||||
mainActivityX.menuSetup.observe(viewLifecycleOwner) {
|
||||
if (it != null) {
|
||||
val searchView =
|
||||
mainActivityX.toolbar.menu.findItem(R.id.toolbar_search).actionView as FocusSearchView
|
||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onQueryTextChange(newText: String?): Boolean {
|
||||
if (isResumed) viewModel.setSearchQuery(newText.orEmpty())
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material.Scaffold
|
||||
import com.google.android.material.composethemeadapter.MdcTheme
|
||||
@ -15,6 +16,7 @@ import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
|
||||
import com.looker.droidify.ui.compose.ProductsVerticalRecycler
|
||||
import com.looker.droidify.ui.compose.theme.AppTheme
|
||||
import com.looker.droidify.utility.isDarkTheme
|
||||
import com.looker.droidify.widget.FocusSearchView
|
||||
|
||||
class InstalledFragment : MainNavFragmentX() {
|
||||
|
||||
@ -97,5 +99,21 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
}
|
||||
}
|
||||
}
|
||||
mainActivityX.menuSetup.observe(viewLifecycleOwner) {
|
||||
if (it != null) {
|
||||
val searchView =
|
||||
mainActivityX.toolbar.menu.findItem(R.id.toolbar_search).actionView as FocusSearchView
|
||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onQueryTextChange(newText: String?): Boolean {
|
||||
if (isResumed) viewModel.setSearchQuery(newText.orEmpty())
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,11 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material.Scaffold
|
||||
import com.google.android.material.composethemeadapter.MdcTheme
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.content.Preferences
|
||||
import com.looker.droidify.database.entity.Repository
|
||||
import com.looker.droidify.databinding.FragmentLatestXBinding
|
||||
@ -14,6 +16,7 @@ import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
|
||||
import com.looker.droidify.ui.compose.ProductsVerticalRecycler
|
||||
import com.looker.droidify.ui.compose.theme.AppTheme
|
||||
import com.looker.droidify.utility.isDarkTheme
|
||||
import com.looker.droidify.widget.FocusSearchView
|
||||
|
||||
class LatestFragment : MainNavFragmentX() {
|
||||
|
||||
@ -79,5 +82,21 @@ class LatestFragment : MainNavFragmentX() {
|
||||
}
|
||||
}
|
||||
}
|
||||
mainActivityX.menuSetup.observe(viewLifecycleOwner) {
|
||||
if (it != null) {
|
||||
val searchView =
|
||||
mainActivityX.toolbar.menu.findItem(R.id.toolbar_search).actionView as FocusSearchView
|
||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onQueryTextChange(newText: String?): Boolean {
|
||||
if (isResumed) viewModel.setSearchQuery(newText.orEmpty())
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import com.looker.droidify.ui.activities.MainActivityX
|
||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
|
||||
abstract class MainNavFragmentX : BaseNavFragment() {
|
||||
private val mainActivityX: MainActivityX
|
||||
protected val mainActivityX: MainActivityX
|
||||
get() = requireActivity() as MainActivityX
|
||||
val viewModel: MainNavFragmentViewModelX by viewModels {
|
||||
MainNavFragmentViewModelX.Factory(mainActivityX.db, primarySource, secondarySource)
|
||||
|
Loading…
x
Reference in New Issue
Block a user