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
4c946d7f
Commit
4c946d7f
authored
Jan 14, 2020
by
Vladislav Bogdashkin
🎣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
show deal screen over press card
parent
30d496d2
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
43 additions
and
48 deletions
+43
-48
ScreenController.kt
...ual/roompark/presentation/screen/deal/ScreenController.kt
+0
-2
ScreenDI.kt
...anto/visual/roompark/presentation/screen/deal/ScreenDI.kt
+0
-4
ScreenController.kt
...al/roompark/presentation/screen/deals/ScreenController.kt
+26
-9
Adapter.kt
...visual/roompark/presentation/screen/deals/util/Adapter.kt
+16
-32
ScreenController.kt
...oompark/presentation/screen/favorites/ScreenController.kt
+1
-1
No files found.
app/src/main/java/com/biganto/visual/roompark/presentation/screen/deal/ScreenController.kt
View file @
4c946d7f
...
...
@@ -10,8 +10,6 @@ import com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.base.RoomParkApplication
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.presentation.screen.deals.util.createStatusView
import
com.biganto.visual.roompark.presentation.screen.deals.util.deployProgressView
import
com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressAnimationState
import
com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressCeil
import
com.google.android.material.textview.MaterialTextView
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/deal/ScreenDI.kt
View file @
4c946d7f
...
...
@@ -4,10 +4,6 @@ import android.content.Context
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.di.dagger.AppComponent
import
com.biganto.visual.roompark.di.dagger.PerScreen
import
com.biganto.visual.roompark.presentation.screen.estate.DealScreenComponent
import
com.biganto.visual.roompark.presentation.screen.estate.DealScreenController
import
com.biganto.visual.roompark.presentation.screen.estate.DealScreenModule
import
com.biganto.visual.roompark.presentation.screen.estate.DealScreenPresenter
import
dagger.Binds
import
dagger.BindsInstance
import
dagger.Component
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/deals/ScreenController.kt
View file @
4c946d7f
...
...
@@ -8,8 +8,12 @@ import com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.base.RoomParkApplication
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.presentation.screen.deal.DealScreenController
import
com.biganto.visual.roompark.presentation.screen.deals.util.DealsListAdapter
import
com.biganto.visual.roompark.util.view_utils.grid.CeilsDecoration
import
com.bluelinelabs.conductor.RouterTransaction
import
com.bluelinelabs.conductor.changehandler.FadeChangeHandler
import
io.reactivex.android.schedulers.AndroidSchedulers
import
timber.log.Timber
import
javax.inject.Inject
...
...
@@ -28,17 +32,17 @@ class DealsScreenController :
}
@BindView
(
R
.
id
.
favorites_cards_recycler_view
)
lateinit
var
favorite
sRecyclerView
:
RecyclerView
lateinit
var
deal
sRecyclerView
:
RecyclerView
private
fun
bindRecycler
()
{
favorite
sRecyclerView
.
isNestedScrollingEnabled
=
true
favorite
sRecyclerView
.
layoutManager
=
deal
sRecyclerView
.
isNestedScrollingEnabled
=
true
deal
sRecyclerView
.
layoutManager
=
LinearLayoutManager
(
activity
,
RecyclerView
.
VERTICAL
,
false
)
favorite
sRecyclerView
.
adapter
=
DealsListAdapter
()
favorite
sRecyclerView
.
itemAnimator
=
null
deal
sRecyclerView
.
adapter
=
DealsListAdapter
()
deal
sRecyclerView
.
itemAnimator
=
null
if
(
favorite
sRecyclerView
.
itemDecorationCount
==
0
)
favorite
sRecyclerView
.
addItemDecoration
(
if
(
deal
sRecyclerView
.
itemDecorationCount
==
0
)
deal
sRecyclerView
.
addItemDecoration
(
CeilsDecoration
(
1
,
resources
?.
getDimensionPixelSize
(
R
.
dimen
.
ceil_grid_padding
))
)
...
...
@@ -51,7 +55,7 @@ class DealsScreenController :
toolBar
.
appBar
.
liftOnScrollTargetViewId
=
R
.
id
.
favorites_cards_recycler_view
toolBar
.
appBar
.
setLiftable
(
true
)
toolBar
.
appBarScrollable
(
false
)
favorite
sRecyclerView
.
isNestedScrollingEnabled
=
false
deal
sRecyclerView
.
isNestedScrollingEnabled
=
false
}
@Inject
...
...
@@ -61,6 +65,19 @@ class DealsScreenController :
override
fun
onViewBound
(
v
:
View
)
{
setToolbar
()
bindRecycler
()
detachDisposable
.
addAll
(
(
dealsRecyclerView
.
adapter
as
DealsListAdapter
)
.
onItemClicked
.
map
{
it
.
id
.
toInt
()
}
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
{
Timber
.
d
(
"got card clicked $it"
)
router
.
pushController
(
RouterTransaction
.
with
(
DealScreenController
(
it
))
.
pushChangeHandler
(
FadeChangeHandler
())
.
popChangeHandler
(
FadeChangeHandler
())
)
}
)
}
override
fun
render
(
viewState
:
DealsScreenViewState
)
{
...
...
@@ -78,7 +95,7 @@ class DealsScreenController :
}
private
fun
render
(
viewState
:
DealsScreenViewState
.
DealsLoaded
){
(
favorite
sRecyclerView
.
adapter
as
DealsListAdapter
).
addItems
(
viewState
.
items
)
(
deal
sRecyclerView
.
adapter
as
DealsListAdapter
).
addItems
(
viewState
.
items
)
}
private
fun
render
(
viewState
:
DealsScreenViewState
.
SomeError
)
=
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/deals/util/Adapter.kt
View file @
4c946d7f
...
...
@@ -6,12 +6,13 @@ import android.view.View
import
android.view.ViewGroup
import
android.widget.LinearLayout
import
android.widget.TextView
import
androidx.recyclerview.widget.RecyclerView
import
butterknife.BindView
import
butterknife.ButterKnife
import
com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.domain.model.StatusModel
import
com.biganto.visual.roompark.presentation.screen.deals.DealPreviewModel
import
com.biganto.visual.roompark.presentation.screen.settings.util.CommonRecyclerAdapter
import
com.biganto.visual.roompark.presentation.screen.settings.util.CommonViewHolder
import
com.biganto.visual.roompark.util.extensions.toRubly
import
com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressAnimationState
import
com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressCeil
...
...
@@ -21,31 +22,14 @@ import com.google.android.material.textview.MaterialTextView
* Created by Vladislav Bogdashkin on 16.10.2019.
*/
class
DealsListAdapter
:
RecyclerView
.
Adapter
<
DealViewHolder
>()
{
private
var
list
:
MutableList
<
DealPreviewModel
>
=
mutableListOf
()
fun
addItems
(
list
:
List
<
DealPreviewModel
>){
this
.
list
.
clear
()
this
.
list
.
addAll
(
list
)
notifyDataSetChanged
()
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
DealViewHolder
=
DealViewHolder
(
LayoutInflater
.
from
(
parent
.
context
)
.
inflate
(
R
.
layout
.
deal_card_viewholder
,
parent
,
false
)
)
override
fun
getItemCount
():
Int
=
list
.
size
override
fun
onBindViewHolder
(
holder
:
DealViewHolder
,
position
:
Int
)
{
holder
.
bindModel
(
list
[
position
])
}
class
DealsListAdapter
:
CommonRecyclerAdapter
<
DealViewHolder
,
DealPreviewModel
>()
{
override
val
vhKlazz
=
DealViewHolder
::
class
override
fun
getVhLayout
()
=
R
.
layout
.
deal_card_viewholder
}
class
DealViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
class
DealViewHolder
(
itemView
:
View
)
:
CommonViewHolder
<
DealPreviewModel
>(
itemView
)
{
@BindView
(
R
.
id
.
deal_card_header
)
lateinit
var
estateTitle
:
TextView
@BindView
(
R
.
id
.
common_info_block
)
lateinit
var
commonInfo
:
View
...
...
@@ -76,24 +60,24 @@ class DealViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
ButterKnife
.
bind
(
this
,
itemView
)
}
fun
bindModel
(
dea
l
:
DealPreviewModel
)
{
val
fullObjName
=
"${typeName(
deal.type)}\n№${dea
l.name}"
override
fun
onViewBound
(
mode
l
:
DealPreviewModel
)
{
val
fullObjName
=
"${typeName(
model.type)}\n№${mode
l.name}"
estateTitle
.
text
=
fullObjName
renderCommonInfo
(
dea
l
)
renderCommonInfo
(
mode
l
)
if
(
dea
l
.
dealTourIds
.
isNullOrEmpty
())
startTour
.
visibility
=
View
.
GONE
if
(
mode
l
.
dealTourIds
.
isNullOrEmpty
())
startTour
.
visibility
=
View
.
GONE
else
startTour
.
visibility
=
View
.
VISIBLE
dealSum
.
text
=
dea
l
.
dealSum
.
toRubly
()
dealPayed
.
text
=
dea
l
.
dealPayout
.
toRubly
()
dealSumToPay
.
text
=
dea
l
.
dealToPay
.
toRubly
()
dealSum
.
text
=
mode
l
.
dealSum
.
toRubly
()
dealPayed
.
text
=
mode
l
.
dealPayout
.
toRubly
()
dealSumToPay
.
text
=
mode
l
.
dealToPay
.
toRubly
()
statusContainer
.
deployProgressView
(
deal
.
statusList
,
dea
l
.
statusNo
,
false
)
statusContainer
.
deployProgressView
(
model
.
statusList
,
mode
l
.
statusNo
,
false
)
val
currentStatusText
=
LayoutInflater
.
from
(
itemView
.
context
)
.
inflate
(
R
.
layout
.
status_title_textview
,
statusContainer
,
false
)
as
MaterialTextView
currentStatusText
.
text
=
deal
.
statusList
[
dea
l
.
statusNo
-
1
].
title
currentStatusText
.
text
=
model
.
statusList
[
mode
l
.
statusNo
-
1
].
title
statusLayout
.
addView
(
currentStatusText
,
0
)
statusLayout
.
invalidate
()
}
...
...
app/src/main/java/com/biganto/visual/roompark/presentation/screen/favorites/ScreenController.kt
View file @
4c946d7f
...
...
@@ -8,7 +8,7 @@ import com.biganto.visual.roompark.R
import
com.biganto.visual.roompark.base.RoomParkApplication
import
com.biganto.visual.roompark.base.RoomParkMainActivity
import
com.biganto.visual.roompark.conductor.BigantoBaseController
import
com.biganto.visual.roompark.presentation.screen.
deal
.EstateScreenController
import
com.biganto.visual.roompark.presentation.screen.
estate
.EstateScreenController
import
com.biganto.visual.roompark.presentation.screen.favorites.util.FavoritesListAdapter
import
com.biganto.visual.roompark.util.view_utils.grid.CeilsDecoration
import
com.bluelinelabs.conductor.RouterTransaction
...
...
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