package org.mots.haxsync.activities; import org.mots.haxsync.R; import org.mots.haxsync.utilities.FacebookUtil; import com.facebook.android.DialogError; import com.facebook.android.Facebook; import com.facebook.android.FacebookError; import com.facebook.android.Facebook.DialogListener; import android.accounts.Account; import android.accounts.AccountManager; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.provider.CalendarContract; import android.provider.ContactsContract; import android.util.Log; public class AuthorizationActivity extends Activity { public final String TAG = "AuthorizationActivity"; protected void onActivityResult(int requestCode, int resultCode, Intent data) { FacebookUtil.facebook.authorizeCallback(requestCode, resultCode, data); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); String[] permissions = {"offline_access", "read_stream", "user_events", "friends_events", "friends_status", "user_status", "friends_photos", "user_photos", "friends_about_me", "friends_website", "email", "friends_birthday", "friends_location"}; FacebookUtil.facebook.authorize(AuthorizationActivity.this, permissions, Facebook.FORCE_DIALOG_AUTH, new DialogListener() { @Override public void onComplete(Bundle values) { FacebookUtil.accessToken = FacebookUtil.facebook.getAccessToken(); Log.i("Expires", String.valueOf(FacebookUtil.facebook.getAccessExpires()));; AccountManager am = AccountManager.get(AuthorizationActivity.this); Account account = am.getAccountsByType(AuthorizationActivity.this.getString(R.string.ACCOUNT_TYPE))[0]; am.setPassword(account, FacebookUtil.facebook.getAccessToken()); SharedPreferences prefs = AuthorizationActivity.this.getSharedPreferences(AuthorizationActivity.this.getPackageName() + "_preferences", MODE_MULTI_PROCESS); SharedPreferences.Editor editor = prefs.edit(); editor.putInt("permission_level", FacebookUtil.PERMISSION_LEVEL); editor.putLong("access_expires", FacebookUtil.facebook.getAccessExpires()); editor.commit(); ContentResolver.requestSync(account, ContactsContract.AUTHORITY, new Bundle()); ContentResolver.requestSync(account, CalendarContract.AUTHORITY, new Bundle()); // Log.i(TAG, ContentResolver.); //Log.i(TAG, "Calendar :" + ContentResolver.isSyncActive(account, CalendarContract.AUTHORITY)); // Log.i(TAG, "Contacts :" + ContentResolver.isSyncActive(account, ContactsContract.AUTHORITY)); FacebookUtil.isExtendingToken = false; AuthorizationActivity.this.finish(); } @Override public void onFacebookError(FacebookError error) { Log.i(TAG, "fberror"); AuthorizationActivity.this.finish(); } @Override public void onError(DialogError e) { Log.i(TAG, "error"); AuthorizationActivity.this.finish(); } @Override public void onCancel() { Log.i(TAG, "cancel"); AuthorizationActivity.this.finish(); } }); } }