diff --git a/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java b/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java index 084450a..c890d9d 100644 --- a/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java +++ b/TravelPost/src/com/TwentyCodes/android/TravelPost/SocialSites/FacebookActivity.java @@ -22,6 +22,7 @@ public class FacebookActivity extends Activity { private static SharedPreferences mSettingsPrefs; private static SharedPreferences mFacebookPrefs; private static Facebook mFb; + private static Activity mFa; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -29,6 +30,7 @@ public class FacebookActivity extends Activity { mSettingsPrefs = this.getSharedPreferences(SETTINGS, 0); mFacebookPrefs = this.getSharedPreferences(FACEBOOK, 0); + mFa = this; mFb = new Facebook(this); //NOTE: facebook auth creates a dialog with this context. If you pass the application context the dialog will crash #fixitgoogle if (this.getSharedPreferences(FACEBOOK, 0).getBoolean(AUTHORIZED, false)) { @@ -38,10 +40,10 @@ public class FacebookActivity extends Activity { } } - public void onComplete() { + public static void onComplete() { if (Debug.LOGGING) Log.i(TAG, "onComplete()"); - this.finishActivity(RESULT_OK); + mFa.finish(); } @Override @@ -102,32 +104,30 @@ public class FacebookActivity extends Activity { int auths = prefs.getInt(authorized, 0); prefs.edit().putInt(authorized, auths + 1).commit(); } - FacebookActivity fa = new FacebookActivity(); - fa.onComplete(); + FacebookActivity.onComplete(); } public void onFacebookError(FacebookError error) { FacebookEvents.onLoginError(error.getMessage()); if (Debug.LOGGING) Log.e(TAG, "LoginDialogListener.error: " + error.getMessage()); - FacebookActivity fa = new FacebookActivity(); - fa.onComplete(); + Toast.makeText(mFa.getApplicationContext(), "Facebook authorization failed. Error: " + error.getMessage(), Toast.LENGTH_LONG).show(); + FacebookActivity.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(); + Toast.makeText(mFa.getApplicationContext(), "Facebook authorization failed. Error: " + error.getMessage(), Toast.LENGTH_LONG).show(); + FacebookActivity.onComplete(); } public void onCancel() { FacebookEvents.onLoginError("Action Canceled"); if (Debug.LOGGING) Log.e(TAG, "LoginDialogListener.login cancelled"); - FacebookActivity fa = new FacebookActivity(); - fa.onComplete(); + FacebookActivity.onComplete(); } } }