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
5ab909ce
Commit
5ab909ce
authored
Jul 17, 2017
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete unused methods.
parent
da0d4e59
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
124 deletions
+9
-124
Avatar.java
app/src/main/java/chat/rocket/android/helper/Avatar.java
+1
-65
UserViewHolder.java
...roid/widget/message/autocomplete/user/UserViewHolder.java
+8
-59
No files found.
app/src/main/java/chat/rocket/android/helper/Avatar.java
View file @
5ab909ce
package
chat
.
rocket
.
android
.
helper
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.Canvas
;
import
android.graphics.Typeface
;
import
android.graphics.drawable.BitmapDrawable
;
import
android.graphics.drawable.Drawable
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.widget.AbsoluteUrl
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
com.amulyakhare.textdrawable.TextDrawable
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
...
...
@@ -17,11 +10,6 @@ import java.net.URLEncoder;
* Helper for rendering user avatar image.
*/
public
class
Avatar
{
private
static
final
int
[]
COLORS
=
new
int
[]{
0xFFF44336
,
0xFFE91E63
,
0xFF9C27B0
,
0xFF673AB7
,
0xFF3F51B5
,
0xFF2196F3
,
0xFF03A9F4
,
0xFF00BCD4
,
0xFF009688
,
0xFF4CAF50
,
0xFF8BC34A
,
0xFFCDDC39
,
0xFFFFC107
,
0xFFFF9800
,
0xFFFF5722
,
0xFF795548
,
0xFF9E9E9E
,
0xFF607D8B
};
private
final
AbsoluteUrl
absoluteUrl
;
private
final
String
username
;
...
...
@@ -30,43 +18,6 @@ public class Avatar {
this
.
username
=
username
;
}
private
static
int
getColorForUser
(
String
username
)
{
return
COLORS
[
username
.
length
()
%
COLORS
.
length
];
}
private
static
String
getInitialsForUser
(
String
username
)
{
String
name
=
username
.
replaceAll
(
"[^A-Za-z0-9]"
,
"."
)
.
replaceAll
(
"\\.+"
,
"."
)
.
replaceAll
(
"(^\\.)|(\\.$)"
,
""
);
String
[]
initials
=
name
.
split
(
"\\."
);
if
(
initials
.
length
>=
2
)
{
return
(
firstChar
(
initials
[
0
])
+
firstChar
(
initials
[
initials
.
length
-
1
])).
toUpperCase
();
}
else
{
String
name2
=
name
.
replaceAll
(
"[^A-Za-z0-9]"
,
""
);
return
(
name2
.
length
()
<
2
)
?
name2
:
name2
.
substring
(
0
,
2
).
toUpperCase
();
}
}
private
static
String
firstChar
(
String
str
)
{
return
TextUtils
.
isEmpty
(
str
)
?
""
:
str
.
substring
(
0
,
1
);
}
private
static
Bitmap
drawableToBitmap
(
Drawable
drawable
,
int
size
)
{
if
(
drawable
instanceof
BitmapDrawable
)
{
BitmapDrawable
bitmapDrawable
=
(
BitmapDrawable
)
drawable
;
if
(
bitmapDrawable
.
getBitmap
()
!=
null
)
{
return
bitmapDrawable
.
getBitmap
();
}
}
Bitmap
bitmap
=
Bitmap
.
createBitmap
(
size
,
size
,
Bitmap
.
Config
.
ARGB_8888
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
drawable
.
setBounds
(
0
,
0
,
canvas
.
getWidth
(),
canvas
.
getHeight
());
drawable
.
draw
(
canvas
);
return
bitmap
;
}
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)
...
...
@@ -92,19 +43,4 @@ public class Avatar {
rocketChatAvatar
.
loadImage
(
getImageUrl
());
}
}
public
Drawable
getTextDrawable
(
Context
context
)
{
if
(
username
==
null
)
{
return
null
;
}
int
round
=
(
int
)
(
4
*
context
.
getResources
().
getDisplayMetrics
().
density
);
return
TextDrawable
.
builder
()
.
beginConfig
()
.
useFont
(
Typeface
.
SANS_SERIF
)
.
endConfig
()
.
buildRoundRect
(
getInitialsForUser
(
username
),
getColorForUser
(
username
),
round
);
}
}
}
\ No newline at end of file
rocket-chat-android-widgets/src/main/java/chat/rocket/android/widget/message/autocomplete/user/UserViewHolder.java
View file @
5ab909ce
package
chat
.
rocket
.
android
.
widget
.
message
.
autocomplete
.
user
;
import
android.content.Context
;
import
android.graphics.Typeface
;
import
android.graphics.drawable.Drawable
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.amulyakhare.textdrawable.TextDrawable
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
chat.rocket.android.widget.AbsoluteUrl
;
import
chat.rocket.android.widget.R
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.message.autocomplete.AutocompleteViewHolder
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
public
class
UserViewHolder
extends
AutocompleteViewHolder
<
UserItem
>
{
private
static
final
int
[]
COLORS
=
new
int
[]{
0xFFF44336
,
0xFFE91E63
,
0xFF9C27B0
,
0xFF673AB7
,
0xFF3F51B5
,
0xFF2196F3
,
0xFF03A9F4
,
0xFF00BCD4
,
0xFF009688
,
0xFF4CAF50
,
0xFF8BC34A
,
0xFFCDDC39
,
0xFFFFC107
,
0xFFFF9800
,
0xFFFF5722
,
0xFF795548
,
0xFF9E9E9E
,
0xFF607D8B
};
private
final
TextView
titleTextView
;
private
final
RocketChatAvatar
avatar
;
private
final
ImageView
status
;
public
UserViewHolder
(
View
itemView
,
final
AutocompleteViewHolder
.
OnClickListener
<
UserItem
>
onClickListener
)
{
public
UserViewHolder
(
View
itemView
,
final
AutocompleteViewHolder
.
OnClickListener
<
UserItem
>
onClickListener
)
{
super
(
itemView
);
titleTextView
=
(
TextView
)
itemView
.
findViewById
(
R
.
id
.
title
);
avatar
=
(
RocketChatAvatar
)
itemView
.
findViewById
(
R
.
id
.
avatar
);
status
=
(
ImageView
)
itemView
.
findViewById
(
R
.
id
.
status
);
titleTextView
=
itemView
.
findViewById
(
R
.
id
.
title
);
avatar
=
itemView
.
findViewById
(
R
.
id
.
avatar
);
status
=
itemView
.
findViewById
(
R
.
id
.
status
);
itemView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
...
...
@@ -78,7 +63,7 @@ public class UserViewHolder extends AutocompleteViewHolder<UserItem> {
//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"
)
+
".jpg"
;
final
String
avatarUrl
=
"/avatar/"
+
URLEncoder
.
encode
(
username
,
"UTF-8"
);
// TODO why absoluteUrl is nullable? By allowing that, the app tries to load non-existing images
if
(
absoluteUrl
==
null
)
{
return
avatarUrl
;
...
...
@@ -88,40 +73,4 @@ public class UserViewHolder extends AutocompleteViewHolder<UserItem> {
return
null
;
}
}
private
Drawable
getTextDrawable
(
Context
context
,
String
username
)
{
if
(
username
==
null
)
{
return
null
;
}
int
round
=
(
int
)
(
4
*
context
.
getResources
().
getDisplayMetrics
().
density
);
return
TextDrawable
.
builder
()
.
beginConfig
()
.
useFont
(
Typeface
.
SANS_SERIF
)
.
endConfig
()
.
buildRoundRect
(
getInitialsForUser
(
username
),
getColorForUser
(
username
),
round
);
}
private
int
getColorForUser
(
String
username
)
{
return
COLORS
[
username
.
length
()
%
COLORS
.
length
];
}
private
String
getInitialsForUser
(
String
username
)
{
String
name
=
username
.
replaceAll
(
"[^A-Za-z0-9]"
,
"."
)
.
replaceAll
(
"\\.+"
,
"."
)
.
replaceAll
(
"(^\\.)|(\\.$)"
,
""
);
String
[]
initials
=
name
.
split
(
"\\."
);
if
(
initials
.
length
>=
2
)
{
return
(
firstChar
(
initials
[
0
])
+
firstChar
(
initials
[
initials
.
length
-
1
])).
toUpperCase
();
}
else
{
String
name2
=
name
.
replaceAll
(
"[^A-Za-z0-9]"
,
""
);
return
(
name2
.
length
()
<
2
)
?
name2
:
name2
.
substring
(
0
,
2
).
toUpperCase
();
}
}
private
static
String
firstChar
(
String
str
)
{
return
TextUtils
.
isEmpty
(
str
)
?
""
:
str
.
substring
(
0
,
1
);
}
}
}
\ No newline at end of file
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