From d183ebd5fcabf9c6a26b77409041999db7e9cb28 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Thu, 13 Jan 2022 01:05:12 +0100 Subject: [PATCH] Remove: MainNavFragments extension of CursorOwner.Callback --- .../droidify/ui/fragments/ExploreFragment.kt | 27 ++---------------- .../ui/fragments/InstalledFragment.kt | 28 +------------------ .../droidify/ui/fragments/LatestFragment.kt | 28 +------------------ .../droidify/ui/fragments/MainNavFragmentX.kt | 3 +- 4 files changed, 6 insertions(+), 80 deletions(-) diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt index 63b3a1e0..6a1fd447 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt @@ -1,17 +1,13 @@ package com.looker.droidify.ui.fragments -import android.database.Cursor import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.lifecycle.Lifecycle import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.repeatOnLifecycle import androidx.recyclerview.widget.LinearLayoutManager 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.entity.Repository 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 io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.launch 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 private lateinit var binding: FragmentExploreXBinding @@ -71,20 +66,4 @@ class ExploreFragment : MainNavFragmentX(), CursorOwner.Callback { .observeOn(AndroidSchedulers.mainThread()) .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) - } - } - } - } - } } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt index 796d3ea9..6cbf3f2b 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt @@ -1,6 +1,5 @@ package com.looker.droidify.ui.fragments -import android.database.Cursor import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -9,7 +8,6 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.looker.droidify.R -import com.looker.droidify.database.CursorOwner import com.looker.droidify.databinding.FragmentInstalledXBinding import com.looker.droidify.entity.ProductItem import com.looker.droidify.entity.Repository @@ -24,7 +22,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import me.zhanghai.android.fastscroll.FastScrollerBuilder -class InstalledFragment : MainNavFragmentX(), CursorOwner.Callback { +class InstalledFragment : MainNavFragmentX() { override lateinit var viewModel: MainNavFragmentViewModelX private lateinit var binding: FragmentInstalledXBinding @@ -88,28 +86,4 @@ class InstalledFragment : MainNavFragmentX(), CursorOwner.Callback { .observeOn(AndroidSchedulers.mainThread()) .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 = 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) - } - } - } - */ - } } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt index 008888e2..afc4e291 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt @@ -1,6 +1,5 @@ package com.looker.droidify.ui.fragments -import android.database.Cursor import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -9,7 +8,6 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.looker.droidify.R -import com.looker.droidify.database.CursorOwner import com.looker.droidify.databinding.FragmentLatestXBinding import com.looker.droidify.entity.ProductItem import com.looker.droidify.entity.Repository @@ -24,7 +22,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import me.zhanghai.android.fastscroll.FastScrollerBuilder -class LatestFragment : MainNavFragmentX(), CursorOwner.Callback { +class LatestFragment : MainNavFragmentX() { override lateinit var viewModel: MainNavFragmentViewModelX private lateinit var binding: FragmentLatestXBinding @@ -88,28 +86,4 @@ class LatestFragment : MainNavFragmentX(), CursorOwner.Callback { .observeOn(AndroidSchedulers.mainThread()) .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 = 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) - } - } - } - */ - } } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt index 835dfa27..64daf8b8 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt @@ -2,12 +2,11 @@ package com.looker.droidify.ui.fragments import androidx.fragment.app.Fragment import com.looker.droidify.R -import com.looker.droidify.database.CursorOwner import com.looker.droidify.entity.ProductItem import com.looker.droidify.ui.activities.MainActivityX import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX -abstract class MainNavFragmentX : Fragment(), CursorOwner.Callback { +abstract class MainNavFragmentX : Fragment() { val mainActivityX: MainActivityX get() = requireActivity() as MainActivityX abstract var viewModel: MainNavFragmentViewModelX