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); }