Android Open Source - xing-android-sdk Auth Handler From Project Back to project page xing-android-sdk .
License The source code is released under:
Apache License
If you think the Android project xing-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package de.hdodenhof.xingapi.internal;
/ / w w w . j a v a 2 s . c o m
import org.scribe.model.Token;
import org.scribe.model.Verifier;
import org.scribe.oauth.OAuthService;
import android.content.Context;
import android.os.AsyncTask;
import de.hdodenhof.xingapi.internal.widget.AuthWebDialog;
public class AuthHandler {
private OAuthService mOAuthService;
private Callback mCallback;
public interface Callback {
public void onSuccess(String token, String secret);
public void onCancel();
public void onFailure();
}
public AuthHandler(OAuthService oAuthService) {
mOAuthService = oAuthService;
}
public void authenticate(final Context context, Callback callback) {
mCallback = callback;
new AsyncTask<Void, Void, Token>() {
@Override
protected Token doInBackground(Void... params) {
try {
return mOAuthService.getRequestToken();
} catch (Exception e) {
return null;
}
}
@Override
protected void onPostExecute(Token requestToken) {
if (requestToken != null) {
showAuthDialog(context, requestToken);
} else {
sendErrorToAuthListener();
}
}
}.execute();
}
private void showAuthDialog(Context context, final Token requestToken) {
new AuthWebDialog(context, mOAuthService.getAuthorizationUrl(requestToken), new AuthWebDialog.OnCompleteListener() {
@Override
public void onComplete(String verifier) {
finishAuth(requestToken, new Verifier(verifier));
}
@Override
public void onAbort() {
sendCancelToAuthListener();
}
@Override
public void onError() {
sendErrorToAuthListener();
}
}).show();
}
private void finishAuth(final Token requestToken, final Verifier verifier) {
new AsyncTask<Void, Void, Token>() {
@Override
protected Token doInBackground(Void... params) {
try {
return mOAuthService.getAccessToken(requestToken, verifier);
} catch (Exception e) {
return null;
}
}
@Override
protected void onPostExecute(Token accessToken) {
if (accessToken != null && !accessToken.isEmpty()) {
sendSuccessToAuthListener(accessToken);
} else {
sendErrorToAuthListener();
}
}
}.execute();
}
private void sendSuccessToAuthListener(Token token) {
if (mCallback != null) {
mCallback.onSuccess(token.getToken(), token.getSecret());
}
}
private void sendErrorToAuthListener() {
if (mCallback != null) {
mCallback.onFailure();
}
}
private void sendCancelToAuthListener() {
if (mCallback != null) {
mCallback.onCancel();
}
}
}
Java Source Code List de.hdodenhof.xingapi.BaseAPI.java de.hdodenhof.xingapi.ContactsAPI.java de.hdodenhof.xingapi.MessagesAPI.java de.hdodenhof.xingapi.NetworkFeedAPI.java de.hdodenhof.xingapi.ProfileVisitsAPI.java de.hdodenhof.xingapi.UserProfilesAPI.java de.hdodenhof.xingapi.XingApiClient.java de.hdodenhof.xingapi.enums.ActivityAction.java de.hdodenhof.xingapi.enums.ActivityAggregator.java de.hdodenhof.xingapi.enums.ActivityObjectType.java de.hdodenhof.xingapi.enums.ActivityVerb.java de.hdodenhof.xingapi.enums.Badge.java de.hdodenhof.xingapi.enums.CarrerLevel.java de.hdodenhof.xingapi.enums.CompanyIndustry.java de.hdodenhof.xingapi.enums.CompanySize.java de.hdodenhof.xingapi.enums.EmploymentStatus.java de.hdodenhof.xingapi.enums.ErrorName.java de.hdodenhof.xingapi.enums.FormOfEmployment.java de.hdodenhof.xingapi.enums.IMAccount.java de.hdodenhof.xingapi.enums.LanguageSkill.java de.hdodenhof.xingapi.enums.Language.java de.hdodenhof.xingapi.enums.PremiumService.java de.hdodenhof.xingapi.enums.Reason.java de.hdodenhof.xingapi.enums.UserField.java de.hdodenhof.xingapi.enums.WebProfile.java de.hdodenhof.xingapi.exceptions.ApiException.java de.hdodenhof.xingapi.exceptions.BaseException.java de.hdodenhof.xingapi.exceptions.ConversionException.java de.hdodenhof.xingapi.exceptions.NetworkException.java de.hdodenhof.xingapi.internal.AuthHandler.java de.hdodenhof.xingapi.internal.OAuthConstants.java de.hdodenhof.xingapi.internal.communication.ErrorHandler.java de.hdodenhof.xingapi.internal.communication.SigningOkClient.java de.hdodenhof.xingapi.internal.communication.XingApiInterface.java de.hdodenhof.xingapi.internal.response.ActivityWrapper.java de.hdodenhof.xingapi.internal.response.CommentsWrapper.java de.hdodenhof.xingapi.internal.response.ContactsWrapper.java de.hdodenhof.xingapi.internal.response.ConversationWrapper.java de.hdodenhof.xingapi.internal.response.ConversationsWrapper.java de.hdodenhof.xingapi.internal.response.IdCardWrapper.java de.hdodenhof.xingapi.internal.response.LikesWrapper.java de.hdodenhof.xingapi.internal.response.MessageWrapper.java de.hdodenhof.xingapi.internal.response.MessagesWrapper.java de.hdodenhof.xingapi.internal.response.NetworkActivityWrapper.java de.hdodenhof.xingapi.internal.response.ProfileMessageWrapper.java de.hdodenhof.xingapi.internal.response.ResponseWrapper.java de.hdodenhof.xingapi.internal.response.ResultWrapper.java de.hdodenhof.xingapi.internal.response.SharedContactsWrapper.java de.hdodenhof.xingapi.internal.response.TagsWrapper.java de.hdodenhof.xingapi.internal.response.UserWrapper.java de.hdodenhof.xingapi.internal.response.VisitsWrapper.java de.hdodenhof.xingapi.internal.util.HTTPUtils.java de.hdodenhof.xingapi.internal.util.URLUtils.java de.hdodenhof.xingapi.internal.widget.AuthWebDialog.java de.hdodenhof.xingapi.models.ActivityObject.java de.hdodenhof.xingapi.models.Address.java de.hdodenhof.xingapi.models.ApiError.java de.hdodenhof.xingapi.models.Award.java de.hdodenhof.xingapi.models.BirthDate.java de.hdodenhof.xingapi.models.Bookmark.java de.hdodenhof.xingapi.models.Comment.java de.hdodenhof.xingapi.models.CompanyProfileUpdate.java de.hdodenhof.xingapi.models.CompanyProfile.java de.hdodenhof.xingapi.models.Company.java de.hdodenhof.xingapi.models.Contacts.java de.hdodenhof.xingapi.models.Conversation.java de.hdodenhof.xingapi.models.Conversations.java de.hdodenhof.xingapi.models.EducationalBackground.java de.hdodenhof.xingapi.models.ErrorResponse.java de.hdodenhof.xingapi.models.Event.java de.hdodenhof.xingapi.models.FindByEmailsResult.java de.hdodenhof.xingapi.models.Group.java de.hdodenhof.xingapi.models.IdCard.java de.hdodenhof.xingapi.models.JobPosting.java de.hdodenhof.xingapi.models.Message.java de.hdodenhof.xingapi.models.Messages.java de.hdodenhof.xingapi.models.MetaComment.java de.hdodenhof.xingapi.models.MetaLike.java de.hdodenhof.xingapi.models.NetworkActivity.java de.hdodenhof.xingapi.models.PhotoUrls.java de.hdodenhof.xingapi.models.ProfessionalExperience.java de.hdodenhof.xingapi.models.ProfileMessage.java de.hdodenhof.xingapi.models.Results.java de.hdodenhof.xingapi.models.School.java de.hdodenhof.xingapi.models.Status.java de.hdodenhof.xingapi.models.Tag.java de.hdodenhof.xingapi.models.Tags.java de.hdodenhof.xingapi.models.Thread.java de.hdodenhof.xingapi.models.TimeZone.java de.hdodenhof.xingapi.models.User.java de.hdodenhof.xingapi.models.Visit.java de.hdodenhof.xingapi.sample.MainActivity.java de.hdodenhof.xingapi.sample.OAuthFragment.java de.hdodenhof.xingapi.sample.ProfileFragment.java de.hdodenhof.xingapi.typeadapter.ActivityObjectTypeAdapter.java