View difference between Paste ID: DwVEFpFK and 3CeVzCAA
SHOW: | | - or go back to the newest paste.
1-
  
1+
   public void onCreate(Bundle savedInstanceState) {
2
    	
3
        super.onCreate(savedInstanceState);
4
        setContentView(R.layout.activity_login);
5
        facebookLogin();
6
    }
7
public void facebookLogin()
8
    {
9
    	shareAppPreferences = new AppPreferences(getApplicationContext());
10
    	 facebook =  new Facebook("APP KEY");//((GlobalVars)getApplicationContext()).facebook;
11
    	 Log.d("MyTag","access key: "+ shareAppPreferences.getAccessKey());
12
         String access_token = shareAppPreferences.getAccessToken();
13
         Long expires = shareAppPreferences.getAccessExpires();
14
         Log.d("MyTag","token:" +access_token);
15
         if(access_token != null) {
16
             facebook.setAccessToken(access_token);
17
         }
18
         if(expires != 0) {
19
             facebook.setAccessExpires(expires);
20
         }
21
         /*
22
          * Only call authorize if the access_token has expired.
23
          */
24
         if(!facebook.isSessionValid()) {
25
        	 Log.d("MyTag","In Authorize");
26
        	  facebook.authorize(this, new String[] {"publish_stream", "email"}, Facebook.FORCE_DIALOG_AUTH, new DialogListener() {
27
                  public void onComplete(Bundle values) {
28
                      
29
                      shareAppPreferences.saveAccessToken(facebook.getAccessToken());
30
                      Log.d("MyTag","face token: " +facebook.getAccessToken());
31
                      shareAppPreferences.saveAccessExpires(facebook.getAccessExpires());
32
                      completeLogin();
33
                  }
34
      
35
                  public void onFacebookError(FacebookError e) {
36
                    Toast.makeText(getBaseContext(), "onFacebookError", Toast.LENGTH_SHORT).show();
37
                }
38
   
39
                public void onError(DialogError e) {
40
                    Toast.makeText(getBaseContext(), "onError", Toast.LENGTH_SHORT).show();
41
                }
42
                public void onCancel() {
43
                
44
              }
45
              });
46
         }
47
         else{
48
        	 completeLogin();
49
         }
50
		
51
    }
52
    private void completeLogin()
53
    {
54
        shareLinkOnFB();
55
       
56
        Intent intent = new Intent(this,MainActivity.class);
57
        Log.d("MyTag", "starting activity");
58
        startActivity(intent);
59
    }
60
   public void shareLinkOnFB(){
61
    	Facebook mFacebook = ((GlobalVars)getApplicationContext()).facebook;
62
    	AsyncFacebookRunner mAsyncRunner;
63
    	mAsyncRunner = new AsyncFacebookRunner(mFacebook);
64
    	Bundle params = new Bundle();
65
66
    	params.putString("message", "Test");
67
    	params.putString("name", "ka");
68
    	params.putString("link", "http://www.facebook.com");
69
    	params.putString("description", "desc ...");
70
71
    	mAsyncRunner.request("me/feed", params, new WallPostRequestListener());
72
          
73
        Toast.makeText(Login.this, "Posting to your Wall...", Toast.LENGTH_SHORT).show();       
74
    }
75
    public class WallPostRequestListener extends BaseRequestListener {
76
77
        public void onComplete(final String response, final Object state) {
78
            Log.d("Facebook-Example", "Got response: " + response);
79
            String message = "<empty>";
80
            try {
81
                JSONObject json = Util.parseJson(response);
82
                message = json.getString("message");
83
            } catch (JSONException e) {
84
                Log.w("Facebook-Example", "JSON Error in response");
85
            } catch (FacebookError e) {
86
                Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
87
            }
88
            final String text = "Your Wall Post: " + message;
89
        }
90
    }
91
    public abstract class BaseRequestListener implements RequestListener {
92
93
    	public void onFacebookError(FacebookError e, final Object state) {
94
    	    Log.e("Facebook", e.getMessage());
95
    	    e.printStackTrace();
96
    	}
97
98
    	public void onFileNotFoundException(FileNotFoundException e,
99
    	        final Object state) {
100
    	    Log.e("Facebook", e.getMessage());
101
    	    e.printStackTrace();
102
    	}
103
104
    	public void onIOException(IOException e, final Object state) {
105
    	    Log.e("Facebook", e.getMessage());
106
    	    e.printStackTrace();
107
    	}
108
109
    	public void onMalformedURLException(MalformedURLException e,
110
    	        final Object state) {
111
    	    Log.e("Facebook", e.getMessage());
112
    	    e.printStackTrace();
113
    	}
114
    }
115
116
    @Override
117
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
118
        super.onActivityResult(requestCode, resultCode, data);
119
120
        facebook.authorizeCallback(requestCode, resultCode, data);
121
    }