Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
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
948b06c0
Commit
948b06c0
authored
Oct 15, 2019
by
Vladislav Bogdashkin
🎣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feeds preview block
parent
089f00bc
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
59 additions
and
27 deletions
+59
-27
ScreenController.kt
...al/roompark/presentation/screen/feeds/ScreenController.kt
+16
-1
ArticlesPreviewAdapter.kt
...presentation/screen/feeds/utils/ArticlesPreviewAdapter.kt
+8
-3
feed_viewholder.xml
app/src/main/res/layout/feed_viewholder.xml
+16
-8
feeds_block_view.xml
app/src/main/res/layout/feeds_block_view.xml
+13
-9
feeds_screen.xml
app/src/main/res/layout/feeds_screen.xml
+6
-6
No files found.
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/ScreenController.kt
View file @
948b06c0
...
@@ -2,12 +2,15 @@ package com.biganto.visual.roompark.presentation.screen.feeds
...
@@ -2,12 +2,15 @@ package com.biganto.visual.roompark.presentation.screen.feeds
import
android.view.View
import
android.view.View
import
android.widget.TextView
import
android.widget.TextView
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
butterknife.BindView
import
butterknife.BindView
import
com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.base.RoomParkApplication
import
com.biganto.visual.roompark.base.RoomParkApplication
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.domain.model.FeedModel
import
com.biganto.visual.roompark.domain.model.FeedModel
import
com.biganto.visual.roompark.presentation.screen.feeds.utils.ArticlesPreviewAdapter
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayout
import
com.jakewharton.rxbinding3.material.selections
import
com.jakewharton.rxbinding3.material.selections
import
io.reactivex.Observable
import
io.reactivex.Observable
...
@@ -38,6 +41,17 @@ class FeedsScreenController :
...
@@ -38,6 +41,17 @@ class FeedsScreenController :
@BindView
(
R
.
id
.
feedsTabs
)
@BindView
(
R
.
id
.
feedsTabs
)
lateinit
var
feedsTabs
:
TabLayout
lateinit
var
feedsTabs
:
TabLayout
@BindView
(
R
.
id
.
feedsRecyclerView
)
lateinit
var
feedsRecyclerView
:
RecyclerView
private
fun
bindRecycler
(){
feedsRecyclerView
.
isNestedScrollingEnabled
=
true
feedsRecyclerView
.
layoutManager
=
LinearLayoutManager
(
activity
,
RecyclerView
.
VERTICAL
,
false
)
feedsRecyclerView
.
adapter
=
ArticlesPreviewAdapter
()
feedsRecyclerView
.
itemAnimator
=
null
}
private
var
storedFeedsList
:
List
<
FeedModel
>
=
arrayListOf
()
private
var
storedFeedsList
:
List
<
FeedModel
>
=
arrayListOf
()
...
@@ -46,7 +60,7 @@ class FeedsScreenController :
...
@@ -46,7 +60,7 @@ class FeedsScreenController :
override
fun
onViewBound
(
v
:
View
)
{
override
fun
onViewBound
(
v
:
View
)
{
bindRecycler
()
}
}
override
fun
render
(
viewState
:
FeedsScreenViewState
)
{
override
fun
render
(
viewState
:
FeedsScreenViewState
)
{
...
@@ -84,6 +98,7 @@ class FeedsScreenController :
...
@@ -84,6 +98,7 @@ class FeedsScreenController :
private
fun
render
(
viewState
:
FeedsScreenViewState
.
GetFeedArticlesPreview
){
private
fun
render
(
viewState
:
FeedsScreenViewState
.
GetFeedArticlesPreview
){
(
feedsRecyclerView
.
adapter
as
ArticlesPreviewAdapter
).
addItems
(
viewState
.
items
)
snackbar
.
showSnackBar
(
viewState
.
items
.
first
().
announce
)
snackbar
.
showSnackBar
(
viewState
.
items
.
first
().
announce
)
}
}
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/feeds/utils/ArticlesPreviewAdapter.kt
View file @
948b06c0
...
@@ -22,10 +22,17 @@ class ArticlesPreviewAdapter : RecyclerView.Adapter<ArticlePreviewViewHolder>()
...
@@ -22,10 +22,17 @@ class ArticlesPreviewAdapter : RecyclerView.Adapter<ArticlePreviewViewHolder>()
private
var
list
:
MutableList
<
ArticlePreviewModel
>
=
mutableListOf
()
private
var
list
:
MutableList
<
ArticlePreviewModel
>
=
mutableListOf
()
fun
addItems
(
list
:
List
<
ArticlePreviewModel
>){
this
.
list
.
clear
()
this
.
list
.
addAll
(
list
)
notifyDataSetChanged
()
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ArticlePreviewViewHolder
=
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ArticlePreviewViewHolder
=
ArticlePreviewViewHolder
(
ArticlePreviewViewHolder
(
LayoutInflater
.
from
(
parent
.
context
)
LayoutInflater
.
from
(
parent
.
context
)
.
inflate
(
com
.
biganto
.
visual
.
roompark
.
R
.
layout
.
feed_direct
_viewholder
,
parent
,
false
)
.
inflate
(
R
.
layout
.
feed
_viewholder
,
parent
,
false
)
)
)
override
fun
getItemCount
():
Int
=
list
.
size
override
fun
getItemCount
():
Int
=
list
.
size
...
@@ -45,7 +52,6 @@ class ArticlePreviewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemVie
...
@@ -45,7 +52,6 @@ class ArticlePreviewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemVie
@BindView
(
R
.
id
.
imageHolder
)
lateinit
var
preview
:
ImageView
@BindView
(
R
.
id
.
imageHolder
)
lateinit
var
preview
:
ImageView
@BindView
(
R
.
id
.
feed_date_text_view
)
lateinit
var
articleDate
:
TextView
@BindView
(
R
.
id
.
feed_date_text_view
)
lateinit
var
articleDate
:
TextView
@BindView
(
R
.
id
.
feed_title_info_text_view
)
lateinit
var
articleTitle
:
TextView
@BindView
(
R
.
id
.
feed_title_info_text_view
)
lateinit
var
articleTitle
:
TextView
@BindView
(
R
.
id
.
feed_text_info_text_view
)
lateinit
var
articleDescription
:
TextView
@BindView
(
R
.
id
.
feed_read
)
lateinit
var
articleIsRead
:
View
@BindView
(
R
.
id
.
feed_read
)
lateinit
var
articleIsRead
:
View
...
@@ -56,7 +62,6 @@ class ArticlePreviewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemVie
...
@@ -56,7 +62,6 @@ class ArticlePreviewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemVie
fun
bindModel
(
model
:
ArticlePreviewModel
){
fun
bindModel
(
model
:
ArticlePreviewModel
){
articleDate
.
text
=
dateFormatter
.
format
(
model
.
published
)
articleDate
.
text
=
dateFormatter
.
format
(
model
.
published
)
articleTitle
.
text
=
model
.
title
articleTitle
.
text
=
model
.
title
articleDescription
.
text
=
model
.
announce
articleIsRead
.
setGone
(
model
.
isRead
)
articleIsRead
.
setGone
(
model
.
isRead
)
Picasso
.
get
()
Picasso
.
get
()
...
...
app/src/main/res/layout/feed_viewholder.xml
View file @
948b06c0
...
@@ -4,15 +4,16 @@
...
@@ -4,15 +4,16 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/linearLayout3"
android:id=
"@+id/linearLayout3"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
60dp
"
android:layout_height=
"
wrap_content
"
android:background=
"@color/colorFeedViewHolderBackground"
android:background=
"@color/colorFeedViewHolderBackground"
android:orientation=
"vertical"
android:orientation=
"vertical"
>
android:paddingEnd=
"128dp"
>
<com.biganto.visual.roompark.view_utils.image_view.RoundedImageView
<com.biganto.visual.roompark.view_utils.image_view.RoundedImageView
android:id=
"@+id/imageHolder"
android:id=
"@+id/imageHolder"
android:layout_width=
"60dp"
android:layout_width=
"60dp"
android:layout_height=
"60dp"
android:layout_height=
"60dp"
android:layout_marginTop=
"8dp"
android:layout_marginBottom=
"8dp"
android:background=
"@color/colorAccentSecondary"
android:background=
"@color/colorAccentSecondary"
app:image_corner_radius=
"4dp"
app:image_corner_radius=
"4dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
...
@@ -31,7 +32,7 @@
...
@@ -31,7 +32,7 @@
android:id=
"@+id/feed_read"
android:id=
"@+id/feed_read"
android:layout_width=
"8dp"
android:layout_width=
"8dp"
android:layout_height=
"8dp"
android:layout_height=
"8dp"
android:layout_marginTop=
"
2
dp"
android:layout_marginTop=
"
10
dp"
android:background=
"@drawable/new_feed_icon"
android:background=
"@drawable/new_feed_icon"
android:visibility=
"visible"
android:visibility=
"visible"
app:layout_constraintStart_toStartOf=
"@+id/guideline"
app:layout_constraintStart_toStartOf=
"@+id/guideline"
...
@@ -40,26 +41,33 @@
...
@@ -40,26 +41,33 @@
<TextView
<TextView
android:id=
"@+id/feed_date_text_view"
android:id=
"@+id/feed_date_text_view"
style=
"@style/Feed.Notice"
style=
"@style/Feed.Notice"
android:layout_width=
"
0dp
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"8dp"
android:layout_marginEnd=
"32dp"
android:includeFontPadding=
"false"
android:includeFontPadding=
"false"
android:text=
"22 / 02 / 2019"
android:text=
"22 / 02 / 2019"
android:visibility=
"visible"
android:visibility=
"visible"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"@+id/guideline"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toEndOf=
"@+id/guideline"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
<TextView
android:id=
"@+id/feed_title_info_text_view"
style=
"@style/Common_Text.Inverted"
style=
"@style/Common_Text.Inverted"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"32dp"
android:layout_marginBottom=
"8dp"
android:includeFontPadding=
"false"
android:includeFontPadding=
"false"
android:maxLines=
"3"
android:maxLines=
"3"
android:text=
"В «РУМЯНЦЕВО-ПАРК» ПРИСТУПИЛИ К МОНТАЖУ ОКОННЫХ БЛОКОВ"
android:text=
"В «РУМЯНЦЕВО-ПАРК» ПРИСТУПИЛИ К МОНТАЖУ ОКОННЫХ БЛОКОВ"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"@+id/guideline"
app:layout_constraintStart_toEndOf=
"@+id/guideline"
app:layout_constraintTop_toBottomOf=
"@+id/feed_date_text_view"
/>
app:layout_constraintTop_toBottomOf=
"@+id/feed_date_text_view"
app:layout_constraintVertical_bias=
"0.0"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/feeds_block_view.xml
View file @
948b06c0
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/linearLayout2"
android:id=
"@+id/linearLayout2"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
448dp
"
android:layout_height=
"
wrap_content
"
android:background=
"@drawable/gradient_background_accent"
android:background=
"@drawable/gradient_background_accent"
android:orientation=
"vertical"
android:orientation=
"vertical"
android:paddingStart=
"16dp"
>
android:paddingStart=
"16dp"
>
...
@@ -14,32 +14,35 @@
...
@@ -14,32 +14,35 @@
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"#00000000"
android:background=
"#00000000"
app:tabMaxWidth=
"@dimen/feeds_tab_max_width"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:tabMaxWidth=
"@dimen/feeds_tab_max_width"
app:tabMode=
"scrollable"
/>
app:tabMode=
"scrollable"
/>
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/feedsRecyclerView"
android:id=
"@+id/feedsRecyclerView"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_height=
"wrap_content"
tools:listitem=
"@layout/feed_direct_viewholder"
android:layout_marginTop=
"16dp"
app:layout_constraintBottom_toTopOf=
"@+id/feeds_divider"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/feedsTabs"
/>
app:layout_constraintTop_toBottomOf=
"@+id/feedsTabs"
tools:listitem=
"@layout/feed_direct_viewholder"
/>
<include
<include
android:id=
"@+id/feeds_divider"
android:id=
"@+id/feeds_divider"
layout=
"@layout/horizontal_divider"
layout=
"@layout/horizontal_divider"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_height=
"1dp"
android:layout_marginTop=
"8dp"
android:background=
"@drawable/botttom_bar_shadow"
android:background=
"@drawable/botttom_bar_shadow"
app:layout_constraintBottom_toTopOf=
"@+id/textView4"
/>
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/feedsRecyclerView"
/>
<com.google.android.material.button.MaterialButton
<com.google.android.material.button.MaterialButton
android:id=
"@+id/t
extView4
"
android:id=
"@+id/t
o_feed_articles
"
style=
"@style/AllFeeds.News"
style=
"@style/AllFeeds.News"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -47,5 +50,6 @@
...
@@ -47,5 +50,6 @@
android:gravity=
"center_vertical|end"
android:gravity=
"center_vertical|end"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
/>
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/feeds_divider"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/feeds_screen.xml
View file @
948b06c0
...
@@ -10,12 +10,12 @@
...
@@ -10,12 +10,12 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<include
<include
android:id=
"@+id/include"
android:id=
"@+id/include"
layout=
"@layout/feeds_block_view"
layout=
"@layout/feeds_block_view"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.google.android.material.textview.MaterialTextView
<com.google.android.material.textview.MaterialTextView
android:id=
"@+id/dev_progress_header"
android:id=
"@+id/dev_progress_header"
...
...
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