Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
AloqaIM-Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
AloqaIM-Android
Commits
dc2aa663
Commit
dc2aa663
authored
Jul 19, 2017
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Avatar class.
parent
c97b4a1d
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
46 deletions
+66
-46
Avatar.java
app/src/main/java/chat/rocket/android/helper/Avatar.java
+0
-46
Avatar.kt
app/src/main/java/chat/rocket/android/helper/Avatar.kt
+23
-0
FrescoHelper.kt
...in/java/chat/rocket/android/widget/helper/FrescoHelper.kt
+43
-0
No files found.
app/src/main/java/chat/rocket/android/helper/Avatar.java
deleted
100644 → 0
View file @
c97b4a1d
package
chat
.
rocket
.
android
.
helper
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.widget.AbsoluteUrl
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
/**
* Helper for rendering user avatar image.
*/
public
class
Avatar
{
private
final
AbsoluteUrl
absoluteUrl
;
private
final
String
username
;
public
Avatar
(
AbsoluteUrl
absoluteUrl
,
String
username
)
{
this
.
absoluteUrl
=
absoluteUrl
;
this
.
username
=
username
;
}
private
String
getImageUrl
()
{
//from Rocket.Chat:packages/rocketchat-ui/lib/avatar.coffee
//REMARK! this is often SVG image! (see: Rocket.Chat:server/startup/avatar.coffee)
try
{
final
String
avatarUrl
=
"/avatar/"
+
URLEncoder
.
encode
(
username
,
"UTF-8"
);
if
(
absoluteUrl
==
null
)
{
return
avatarUrl
;
}
return
absoluteUrl
.
from
(
avatarUrl
);
}
catch
(
UnsupportedEncodingException
exception
)
{
RCLog
.
e
(
exception
,
"failed to get URL for user: %s"
,
username
);
return
null
;
}
}
/**
* render avatar into RocketChatAvatar.
*/
public
void
into
(
final
RocketChatAvatar
rocketChatAvatar
,
boolean
showFailureImage
)
{
if
(
showFailureImage
)
{
rocketChatAvatar
.
showFailureImage
();
}
else
{
rocketChatAvatar
.
loadImage
(
getImageUrl
());
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/helper/Avatar.kt
0 → 100644
View file @
dc2aa663
package
chat.rocket.android.helper
import
chat.rocket.android.widget.AbsoluteUrl
import
chat.rocket.android.widget.RocketChatAvatar
import
java.net.URLEncoder
class
Avatar
(
val
absoluteUrl
:
AbsoluteUrl
,
val
username
:
String
)
{
val
imageUrl
:
String
/** REMARK
* This is often a SVG image (see Rocket.Chat:server/startup/avatar.js)
*/
get
()
{
return
absoluteUrl
.
from
(
"/avatar/"
+
URLEncoder
.
encode
(
username
,
"UTF-8"
))
}
/**
* render avatar into RocketChatAvatar.
*/
fun
into
(
rocketChatAvatar
:
RocketChatAvatar
)
{
rocketChatAvatar
.
loadImage
(
imageUrl
)
}
}
\ No newline at end of file
rocket-chat-android-widgets/src/main/java/chat/rocket/android/widget/helper/Fresco
Avatar
Helper.kt
→
rocket-chat-android-widgets/src/main/java/chat/rocket/android/widget/helper/FrescoHelper.kt
View file @
dc2aa663
...
...
@@ -5,33 +5,36 @@ import android.support.graphics.drawable.VectorDrawableCompat
import
chat.rocket.android.widget.R
import
com.facebook.drawee.backends.pipeline.Fresco
import
com.facebook.drawee.drawable.ProgressBarDrawable
import
com.facebook.drawee.generic.GenericDraweeHierarchy
import
com.facebook.drawee.view.SimpleDraweeView
class
FrescoAvatarHelper
{
class
FrescoHelper
{
companion
object
{
@JvmStatic
fun
loadImage
(
draweeView
:
SimpleDraweeView
,
imageUrl
:
String
)
{
val
hierarchy
=
draweeView
.
hierarchy
hierarchy
.
setPlaceholderImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
ic_avatar_placeholder
,
null
))
hierarchy
.
setFailureImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
ic_avatar_failure
,
null
))
hierarchy
.
setProgressBarImage
(
ProgressBarDrawable
())
val
controller
=
Fresco
.
newDraweeControllerBuilder
()
.
setUri
(
Uri
.
parse
(
imageUrl
))
.
setOldController
(
draweeView
.
controller
)
.
build
()
draweeView
.
controller
=
controller
@JvmStatic
fun
loadImage
(
draweeView
:
SimpleDraweeView
,
imageUri
:
String
)
{
draweeView
.
setImageURI
(
imageUri
)
}
@JvmStatic
fun
showFailureImage
(
draweeView
:
SimpleDraweeView
)
{
val
hierarchy
=
draweeView
.
hierarchy
hierarchy
.
setPlaceholderImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
ic_avatar_failure
,
null
))
hierarchy
.
setFailureImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
ic_avatar_failure
,
null
))
/** TODO
* Replace with:
* @JvmStatic fun loadImageWithCustomization(draweeView: SimpleDraweeView,
* imageUri: String,
* placeholderImageDrawableId : Int = R.drawable.image_dummy,
failureImageDrawableId: Int = R.drawable.image_error) {
* [...]
* }
* It is need to convert java files which uses loadImageWithCustomization(...) method to use the above method signature.
* See: https://kotlinlang.org/docs/reference/functions.html#default-arguments.
*/
@JvmStatic
fun
loadImageWithCustomization
(
draweeView
:
SimpleDraweeView
,
imageUri
:
String
)
{
val
hierarchy
:
GenericDraweeHierarchy
=
draweeView
.
hierarchy
hierarchy
.
setPlaceholderImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
image_dummy
,
null
))
hierarchy
.
setFailureImage
(
VectorDrawableCompat
.
create
(
draweeView
.
resources
,
R
.
drawable
.
image_error
,
null
))
hierarchy
.
setProgressBarImage
(
ProgressBarDrawable
())
val
controller
=
Fresco
.
newDraweeControllerBuilder
()
.
setUri
(
Uri
.
parse
(
imageUri
))
.
setAutoPlayAnimations
(
true
)
.
setTapToRetryEnabled
(
true
)
.
build
()
draweeView
.
controller
=
controller
...
...
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