TravelPost.java

im a lot closer to finishing twitter intergration.

however it is breaking at line 103 when it tries to get the users auth tokens from twitter
This commit is contained in:
2011-01-30 20:49:00 +00:00
parent 660cb3f10b
commit dbf1c509b2

View File

@@ -13,6 +13,7 @@ import twitter4j.conf.ConfigurationBuilder;
import twitter4j.http.AccessToken; import twitter4j.http.AccessToken;
import twitter4j.http.RequestToken; import twitter4j.http.RequestToken;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
@@ -30,7 +31,7 @@ import android.widget.Toast;
public class TravelPost extends PreferenceActivity implements OnPreferenceClickListener { public class TravelPost extends PreferenceActivity implements OnPreferenceClickListener {
private PostMortemReportExceptionHandler mExceptionReport = new PostMortemReportExceptionHandler(this); private PostMortemReportExceptionHandler mExceptionReport = new PostMortemReportExceptionHandler(this);
private RequestToken requestToken; private Twitter twitter;
private static SharedPreferences shared_prefs; private static SharedPreferences shared_prefs;
public static final String SETTINGS = "settings"; public static final String SETTINGS = "settings";
private static final int TWITTER_AUTH_REQUEST_CODE = 0; private static final int TWITTER_AUTH_REQUEST_CODE = 0;
@@ -63,10 +64,10 @@ public class TravelPost extends PreferenceActivity implements OnPreferenceClickL
@Override @Override
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
Twitter twitter = new TwitterFactory().getInstance(); twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET); twitter.setOAuthConsumer(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET);
try { try {
requestToken = twitter.getOAuthRequestToken(); RequestToken requestToken = twitter.getOAuthRequestToken();
this.startActivityForResult(new Intent(this, WebAuth.class).putExtra(WebAuth.AUTH_URL, requestToken.getAuthorizationURL()), TWITTER_AUTH_REQUEST_CODE); this.startActivityForResult(new Intent(this, WebAuth.class).putExtra(WebAuth.AUTH_URL, requestToken.getAuthorizationURL()), TWITTER_AUTH_REQUEST_CODE);
} catch (TwitterException e) { } catch (TwitterException e) {
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG); Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG);
@@ -85,22 +86,27 @@ public class TravelPost extends PreferenceActivity implements OnPreferenceClickL
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.v(TAG, "onActivityResult()"); Log.v(TAG, "onActivityResult()");
Log.d(TAG, "Request code:"+ requestCode); Log.d(TAG, "Request code:"+ requestCode);
if(data != null) String authCode = null;
Log.d(TAG, data.getStringExtra(WebAuth.AUTH_CODE)); if(data != null){
else authCode = data.getStringExtra(WebAuth.AUTH_CODE);
Log.d(TAG, authCode);
} else
Log.e(TAG, "WebAuth result was null!!!"); Log.e(TAG, "WebAuth result was null!!!");
if(resultCode == Activity.RESULT_OK) if(resultCode == Activity.RESULT_OK)
switch(requestCode){ switch(requestCode){
case TWITTER_AUTH_REQUEST_CODE: case TWITTER_AUTH_REQUEST_CODE:
try { try {
Log.v(TAG,"twitter auth case");
AccessToken accessToken = null; AccessToken accessToken = null;
Twitter twitter = new TwitterFactory().getInstance(); twitter = new TwitterFactory().getInstance();
accessToken = twitter.getOAuthAccessToken(requestToken, data.getStringExtra(WebAuth.AUTH_CODE)); twitter.setOAuthConsumer(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET);
accessToken = twitter.getOAuthAccessToken(twitter.getOAuthRequestToken(), authCode);
Log.d(TAG, accessToken.getToken()); Log.d(TAG, accessToken.getToken());
Log.d(TAG, accessToken.getTokenSecret()); Log.d(TAG, accessToken.getTokenSecret());
Log.v(TAG,"saving twitter tokens");
shared_prefs = getSharedPreferences(SETTINGS, Context.MODE_PRIVATE);
shared_prefs.edit().putString(TWITTER_AUTH_TOKEN, accessToken.getToken()).commit(); shared_prefs.edit().putString(TWITTER_AUTH_TOKEN, accessToken.getToken()).commit();
shared_prefs.edit().putString(TWITTER_AUTH_SECRET, accessToken.getTokenSecret()).commit(); shared_prefs.edit().putString(TWITTER_AUTH_SECRET, accessToken.getTokenSecret()).commit();
} catch (TwitterException e) { } catch (TwitterException e) {
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG); Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG);
e.printStackTrace(); e.printStackTrace();