Android Open Source - sms-backup-plus Web Auth Activity 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.activity.auth;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.SslErrorHandler;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.zegoggles.smssync.App;
import com.zegoggles.smssync.Consts;
import com.zegoggles.smssync.R;
public class WebAuthActivity extends Activity {
private WebView mWebview;
private ProgressDialog mProgress;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.auth_activity);
final Uri urlToLoad = getIntent().getData();
mWebview = (WebView) findViewById(R.id.webview);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.getSettings().setLoadsImagesAutomatically(true);
mProgress = new ProgressDialog(this );
mProgress.setIndeterminate(true);
mProgress.setMessage(getString(R.string.loading));
mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mWebview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); // fix white bar
mWebview.clearSslPreferences();
mWebview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
showConnectionError(description);
}
@Override
@TargetApi(Build.VERSION_CODES.FROYO)
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
Log.w(App.TAG, "onReceiveSslError(" + error + ")" );
// pre-froyo devices don't trust the cert used by google
// see https://knowledge.verisign.com/support/mpki-for-ssl-support/index?page=content&id=SO17511&actp=AGENT_REFERAL
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO &&
error.getPrimaryError() == SslError.SSL_IDMISMATCH) {
handler.proceed();
} else {
handler.cancel();
showConnectionError(getString(R.string.ssl_error));
}
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (App.LOCAL_LOGV) Log.d(App.TAG, "onPageStarted(" + url + ")" );
if (!isFinishing()) mProgress.show();
}
@Override
public void onPageFinished(WebView view, String url) {
if (!isFinishing()) mProgress.dismiss();
}
@Override
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
if (url.startsWith(Consts.CALLBACK_URL)) {
setResult(RESULT_OK, new Intent().setData(Uri.parse(url)));
finish();
return true;
} else {
return false;
}
}
});
removeAllCookies();
// finally load url
mWebview.loadUrl(urlToLoad.toString());
}
private void showConnectionError(final String message) {
if (isFinishing()) return ;
new AlertDialog.Builder(this ).
setMessage(message).
setTitle(getString(R.string.status_unknown_error)).
setIcon(android.R.drawable.ic_dialog_alert).
setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).
create().
show();
}
private void removeAllCookies() {
CookieSyncManager.createInstance(this );
CookieManager.getInstance().removeAllCookie();
}
@Override
protected void onDestroy() {
super.onDestroy();
mWebview.stopLoading();
mProgress.dismiss();
}
}
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