Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Room Park Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav Bogdashkin
Room Park Android
Commits
0990432a
Commit
0990432a
authored
Dec 03, 2019
by
Vladislav Bogdashkin
🎣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update feed alias and dependencies fixes
parent
3c89dac9
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
38 additions
and
46 deletions
+38
-46
IDb.kt
...ava/com/biganto/visual/roompark/data/repository/db/IDb.kt
+0
-1
RequeryRepository.kt
.../roompark/data/repository/db/requrey/RequeryRepository.kt
+1
-5
DataModule.kt
.../java/com/biganto/visual/roompark/di/dagger/DataModule.kt
+0
-3
articles.kt
...com/biganto/visual/roompark/domain/interactor/articles.kt
+5
-5
feeds.kt
...va/com/biganto/visual/roompark/domain/interactor/feeds.kt
+11
-10
feeds.kt
...in/java/com/biganto/visual/roompark/domain/model/feeds.kt
+2
-3
feedUseCase.kt
...om/biganto/visual/roompark/domain/use_case/feedUseCase.kt
+4
-4
ScreenController.kt
...oompark/presentation/screen/feed_list/ScreenController.kt
+3
-3
ScreenDI.kt
...visual/roompark/presentation/screen/feed_list/ScreenDI.kt
+1
-1
ScreenPresenter.kt
...roompark/presentation/screen/feed_list/ScreenPresenter.kt
+1
-1
ScreenContract.kt
...sual/roompark/presentation/screen/feeds/ScreenContract.kt
+1
-1
ScreenController.kt
...al/roompark/presentation/screen/feeds/ScreenController.kt
+6
-6
ScreenPresenter.kt
...ual/roompark/presentation/screen/feeds/ScreenPresenter.kt
+2
-2
ScreenViewState.kt
...ual/roompark/presentation/screen/feeds/ScreenViewState.kt
+1
-1
No files found.
app/src/main/java/com/biganto/visual/roompark/data/repository/db/IDb.kt
View file @
0990432a
...
...
@@ -18,7 +18,6 @@ interface IDb {
fun
<
T
:
List
<
Persistable
>
>
blockingUpsert
(
entity
:
T
)
fun
userObservableResult
(
uuid
:
Int
):
Observable
<
ReactiveResult
<
UserEntity
>>
fun
fetchArticles
(
feedAlias
:
String
,
pageSize
:
Int
,
startIndex
:
Int
):
Observable
<
ArticleEntity
>
fun
getFeed
(
feedId
:
Int
):
ReactiveResult
<
FeedEntity
>
fun
getTopLevelAlbums
():
Observable
<
ImageAlbumEntity
>
fun
getChildAlbums
(
parentId
:
Int
):
Observable
<
ImageAlbumEntity
>
fun
checkIfExistsAlbumJunction
(
albumId
:
Int
,
parentAlbumId
:
Int
):
ImageAlbumJunctionEntity
?
...
...
app/src/main/java/com/biganto/visual/roompark/data/repository/db/requrey/RequeryRepository.kt
View file @
0990432a
...
...
@@ -63,10 +63,6 @@ class RequeryRepository @Inject constructor(
override
fun
fetchFeeds
():
Observable
<
FeedEntity
>
=
fetchAll
<
FeedEntity
>().
get
().
observable
()
override
fun
getFeed
(
feedId
:
Int
):
ReactiveResult
<
FeedEntity
>
=
fetchAll
<
FeedEntity
>().
where
(
FeedEntity
.
ID
.
eq
(
feedId
))
.
get
()
override
fun
getFeed
(
feedAlias
:
String
):
ReactiveResult
<
FeedEntity
>
=
fetchAll
<
FeedEntity
>().
where
(
FeedEntity
.
ALIAS
.
eq
(
feedAlias
))
.
get
()
...
...
@@ -89,7 +85,7 @@ class RequeryRepository @Inject constructor(
override
fun
fetchArticles
(
feedAlias
:
String
,
pageSize
:
Int
,
startIndex
:
Int
)
:
Observable
<
ArticleEntity
>
=
fetchAll
<
ArticleEntity
>()
.
where
(
ArticleEntity
.
FEED_ID
.
eq
(
1
))
.
where
(
ArticleEntity
.
FEED_ID
.
eq
(
feedAlias
))
.
orderBy
(
ArticleEntity
.
PUBLISHED
.
desc
())
.
limit
(
pageSize
)
.
offset
(
startIndex
)
...
...
app/src/main/java/com/biganto/visual/roompark/di/dagger/DataModule.kt
View file @
0990432a
...
...
@@ -26,15 +26,12 @@ interface DataComponent{
@Module
(
includes
=
[
DataModule
::
class
,
RetrofitModule
::
class
,
DbModule
::
class
,
LocalStorage
::
class
])
abstract
class
ContractRepositoryModule
{
@Singleton
@Binds
abstract
fun
provideAuth
(
contract
:
AuthContractModule
):
AuthContract
@Singleton
@Binds
abstract
fun
provideFeedsContract
(
impl
:
FeedsContractModule
):
FeedsContract
@Singleton
@Binds
abstract
fun
provideDevProgressContract
(
impl
:
AlbumsContractModule
):
DevProgressContract
}
...
...
app/src/main/java/com/biganto/visual/roompark/domain/interactor/articles.kt
View file @
0990432a
...
...
@@ -11,11 +11,11 @@ import javax.inject.Inject
class
ArticlesInteractor
@Inject
constructor
(
)
{
fun
fetchArticles
(
feed
Id
:
Int
):
Single
<
ArticlesPreviewModel
>
=
Single
.
just
(
when
(
feed
Id
)
{
1
->
FeedsInteractor
.
testNewsArticles
2
->
FeedsInteractor
.
testBlogsArticles
3
->
FeedsInteractor
.
testDevArticles
fun
fetchArticles
(
feed
Alias
:
String
):
Single
<
ArticlesPreviewModel
>
=
Single
.
just
(
when
(
feed
Alias
)
{
"news"
->
FeedsInteractor
.
testNewsArticles
"blog"
->
FeedsInteractor
.
testBlogsArticles
"constructors_blog"
->
FeedsInteractor
.
testDevArticles
else
->
error
(
"unknown feedId"
)
}
)
...
...
app/src/main/java/com/biganto/visual/roompark/domain/interactor/feeds.kt
View file @
0990432a
...
...
@@ -20,8 +20,8 @@ class FeedsInteractor @Inject constructor(
feedsUseCase
.
getFeeds
().
map
{
FeedsHeaderModel
(
it
)}
//Single.just(testFeeds)
fun
fetchArticles
(
feed
Id
:
Int
):
Observable
<
ArticlesPreviewModel
>
=
feedsUseCase
.
getArticles
(
feed
Id
)
fun
fetchArticles
(
feed
Alias
:
String
):
Observable
<
ArticlesPreviewModel
>
=
feedsUseCase
.
getArticles
(
feed
Alias
)
// Single.just(
// when (feedId) {
// 1 -> testNewsArticles
...
...
@@ -30,8 +30,8 @@ class FeedsInteractor @Inject constructor(
// else -> error("unknown feedId")
// }
// )
fun
fetchArticles
(
feed
Id
:
Int
,
pageSize
:
Int
,
startIndex
:
Int
):
Observable
<
ArticlesPreviewModel
>
=
feedsUseCase
.
fetchArticlesPage
(
feed
Id
,
pageSize
,
startIndex
)
fun
fetchArticles
(
feed
Alias
:
String
,
pageSize
:
Int
,
startIndex
:
Int
):
Observable
<
ArticlesPreviewModel
>
=
feedsUseCase
.
fetchArticlesPage
(
feed
Alias
,
pageSize
,
startIndex
)
fun
fetchAlbums
():
Observable
<
List
<
AlbumPreviewModel
>>
=
albumsUseCase
.
getProgressAlbums
()
...
...
@@ -50,14 +50,15 @@ class FeedsInteractor @Inject constructor(
val
testFeeds
=
FeedsHeaderModel
(
listOf
(
FeedModel
(
1
,
"НОВОСТИ"
),
FeedModel
(
2
,
"БЛОГИ"
),
FeedModel
(
2
,
"БЛОГ СТРОИТЕЛЬСТВА"
)
FeedModel
(
"news"
,
"НОВОСТИ"
),
FeedModel
(
"news"
,
"БЛОГИ"
),
FeedModel
(
"news"
,
"БЛОГ СТРОИТЕЛЬСТВА"
)
)
)
val
testNewsArticles
=
ArticlesPreviewModel
(
1
,
"news"
,
listOf
(
ArticlePreviewModel
(
1
...
...
@@ -87,7 +88,7 @@ class FeedsInteractor @Inject constructor(
)
val
testBlogsArticles
=
ArticlesPreviewModel
(
2
,
"news"
,
listOf
(
ArticlePreviewModel
(
1
...
...
@@ -117,7 +118,7 @@ class FeedsInteractor @Inject constructor(
)
val
testDevArticles
=
ArticlesPreviewModel
(
3
,
"news"
,
listOf
(
ArticlePreviewModel
(
1
...
...
app/src/main/java/com/biganto/visual/roompark/domain/model/feeds.kt
View file @
0990432a
...
...
@@ -11,7 +11,7 @@ import java.util.*
const
val
DEFAULT_ROOM_PARK_PREVIEW
=
"https://room-park.ru/assets/news_articles/preview/00/00/00/15-fe1886.jpeg"
data class
FeedModel
(
val
feedId
:
Int
,
val
title
:
String
,
val
alias
:
String
?
=
null
)
data class
FeedModel
(
val
title
:
String
,
val
alias
:
String
)
data class
FeedsHeaderModel
(
val
feeds
:
List
<
FeedModel
>)
...
...
@@ -44,7 +44,6 @@ data class ArticleModel(
)
fun
fromEntity
(
entity
:
FeedEntity
):
FeedModel
=
FeedModel
(
feedId
=
entity
.
id
,
title
=
entity
.
title
,
alias
=
entity
.
alias
)
...
...
@@ -60,7 +59,7 @@ fun fromEntity(entity: ArticleEntity):ArticlePreviewModel = ArticlePreviewModel(
fun
fromEntity
(
parentId
:
String
,
entity
:
List
<
ArticleEntity
>):
ArticlesPreviewModel
=
ArticlesPreviewModel
(
parentFeed
Id
=
parentId
,
parentFeed
Alias
=
parentId
,
articles
=
fromEntity
(
entity
,
::
fromEntity
)
)
...
...
app/src/main/java/com/biganto/visual/roompark/domain/use_case/feedUseCase.kt
View file @
0990432a
...
...
@@ -12,11 +12,11 @@ class FeedUseCase @Inject constructor(
){
fun
getFeeds
()
=
contract
.
fetchFeeds
()
fun
getArticles
(
feed
Id
:
Int
)
=
contract
.
fetchFeedObservable
(
feed
Id
)
fun
getArticles
(
feed
Alias
:
String
)
=
contract
.
fetchFeedObservable
(
feed
Alias
)
fun
fetchArticlesPage
(
feed
Id
:
Int
,
pageSize
:
Int
,
startIndex
:
Int
)
=
contract
.
fetchFeedObservable
(
feed
Id
,
pageSize
,
startIndex
)
fun
fetchArticlesPage
(
feed
Alias
:
String
,
pageSize
:
Int
,
startIndex
:
Int
)
=
contract
.
fetchFeedObservable
(
feed
Alias
,
pageSize
,
startIndex
)
fun
getArticle
(
articleId
:
Int
)
=
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feed_list/ScreenController.kt
View file @
0990432a
...
...
@@ -21,7 +21,7 @@ import javax.inject.Inject
* Created by Vladislav Bogdashkin on 30.09.2019.
*/
private
const
val
FEED_ID
=
"DIRECT_FEED_ID_KEY"
const
val
FEED_ALIAS
=
"DIRECT_FEED_ID_KEY"
class
ArticlesScreenController
:
BigantoBaseController
<
ArticlesScreenViewState
...
...
@@ -32,7 +32,7 @@ class ArticlesScreenController :
constructor
()
constructor
(
feed
Id
:
Int
):
super
(
bundleOf
(
FEED_ID
to
feedId
))
constructor
(
feed
Alias
:
String
):
super
(
bundleOf
(
FEED_ALIAS
to
feedAlias
))
override
fun
injectDependencies
()
{
getComponent
()
...
...
@@ -102,7 +102,7 @@ class ArticlesScreenController :
}
private
fun
getComponent
()
=
DaggerArticlesScreenComponent
.
factory
()
.
create
(
args
.
get
Int
(
FEED_ID
)
.
create
(
args
.
get
String
(
FEED_ALIAS
)
!!
,
RoomParkApplication
.
component
,
activity
as
RoomParkMainActivity
)
.
inject
(
this
)
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feed_list/ScreenDI.kt
View file @
0990432a
...
...
@@ -20,7 +20,7 @@ interface ArticlesScreenComponent {
@Component
.
Factory
interface
Factory
{
fun
create
(
@BindsInstance
@Named
(
"FEED_ID_INT"
)
feed
:
Int
@BindsInstance
@Named
(
FEED_ALIAS
)
feed
:
String
,
appComponent
:
AppComponent
,
@BindsInstance
activity
:
RoomParkMainActivity
):
ArticlesScreenComponent
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feed_list/ScreenPresenter.kt
View file @
0990432a
...
...
@@ -15,7 +15,7 @@ import javax.inject.Named
class
ArticlesScreenPresenter
@Inject
constructor
(
@Named
(
"FEED_ID_INT"
)
private
val
feedId
:
Int
,
@Named
(
FEED_ALIAS
)
private
val
feedId
:
String
,
private
val
interactor
:
ArticlesInteractor
)
:
BigantoBasePresenter
<
ArticlesScreen
,
ArticlesScreenViewState
>()
{
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/ScreenContract.kt
View file @
0990432a
...
...
@@ -12,7 +12,7 @@ import io.reactivex.Observable
*/
interface
FeedsScreen
:
BigantoBaseContract
<
FeedsScreenViewState
>
{
fun
feedsTabSelected
():
Observable
<
Int
>
fun
feedsTabSelected
():
Observable
<
String
>
fun
requsetsNewArticles
():
Observable
<
Pair
<
FeedModel
,
Int
>>
fun
onAllFeedArticles
():
Observable
<
FeedModel
>
fun
onCameraSelected
():
Observable
<
WebCamModel
>
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/ScreenController.kt
View file @
0990432a
...
...
@@ -60,11 +60,11 @@ class FeedsScreenController :
.
debounce
(
120L
,
TimeUnit
.
MILLISECONDS
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
override
fun
feedsTabSelected
():
Observable
<
Int
>
override
fun
feedsTabSelected
():
Observable
<
String
>
=
feedsTabs
.
selections
()
.
debounce
(
200L
,
TimeUnit
.
MILLISECONDS
)
.
map
{
it
.
position
}
.
map
{
storedFeedsList
[
it
].
feedId
}
.
map
{
storedFeedsList
[
it
].
alias
}
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doOnNext
{
allFeedArticles
.
text
=
"ВСЕ ${allFeedName(it)} →"
}
...
...
@@ -170,7 +170,7 @@ class FeedsScreenController :
private
fun
render
(
viewState
:
FeedsScreenViewState
.
ToArticlesScreen
)
{
router
.
pushController
(
RouterTransaction
.
with
(
ArticlesScreenController
(
viewState
.
feed
Id
))
RouterTransaction
.
with
(
ArticlesScreenController
(
viewState
.
feed
Alias
))
.
popChangeHandler
(
FadeChangeHandler
())
.
pushChangeHandler
(
FadeChangeHandler
())
)
...
...
@@ -201,7 +201,7 @@ class FeedsScreenController :
private
fun
render
(
viewState
:
FeedsScreenViewState
.
SomeError
)
=
showError
(
viewState
.
exception
)
private
fun
allFeedName
(
feed
Id
:
Int
)
=
if
(
feedId
==
1
)
"НОВОСТИ"
else
"БЛОГИ"
private
fun
allFeedName
(
feed
Alias
:
String
)
=
if
(
feedAlias
==
"news"
)
"НОВОСТИ"
else
"БЛОГИ"
private
fun
render
(
viewState
:
FeedsScreenViewState
.
FeedsPages
){
feedsTabs
.
removeAllTabs
()
...
...
@@ -209,7 +209,7 @@ class FeedsScreenController :
viewState
.
items
.
forEach
{
feed
->
val
tab
=
feedsTabs
.
newTab
()
.
setCustomView
(
R
.
layout
.
feeds_tab_view
)
.
setTag
(
feed
.
feedId
)
.
setTag
(
feed
.
alias
)
tab
.
customView
?.
let
{
it
.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
text
=
feed
.
title
...
...
@@ -250,7 +250,7 @@ class FeedsScreenController :
viewState
.
restore
.
feeds
.
forEach
{
feed
->
val
tab
=
feedsTabs
.
newTab
()
.
setCustomView
(
R
.
layout
.
feeds_tab_view
)
.
setTag
(
feed
.
feedId
)
.
setTag
(
feed
.
alias
)
tab
.
customView
?.
let
{
it
.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
text
=
feed
.
title
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/ScreenPresenter.kt
View file @
0990432a
...
...
@@ -70,7 +70,7 @@ class FeedsScreenPresenter @Inject constructor(
val
switchToAllArtiles
=
intent
(
FeedsScreen
::
onAllFeedArticles
)
.
map
<
FeedsScreenViewState
>
{
FeedsScreenViewState
.
ToArticlesScreen
(
it
.
feedId
)
FeedsScreenViewState
.
ToArticlesScreen
(
it
.
alias
)
}
.
onErrorReturn
(
::
parseError
)
...
...
@@ -91,7 +91,7 @@ class FeedsScreenPresenter @Inject constructor(
val
getNewArticlesPage
=
intent
(
FeedsScreen
::
requsetsNewArticles
)
.
flatMap
{
interactor
.
fetchArticles
(
it
.
first
.
feedId
,
FEED_PREVIEW_PAGE_SIZE
,
it
.
second
)
}
.
flatMap
{
interactor
.
fetchArticles
(
it
.
first
.
alias
,
FEED_PREVIEW_PAGE_SIZE
,
it
.
second
)
}
.
map
<
FeedsScreenViewState
>
{
restoreModel
.
articles
=
it
.
articles
Timber
.
d
(
"arrived list: ${it.articles.size}"
)
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/ScreenViewState.kt
View file @
0990432a
...
...
@@ -25,7 +25,7 @@ sealed class FeedsScreenViewState : BigantoBaseViewState() {
class
SomeError
(
val
exception
:
ExceptionString
)
:
FeedsScreenViewState
()
class
ToArticlesScreen
(
val
feed
Id
:
Int
)
:
FeedsScreenViewState
()
class
ToArticlesScreen
(
val
feed
Alias
:
String
)
:
FeedsScreenViewState
()
class
ToArticle
(
val
articleId
:
Int
)
:
FeedsScreenViewState
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment