# UserPortraitScreenlet for Android
## Requirements
- Android SDK 4.0 (API Level 14) and above
- Liferay Portal 6.2 CE or EE
- Picasso library
## Compatibility
- Android SDK 4.0 (API Level 14) and above
## Features
The `UserPortraitScreenlet` shows the user's profile picture from their Liferay Portal. If the user doesn't have a profile picture, a placeholder image is shown. The screenlet allows the profile picture to be edited via the `editable` property.
## Module
- None
## Views
- Default
- Material
![The `UserPortraitScreenlet` using the Default and Material viewsets.](images/userportrait.png)
## Portal Configuration
No additional steps required.
## Activity Configuration
The `UserPortraitScreenlet` needs the following user permissions:
```xml
`Intent onActivityResultData)` | `void` | Starts the request to upload a profile picture from the source specified in the `requestCode` property (gallery or camera), and with the path stored in the `onActivityResultData` variable. |
## Listener
The `UserPortraitScreenlet` delegates some events to an object that implements the `UserPortraitListener` interface. This interface lets you implement the following methods:
| Method | Explanation |
|-----------|-------------|
|
onUserPortraitReceived(| Called when an image is received from the server. You can then apply image filters (grayscale, for example) and return the new image. You can return `null` or the original image supplied as the argument if you don't want to modify it. | |
UserPortraitScreenlet source,
Bitmap bitmap)
onUserPortraitFailure(| Called when an error occurs in the process. | |
UserPortraitScreenlet source,
Exception e)
onUserPortraitUploaded(| Called when the user portrait upload service finishes. | |
UserPortraitScreenlet source)
onUserPortraitUploadFailure(| Called when an error occurs uploading the user portrait. |
UserPortraitScreenlet source,
Exception e)