mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
Use ViewModel extension in the main activity
This commit is contained in:
parent
5ca10ace18
commit
06714c8e45
@ -11,12 +11,12 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ScrollView
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.content.pm.ShortcutManagerCompat
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.core.view.children
|
||||
import androidx.core.widget.NestedScrollView
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
@ -47,12 +47,17 @@ import com.github.libretube.ui.tools.SleepTimer
|
||||
import com.google.android.material.elevation.SurfaceColors
|
||||
|
||||
class MainActivity : BaseActivity() {
|
||||
|
||||
lateinit var binding: ActivityMainBinding
|
||||
|
||||
lateinit var navController: NavController
|
||||
lateinit var searchView: SearchView
|
||||
private lateinit var searchItem: MenuItem
|
||||
|
||||
private var startFragmentId = R.id.homeFragment
|
||||
|
||||
private val playerViewModel: PlayerViewModel by viewModels()
|
||||
private val searchViewModel: SearchViewModel by viewModels()
|
||||
private val subscriptionsViewModel: SubscriptionsViewModel by viewModels()
|
||||
|
||||
val autoRotationEnabled: Boolean by lazy {
|
||||
PreferenceHelper.getBoolean(
|
||||
PreferenceKeys.AUTO_ROTATION,
|
||||
@ -60,9 +65,6 @@ class MainActivity : BaseActivity() {
|
||||
)
|
||||
}
|
||||
|
||||
lateinit var searchView: SearchView
|
||||
private lateinit var searchItem: MenuItem
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
@ -153,8 +155,6 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
setupSubscriptionsBadge()
|
||||
|
||||
val playerViewModel = ViewModelProvider(this)[PlayerViewModel::class.java]
|
||||
|
||||
// new way of handling back presses
|
||||
onBackPressedDispatcher.addCallback {
|
||||
if (playerViewModel.isFullscreen.value == true) {
|
||||
@ -251,14 +251,11 @@ class MainActivity : BaseActivity() {
|
||||
return
|
||||
}
|
||||
|
||||
val subscriptionsViewModel = ViewModelProvider(this)[SubscriptionsViewModel::class.java]
|
||||
subscriptionsViewModel.fetchSubscriptions()
|
||||
|
||||
subscriptionsViewModel.videoFeed.observe(this) {
|
||||
val lastSeenVideoId = PreferenceHelper.getLastSeenVideoId()
|
||||
val lastSeenVideoIndex = subscriptionsViewModel.videoFeed.value?.indexOfFirst {
|
||||
lastSeenVideoId == it.url?.toID()
|
||||
} ?: return@observe
|
||||
subscriptionsViewModel.videoFeed.observe(this) { feed ->
|
||||
val lastSeenVideoIndex = feed.orEmpty()
|
||||
.indexOfFirst { PreferenceHelper.getLastSeenVideoId() == it.url?.toID() }
|
||||
if (lastSeenVideoIndex < 1) return@observe
|
||||
binding.bottomNav.getOrCreateBadge(R.id.subscriptionsFragment).apply {
|
||||
number = lastSeenVideoIndex
|
||||
@ -310,8 +307,6 @@ class MainActivity : BaseActivity() {
|
||||
this.searchItem = searchItem
|
||||
searchView = searchItem.actionView as SearchView
|
||||
|
||||
val searchViewModel = ViewModelProvider(this)[SearchViewModel::class.java]
|
||||
|
||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
navController.navigate(R.id.searchResultFragment, bundleOf("query" to query))
|
||||
@ -486,7 +481,6 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
val playerViewModel = ViewModelProvider(this)[PlayerViewModel::class.java]
|
||||
playerViewModel.isFullscreen.value = false
|
||||
requestedOrientation = if (autoRotationEnabled) {
|
||||
ActivityInfo.SCREEN_ORIENTATION_USER
|
||||
|
Loading…
x
Reference in New Issue
Block a user