mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Improve: Use ViewBinding where-ever possible
This commit is contained in:
parent
95183dde6b
commit
a6cd0f1ff4
@ -77,6 +77,9 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def keystorePropertiesFile = rootProject.file('keystore.properties')
|
def keystorePropertiesFile = rootProject.file('keystore.properties')
|
||||||
|
buildFeatures {
|
||||||
|
viewBinding true
|
||||||
|
}
|
||||||
if (keystorePropertiesFile.exists()) {
|
if (keystorePropertiesFile.exists()) {
|
||||||
def keystoreProperties = new Properties()
|
def keystoreProperties = new Properties()
|
||||||
keystoreProperties.load(keystorePropertiesFile.newDataInputStream())
|
keystoreProperties.load(keystorePropertiesFile.newDataInputStream())
|
||||||
@ -129,7 +132,7 @@ dependencies {
|
|||||||
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
|
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
|
||||||
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2'
|
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2'
|
||||||
implementation 'com.github.topjohnwu.libsu:core:3.1.2'
|
implementation 'com.github.topjohnwu.libsu:core:3.1.2'
|
||||||
implementation "androidx.room:room-runtime:2.3.0"
|
implementation 'androidx.room:room-runtime:2.3.0'
|
||||||
implementation "androidx.room:room-ktx:2.3.0"
|
implementation 'androidx.room:room-ktx:2.3.0'
|
||||||
kapt "androidx.room:room-compiler:2.3.0"
|
kapt 'androidx.room:room-compiler:2.3.0'
|
||||||
}
|
}
|
||||||
|
@ -15,11 +15,10 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import com.google.android.material.circularreveal.CircularRevealFrameLayout
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.android.material.textfield.TextInputEditText
|
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.Database
|
import com.looker.droidify.database.Database
|
||||||
|
import com.looker.droidify.databinding.EditRepositoryBinding
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
import com.looker.droidify.network.Downloader
|
import com.looker.droidify.network.Downloader
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
@ -27,7 +26,6 @@ import com.looker.droidify.service.SyncService
|
|||||||
import com.looker.droidify.utility.RxUtils
|
import com.looker.droidify.utility.RxUtils
|
||||||
import com.looker.droidify.utility.Utils
|
import com.looker.droidify.utility.Utils
|
||||||
import com.looker.droidify.utility.extension.resources.getColorFromAttr
|
import com.looker.droidify.utility.extension.resources.getColorFromAttr
|
||||||
import com.looker.droidify.utility.extension.resources.inflate
|
|
||||||
import com.looker.droidify.utility.extension.text.nullIfEmpty
|
import com.looker.droidify.utility.extension.text.nullIfEmpty
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.core.Observable
|
import io.reactivex.rxjava3.core.Observable
|
||||||
@ -44,6 +42,9 @@ import kotlin.collections.ArrayList
|
|||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
class EditRepositoryFragment() : ScreenFragment() {
|
class EditRepositoryFragment() : ScreenFragment() {
|
||||||
|
|
||||||
|
private lateinit var editRepositoryBinding: EditRepositoryBinding
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val EXTRA_REPOSITORY_ID = "repositoryId"
|
private const val EXTRA_REPOSITORY_ID = "repositoryId"
|
||||||
|
|
||||||
@ -56,14 +57,14 @@ class EditRepositoryFragment() : ScreenFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Layout(view: View) {
|
private class Layout(view: EditRepositoryBinding) {
|
||||||
val address = view.findViewById<TextInputEditText>(R.id.address)!!
|
val address = view.address
|
||||||
val addressMirror = view.findViewById<View>(R.id.address_mirror)!!
|
val addressMirror = view.addressMirror
|
||||||
val fingerprint = view.findViewById<TextInputEditText>(R.id.fingerprint)!!
|
val fingerprint = view.fingerprint
|
||||||
val username = view.findViewById<TextInputEditText>(R.id.username)!!
|
val username = view.username
|
||||||
val password = view.findViewById<TextInputEditText>(R.id.password)!!
|
val password = view.password
|
||||||
val overlay = view.findViewById<View>(R.id.overlay)!!
|
val overlay = view.overlay
|
||||||
val skip = view.findViewById<View>(R.id.skip)!!
|
val skip = view.skip
|
||||||
}
|
}
|
||||||
|
|
||||||
private val repositoryId: Long?
|
private val repositoryId: Long?
|
||||||
@ -85,6 +86,9 @@ class EditRepositoryFragment() : ScreenFragment() {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
editRepositoryBinding = EditRepositoryBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
syncConnection.bind(requireContext())
|
syncConnection.bind(requireContext())
|
||||||
|
|
||||||
screenActivity.onToolbarCreated(toolbar)
|
screenActivity.onToolbarCreated(toolbar)
|
||||||
@ -99,14 +103,14 @@ class EditRepositoryFragment() : ScreenFragment() {
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
val content = view.findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
errorColorFilter = PorterDuffColorFilter(
|
errorColorFilter = PorterDuffColorFilter(
|
||||||
content.context
|
content.context
|
||||||
.getColorFromAttr(R.attr.colorError).defaultColor, PorterDuff.Mode.SRC_IN
|
.getColorFromAttr(R.attr.colorError).defaultColor, PorterDuff.Mode.SRC_IN
|
||||||
)
|
)
|
||||||
|
|
||||||
content.addView(content.inflate(R.layout.edit_repository))
|
content.addView(editRepositoryBinding.root)
|
||||||
val layout = Layout(content)
|
val layout = Layout(editRepositoryBinding)
|
||||||
this.layout = layout
|
this.layout = layout
|
||||||
|
|
||||||
layout.fingerprint.hint = generateSequence { "FF" }.take(32).joinToString(separator = " ")
|
layout.fingerprint.hint = generateSequence { "FF" }.take(32).joinToString(separator = " ")
|
||||||
|
@ -15,7 +15,6 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.circularreveal.CircularRevealFrameLayout
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.content.ProductPreferences
|
import com.looker.droidify.content.ProductPreferences
|
||||||
@ -108,7 +107,7 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val content = view.findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
content.addView(RecyclerView(content.context).apply {
|
content.addView(RecyclerView(content.context).apply {
|
||||||
id = android.R.id.list
|
id = android.R.id.list
|
||||||
val columns = (resources.configuration.screenWidthDp / 120).coerceIn(3, 5)
|
val columns = (resources.configuration.screenWidthDp / 120).coerceIn(3, 5)
|
||||||
|
@ -8,7 +8,6 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.circularreveal.CircularRevealFrameLayout
|
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.CursorOwner
|
import com.looker.droidify.database.CursorOwner
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
@ -25,8 +24,8 @@ class RepositoriesFragment : ScreenFragment(), CursorOwner.Callback {
|
|||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
val view = inflater.inflate(R.layout.fragment, container, false).apply {
|
val view = fragmentBinding.root.apply {
|
||||||
val content = findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
content.addView(RecyclerView(content.context).apply {
|
content.addView(RecyclerView(content.context).apply {
|
||||||
id = android.R.id.list
|
id = android.R.id.list
|
||||||
layoutManager = LinearLayoutManager(context)
|
layoutManager = LinearLayoutManager(context)
|
||||||
@ -40,7 +39,7 @@ class RepositoriesFragment : ScreenFragment(), CursorOwner.Callback {
|
|||||||
recyclerView = this
|
recyclerView = this
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.toolbar = view.findViewById(R.id.toolbar)
|
this.toolbar = fragmentBinding.toolbar
|
||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,10 +10,10 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.widget.LinearLayoutCompat
|
import androidx.appcompat.widget.LinearLayoutCompat
|
||||||
import androidx.core.widget.NestedScrollView
|
import androidx.core.widget.NestedScrollView
|
||||||
import com.google.android.material.circularreveal.CircularRevealFrameLayout
|
|
||||||
import com.google.android.material.textview.MaterialTextView
|
import com.google.android.material.textview.MaterialTextView
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.Database
|
import com.looker.droidify.database.Database
|
||||||
|
import com.looker.droidify.databinding.TitleTextItemBinding
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
import com.looker.droidify.service.SyncService
|
import com.looker.droidify.service.SyncService
|
||||||
import com.looker.droidify.utility.Utils
|
import com.looker.droidify.utility.Utils
|
||||||
@ -26,6 +26,9 @@ import io.reactivex.rxjava3.disposables.Disposable
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class RepositoryFragment() : ScreenFragment() {
|
class RepositoryFragment() : ScreenFragment() {
|
||||||
|
|
||||||
|
private lateinit var titleBinding: TitleTextItemBinding
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val EXTRA_REPOSITORY_ID = "repositoryId"
|
private const val EXTRA_REPOSITORY_ID = "repositoryId"
|
||||||
}
|
}
|
||||||
@ -46,6 +49,7 @@ class RepositoryFragment() : ScreenFragment() {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
titleBinding = TitleTextItemBinding.inflate(layoutInflater)
|
||||||
syncConnection.bind(requireContext())
|
syncConnection.bind(requireContext())
|
||||||
|
|
||||||
repositoryDisposable = Observable.just(Unit)
|
repositoryDisposable = Observable.just(Unit)
|
||||||
@ -76,7 +80,7 @@ class RepositoryFragment() : ScreenFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val content = view.findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
val scroll = NestedScrollView(content.context)
|
val scroll = NestedScrollView(content.context)
|
||||||
scroll.id = android.R.id.list
|
scroll.id = android.R.id.list
|
||||||
scroll.isFillViewport = true
|
scroll.isFillViewport = true
|
||||||
|
@ -7,22 +7,28 @@ import android.view.ViewGroup
|
|||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.databinding.FragmentBinding
|
||||||
|
|
||||||
open class ScreenFragment : BaseFragment() {
|
open class ScreenFragment : BaseFragment() {
|
||||||
|
lateinit var fragmentBinding: FragmentBinding
|
||||||
|
|
||||||
lateinit var toolbar: Toolbar
|
lateinit var toolbar: Toolbar
|
||||||
lateinit var collapsingToolbar: CollapsingToolbarLayout
|
lateinit var collapsingToolbar: CollapsingToolbarLayout
|
||||||
lateinit var appBar: AppBarLayout
|
lateinit var appBar: AppBarLayout
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
fragmentBinding = FragmentBinding.inflate(layoutInflater)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
val view = inflater.inflate(R.layout.fragment, container, false)
|
this.toolbar = fragmentBinding.toolbar
|
||||||
this.toolbar = view.findViewById(R.id.toolbar)
|
this.collapsingToolbar = fragmentBinding.collapsingToolbar
|
||||||
this.collapsingToolbar = view.findViewById(R.id.collapsing_toolbar)
|
this.appBar = fragmentBinding.appbarLayout
|
||||||
this.appBar = view.findViewById(R.id.appbar_layout)
|
return fragmentBinding.root
|
||||||
return view
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,21 +23,24 @@ import com.google.android.material.textview.MaterialTextView
|
|||||||
import com.looker.droidify.BuildConfig
|
import com.looker.droidify.BuildConfig
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.content.Preferences
|
import com.looker.droidify.content.Preferences
|
||||||
|
import com.looker.droidify.databinding.PreferenceItemBinding
|
||||||
import com.looker.droidify.utility.extension.resources.*
|
import com.looker.droidify.utility.extension.resources.*
|
||||||
import com.topjohnwu.superuser.Shell
|
import com.topjohnwu.superuser.Shell
|
||||||
import io.reactivex.rxjava3.disposables.Disposable
|
import io.reactivex.rxjava3.disposables.Disposable
|
||||||
|
|
||||||
class SettingsFragment : ScreenFragment() {
|
class SettingsFragment : ScreenFragment() {
|
||||||
|
|
||||||
|
private lateinit var preferenceBinding: PreferenceItemBinding
|
||||||
private val preferences = mutableMapOf<Preferences.Key<*>, Preference<*>>()
|
private val preferences = mutableMapOf<Preferences.Key<*>, Preference<*>>()
|
||||||
private var disposable: Disposable? = null
|
private var disposable: Disposable? = null
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
preferenceBinding = PreferenceItemBinding.inflate(layoutInflater)
|
||||||
screenActivity.onToolbarCreated(toolbar)
|
screenActivity.onToolbarCreated(toolbar)
|
||||||
toolbar.setTitle(R.string.settings)
|
toolbar.setTitle(R.string.settings)
|
||||||
|
|
||||||
val content = view.findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
val scroll = NestedScrollView(content.context)
|
val scroll = NestedScrollView(content.context)
|
||||||
scroll.id = R.id.preferences_list
|
scroll.id = R.id.preferences_list
|
||||||
scroll.isFillViewport = true
|
scroll.isFillViewport = true
|
||||||
|
@ -12,14 +12,12 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
import com.google.android.material.circularreveal.CircularRevealFrameLayout
|
|
||||||
import com.google.android.material.imageview.ShapeableImageView
|
|
||||||
import com.google.android.material.tabs.TabLayout
|
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.google.android.material.textview.MaterialTextView
|
import com.google.android.material.textview.MaterialTextView
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.content.Preferences
|
import com.looker.droidify.content.Preferences
|
||||||
import com.looker.droidify.database.Database
|
import com.looker.droidify.database.Database
|
||||||
|
import com.looker.droidify.databinding.TabsToolbarBinding
|
||||||
import com.looker.droidify.entity.ProductItem
|
import com.looker.droidify.entity.ProductItem
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
import com.looker.droidify.service.SyncService
|
import com.looker.droidify.service.SyncService
|
||||||
@ -37,6 +35,9 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
|||||||
import kotlin.math.*
|
import kotlin.math.*
|
||||||
|
|
||||||
class TabsFragment : ScreenFragment() {
|
class TabsFragment : ScreenFragment() {
|
||||||
|
|
||||||
|
private lateinit var tabsBinding: TabsToolbarBinding
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val STATE_SEARCH_FOCUSED = "searchFocused"
|
private const val STATE_SEARCH_FOCUSED = "searchFocused"
|
||||||
private const val STATE_SEARCH_QUERY = "searchQuery"
|
private const val STATE_SEARCH_QUERY = "searchQuery"
|
||||||
@ -45,12 +46,12 @@ class TabsFragment : ScreenFragment() {
|
|||||||
private const val STATE_SECTION = "section"
|
private const val STATE_SECTION = "section"
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Layout(view: View) {
|
private class Layout(view: TabsToolbarBinding) {
|
||||||
val tabs = view.findViewById<TabLayout>(R.id.tabs)!!
|
val tabs = view.tabs
|
||||||
val sectionLayout = view.findViewById<ViewGroup>(R.id.section_layout)!!
|
val sectionLayout = view.sectionLayout
|
||||||
val sectionChange = view.findViewById<View>(R.id.section_change)!!
|
val sectionChange = view.sectionChange
|
||||||
val sectionName = view.findViewById<MaterialTextView>(R.id.section_name)!!
|
val sectionName = view.sectionName
|
||||||
val sectionIcon = view.findViewById<ShapeableImageView>(R.id.section_icon)!!
|
val sectionIcon = view.sectionIcon
|
||||||
}
|
}
|
||||||
|
|
||||||
private var searchMenuItem: MenuItem? = null
|
private var searchMenuItem: MenuItem? = null
|
||||||
@ -98,6 +99,11 @@ class TabsFragment : ScreenFragment() {
|
|||||||
get() = if (host == null) emptySequence() else
|
get() = if (host == null) emptySequence() else
|
||||||
childFragmentManager.fragments.asSequence().mapNotNull { it as? ProductsFragment }
|
childFragmentManager.fragments.asSequence().mapNotNull { it as? ProductsFragment }
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
tabsBinding = TabsToolbarBinding.inflate(layoutInflater)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
syncConnection.bind(requireContext())
|
syncConnection.bind(requireContext())
|
||||||
@ -177,9 +183,9 @@ class TabsFragment : ScreenFragment() {
|
|||||||
searchQuery = savedInstanceState?.getString(STATE_SEARCH_QUERY).orEmpty()
|
searchQuery = savedInstanceState?.getString(STATE_SEARCH_QUERY).orEmpty()
|
||||||
productFragments.forEach { it.setSearchQuery(searchQuery) }
|
productFragments.forEach { it.setSearchQuery(searchQuery) }
|
||||||
|
|
||||||
val toolbarExtra = view.findViewById<CircularRevealFrameLayout>(R.id.toolbar_extra)!!
|
val toolbarExtra = fragmentBinding.toolbarExtra
|
||||||
toolbarExtra.addView(toolbarExtra.inflate(R.layout.tabs_toolbar))
|
toolbarExtra.addView(tabsBinding.root)
|
||||||
val layout = Layout(view)
|
val layout = Layout(tabsBinding)
|
||||||
this.layout = layout
|
this.layout = layout
|
||||||
|
|
||||||
showSections = savedInstanceState?.getByte(STATE_SHOW_SECTIONS)?.toInt() ?: 0 != 0
|
showSections = savedInstanceState?.getByte(STATE_SHOW_SECTIONS)?.toInt() ?: 0 != 0
|
||||||
@ -198,7 +204,7 @@ class TabsFragment : ScreenFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val content = view.findViewById<CircularRevealFrameLayout>(R.id.fragment_content)!!
|
val content = fragmentBinding.fragmentContent
|
||||||
|
|
||||||
viewPager = ViewPager2(content.context).apply {
|
viewPager = ViewPager2(content.context).apply {
|
||||||
id = R.id.fragment_pager
|
id = R.id.fragment_pager
|
||||||
|
Loading…
x
Reference in New Issue
Block a user