package com.ramostechie.android.otweet.activities; import com.ramostechie.android.otweet.OTweetApplication; import com.ramostechie.android.otweet.R; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; public class AuthorizationActivity extends Activity { private OTweetApplication app; private WebView webView; private WebViewClient webViewClient = new WebViewClient() { @Override public void onLoadResource(WebView view, String url) { // the URL we're looking for looks like this: // <twitterAPP-callbackURL>//authenticated?oauth_token=kAaoCJtNjcf7TNW92phyF65yvX8QKSOC&oauth_verifier=s8g9esckNY4rfA1Le0o3y09WHoc788wo Uri uri = Uri.parse(url); if (uri.getHost().equals("ramostechie.com")) { //String token = uri.getQueryParameter("oauth_token"); String token = uri.getQueryParameter("oauth_verifier"); if (null != token) { webView.setVisibility(View.INVISIBLE); app.authorized(token); finish(); } else { // tell user to try again } } else { super.onLoadResource(view, url); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Enabling strict mode */ /*StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy);*/ app = (OTweetApplication)getApplication(); setContentView(R.layout.authorization_view); setUpViews(); } @Override protected void onResume() { super.onResume(); String authURL = app.beginAuthorization(); webView.loadUrl(authURL); } private void setUpViews() { webView = (WebView)findViewById(R.id.web_view); webView.setWebViewClient(webViewClient); } }