package chingyue.chingyuetestfbsdk;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;

import com.facebook.AccessToken;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.GraphRequest;
import com.facebook.GraphResponse;
import com.facebook.HttpMethod;
import com.facebook.Profile;
import com.facebook.login.LoginBehavior;
import com.facebook.login.LoginManager;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;

import java.util.Arrays;


public class MainActivity extends AppCompatActivity {
    CallbackManager callbackManager;
    AccessToken accessToken;
    TextView mTextView ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        FacebookSdk.sdkInitialize(getApplicationContext());
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        callbackManager = CallbackManager.Factory.create();
        mTextView = (TextView)findViewById(R.id.text);
        LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
        loginButton.setReadPermissions("public_profile","email");
        loginButton.setLoginBehavior(LoginBehavior.WEB_VIEW_ONLY);
        LoginManager.getInstance().logInWithReadPermissions(this,Arrays.asList("email"));
        loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                //accessToken = loginResult.getAccessToken();
                Log.d("FB","access token got.");
                new GraphRequest(
                        accessToken.getCurrentAccessToken(),
                        "/me/live_videos",
                        null,
                        HttpMethod.GET,
                        new GraphRequest.Callback(){
                            @Override
                            public void onCompleted(GraphResponse response){
                               // Log.d("FB","complete");
                               // Log.d("FB","name");
                               // Log.d("FB","link");
                                //Log.d("FB","id");
                                String name = Profile.getCurrentProfile().getName();
                                mTextView.setText(name);
                            }
                        }
                ).executeAsync();
                Bundle parameters = new Bundle();
                parameters.putString("fields","id,name,link");
                //request.setParameters(parameters);
                //request.executeAsync();
            }
            @Override
            public void onCancel() {
                Log.d("FB","CANCEL");
            }
            @Override
            public void onError(FacebookException exception) {
                Log.d("FB","ERROR");
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }

}
