mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-24 03:42:15 +00:00
Remove: MainNavFragments extension of CursorOwner.Callback
This commit is contained in:
parent
d427968ccb
commit
d183ebd5fc
@ -1,17 +1,13 @@
|
|||||||
package com.looker.droidify.ui.fragments
|
package com.looker.droidify.ui.fragments
|
||||||
|
|
||||||
import android.database.Cursor
|
|
||||||
import android.os.Bundle
|
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.lifecycle.Lifecycle
|
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.lifecycleScope
|
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.CursorOwner
|
import com.looker.droidify.database.Product
|
||||||
import com.looker.droidify.databinding.FragmentExploreXBinding
|
import com.looker.droidify.databinding.FragmentExploreXBinding
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
import com.looker.droidify.ui.adapters.AppListAdapter
|
import com.looker.droidify.ui.adapters.AppListAdapter
|
||||||
@ -20,11 +16,10 @@ import com.looker.droidify.utility.RxUtils
|
|||||||
import com.looker.droidify.utility.extension.resources.getDrawableCompat
|
import com.looker.droidify.utility.extension.resources.getDrawableCompat
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import kotlinx.coroutines.flow.first
|
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||||
|
|
||||||
class ExploreFragment : MainNavFragmentX(), CursorOwner.Callback {
|
// TODO create categories layouts that hold the apps in horizontal layout
|
||||||
|
class ExploreFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||||
private lateinit var binding: FragmentExploreXBinding
|
private lateinit var binding: FragmentExploreXBinding
|
||||||
@ -71,20 +66,4 @@ class ExploreFragment : MainNavFragmentX(), CursorOwner.Callback {
|
|||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe { repositories = it }
|
.subscribe { repositories = it }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCursorData(request: CursorOwner.Request, cursor: Cursor?) {
|
|
||||||
(binding.recyclerView.adapter as? AppListAdapter)?.apply {
|
|
||||||
this.cursor = cursor
|
|
||||||
lifecycleScope.launch {
|
|
||||||
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
|
||||||
emptyText = when {
|
|
||||||
cursor == null -> ""
|
|
||||||
viewModel.searchQuery.first()
|
|
||||||
.isNotEmpty() -> getString(R.string.no_matching_applications_found)
|
|
||||||
else -> getString(R.string.no_applications_available)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.looker.droidify.ui.fragments
|
package com.looker.droidify.ui.fragments
|
||||||
|
|
||||||
import android.database.Cursor
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -9,7 +8,6 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.CursorOwner
|
|
||||||
import com.looker.droidify.databinding.FragmentInstalledXBinding
|
import com.looker.droidify.databinding.FragmentInstalledXBinding
|
||||||
import com.looker.droidify.entity.ProductItem
|
import com.looker.droidify.entity.ProductItem
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
@ -24,7 +22,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
|||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||||
|
|
||||||
class InstalledFragment : MainNavFragmentX(), CursorOwner.Callback {
|
class InstalledFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||||
private lateinit var binding: FragmentInstalledXBinding
|
private lateinit var binding: FragmentInstalledXBinding
|
||||||
@ -88,28 +86,4 @@ class InstalledFragment : MainNavFragmentX(), CursorOwner.Callback {
|
|||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe { repositories = it }
|
.subscribe { repositories = it }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCursorData(request: CursorOwner.Request, cursor: Cursor?) {
|
|
||||||
// TODO get a list instead of the cursor
|
|
||||||
// TODO use LiveData and observers instead of listeners
|
|
||||||
val appItemList: List<ProductItem> = listOf()
|
|
||||||
installedItemAdapter.set(appItemList
|
|
||||||
.map { VAppItem(it, repositories[it.repositoryId]) }
|
|
||||||
)
|
|
||||||
updatedItemAdapter.set(appItemList.filter { it.canUpdate }
|
|
||||||
.map { HAppItem(it, repositories[it.repositoryId]) }
|
|
||||||
)
|
|
||||||
/*
|
|
||||||
lifecycleScope.launch {
|
|
||||||
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
|
||||||
emptyText = when {
|
|
||||||
cursor == null -> ""
|
|
||||||
viewModel.searchQuery.first()
|
|
||||||
.isNotEmpty() -> getString(R.string.no_matching_applications_found)
|
|
||||||
else -> getString(R.string.all_applications_up_to_date)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.looker.droidify.ui.fragments
|
package com.looker.droidify.ui.fragments
|
||||||
|
|
||||||
import android.database.Cursor
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -9,7 +8,6 @@ import androidx.lifecycle.ViewModelProvider
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.CursorOwner
|
|
||||||
import com.looker.droidify.databinding.FragmentLatestXBinding
|
import com.looker.droidify.databinding.FragmentLatestXBinding
|
||||||
import com.looker.droidify.entity.ProductItem
|
import com.looker.droidify.entity.ProductItem
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
@ -24,7 +22,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
|||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||||
|
|
||||||
class LatestFragment : MainNavFragmentX(), CursorOwner.Callback {
|
class LatestFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||||
private lateinit var binding: FragmentLatestXBinding
|
private lateinit var binding: FragmentLatestXBinding
|
||||||
@ -88,28 +86,4 @@ class LatestFragment : MainNavFragmentX(), CursorOwner.Callback {
|
|||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe { repositories = it }
|
.subscribe { repositories = it }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCursorData(request: CursorOwner.Request, cursor: Cursor?) {
|
|
||||||
// TODO get a list instead of the cursor
|
|
||||||
// TODO use LiveData and observers instead of listeners
|
|
||||||
val appItemList: List<ProductItem> = listOf()
|
|
||||||
updatedItemAdapter.set(appItemList // .filter { !it.hasOneRelease }
|
|
||||||
.map { VAppItem(it, repositories[it.repositoryId]) }
|
|
||||||
)
|
|
||||||
newItemAdapter.set(appItemList // .filter { it.hasOneRelease }
|
|
||||||
.map { HAppItem(it, repositories[it.repositoryId]) }
|
|
||||||
)
|
|
||||||
/*
|
|
||||||
lifecycleScope.launch {
|
|
||||||
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
|
||||||
emptyText = when {
|
|
||||||
cursor == null -> ""
|
|
||||||
viewModel.searchQuery.first()
|
|
||||||
.isNotEmpty() -> getString(R.string.no_matching_applications_found)
|
|
||||||
else -> getString(R.string.all_applications_up_to_date)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,11 @@ package com.looker.droidify.ui.fragments
|
|||||||
|
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.database.CursorOwner
|
|
||||||
import com.looker.droidify.entity.ProductItem
|
import com.looker.droidify.entity.ProductItem
|
||||||
import com.looker.droidify.ui.activities.MainActivityX
|
import com.looker.droidify.ui.activities.MainActivityX
|
||||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||||
|
|
||||||
abstract class MainNavFragmentX : Fragment(), CursorOwner.Callback {
|
abstract class MainNavFragmentX : Fragment() {
|
||||||
val mainActivityX: MainActivityX
|
val mainActivityX: MainActivityX
|
||||||
get() = requireActivity() as MainActivityX
|
get() = requireActivity() as MainActivityX
|
||||||
abstract var viewModel: MainNavFragmentViewModelX
|
abstract var viewModel: MainNavFragmentViewModelX
|
||||||
|
Loading…
x
Reference in New Issue
Block a user