diff --git a/TravelPost/.classpath b/TravelPost/.classpath
index 765e3f7..db42afc 100644
--- a/TravelPost/.classpath
+++ b/TravelPost/.classpath
@@ -3,8 +3,6 @@
-
-
-
+
diff --git a/TravelPost/.project b/TravelPost/.project
index 09a8d0b..ee1f480 100644
--- a/TravelPost/.project
+++ b/TravelPost/.project
@@ -30,11 +30,4 @@
com.android.ide.eclipse.adt.AndroidNatureorg.eclipse.jdt.core.javanature
-
-
- FacebookLib_src
- 2
- _android_FacebookLib_9c84f9bf/src
-
-
diff --git a/TravelPost/AndroidManifest.xml b/TravelPost/AndroidManifest.xml
index 3a0da7e..0acc92f 100644
--- a/TravelPost/AndroidManifest.xml
+++ b/TravelPost/AndroidManifest.xml
@@ -31,7 +31,7 @@
-
+
diff --git a/TravelPost/default.properties b/TravelPost/default.properties
index 9e9f836..558b85b 100644
--- a/TravelPost/default.properties
+++ b/TravelPost/default.properties
@@ -9,4 +9,4 @@
# Project target.
target=Google Inc.:Google APIs:9
-android.library.reference.1=../FacebookLib/
+proguard.config=proguard.cfg
diff --git a/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java b/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
index 70840b7..761f699 100644
--- a/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
+++ b/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
@@ -11,8 +11,7 @@ public final class R {
public static final class attr {
}
public static final class drawable {
- public static final int facebook_icon=0x7f020000;
- public static final int icon=0x7f020001;
+ public static final int icon=0x7f020000;
}
public static final class id {
public static final int authCode=0x7f060002;
@@ -21,9 +20,8 @@ public final class R {
public static final int widgetbutton=0x7f060000;
}
public static final class layout {
- public static final int main=0x7f030000;
- public static final int travelpostwidget=0x7f030001;
- public static final int webauth=0x7f030002;
+ public static final int travelpostwidget=0x7f030000;
+ public static final int webauth=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f050001;
diff --git a/TravelPost/gen/com/facebook/android/R.java b/TravelPost/gen/com/facebook/android/R.java
deleted file mode 100644
index 1f5e654..0000000
--- a/TravelPost/gen/com/facebook/android/R.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/* AUTO-GENERATED FILE. DO NOT MODIFY.
- *
- * This class was automatically generated by the
- * aapt tool from the resource data it found. It
- * should not be modified by hand.
- */
-
-package com.facebook.android;
-
-public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int facebook_icon=0x7f020000;
- public static final int icon=0x7f020001;
- }
- public static final class id {
- public static final int authCode=0x7f060002;
- public static final int authOkButton=0x7f060001;
- public static final int authWebView=0x7f060003;
- public static final int widgetbutton=0x7f060000;
- }
- public static final class layout {
- public static final int main=0x7f030000;
- public static final int travelpostwidget=0x7f030001;
- public static final int webauth=0x7f030002;
- }
- public static final class string {
- public static final int app_name=0x7f050001;
- public static final int hello=0x7f050000;
- }
- public static final class xml {
- public static final int settings=0x7f040000;
- public static final int travelpostwidgetinfo=0x7f040001;
- }
-}
diff --git a/TravelPost/libs/jtwitter.jar b/TravelPost/libs/jtwitter.jar
deleted file mode 100644
index 7f35149..0000000
Binary files a/TravelPost/libs/jtwitter.jar and /dev/null differ
diff --git a/TravelPost/libs/signpost-core-1.2.1.1.jar b/TravelPost/libs/signpost-core-1.2.1.1.jar
deleted file mode 100644
index 59e7537..0000000
Binary files a/TravelPost/libs/signpost-core-1.2.1.1.jar and /dev/null differ
diff --git a/TravelPost/libs/twitter4j-core-2.1.11.jar b/TravelPost/libs/twitter4j-core-2.1.11.jar
new file mode 100644
index 0000000..b0fb214
Binary files /dev/null and b/TravelPost/libs/twitter4j-core-2.1.11.jar differ
diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/LocationReceiver.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/LocationReceiver.java
index e1088d2..378520a 100644
--- a/TravelPost/src/com/TwentyCodes/android/TravelPost/LocationReceiver.java
+++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/LocationReceiver.java
@@ -6,13 +6,14 @@
*/
package com.TwentyCodes.android.TravelPost;
+import twitter4j.TwitterException;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.location.Location;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
+import android.widget.Toast;
/**
* The broadcast receiver that works with LocationService.java
@@ -44,8 +45,12 @@ public class LocationReceiver extends BroadcastReceiver{
*/
private void onLocationUpdate(Location location) {
//TODO something with the location i.e. report location to social services like twitter, ect...
- SharedPreferences shared_prefs = mContext.getSharedPreferences(TravelPost.SETTINGS, Context.MODE_PRIVATE);
- TravelPost.tweet(shared_prefs.getString(TravelPost.TWITTER_AUTH_CODE, ""), "yellow_jk", location.toString());
+ try {
+ TravelPost.tweet(location.toString());
+ } catch (TwitterException e) {
+ Toast.makeText(mContext, e.getMessage(), Toast.LENGTH_LONG);
+ e.printStackTrace();
+ }
removeWakeLock();
diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPost.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPost.java
index 0a847ab..5b75066 100644
--- a/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPost.java
+++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPost.java
@@ -6,8 +6,12 @@
*/
package com.TwentyCodes.android.TravelPost;
-import winterwell.jtwitter.OAuthSignpostClient;
-import winterwell.jtwitter.Twitter;
+import twitter4j.Twitter;
+import twitter4j.TwitterException;
+import twitter4j.TwitterFactory;
+import twitter4j.conf.ConfigurationBuilder;
+import twitter4j.http.AccessToken;
+import twitter4j.http.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -15,6 +19,8 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
+import android.util.Log;
+import android.widget.Toast;
/**
* Main activity for the Travel Post widget.
@@ -24,13 +30,15 @@ import android.preference.PreferenceActivity;
public class TravelPost extends PreferenceActivity implements OnPreferenceClickListener {
private PostMortemReportExceptionHandler mExceptionReport = new PostMortemReportExceptionHandler(this);
+ private RequestToken requestToken;
private static SharedPreferences shared_prefs;
public static final String SETTINGS = "settings";
private static final int TWITTER_AUTH_REQUEST_CODE = 0;
- public static final String TWITTER_AUTH_CODE = "twitter";
- private static final String TC_TEST_OAUTH_KEY = "SSO8Vpy2Ecmc3BjvtwoRw";
- private static final String TC_TEST_OAUTH_SECRET = "aa6t6N0wlenvbWzU7fZbrhgzmEmUl5s7zGRbbKoU";
-
+ public static final String TWITTER_AUTH_TOKEN = "twitter_token";
+ public static final String TWITTER_AUTH_SECRET = "twitter_secret";
+ private static final String TC_TEST_OAUTH_KEY = "kmmcF8rjO4Aj9W4g8ao8ow";
+ private static final String TC_TEST_OAUTH_SECRET = "5pgeFWHd7dkde284ed7NsRuIVsyeOvioXR0tVxp9K8";
+ private static final String TAG = "TravelPost";
/**
* called when the activity is first created
@@ -45,9 +53,7 @@ public class TravelPost extends PreferenceActivity implements OnPreferenceClickL
mExceptionReport.run();
Thread.setDefaultUncaughtExceptionHandler(mExceptionReport);
- // set shared_prefs name
- getPreferenceManager().setSharedPreferencesName(SETTINGS);
- shared_prefs = getPreferenceManager().getSharedPreferences();
+ shared_prefs = getSharedPreferences(SETTINGS, 0);
// load preferences xml
this.addPreferencesFromResource(R.xml.settings);
@@ -56,9 +62,16 @@ public class TravelPost extends PreferenceActivity implements OnPreferenceClickL
}
@Override
- public boolean onPreferenceClick(Preference preference) {
- OAuthSignpostClient client = new OAuthSignpostClient(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET, "oob");
- this.startActivityForResult(new Intent(this, WebAuth.class).putExtra(WebAuth.AUTH_URL, client.authorizeUrl().toString()), TWITTER_AUTH_REQUEST_CODE);
+ public boolean onPreferenceClick(Preference preference) {
+ Twitter twitter = new TwitterFactory().getInstance();
+ twitter.setOAuthConsumer(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET);
+ try {
+ requestToken = twitter.getOAuthRequestToken();
+ this.startActivityForResult(new Intent(this, WebAuth.class).putExtra(WebAuth.AUTH_URL, requestToken.getAuthorizationURL()), TWITTER_AUTH_REQUEST_CODE);
+ } catch (TwitterException e) {
+ Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG);
+ e.printStackTrace();
+ }
return false;
}
@@ -70,29 +83,47 @@ public class TravelPost extends PreferenceActivity implements OnPreferenceClickL
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ Log.v(TAG, "onActivityResult()");
+ Log.d(TAG, "Request code:"+ requestCode);
+ if(data != null)
+ Log.d(TAG, data.getStringExtra(WebAuth.AUTH_CODE));
+ else
+ Log.e(TAG, "WebAuth result was null!!!");
if(resultCode == Activity.RESULT_OK)
switch(requestCode){
case TWITTER_AUTH_REQUEST_CODE:
- shared_prefs.edit().putString(TWITTER_AUTH_CODE, data.getStringExtra(WebAuth.AUTH_CODE)).commit();
-
- //FOR TESTING
-// OAuthSignpostClient client = new OAuthSignpostClient(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET, "oob");
-// client.setAuthorizationCode(data.getStringExtra(WebAuth.AUTH_CODE));
-// Twitter twitter = new Twitter("yellow_jk", client);
-// // Optional: store the authorisation token details
-// Object accessToken = client.getAccessToken();
-//
-// // use the API!
-// twitter.setStatus("test");
+ try {
+ AccessToken accessToken = null;
+ Twitter twitter = new TwitterFactory().getInstance();
+ accessToken = twitter.getOAuthAccessToken(requestToken, data.getStringExtra(WebAuth.AUTH_CODE));
+ Log.d(TAG, accessToken.getToken());
+ Log.d(TAG, accessToken.getTokenSecret());
+ shared_prefs.edit().putString(TWITTER_AUTH_TOKEN, accessToken.getToken()).commit();
+ shared_prefs.edit().putString(TWITTER_AUTH_SECRET, accessToken.getTokenSecret()).commit();
+
+ } catch (TwitterException e) {
+ Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG);
+ e.printStackTrace();
+ }
break;
}
}
- public static void tweet(String authCode, String userName, String msg){
- OAuthSignpostClient client = new OAuthSignpostClient(TC_TEST_OAUTH_KEY, TC_TEST_OAUTH_SECRET, "oob");
- Twitter jtwit = new Twitter(userName, client);
- client.setAuthorizationCode(authCode);
- jtwit.setStatus(msg);
+ /**
+ * posts a tweet to twitter
+ * @param msg
+ * @throws TwitterException
+ * @author ricky barrette
+ */
+ public static void tweet(String msg) throws TwitterException{
+ ConfigurationBuilder cb = new ConfigurationBuilder();
+ cb.setDebugEnabled(true);
+ cb.setOAuthConsumerKey(TWITTER_AUTH_TOKEN).setOAuthConsumerSecret(TWITTER_AUTH_SECRET);
+ cb.setOAuthAccessToken(shared_prefs.getString(TWITTER_AUTH_TOKEN, ""));
+ cb.setOAuthAccessTokenSecret(shared_prefs.getString(TWITTER_AUTH_SECRET, ""));
+ TwitterFactory tf = new TwitterFactory(cb.build());
+ Twitter twitter = tf.getInstance();
+ twitter.updateStatus(msg);
}
-
+
}
\ No newline at end of file
diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/WebAuth.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/WebAuth.java
index 8997609..626b9ca 100644
--- a/TravelPost/src/com/TwentyCodes/android/TravelPost/WebAuth.java
+++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/WebAuth.java
@@ -50,7 +50,7 @@ public class WebAuth extends Activity implements OnClickListener {
*/
@Override
public void onClick(View v) {
- this.setResult(RESULT_OK, new Intent().putExtra(AUTH_CODE, mAuthCode.getText().toString()));
- this.finish();
+ setResult(RESULT_OK, new Intent().putExtra(AUTH_CODE, mAuthCode.getText().toString()));
+ finish();
}
}
\ No newline at end of file