package com.hacktoolkit.android.api_helpers; import java.util.Arrays; import android.app.Activity; import android.util.Log; import com.hacktoolkit.android.user.HTKUser; import com.parse.LogInCallback; import com.parse.Parse; import com.parse.ParseAnalytics; import com.parse.ParseException; import com.parse.ParseFacebookUtils; import com.parse.ParseFacebookUtils.Permissions; import com.parse.ParseObject; import com.parse.ParseUser; public class ParseHelper { public static boolean initialized = false; public static void init(Activity activity, String appId, String clientId) { Parse.initialize(activity, appId, clientId); ParseAnalytics.trackAppOpened(activity.getIntent()); ParseHelper.initialized = true; } public static void fbInit(String fbAppId) { ParseFacebookUtils.initialize(fbAppId); } public static void test() { ParseObject testObject = new ParseObject("TestObject"); testObject.put("foo", "bar"); testObject.saveInBackground(); } public static void facebookLogin(String fbAppId, Activity activity, final HTKCallback callback) { ParseHelper.fbInit(fbAppId); ParseFacebookUtils.logIn(Arrays.asList("email", Permissions.Friends.ABOUT_ME), activity, new LogInCallback() { @Override public void done(ParseUser parseUser, ParseException err) { if (parseUser == null) { Log.d("Hacktoolkit", "Uh oh. The user cancelled the Facebook login."); } else { HTKUser.getCurrentUser(parseUser).updateWithGraphUser(); if (parseUser.isNew()) { Log.d("Hacktoolkit", "User signed up and logged in through Facebook!"); } else { Log.d("Hacktoolkit", "User logged in through Facebook!"); } callback.execute(null); } } }); } }