Android Open Source - sms-backup-plus O Auth Callback Task From Project Back to project page sms-backup-plus .
License The source code is released under:
Apache License
If you think the Android project sms-backup-plus 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 com.zegoggles.smssync.tasks;
/ * w w w . j a v a 2 s . c o m * /
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.text.TextUtils;
import android.util.Log;
import com.zegoggles.smssync.App;
import com.zegoggles.smssync.auth.XOAuthConsumer;
import com.zegoggles.smssync.preferences.AuthPreferences;
import oauth.signpost.OAuth;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthException;
import static com.zegoggles.smssync.App.LOCAL_LOGV;
import static com.zegoggles.smssync.App.TAG;
public class OAuthCallbackTask extends AsyncTask<Intent, Void, XOAuthConsumer> {
private Context context;
public OAuthCallbackTask(Context smsSync) {
this.context = smsSync;
}
@Override
protected XOAuthConsumer doInBackground(Intent... callbackIntent) {
Uri uri = callbackIntent[0].getData();
if (LOCAL_LOGV) Log.v(TAG, "oauth callback: " + uri);
XOAuthConsumer consumer = new AuthPreferences(context).getOAuthConsumer();
CommonsHttpOAuthProvider provider = consumer.getProvider(context);
String verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER);
try {
provider.retrieveAccessToken(consumer, verifier);
String username = consumer.loadUsernameFromContacts();
if (username != null) {
Log.i(TAG, "Valid access token for " + username);
// intent has been handled
callbackIntent[0].setData(null);
return consumer;
} else {
Log.e(TAG, "No valid user name" );
return null;
}
} catch (OAuthException e) {
Log.e(TAG, "error" , e);
return null;
}
}
@Override
protected void onPostExecute(XOAuthConsumer consumer) {
if (LOCAL_LOGV)
Log.v(TAG, String.format("%s#onPostExecute(%s)" , getClass().getName(), consumer));
if (consumer != null) {
App.bus.post(new OAuthCallbackEvent(consumer.getUsername(),
consumer.getToken(),
consumer.getTokenSecret()));
} else {
App.bus.post(new OAuthCallbackEvent(null, null, null));
}
}
public static class OAuthCallbackEvent {
public final String username, token, tokenSecret;
public OAuthCallbackEvent(String username, String token, String tokenSecret) {
this.username = username;
this.token = token;
this.tokenSecret = tokenSecret;
}
public boolean valid() {
return !TextUtils.isEmpty(username) &&
!TextUtils.isEmpty(token) &&
!TextUtils.isEmpty(tokenSecret);
}
}
}
Java Source Code List com.zegoggles.smssync.App.java com.zegoggles.smssync.Consts.java com.zegoggles.smssync.MmsConsts.java com.zegoggles.smssync.SmsConsts.java com.zegoggles.smssync.activity.Dialogs.java com.zegoggles.smssync.activity.MainActivity.java com.zegoggles.smssync.activity.StatusPreference.java com.zegoggles.smssync.activity.auth.AccountManagerAuthActivity.java com.zegoggles.smssync.activity.auth.WebAuthActivity.java com.zegoggles.smssync.activity.donation.DonationActivity.java com.zegoggles.smssync.auth.TokenRefreshException.java com.zegoggles.smssync.auth.TokenRefresher.java com.zegoggles.smssync.auth.XOAuthConsumer.java com.zegoggles.smssync.calendar.CalendarAccessorPost40.java com.zegoggles.smssync.calendar.CalendarAccessorPre40.java com.zegoggles.smssync.calendar.CalendarAccessor.java com.zegoggles.smssync.compat.ComposeSmsActivity.java com.zegoggles.smssync.compat.HeadlessSmsSendService.java com.zegoggles.smssync.compat.MmsReceiver.java com.zegoggles.smssync.compat.SmsReceiver.java com.zegoggles.smssync.compat.package-info.java com.zegoggles.smssync.contacts.ContactAccessorPost20.java com.zegoggles.smssync.contacts.ContactAccessorPre20.java com.zegoggles.smssync.contacts.ContactAccessor.java com.zegoggles.smssync.contacts.ContactGroupIds.java com.zegoggles.smssync.contacts.ContactGroup.java com.zegoggles.smssync.contacts.Group.java com.zegoggles.smssync.mail.AllTrustedSocketFactory.java com.zegoggles.smssync.mail.Attachment.java com.zegoggles.smssync.mail.BackupImapStore.java com.zegoggles.smssync.mail.BackupStoreConfig.java com.zegoggles.smssync.mail.CallFormatter.java com.zegoggles.smssync.mail.ConversionResult.java com.zegoggles.smssync.mail.DataType.java com.zegoggles.smssync.mail.HeaderGenerator.java com.zegoggles.smssync.mail.Headers.java com.zegoggles.smssync.mail.MessageConverter.java com.zegoggles.smssync.mail.MessageGenerator.java com.zegoggles.smssync.mail.MmsSupport.java com.zegoggles.smssync.mail.PersonLookup.java com.zegoggles.smssync.mail.PersonRecord.java com.zegoggles.smssync.preferences.AddressStyle.java com.zegoggles.smssync.preferences.AuthMode.java com.zegoggles.smssync.preferences.AuthPreferences.java com.zegoggles.smssync.preferences.BackupManagerWrapper.java com.zegoggles.smssync.preferences.CalendarPreferences.java com.zegoggles.smssync.preferences.CallLogTypes.java com.zegoggles.smssync.preferences.Defaults.java com.zegoggles.smssync.preferences.MarkAsReadTypes.java com.zegoggles.smssync.preferences.PreferenceBackupAgent.java com.zegoggles.smssync.preferences.Preferences.java com.zegoggles.smssync.preferences.ServerPreferences.java com.zegoggles.smssync.receiver.BackupBroadcastReceiver.java com.zegoggles.smssync.receiver.SmsBroadcastReceiver.java com.zegoggles.smssync.service.Alarms.java com.zegoggles.smssync.service.BackupConfig.java com.zegoggles.smssync.service.BackupCursors.java com.zegoggles.smssync.service.BackupItemsFetcher.java com.zegoggles.smssync.service.BackupQueryBuilder.java com.zegoggles.smssync.service.BackupTask.java com.zegoggles.smssync.service.BackupType.java com.zegoggles.smssync.service.BulkFetcher.java com.zegoggles.smssync.service.CalendarSyncer.java com.zegoggles.smssync.service.RestoreConfig.java com.zegoggles.smssync.service.RestoreTask.java com.zegoggles.smssync.service.ServiceBase.java com.zegoggles.smssync.service.SmsBackupService.java com.zegoggles.smssync.service.SmsRestoreService.java com.zegoggles.smssync.service.UserCanceled.java com.zegoggles.smssync.service.WhatsAppItemsFetcher.java com.zegoggles.smssync.service.exception.BackupDisabledException.java com.zegoggles.smssync.service.exception.ConnectivityException.java com.zegoggles.smssync.service.exception.LocalizableException.java com.zegoggles.smssync.service.exception.NoConnectionException.java com.zegoggles.smssync.service.exception.RequiresBackgroundDataException.java com.zegoggles.smssync.service.exception.RequiresLoginException.java com.zegoggles.smssync.service.exception.RequiresWifiException.java com.zegoggles.smssync.service.exception.SmsProviderNotWritableException.java com.zegoggles.smssync.service.state.BackupState.java com.zegoggles.smssync.service.state.RestoreState.java com.zegoggles.smssync.service.state.SmsSyncState.java com.zegoggles.smssync.service.state.State.java com.zegoggles.smssync.tasks.OAuthCallbackTask.java com.zegoggles.smssync.tasks.RequestTokenTask.java com.zegoggles.smssync.utils.AppLog.java com.zegoggles.smssync.utils.ListPreferenceHelper.java com.zegoggles.smssync.utils.Sanitizer.java com.zegoggles.smssync.utils.ThreadHelper.java