Skip to content

Commit

Permalink
Move base paging classes to Domain layer
Browse files Browse the repository at this point in the history
  • Loading branch information
alirezaeiii committed Jan 19, 2025
1 parent 843558b commit c1685f8
Show file tree
Hide file tree
Showing 29 changed files with 49 additions and 49 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.movie
import android.content.Context
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.model.SortType
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.response.asMovieDomainModel
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.domain.model.SortType
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import io.reactivex.Observable
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.movie
import android.content.Context
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.model.SortType
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.search.movie
import android.content.Context
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import java.util.concurrent.Executor

class SearchMovieDataSourceFactory(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.search.movie
import android.content.Context
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import java.util.concurrent.Executor

class SearchMoviePageKeyRepository(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import android.content.Context
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.response.asMovieDomainModel
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import io.reactivex.Observable
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.search.tvshow
import android.content.Context
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import java.util.concurrent.Executor

class SearchTVShowDataSourceFactory(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.search.tvshow
import android.content.Context
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import java.util.concurrent.Executor

class SearchTVShowPageKeyRepository(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import android.content.Context
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.response.asTVShowDomainModel
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import io.reactivex.Observable
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.tvshow
import android.content.Context
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.model.SortType
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.sample.android.tmdb.data.paging.tvshow
import android.content.Context
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BaseDataSourceFactory
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BaseDataSourceFactory
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.model.SortType
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.response.asTVShowDomainModel
import com.sample.android.tmdb.domain.model.SortType
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.paging.BasePageKeyedDataSource
import com.sample.android.tmdb.domain.paging.BasePageKeyedDataSource
import io.reactivex.Observable
import java.util.concurrent.Executor

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

import androidx.lifecycle.Transformations
import androidx.annotation.MainThread
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

import android.content.Context
import androidx.lifecycle.LiveData
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

import androidx.lifecycle.LiveData
import androidx.paging.PagedList
Expand All @@ -9,13 +9,13 @@ import com.sample.android.tmdb.domain.model.TmdbItem
*/
data class Listing<T : TmdbItem>(
// the LiveData of paged lists for the UI to observe
val pagedList: LiveData<PagedList<T>>,
val pagedList: LiveData<PagedList<T>>,
// represents the network request status to show to the user
val networkState: LiveData<NetworkState>,
val networkState: LiveData<NetworkState>,
// represents the refresh status to show to the user. Separate from networkState, this
// value is importantly only when refresh is requested.
val refreshState: LiveData<NetworkState>,
val refreshState: LiveData<NetworkState>,
// refreshes the whole data and fetches it from scratch.
val refresh: () -> Unit,
val refresh: () -> Unit,
// retries any failed requests.
val retry: () -> Unit)
val retry: () -> Unit)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

enum class Status {
RUNNING,
Expand All @@ -8,8 +8,8 @@ enum class Status {

@Suppress("DataClassPrivateConstructor")
data class NetworkState private constructor(
val status: Status,
val msg: String? = null) {
val status: Status,
val msg: String? = null) {
companion object {
val LOADED = NetworkState(Status.SUCCESS)
val LOADING = NetworkState(Status.RUNNING)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sample.android.tmdb.data.paging
package com.sample.android.tmdb.domain.paging

import com.sample.android.tmdb.domain.model.TmdbItem

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup
import com.sample.android.tmdb.R
import com.sample.android.tmdb.databinding.FragmentMainBinding
import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.Status.RUNNING
import com.sample.android.tmdb.domain.paging.Status.RUNNING
import com.sample.android.tmdb.ui.base.BaseNavigationFragment
import com.sample.android.tmdb.widget.MarginDecoration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.Transformations.switchMap
import androidx.paging.PagedList
import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.Listing
import com.sample.android.tmdb.data.paging.NetworkState
import com.sample.android.tmdb.domain.paging.Listing
import com.sample.android.tmdb.domain.paging.NetworkState
import com.sample.android.tmdb.util.DisposableManager
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import android.widget.*
import android.widget.LinearLayout.LayoutParams
import androidx.recyclerview.widget.RecyclerView
import com.sample.android.tmdb.R
import com.sample.android.tmdb.data.paging.NetworkState
import com.sample.android.tmdb.data.paging.Status.FAILED
import com.sample.android.tmdb.data.paging.Status.RUNNING
import com.sample.android.tmdb.domain.paging.NetworkState
import com.sample.android.tmdb.domain.paging.Status.FAILED
import com.sample.android.tmdb.domain.paging.Status.RUNNING
import com.sample.android.tmdb.util.toVisibility

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import com.sample.android.tmdb.R
import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.NetworkState
import com.sample.android.tmdb.domain.paging.NetworkState
import java.util.*

class TmdbAdapter<T : TmdbItem>(private val retryCallback: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.liveData
import com.sample.android.tmdb.ui.paging.BasePagingViewModel
import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.Listing
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.Listing
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository

abstract class BaseMainPagingViewModel<T : TmdbItem>(app: Application) : BasePagingViewModel<T>(app) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.sample.android.tmdb.ui.paging.main.movie
import android.app.Application
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.data.paging.movie.MoviePageKeyRepository
import com.sample.android.tmdb.ui.paging.main.BaseMainPagingViewModel
import com.sample.android.tmdb.domain.model.SortType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.sample.android.tmdb.ui.paging.main.tvshow
import android.app.Application
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.data.paging.tvshow.TVShowsPageKeyRepository
import com.sample.android.tmdb.ui.paging.main.BaseMainPagingViewModel
import com.sample.android.tmdb.domain.model.SortType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.sample.android.tmdb.ui.paging.search

import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.Status.RUNNING
import com.sample.android.tmdb.domain.paging.Status.RUNNING
import com.sample.android.tmdb.ui.paging.BasePagingFragment
import com.sample.android.tmdb.util.toVisibility

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import com.sample.android.tmdb.domain.model.TmdbItem
import com.sample.android.tmdb.data.paging.Listing
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.Listing
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.ui.paging.BasePagingViewModel

abstract class BaseSearchViewModel<T : TmdbItem>(app: Application) : BasePagingViewModel<T>(app) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.sample.android.tmdb.domain.model.Movie
import com.sample.android.tmdb.data.network.MovieService
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.data.paging.search.movie.SearchMoviePageKeyRepository
import com.sample.android.tmdb.ui.paging.search.BaseSearchViewModel
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.sample.android.tmdb.domain.model.TVShow
import com.sample.android.tmdb.data.network.TVShowService
import com.sample.android.tmdb.data.paging.BasePageKeyRepository
import com.sample.android.tmdb.domain.paging.BasePageKeyRepository
import com.sample.android.tmdb.data.paging.search.tvshow.SearchTVShowPageKeyRepository
import com.sample.android.tmdb.ui.paging.search.BaseSearchViewModel
import javax.inject.Inject
Expand Down

0 comments on commit c1685f8

Please sign in to comment.