public class UserAccountManagerImpl extends java.lang.Object implements UserAccountManager
Modifier and Type | Class and Description |
---|---|
static class |
UserAccountManagerImpl.FacebookCreateUserException |
static class |
UserAccountManagerImpl.FacebookSignInException |
Constructor and Description |
---|
UserAccountManagerImpl(android.content.Context context,
TokenAuthenticator authenticator,
GfycatAPI gfycatAPI,
NoAuthAPI noAuthApi,
java.lang.Runnable dropUserRelatedContent) |
Modifier and Type | Method and Description |
---|---|
<any> |
facebookSignIn(java.lang.String facebookToken,
java.lang.String facebookId,
java.lang.String facebookName)
Sign in with facebook token.
|
<any> |
facebookSignUp(java.lang.String login,
java.lang.String facebookToken)
Register new user with facebook token and login.
|
UserInfo |
getUserInfo() |
boolean |
isSignedIn() |
boolean |
isUserGhost() |
boolean |
isUserReal() |
<any> |
observe()
UserInfo changes Observable.
|
Completable |
observeUserNameAvailability(java.lang.String username)
Network request for username availability status.
|
void |
release() |
Completable |
resetPassword(java.lang.String email)
Reset password by providing email address.
|
<any> |
signIn(java.lang.String accountOrEmail,
java.lang.String password)
Sign in existing user.
|
void |
signOut()
Sign out from current account.
|
<any> |
signUp(java.lang.String username,
java.lang.String password)
Register new user.
|
<any> |
signUp(java.lang.String email,
java.lang.String username,
java.lang.String password)
Register new user.
|
Completable |
signUpGhost() |
Completable |
updateUserProfile(UpdateUserInfo body)
Update user profile with UpdateUserInfo data.
|
Completable |
uploadUserAvatar(java.io.InputStream is)
Update user's profile picture.
|
Completable |
validateUserEmail()
Request email verification
|
public UserAccountManagerImpl(android.content.Context context, TokenAuthenticator authenticator, GfycatAPI gfycatAPI, NoAuthAPI noAuthApi, java.lang.Runnable dropUserRelatedContent)
public boolean isUserReal()
public boolean isUserGhost()
public <any> facebookSignUp(java.lang.String login, java.lang.String facebookToken)
UserAccountManager
facebookSignUp
in interface UserAccountManager
login
- to create account with.facebookToken
- from users's facebook account.public Completable validateUserEmail()
UserAccountManager
See http://developers.gfycat.com/api/#sending-an-email-verification-request
validateUserEmail
in interface UserAccountManager
public <any> facebookSignIn(java.lang.String facebookToken, java.lang.String facebookId, java.lang.String facebookName)
UserAccountManager
facebookSignIn
in interface UserAccountManager
facebookToken
- facebook token for authentication.facebookId
- facebook user id for GfycatAnalytics. Can be null.facebookName
- facebook user name for GfycatAnalytics. Can be null.public <any> signIn(java.lang.String accountOrEmail, java.lang.String password)
UserAccountManager
signIn
in interface UserAccountManager
accountOrEmail
- user's email or account.password
- user's password.public Completable signUpGhost()
public <any> signUp(java.lang.String username, java.lang.String password)
UserAccountManager
signUp
in interface UserAccountManager
username
- username.password
- user's password.public <any> signUp(java.lang.String email, java.lang.String username, java.lang.String password)
UserAccountManager
signUp
in interface UserAccountManager
email
- user's email.username
- username.password
- user's password.public Completable resetPassword(java.lang.String email)
UserAccountManager
See http://developers.gfycat.com/api/#send-a-password-reset-email
resetPassword
in interface UserAccountManager
public void signOut()
UserAccountManager
signOut
in interface UserAccountManager
public boolean isSignedIn()
isSignedIn
in interface UserAccountManager
public Completable observeUserNameAvailability(java.lang.String username)
UserAccountManager
See https://developers.gfycat.com/api/#checking-if-the-username-is-available-username-exists-username-is-valid for more information
observeUserNameAvailability
in interface UserAccountManager
public UserInfo getUserInfo()
getUserInfo
in interface UserAccountManager
public <any> observe()
UserAccountManager
This is an infinite Observable - onComplete() and onError() will never be called.
Note: This call will not perform any network requests.
observe
in interface UserAccountManager
public Completable updateUserProfile(UpdateUserInfo body)
UserAccountManager
See http://developers.gfycat.com/api/#updating-user-39-s-details for details.
updateUserProfile
in interface UserAccountManager
public Completable uploadUserAvatar(java.io.InputStream is)
UserAccountManager
See http://developers.gfycat.com/api/#uploading-user-39-s-profile-image
uploadUserAvatar
in interface UserAccountManager
is
- should be a stream of valid image data, bitmap or png.public void release()