Remove: Layout's top bar

This commit is contained in:
machiav3lli 2022-04-15 16:34:09 +02:00
parent b5ac362374
commit 67945b8d19
5 changed files with 2 additions and 113 deletions

View File

@ -5,7 +5,6 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.os.PowerManager import android.os.PowerManager
import android.view.Menu import android.view.Menu
import android.view.MenuItem
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -13,11 +12,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController import androidx.navigation.ui.setupWithNavController
import com.google.android.material.appbar.MaterialToolbar
import com.looker.droidify.BuildConfig import com.looker.droidify.BuildConfig
import com.looker.droidify.ContextWrapperX import com.looker.droidify.ContextWrapperX
import com.looker.droidify.MainApplication import com.looker.droidify.MainApplication
@ -30,7 +25,6 @@ import com.looker.droidify.service.SyncService
import com.looker.droidify.ui.fragments.MainNavFragmentX import com.looker.droidify.ui.fragments.MainNavFragmentX
import com.looker.droidify.ui.fragments.Source import com.looker.droidify.ui.fragments.Source
import com.looker.droidify.ui.viewmodels.MainActivityViewModelX import com.looker.droidify.ui.viewmodels.MainActivityViewModelX
import com.looker.droidify.utility.extension.android.Android
import com.looker.droidify.utility.extension.text.nullIfEmpty import com.looker.droidify.utility.extension.text.nullIfEmpty
import com.looker.droidify.utility.showBatteryOptimizationDialog import com.looker.droidify.utility.showBatteryOptimizationDialog
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -50,8 +44,6 @@ class MainActivityX : AppCompatActivity() {
} }
lateinit var binding: ActivityMainXBinding lateinit var binding: ActivityMainXBinding
lateinit var toolbar: MaterialToolbar
lateinit var appBarConfiguration: AppBarConfiguration
private lateinit var navController: NavController private lateinit var navController: NavController
private val viewModel: MainActivityViewModelX by viewModels() private val viewModel: MainActivityViewModelX by viewModels()
private lateinit var powerManager: PowerManager private lateinit var powerManager: PowerManager
@ -83,19 +75,12 @@ class MainActivityX : AppCompatActivity() {
setContentView(binding.root) setContentView(binding.root)
binding.lifecycleOwner = this binding.lifecycleOwner = this
toolbar = binding.toolbar
setSupportActionBar(toolbar)
val navHostFragment = val navHostFragment =
supportFragmentManager.findFragmentById(R.id.fragment_content) as NavHostFragment supportFragmentManager.findFragmentById(R.id.fragment_content) as NavHostFragment
navController = navHostFragment.navController navController = navHostFragment.navController
binding.bottomNavigation.setupWithNavController(navController) binding.bottomNavigation.setupWithNavController(navController)
appBarConfiguration = AppBarConfiguration(
setOf(R.id.exploreTab, R.id.latestTab, R.id.installedTab)
)
setupActionBarWithNavController(navController, appBarConfiguration)
binding.bottomNavigation.selectedItemId = currentTab binding.bottomNavigation.selectedItemId = currentTab
powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
@ -106,10 +91,6 @@ class MainActivityX : AppCompatActivity() {
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
if (Android.sdk(28) && !Android.Device.isHuaweiEmui) {
toolbar.menu.setGroupDividerEnabled(true)
}
toolbar.isFocusableInTouchMode = true
supportFragmentManager.addFragmentOnAttachListener { _, _ -> supportFragmentManager.addFragmentOnAttachListener { _, _ ->
hideKeyboard() hideKeyboard()
@ -126,7 +107,7 @@ class MainActivityX : AppCompatActivity() {
} }
override fun onSupportNavigateUp(): Boolean { override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp(appBarConfiguration) return navController.navigateUp()
} }
override fun onCreateOptionsMenu(menu: Menu): Boolean { override fun onCreateOptionsMenu(menu: Menu): Boolean {
@ -140,14 +121,6 @@ class MainActivityX : AppCompatActivity() {
?.hideSoftInputFromWindow((currentFocus ?: window.decorView).windowToken, 0) ?.hideSoftInputFromWindow((currentFocus ?: window.decorView).windowToken, 0)
} }
fun syncManual(item: MenuItem) {
syncConnection.binder?.sync(SyncService.SyncRequest.MANUAL)
}
fun navigateSettings(item: MenuItem) {
navigateSettings()
}
override fun onNewIntent(intent: Intent?) { override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent) super.onNewIntent(intent)
handleIntent(intent) handleIntent(intent)
@ -221,10 +194,6 @@ class MainActivityX : AppCompatActivity() {
// TODO // TODO
} }
private fun navigateSettings() = startActivity(
Intent(applicationContext, PrefsActivityX::class.java)
)
private fun updateUpdateNotificationBlocker(activeSource: Source) { private fun updateUpdateNotificationBlocker(activeSource: Source) {
val blockerFragment = if (activeSource == Source.UPDATES) { val blockerFragment = if (activeSource == Source.UPDATES) {
supportFragmentManager.fragments.asSequence().mapNotNull { it as? MainNavFragmentX } supportFragmentManager.fragments.asSequence().mapNotNull { it as? MainNavFragmentX }

View File

@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.SearchView
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@ -26,7 +25,6 @@ import com.looker.droidify.ui.compose.ProductsVerticalRecycler
import com.looker.droidify.ui.compose.theme.AppTheme import com.looker.droidify.ui.compose.theme.AppTheme
import com.looker.droidify.ui.compose.utils.SelectableChipRow import com.looker.droidify.ui.compose.utils.SelectableChipRow
import com.looker.droidify.utility.isDarkTheme import com.looker.droidify.utility.isDarkTheme
import com.looker.droidify.widget.FocusSearchView
class ExploreFragment : MainNavFragmentX() { class ExploreFragment : MainNavFragmentX() {
@ -59,25 +57,6 @@ class ExploreFragment : MainNavFragmentX() {
viewModel.categories.observe(viewLifecycleOwner) { viewModel.categories.observe(viewLifecycleOwner) {
redrawPage(viewModel.primaryProducts.value, it) redrawPage(viewModel.primaryProducts.value, it)
} }
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 {
if (isResumed && query != viewModel.searchQuery.value)
viewModel.setSearchQuery(query)
return true
}
override fun onQueryTextChange(newText: String): Boolean {
if (isResumed && newText != viewModel.searchQuery.value)
viewModel.setSearchQuery(newText)
return true
}
})
}
}
} }
@OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class)

View File

@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.SearchView
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
@ -32,7 +31,6 @@ import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
import com.looker.droidify.ui.compose.ProductsVerticalRecycler import com.looker.droidify.ui.compose.ProductsVerticalRecycler
import com.looker.droidify.ui.compose.theme.AppTheme import com.looker.droidify.ui.compose.theme.AppTheme
import com.looker.droidify.utility.isDarkTheme import com.looker.droidify.utility.isDarkTheme
import com.looker.droidify.widget.FocusSearchView
class InstalledFragment : MainNavFragmentX() { class InstalledFragment : MainNavFragmentX() {
@ -65,25 +63,6 @@ class InstalledFragment : MainNavFragmentX() {
viewModel.secondaryProducts.observe(viewLifecycleOwner) { viewModel.secondaryProducts.observe(viewLifecycleOwner) {
redrawPage(viewModel.primaryProducts.value, it) redrawPage(viewModel.primaryProducts.value, it)
} }
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 {
if (isResumed && query != viewModel.searchQuery.value)
viewModel.setSearchQuery(query)
return true
}
override fun onQueryTextChange(newText: String): Boolean {
if (isResumed && newText != viewModel.searchQuery.value)
viewModel.setSearchQuery(newText)
return true
}
})
}
}
} }
@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterialApi::class) @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterialApi::class)

View File

@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.SearchView
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
@ -26,7 +25,6 @@ import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
import com.looker.droidify.ui.compose.ProductsVerticalRecycler import com.looker.droidify.ui.compose.ProductsVerticalRecycler
import com.looker.droidify.ui.compose.theme.AppTheme import com.looker.droidify.ui.compose.theme.AppTheme
import com.looker.droidify.utility.isDarkTheme import com.looker.droidify.utility.isDarkTheme
import com.looker.droidify.widget.FocusSearchView
class LatestFragment : MainNavFragmentX() { class LatestFragment : MainNavFragmentX() {
@ -60,25 +58,6 @@ class LatestFragment : MainNavFragmentX() {
viewModel.secondaryProducts.observe(viewLifecycleOwner) { viewModel.secondaryProducts.observe(viewLifecycleOwner) {
redrawPage(viewModel.primaryProducts.value, it) redrawPage(viewModel.primaryProducts.value, it)
} }
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 {
if (isResumed && query != viewModel.searchQuery.value)
viewModel.setSearchQuery(query)
return true
}
override fun onQueryTextChange(newText: String): Boolean {
if (isResumed && newText != viewModel.searchQuery.value)
viewModel.setSearchQuery(newText)
return true
}
})
}
}
} }
@OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class)

View File

@ -10,23 +10,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_layout"
style="?attr/appBarLayoutStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/fragment_content"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="?attr/toolbarStyle"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:menu="@menu/menu_main"
app:title="@string/application_name" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_content" android:id="@+id/fragment_content"
android:name="androidx.navigation.fragment.NavHostFragment" android:name="androidx.navigation.fragment.NavHostFragment"
@ -35,7 +18,7 @@
app:defaultNavHost="true" app:defaultNavHost="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior" app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_constraintBottom_toTopOf="@id/bottom_navigation" app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
app:layout_constraintTop_toBottomOf="@id/appbar_layout" app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/navigation_graph_main" /> app:navGraph="@navigation/navigation_graph_main" />
<com.google.android.material.bottomnavigation.BottomNavigationView <com.google.android.material.bottomnavigation.BottomNavigationView