diff --git a/TravelPost/.classpath b/TravelPost/.classpath
index d22ac25..6865df4 100644
--- a/TravelPost/.classpath
+++ b/TravelPost/.classpath
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/TravelPost/ChangeLog.txt b/TravelPost/ChangeLog.txt
index 9ca67e3..06accb6 100644
--- a/TravelPost/ChangeLog.txt
+++ b/TravelPost/ChangeLog.txt
@@ -1,9 +1,9 @@
-created FacebookActivity.java and facebookactivity.xml. this activity is designed to assist with context issues during facebook authorization for the initial authorization.
-also modified TravelPostMain.java to fire an intent for this activity.
+added logs to FacebookActivity.onComplete()
-currently works. facebook authorized. saves the settings. only issue is you get a black screen aftwords. if you hit back all is good.
+onComplete() is being called but still the activity is not finishing. When you hit back it works as expected.
+I've tried adding flags to the calling intent, intializing all lifecycle methods and even arranging the order things are called.
-TODO:
-log the onComplete method in facebookactivity to see what is happening.
-twitter authorization.
-finish widget and posting to sites.
\ No newline at end of file
+I have tried these intent flags so far:
+FLAG_ACTIVITY_NO_HISTORY
+FLAG_ACTIVITY_NEW_TASK
+FLAG_ACTIVITY_CLEAR_TASK
\ No newline at end of file
diff --git a/TravelPost/gen/com/TwentyCodes/android/SkyHook/R.java b/TravelPost/gen/com/TwentyCodes/android/SkyHook/R.java
index cbaca73..6e8d560 100644
--- a/TravelPost/gen/com/TwentyCodes/android/SkyHook/R.java
+++ b/TravelPost/gen/com/TwentyCodes/android/SkyHook/R.java
@@ -20,11 +20,13 @@ public final class R {
public static final int icon=0x7f020002;
public static final int logoidea3=0x7f020003;
public static final int needle=0x7f020004;
- public static final int skyhook_logo=0x7f020005;
- public static final int skyhook_logo_alpha=0x7f020006;
- public static final int skyhook_logo_alpha_small=0x7f020007;
- public static final int tc_logo_complete=0x7f020008;
- public static final int user=0x7f020009;
+ public static final int notification=0x7f020005;
+ public static final int skyhook_logo=0x7f020006;
+ public static final int skyhook_logo_alpha=0x7f020007;
+ public static final int skyhook_logo_alpha_small=0x7f020008;
+ public static final int tc_logo_complete=0x7f020009;
+ public static final int user=0x7f02000a;
+ public static final int widget=0x7f02000b;
}
public static final class id {
public static final int skyhook_img=0x7f070000;
diff --git a/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java b/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
index 7b8bf1c..21ec40c 100644
--- a/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
+++ b/TravelPost/gen/com/TwentyCodes/android/TravelPost/R.java
@@ -20,11 +20,13 @@ public final class R {
public static final int icon=0x7f020002;
public static final int logoidea3=0x7f020003;
public static final int needle=0x7f020004;
- public static final int skyhook_logo=0x7f020005;
- public static final int skyhook_logo_alpha=0x7f020006;
- public static final int skyhook_logo_alpha_small=0x7f020007;
- public static final int tc_logo_complete=0x7f020008;
- public static final int user=0x7f020009;
+ public static final int notification=0x7f020005;
+ public static final int skyhook_logo=0x7f020006;
+ public static final int skyhook_logo_alpha=0x7f020007;
+ public static final int skyhook_logo_alpha_small=0x7f020008;
+ public static final int tc_logo_complete=0x7f020009;
+ public static final int user=0x7f02000a;
+ public static final int widget=0x7f02000b;
}
public static final class id {
public static final int skyhook_img=0x7f070000;
diff --git a/TravelPost/gen/com/TwentyCodes/android/exception/R.java b/TravelPost/gen/com/TwentyCodes/android/exception/R.java
index 0c509ef..a3de08b 100644
--- a/TravelPost/gen/com/TwentyCodes/android/exception/R.java
+++ b/TravelPost/gen/com/TwentyCodes/android/exception/R.java
@@ -20,11 +20,13 @@ public final class R {
public static final int icon=0x7f020002;
public static final int logoidea3=0x7f020003;
public static final int needle=0x7f020004;
- public static final int skyhook_logo=0x7f020005;
- public static final int skyhook_logo_alpha=0x7f020006;
- public static final int skyhook_logo_alpha_small=0x7f020007;
- public static final int tc_logo_complete=0x7f020008;
- public static final int user=0x7f020009;
+ public static final int notification=0x7f020005;
+ public static final int skyhook_logo=0x7f020006;
+ public static final int skyhook_logo_alpha=0x7f020007;
+ public static final int skyhook_logo_alpha_small=0x7f020008;
+ public static final int tc_logo_complete=0x7f020009;
+ public static final int user=0x7f02000a;
+ public static final int widget=0x7f02000b;
}
public static final class id {
public static final int skyhook_img=0x7f070000;
diff --git a/TravelPost/gen/com/facebook/android/R.java b/TravelPost/gen/com/facebook/android/R.java
index 39291c8..f47c60a 100644
--- a/TravelPost/gen/com/facebook/android/R.java
+++ b/TravelPost/gen/com/facebook/android/R.java
@@ -20,11 +20,13 @@ public final class R {
public static final int icon=0x7f020002;
public static final int logoidea3=0x7f020003;
public static final int needle=0x7f020004;
- public static final int skyhook_logo=0x7f020005;
- public static final int skyhook_logo_alpha=0x7f020006;
- public static final int skyhook_logo_alpha_small=0x7f020007;
- public static final int tc_logo_complete=0x7f020008;
- public static final int user=0x7f020009;
+ public static final int notification=0x7f020005;
+ public static final int skyhook_logo=0x7f020006;
+ public static final int skyhook_logo_alpha=0x7f020007;
+ public static final int skyhook_logo_alpha_small=0x7f020008;
+ public static final int tc_logo_complete=0x7f020009;
+ public static final int user=0x7f02000a;
+ public static final int widget=0x7f02000b;
}
public static final class id {
public static final int skyhook_img=0x7f070000;
diff --git a/TravelPost/res/drawable-hdpi/icon.png b/TravelPost/res/drawable-hdpi/icon.png
index 8074c4c..9fc1feb 100644
Binary files a/TravelPost/res/drawable-hdpi/icon.png and b/TravelPost/res/drawable-hdpi/icon.png differ
diff --git a/TravelPost/res/drawable-hdpi/notification.png b/TravelPost/res/drawable-hdpi/notification.png
new file mode 100644
index 0000000..fa2a666
Binary files /dev/null and b/TravelPost/res/drawable-hdpi/notification.png differ
diff --git a/TravelPost/res/drawable-ldpi/icon.png b/TravelPost/res/drawable-ldpi/icon.png
index 1095584..303671e 100644
Binary files a/TravelPost/res/drawable-ldpi/icon.png and b/TravelPost/res/drawable-ldpi/icon.png differ
diff --git a/TravelPost/res/drawable-ldpi/notification.png b/TravelPost/res/drawable-ldpi/notification.png
new file mode 100644
index 0000000..edda712
Binary files /dev/null and b/TravelPost/res/drawable-ldpi/notification.png differ
diff --git a/TravelPost/res/drawable-mdpi/icon.png b/TravelPost/res/drawable-mdpi/icon.png
index a07c69f..182e113 100644
Binary files a/TravelPost/res/drawable-mdpi/icon.png and b/TravelPost/res/drawable-mdpi/icon.png differ
diff --git a/TravelPost/res/drawable-mdpi/notification.png b/TravelPost/res/drawable-mdpi/notification.png
new file mode 100644
index 0000000..fbcf7f2
Binary files /dev/null and b/TravelPost/res/drawable-mdpi/notification.png differ
diff --git a/TravelPost/res/drawable/widget.png b/TravelPost/res/drawable/widget.png
new file mode 100644
index 0000000..edd900e
Binary files /dev/null and b/TravelPost/res/drawable/widget.png differ
diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java
index d50f7b1..084450a 100644
--- a/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java
+++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java
@@ -1,11 +1,5 @@
package com.TwentyCodes.android.TravelPost.SocialSites;
-import com.TwentyCodes.android.TravelPost.R;
-import com.TwentyCodes.android.TravelPost.Debug.Debug;
-import com.facebook.android.DialogError;
-import com.facebook.android.Facebook.DialogListener;
-import com.facebook.android.FacebookError;
-
import android.app.Activity;
import android.app.Dialog;
import android.content.SharedPreferences;
@@ -13,6 +7,12 @@ import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
+import com.TwentyCodes.android.TravelPost.R;
+import com.TwentyCodes.android.TravelPost.Debug.Debug;
+import com.facebook.android.DialogError;
+import com.facebook.android.Facebook.DialogListener;
+import com.facebook.android.FacebookError;
+
public class FacebookActivity extends Activity {
private static final String AUTHORIZED = "authorized"; //key for shared prefs showing how many social sites are added
@@ -39,13 +39,42 @@ public class FacebookActivity extends Activity {
}
public void onComplete() {
- mFb = null;
- mFacebookPrefs = null;
- mSettingsPrefs = null;
+ if (Debug.LOGGING)
+ Log.i(TAG, "onComplete()");
this.finishActivity(RESULT_OK);
}
+ @Override
+ public void onPause() {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onPause()");
+ super.onPause();
+ }
+
+ @Override
+ public void onStop() {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onStop()");
+ super.onStop();
+ }
+
+ @Override
+ public void onStart() {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onStart()");
+ super.onStart();
+ }
+
+ @Override
+ public void onRestart() {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onRestart()");
+ super.onRestart();
+ }
+
public void onDestroy() {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onDestroy()");
mFb = null;
mFacebookPrefs = null;
mSettingsPrefs = null;
@@ -81,18 +110,24 @@ public class FacebookActivity extends Activity {
FacebookEvents.onLoginError(error.getMessage());
if (Debug.LOGGING)
Log.e(TAG, "LoginDialogListener.error: " + error.getMessage());
+ FacebookActivity fa = new FacebookActivity();
+ fa.onComplete();
}
public void onError(DialogError error) {
FacebookEvents.onLoginError(error.getMessage());
if (Debug.LOGGING)
Log.e(TAG, "LoginDialogListener.error: " + error.getMessage());
+ FacebookActivity fa = new FacebookActivity();
+ fa.onComplete();
}
public void onCancel() {
FacebookEvents.onLoginError("Action Canceled");
if (Debug.LOGGING)
Log.e(TAG, "LoginDialogListener.login cancelled");
+ FacebookActivity fa = new FacebookActivity();
+ fa.onComplete();
}
}
}
diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPostMain.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPostMain.java
index c573f96..a901910 100644
--- a/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPostMain.java
+++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/TravelPostMain.java
@@ -1,7 +1,6 @@
package com.TwentyCodes.android.TravelPost;
import android.app.AlertDialog;
-import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -25,7 +24,6 @@ public class TravelPostMain extends PreferenceActivity implements OnPreferenceCl
private static PreferenceCategory mSocialSites;
private static SharedPreferences mFacebookPrefs;
- private static Context mAppCtx;
/** Called when the activity is first created. */
@@ -38,11 +36,15 @@ public class TravelPostMain extends PreferenceActivity implements OnPreferenceCl
/* Sets default uncaught exception handler */
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
- mAppCtx = this.getApplicationContext();
-
this.initActivity();
}
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ if (Debug.LOGGING)
+ Log.i(TAG, "onActivityResult()");
+ }
+
/**
* This method initializes the xml layout and all variables needed for that layout
*/
@@ -75,11 +77,11 @@ public class TravelPostMain extends PreferenceActivity implements OnPreferenceCl
* If both prove true it creates the preference
*/
if (site.equals(FACEBOOK) && mFacebookPrefs.getBoolean(AUTHORIZED, false)) {
- if (mSocialSites.findPreference(mAppCtx.getString(R.string.facebook)) == null) {
+ if (mSocialSites.findPreference(this.getString(R.string.facebook)) == null) {
createPreference(R.string.facebook);
}
- } else if (site.equals(TWITTER) && mAppCtx.getSharedPreferences(TWITTER, 0).getBoolean(AUTHORIZED, false)) {
- if (mSocialSites.findPreference(mAppCtx.getString(R.string.twitter)) == null) {
+ } else if (site.equals(TWITTER) && this.getSharedPreferences(TWITTER, 0).getBoolean(AUTHORIZED, false)) {
+ if (mSocialSites.findPreference(this.getString(R.string.twitter)) == null) {
createPreference(R.string.twitter);
}
}
@@ -116,8 +118,9 @@ public class TravelPostMain extends PreferenceActivity implements OnPreferenceCl
Log.i(TAG, "addSocialSite.site" + site);
if (site.equals(FACEBOOK)) {
- Intent intent = new Intent(this, com.TwentyCodes.android.TravelPost.SocialSites.FacebookActivity.class);
- this.startActivityForResult(intent, 0);
+ Intent intent = new Intent(this.getApplicationContext(), com.TwentyCodes.android.TravelPost.SocialSites.FacebookActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ this.startActivityForResult(intent, 1010);
} else if (site.equals(TWITTER)) {
}
@@ -183,12 +186,12 @@ public class TravelPostMain extends PreferenceActivity implements OnPreferenceCl
* @param id - auto generated id of title of preference. (ex: R.string.facebook)
*/
- protected void createPreference(int id) {
+ private void createPreference(int id) {
if (Debug.LOGGING)
Log.i(TAG, "createPreference: " + id);
- Preference pref = new Preference(mAppCtx);
- pref.setTitle(mAppCtx.getString(id));
- pref.setKey(mAppCtx.getString(id));
+ Preference pref = new Preference(this);
+ pref.setTitle(this.getString(id));
+ pref.setKey(this.getString(id));
mSocialSites.addPreference(pref);
pref.setOnPreferenceClickListener(this);
}