Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
See what's new at GitLab
4
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
GitFox
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yamko
GitFox
Commits
1ee34fc6
Commit
1ee34fc6
authored
Jun 12, 2019
by
Konstantin Tskhovrebov
🤖
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change member item avatar to AvatarView.
parent
50f56045
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
39 additions
and
18 deletions
+39
-18
app/src/main/java/ru/terrakok/gitlabclient/entity/Member.kt
app/src/main/java/ru/terrakok/gitlabclient/entity/Member.kt
+1
-1
app/src/main/java/ru/terrakok/gitlabclient/ui/drawer/NavigationDrawerFragment.kt
...rrakok/gitlabclient/ui/drawer/NavigationDrawerFragment.kt
+1
-1
app/src/main/java/ru/terrakok/gitlabclient/ui/global/list/MembersAdapterDelegate.kt
...kok/gitlabclient/ui/global/list/MembersAdapterDelegate.kt
+2
-2
app/src/main/java/ru/terrakok/gitlabclient/ui/global/view/custom/AvatarView.kt
...terrakok/gitlabclient/ui/global/view/custom/AvatarView.kt
+31
-8
app/src/main/java/ru/terrakok/gitlabclient/ui/user/info/UserInfoFragment.kt
...ru/terrakok/gitlabclient/ui/user/info/UserInfoFragment.kt
+1
-2
app/src/main/res/layout/item_member.xml
app/src/main/res/layout/item_member.xml
+3
-4
No files found.
app/src/main/java/ru/terrakok/gitlabclient/entity/Member.kt
View file @
1ee34fc6
...
...
@@ -11,4 +11,4 @@ data class Member(
@SerializedName
(
"web_url"
)
val
webUrl
:
String
?,
@SerializedName
(
"expires_at"
)
val
expiresDate
:
String
?,
@SerializedName
(
"access_level"
)
val
accessLevel
:
Long
)
\ No newline at end of file
)
\ No newline at end of file
app/src/main/java/ru/terrakok/gitlabclient/ui/drawer/NavigationDrawerFragment.kt
View file @
1ee34fc6
...
...
@@ -71,7 +71,7 @@ class NavigationDrawerFragment : BaseFragment(), NavigationDrawerView, MessageDi
override
fun
setAccounts
(
accounts
:
List
<
UserAccount
>,
currentAccount
:
UserAccount
)
{
nickTV
.
text
=
currentAccount
.
userName
serverNameTV
.
text
=
currentAccount
.
serverPath
avatarImageView
.
bindUserAccount
(
currentAccount
,
true
)
avatarImageView
.
bindUserAccount
(
currentAccount
)
accountsContainer
.
removeAllViews
()
accounts
.
forEach
{
acc
->
...
...
app/src/main/java/ru/terrakok/gitlabclient/ui/global/list/MembersAdapterDelegate.kt
View file @
1ee34fc6
...
...
@@ -8,7 +8,7 @@ import kotlinx.android.synthetic.main.item_member.view.*
import
ru.terrakok.gitlabclient.R
import
ru.terrakok.gitlabclient.entity.Member
import
ru.terrakok.gitlabclient.extension.inflate
import
ru.terrakok.gitlabclient.
extension.loadRoundedImage
import
ru.terrakok.gitlabclient.
ui.global.view.custom.bindMember
/**
* @author Valentin Logvinovitch (glvvl) on 28.02.19.
...
...
@@ -46,7 +46,7 @@ class MembersAdapterDelegate(
fun
bind
(
data
:
Member
)
{
this
.
data
=
data
with
(
itemView
)
{
avatar
ImageView
.
loadRoundedImage
(
data
.
avatarUrl
)
avatar
View
.
bindMember
(
data
)
nameTextView
.
text
=
data
.
name
roleTextView
.
text
=
data
.
accessLevel
.
accessToString
()
}
...
...
app/src/main/java/ru/terrakok/gitlabclient/ui/global/view/custom/AvatarView.kt
View file @
1ee34fc6
...
...
@@ -16,6 +16,7 @@ import ru.terrakok.cicerone.Router
import
ru.terrakok.gitlabclient.R
import
ru.terrakok.gitlabclient.Screens
import
ru.terrakok.gitlabclient.di.DI
import
ru.terrakok.gitlabclient.entity.Member
import
ru.terrakok.gitlabclient.entity.Project
import
ru.terrakok.gitlabclient.entity.ShortUser
import
ru.terrakok.gitlabclient.entity.User
...
...
@@ -56,8 +57,10 @@ class AvatarView @JvmOverloads constructor(
}
if
(
shortName
.
length
==
SHORT_NAME_LENGTH
)
{
avatarShortName
.
text
=
shortName
val
shortNameBackgroundColor
=
shortNameBackgroundColors
[(
id
%
shortNameBackgroundColors
.
size
).
toInt
()]
avatarShortName
.
background
=
context
.
getTintDrawable
(
R
.
drawable
.
circle
,
shortNameBackgroundColor
)
val
shortNameBackgroundColor
=
shortNameBackgroundColors
[(
id
%
shortNameBackgroundColors
.
size
).
toInt
()]
avatarShortName
.
background
=
context
.
getTintDrawable
(
R
.
drawable
.
circle
,
shortNameBackgroundColor
)
}
else
{
avatarImage
.
setImageResource
(
R
.
drawable
.
default_img
)
}
...
...
@@ -131,20 +134,40 @@ class AvatarView @JvmOverloads constructor(
}
}
fun
AvatarView
.
bindShortUser
(
shortUser
:
ShortUser
)
{
fun
AvatarView
.
bindShortUser
(
shortUser
:
ShortUser
,
withNavigation
:
Boolean
=
true
)
{
with
(
shortUser
)
{
val
router
=
Toothpick
.
openScope
(
DI
.
APP_SCOPE
).
getInstance
(
Router
::
class
.
java
)
setData
(
id
,
name
,
avatarUrl
)
{
router
.
navigateTo
(
Screens
.
UserFlow
(
id
))
}
if
(
withNavigation
)
{
val
router
=
Toothpick
.
openScope
(
DI
.
APP_SCOPE
).
getInstance
(
Router
::
class
.
java
)
setData
(
id
,
name
,
avatarUrl
)
{
router
.
navigateTo
(
Screens
.
UserFlow
(
id
))
}
}
else
{
setData
(
id
,
name
,
avatarUrl
)
}
}
}
fun
AvatarView
.
bindUser
(
user
:
User
)
{
fun
AvatarView
.
bindUser
(
user
:
User
,
withNavigation
:
Boolean
=
true
)
{
with
(
user
)
{
setData
(
id
,
name
,
avatarUrl
)
if
(
withNavigation
)
{
val
router
=
Toothpick
.
openScope
(
DI
.
APP_SCOPE
).
getInstance
(
Router
::
class
.
java
)
setData
(
id
,
name
,
avatarUrl
)
{
router
.
navigateTo
(
Screens
.
UserFlow
(
id
))
}
}
else
{
setData
(
id
,
name
,
avatarUrl
)
}
}
}
fun
AvatarView
.
bindMember
(
member
:
Member
,
withNavigation
:
Boolean
=
true
)
{
with
(
member
)
{
if
(
withNavigation
)
{
val
router
=
Toothpick
.
openScope
(
DI
.
APP_SCOPE
).
getInstance
(
Router
::
class
.
java
)
setData
(
id
,
name
,
avatarUrl
)
{
router
.
navigateTo
(
Screens
.
UserFlow
(
id
))
}
}
else
{
setData
(
id
,
name
,
avatarUrl
)
}
}
}
fun
AvatarView
.
bindUserAccount
(
userAccount
:
UserAccount
,
withNavigation
:
Boolean
)
{
fun
AvatarView
.
bindUserAccount
(
userAccount
:
UserAccount
,
withNavigation
:
Boolean
=
true
)
{
with
(
userAccount
)
{
if
(
withNavigation
)
{
val
router
=
Toothpick
.
openScope
(
DI
.
APP_SCOPE
).
getInstance
(
Router
::
class
.
java
)
...
...
app/src/main/java/ru/terrakok/gitlabclient/ui/user/info/UserInfoFragment.kt
View file @
1ee34fc6
...
...
@@ -13,7 +13,6 @@ import ru.terrakok.gitlabclient.extension.tryOpenLink
import
ru.terrakok.gitlabclient.presentation.user.info.UserInfoPresenter
import
ru.terrakok.gitlabclient.presentation.user.info.UserInfoView
import
ru.terrakok.gitlabclient.ui.global.BaseFragment
import
ru.terrakok.gitlabclient.ui.global.view.custom.bindShortUser
import
ru.terrakok.gitlabclient.ui.global.view.custom.bindUser
/**
...
...
@@ -59,7 +58,7 @@ class UserInfoFragment : BaseFragment(), UserInfoView {
override
fun
showUser
(
user
:
User
)
{
this
.
user
=
user
toolbar
.
title
=
user
.
username
avatarImageView
.
bindUser
(
user
)
avatarImageView
.
bindUser
(
user
,
false
)
usernameTextView
.
text
=
user
.
name
userIdTextView
.
text
=
"@${user.username}"
...
...
app/src/main/res/layout/item_member.xml
View file @
1ee34fc6
...
...
@@ -6,14 +6,13 @@
android:layout_height=
"wrap_content"
android:background=
"?attr/selectableItemBackground"
>
<
Image
View
android:id=
"@+id/avatar
Image
View"
<
ru.terrakok.gitlabclient.ui.global.view.custom.Avatar
View
android:id=
"@+id/avatarView"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"12dp"
android:layout_marginBottom=
"12dp"
android:src=
"@drawable/default_img"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
...
...
@@ -29,7 +28,7 @@
android:lines=
"1"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/roleTextView"
app:layout_constraintStart_toEndOf=
"@+id/avatar
Image
View"
app:layout_constraintStart_toEndOf=
"@+id/avatarView"
app:layout_constraintTop_toTopOf=
"parent"
tools:text=
"Konstantin Tskhovrebov"
/>
...
...
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