1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | package com.sara.facebookappl; import java.io.IOException; import java.net.MalformedURLException; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.AsyncTask; import android.os.Bundle; import android.os.Looper; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.facebook.android.DialogError; import com.facebook.android.Facebook; import com.facebook.android.Facebook.DialogListener; import com.facebook.android.FacebookError; import com.facebook.android.Util; public class MainActivity extends Activity implements OnClickListener, DialogListener { Facebook fb; ImageView button; private SharedPreferences sp; TextView welcome; Button post; @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); post=(Button)findViewById(R.id.button1); String APP_ID = getString(R.string.APP_ID); fb= new Facebook(APP_ID); Looper.prepare(); new PostTask().execute(fb); Looper.loop(); sp =getPreferences(MODE_PRIVATE); String access_token=sp.getString("access_token", null); long expires=sp.getLong("access_expires", 0); if (access_token !=null) { fb.setAccessToken(access_token); } if(expires !=0) { fb.setAccessExpires(expires); } button=(ImageView)findViewById(R.id.login); button.setOnClickListener((OnClickListener) this); updateButtonImage(); } private class PostTask extends AsyncTask<Facebook, Integer, String> { ProgressDialog dialog; protected void onPreExecute() { dialog = new ProgressDialog(MainActivity.this); dialog.setProgress(ProgressDialog.STYLE_HORIZONTAL); dialog.setMax(100); dialog.show(); } @SuppressWarnings("deprecation") @Override protected String doInBackground(Facebook... params) { if (fb.isSessionValid()) { button.setImageResource(R.drawable.com_facebook_loginbutton_blue); // ^logout button JSONObject obj=null; try { String jsonUser= fb.request("me"); obj = Util.parseJson(jsonUser); String name = obj.optString("name"); welcome.setText("Welcome, " + name); }catch(FacebookError e) { e.printStackTrace(); }catch (JSONException e) { e.printStackTrace(); }catch (MalformedURLException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } }else { post.setVisibility(Button.VISIBLE); button.setImageResource(R.drawable.com_facebook_loginbutton_blue); } return null; } } protected void onProgressUpdated(Integer...progress) { } @SuppressWarnings("deprecation") protected void onPostExecute(Facebook result) { // ^logout button try {JSONObject obj=null; String jsonUser= fb.request("me"); obj = Util.parseJson(jsonUser); String name = obj.optString("name"); welcome.setText("Welcome, " + name);} catch(FacebookError e) { e.printStackTrace(); }catch (JSONException e) { e.printStackTrace(); }catch (MalformedURLException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } private void updateButtonImage() { // TODO Auto-generated method stub post.setVisibility(Button.VISIBLE); button.setImageResource(R.drawable.com_facebook_loginbutton_blue); //logout button } @SuppressWarnings("deprecation") public void buttonClicks(View v) { switch (v.getId()) { case R.id.button1: //post Bundle params= new Bundle(); params.putString("name", "User X"); params.putString("caption", "Rating"); params.putString("description", "User X Rated"); params.putString("link", "http://..."); fb.dialog(MainActivity.this, "feed", params, new Facebook.DialogListener() { @Override public void onFacebookError(FacebookError e) { // TODO Auto-generated method stub } @Override public void onError(DialogError e) { // TODO Auto-generated method stub } @Override public void onComplete(Bundle values) { // TODO Auto-generated method stub } @Override public void onCancel() { // TODO Auto-generated method stub } }); break; } } @SuppressWarnings("deprecation") public void onClick(View v) { if(fb.isSessionValid()) { try { fb.logout(getApplicationContext()); updateButtonImage(); //button will close our our session }catch(MalformedURLException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } }else{ //login into facebook fb.authorize(MainActivity.this, new String[] {"email"}, new Facebook.DialogListener() { @Override public void onFacebookError(FacebookError e) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "fbError", Toast.LENGTH_SHORT).show(); } @Override public void onError(DialogError e) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onError", Toast.LENGTH_SHORT).show(); } @Override public void onComplete(Bundle values) { // TODO Auto-generated method stub Editor editor=sp.edit(); editor.putString("access_token", fb.getAccessToken()); editor.putLong("access_expires", fb.getAccessExpires()); editor.commit(); updateButtonImage(); } @Override public void onCancel() { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onCancel", Toast.LENGTH_SHORT).show(); } }); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @SuppressWarnings("deprecation") @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); fb.authorizeCallback(requestCode, resultCode, data); } @Override public void onComplete(Bundle values) { // TODO Auto-generated method stub } @Override public void onFacebookError(FacebookError e) { // TODO Auto-generated method stub } @Override public void onError(DialogError e) { // TODO Auto-generated method stub } @Override public void onCancel() { // TODO Auto-generated method stub } } |
cGFja2FnZSBjb20uc2FyYS5mYWNlYm9va2FwcGw7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEubmV0Lk1hbGZvcm1lZFVSTEV4Y2VwdGlvbjsKCgppbXBvcnQgb3JnLmpzb24uSlNPTkV4Y2VwdGlvbjsKaW1wb3J0IG9yZy5qc29uLkpTT05PYmplY3Q7CgoKaW1wb3J0IGFuZHJvaWQuYXBwLkFjdGl2aXR5OwppbXBvcnQgYW5kcm9pZC5hcHAuUHJvZ3Jlc3NEaWFsb2c7CmltcG9ydCBhbmRyb2lkLmNvbnRlbnQuSW50ZW50OwppbXBvcnQgYW5kcm9pZC5jb250ZW50LlNoYXJlZFByZWZlcmVuY2VzOwppbXBvcnQgYW5kcm9pZC5jb250ZW50LlNoYXJlZFByZWZlcmVuY2VzLkVkaXRvcjsKaW1wb3J0IGFuZHJvaWQub3MuQXN5bmNUYXNrOwppbXBvcnQgYW5kcm9pZC5vcy5CdW5kbGU7CmltcG9ydCBhbmRyb2lkLm9zLkxvb3BlcjsKaW1wb3J0IGFuZHJvaWQudmlldy5NZW51OwppbXBvcnQgYW5kcm9pZC52aWV3LlZpZXc7CmltcG9ydCBhbmRyb2lkLnZpZXcuVmlldy5PbkNsaWNrTGlzdGVuZXI7CmltcG9ydCBhbmRyb2lkLndpZGdldC5CdXR0b247CmltcG9ydCBhbmRyb2lkLndpZGdldC5JbWFnZVZpZXc7CmltcG9ydCBhbmRyb2lkLndpZGdldC5UZXh0VmlldzsKaW1wb3J0IGFuZHJvaWQud2lkZ2V0LlRvYXN0OwoKaW1wb3J0IGNvbS5mYWNlYm9vay5hbmRyb2lkLkRpYWxvZ0Vycm9yOwppbXBvcnQgY29tLmZhY2Vib29rLmFuZHJvaWQuRmFjZWJvb2s7CmltcG9ydCBjb20uZmFjZWJvb2suYW5kcm9pZC5GYWNlYm9vay5EaWFsb2dMaXN0ZW5lcjsKaW1wb3J0IGNvbS5mYWNlYm9vay5hbmRyb2lkLkZhY2Vib29rRXJyb3I7CmltcG9ydCBjb20uZmFjZWJvb2suYW5kcm9pZC5VdGlsOwoKcHVibGljIGNsYXNzIE1haW5BY3Rpdml0eSBleHRlbmRzIEFjdGl2aXR5IGltcGxlbWVudHMgT25DbGlja0xpc3RlbmVyLCBEaWFsb2dMaXN0ZW5lciB7CiAgICAKCUZhY2Vib29rIGZiOyAKCUltYWdlVmlldyBidXR0b247IAoJcHJpdmF0ZSBTaGFyZWRQcmVmZXJlbmNlcyBzcDsgCglUZXh0VmlldyB3ZWxjb21lOyAKCUJ1dHRvbiBwb3N0OyAKCQoJQFN1cHByZXNzV2FybmluZ3MoImRlcHJlY2F0aW9uIikKCUBPdmVycmlkZQoJcHJvdGVjdGVkIHZvaWQgb25DcmVhdGUoQnVuZGxlIHNhdmVkSW5zdGFuY2VTdGF0ZSkgewoJCXN1cGVyLm9uQ3JlYXRlKHNhdmVkSW5zdGFuY2VTdGF0ZSk7CgkJc2V0Q29udGVudFZpZXcoUi5sYXlvdXQuYWN0aXZpdHlfbWFpbik7CgkJCgkJcG9zdD0oQnV0dG9uKWZpbmRWaWV3QnlJZChSLmlkLmJ1dHRvbjEpOwoJCQoJCVN0cmluZyBBUFBfSUQgPSBnZXRTdHJpbmcoUi5zdHJpbmcuQVBQX0lEKTsKCQlmYj0gbmV3IEZhY2Vib29rKEFQUF9JRCk7CgkJCgkJTG9vcGVyLnByZXBhcmUoKTsgCgkJbmV3IFBvc3RUYXNrKCkuZXhlY3V0ZShmYik7CgkJTG9vcGVyLmxvb3AoKTsgCgkJCgkJc3AgPWdldFByZWZlcmVuY2VzKE1PREVfUFJJVkFURSk7CgkJU3RyaW5nIGFjY2Vzc190b2tlbj1zcC5nZXRTdHJpbmcoImFjY2Vzc190b2tlbiIsIG51bGwpOwoJCWxvbmcgZXhwaXJlcz1zcC5nZXRMb25nKCJhY2Nlc3NfZXhwaXJlcyIsIDApOwoJCQoJCWlmIChhY2Nlc3NfdG9rZW4gIT1udWxsKSB7CgkJCWZiLnNldEFjY2Vzc1Rva2VuKGFjY2Vzc190b2tlbik7CgkJfQoJCWlmKGV4cGlyZXMgIT0wKSB7CgkJCWZiLnNldEFjY2Vzc0V4cGlyZXMoZXhwaXJlcyk7CgkJfQoJCQkKCQkgCgkJYnV0dG9uPShJbWFnZVZpZXcpZmluZFZpZXdCeUlkKFIuaWQubG9naW4pOwoJCWJ1dHRvbi5zZXRPbkNsaWNrTGlzdGVuZXIoKE9uQ2xpY2tMaXN0ZW5lcikgdGhpcyk7CgkJdXBkYXRlQnV0dG9uSW1hZ2UoKTsKCQkKCX0KCQoJcHJpdmF0ZSBjbGFzcyBQb3N0VGFzayBleHRlbmRzIEFzeW5jVGFzazxGYWNlYm9vaywgSW50ZWdlciwgU3RyaW5nPiB7CgkJCgkJUHJvZ3Jlc3NEaWFsb2cgZGlhbG9nOyAKCQkKCQlwcm90ZWN0ZWQgdm9pZCBvblByZUV4ZWN1dGUoKSB7CgkJCWRpYWxvZyA9IG5ldyBQcm9ncmVzc0RpYWxvZyhNYWluQWN0aXZpdHkudGhpcyk7CgkJCWRpYWxvZy5zZXRQcm9ncmVzcyhQcm9ncmVzc0RpYWxvZy5TVFlMRV9IT1JJWk9OVEFMKTsKCQkJZGlhbG9nLnNldE1heCgxMDApOwoJCQlkaWFsb2cuc2hvdygpOwoJCQkKCQkJCgkJfQoKCQlAU3VwcHJlc3NXYXJuaW5ncygiZGVwcmVjYXRpb24iKQoJCUBPdmVycmlkZQoJCXByb3RlY3RlZCBTdHJpbmcgZG9JbkJhY2tncm91bmQoRmFjZWJvb2suLi4gcGFyYW1zKSB7CgkJCWlmIChmYi5pc1Nlc3Npb25WYWxpZCgpKSB7CgkJCQlidXR0b24uc2V0SW1hZ2VSZXNvdXJjZShSLmRyYXdhYmxlLmNvbV9mYWNlYm9va19sb2dpbmJ1dHRvbl9ibHVlKTsKCQkJCS8vIF5sb2dvdXQgYnV0dG9uCgkJCQoJCQlKU09OT2JqZWN0IG9iaj1udWxsOwoJCQkKCQkJdHJ5IHsKCQkJU3RyaW5nIGpzb25Vc2VyPSBmYi5yZXF1ZXN0KCJtZSIpOwoJCQlvYmogPSBVdGlsLnBhcnNlSnNvbihqc29uVXNlcik7CgkJCVN0cmluZyBuYW1lID0gb2JqLm9wdFN0cmluZygibmFtZSIpOwoJCQl3ZWxjb21lLnNldFRleHQoIldlbGNvbWUsICIgKyBuYW1lKTsKCQkJfWNhdGNoKEZhY2Vib29rRXJyb3IgZSkgewoJCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKCgkJCX1jYXRjaCAoSlNPTkV4Y2VwdGlvbiBlKSB7CgkJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCQl9Y2F0Y2ggKE1hbGZvcm1lZFVSTEV4Y2VwdGlvbiBlKSB7CgkJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCQl9Y2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKCQkJCWUucHJpbnRTdGFja1RyYWNlKCk7CgkJCX0KCQkJCgkJCX1lbHNlIHsKCQkJCXBvc3Quc2V0VmlzaWJpbGl0eShCdXR0b24uVklTSUJMRSk7CgkJCQlidXR0b24uc2V0SW1hZ2VSZXNvdXJjZShSLmRyYXdhYmxlLmNvbV9mYWNlYm9va19sb2dpbmJ1dHRvbl9ibHVlKTsKCQkJfQoJCQlyZXR1cm4gbnVsbDsKCQl9Cgl9CgkKCXByb3RlY3RlZCB2b2lkIG9uUHJvZ3Jlc3NVcGRhdGVkKEludGVnZXIuLi5wcm9ncmVzcykgewoJCQoJfQoJCglAU3VwcHJlc3NXYXJuaW5ncygiZGVwcmVjYXRpb24iKQoJcHJvdGVjdGVkIHZvaWQgb25Qb3N0RXhlY3V0ZShGYWNlYm9vayByZXN1bHQpIHsKCgkJCS8vIF5sb2dvdXQgYnV0dG9uCgkJdHJ5IHtKU09OT2JqZWN0IG9iaj1udWxsOwoJCVN0cmluZyBqc29uVXNlcj0gZmIucmVxdWVzdCgibWUiKTsKCQlvYmogPSBVdGlsLnBhcnNlSnNvbihqc29uVXNlcik7CgkJU3RyaW5nIG5hbWUgPSBvYmoub3B0U3RyaW5nKCJuYW1lIik7CgkJd2VsY29tZS5zZXRUZXh0KCJXZWxjb21lLCAiICsgbmFtZSk7fQoJCWNhdGNoKEZhY2Vib29rRXJyb3IgZSkgewoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoKCQl9Y2F0Y2ggKEpTT05FeGNlcHRpb24gZSkgewoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCX1jYXRjaCAoTWFsZm9ybWVkVVJMRXhjZXB0aW9uIGUpIHsKCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKCQl9Y2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKCQl9Cgl9CgkKCQoJcHJpdmF0ZSB2b2lkIHVwZGF0ZUJ1dHRvbkltYWdlKCkgewoJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQkKCQlwb3N0LnNldFZpc2liaWxpdHkoQnV0dG9uLlZJU0lCTEUpOwoJCWJ1dHRvbi5zZXRJbWFnZVJlc291cmNlKFIuZHJhd2FibGUuY29tX2ZhY2Vib29rX2xvZ2luYnV0dG9uX2JsdWUpOwoJCS8vbG9nb3V0IGJ1dHRvbgoJCQoJCQoJfQoJCglAU3VwcHJlc3NXYXJuaW5ncygiZGVwcmVjYXRpb24iKQoJcHVibGljIHZvaWQgYnV0dG9uQ2xpY2tzKFZpZXcgdikgewoJCXN3aXRjaCAodi5nZXRJZCgpKSB7CgkJCWNhc2UgUi5pZC5idXR0b24xOgoJCQkJLy9wb3N0CgkJCQkKCQkJCUJ1bmRsZSBwYXJhbXM9IG5ldyBCdW5kbGUoKTsKCQkJCQoJCQkJcGFyYW1zLnB1dFN0cmluZygibmFtZSIsICJVc2VyIFgiKTsgCgkJCQlwYXJhbXMucHV0U3RyaW5nKCJjYXB0aW9uIiwgIlJhdGluZyIpOyAKCQkJCXBhcmFtcy5wdXRTdHJpbmcoImRlc2NyaXB0aW9uIiwgIlVzZXIgWCBSYXRlZCIpOyAKCQkJCXBhcmFtcy5wdXRTdHJpbmcoImxpbmsiLCAiaHR0cDovLy4uLiIpOyAKCQkJCQoJCQkJCgkJCQkKCQkJCWZiLmRpYWxvZyhNYWluQWN0aXZpdHkudGhpcywgImZlZWQiLCBwYXJhbXMsIG5ldyBGYWNlYm9vay5EaWFsb2dMaXN0ZW5lcigpIHsKCQkJCQkKCQkJCQlAT3ZlcnJpZGUKCQkJCQlwdWJsaWMgdm9pZCBvbkZhY2Vib29rRXJyb3IoRmFjZWJvb2tFcnJvciBlKSB7CgkJCQkJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQkJCQkJCgkJCQkJfQoJCQkJCQoJCQkJCUBPdmVycmlkZQoJCQkJCXB1YmxpYyB2b2lkIG9uRXJyb3IoRGlhbG9nRXJyb3IgZSkgewoJCQkJCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJCQkJCQoJCQkJCX0KCQkJCQkKCQkJCQlAT3ZlcnJpZGUKCQkJCQlwdWJsaWMgdm9pZCBvbkNvbXBsZXRlKEJ1bmRsZSB2YWx1ZXMpIHsKCQkJCQkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQkJCQkKCQkJCQl9CgkJCQkJCgkJCQkJQE92ZXJyaWRlCgkJCQkJcHVibGljIHZvaWQgb25DYW5jZWwoKSB7CgkJCQkJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQkJCQkJCgkJCQkJfQoJCQkJfSk7CgkJCQlicmVhazsKCQl9Cgl9CglAU3VwcHJlc3NXYXJuaW5ncygiZGVwcmVjYXRpb24iKQoJcHVibGljIHZvaWQgb25DbGljayhWaWV3IHYpIHsKCQlpZihmYi5pc1Nlc3Npb25WYWxpZCgpKSB7CgkJCQoJCQl0cnkgewoJCQlmYi5sb2dvdXQoZ2V0QXBwbGljYXRpb25Db250ZXh0KCkpOwoJCQl1cGRhdGVCdXR0b25JbWFnZSgpOwoJCQkvL2J1dHRvbiB3aWxsIGNsb3NlIG91ciBvdXIgc2Vzc2lvbgoJCX1jYXRjaChNYWxmb3JtZWRVUkxFeGNlcHRpb24gZSkgewoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCX0gY2F0Y2goSU9FeGNlcHRpb24gZSkgewoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCX0KCX1lbHNlewoJCQkvL2xvZ2luIGludG8gZmFjZWJvb2sKCQkJZmIuYXV0aG9yaXplKE1haW5BY3Rpdml0eS50aGlzLCBuZXcgU3RyaW5nW10geyJlbWFpbCJ9LCBuZXcgRmFjZWJvb2suRGlhbG9nTGlzdGVuZXIoKSB7CgkJCQkKCQkJCUBPdmVycmlkZQoJCQkJcHVibGljIHZvaWQgb25GYWNlYm9va0Vycm9yKEZhY2Vib29rRXJyb3IgZSkgewoJCQkJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQkJCQlUb2FzdC5tYWtlVGV4dChNYWluQWN0aXZpdHkudGhpcywgImZiRXJyb3IiLCBUb2FzdC5MRU5HVEhfU0hPUlQpLnNob3coKTsKCQkJCX0KCQkJCQoJCQkJQE92ZXJyaWRlCgkJCQlwdWJsaWMgdm9pZCBvbkVycm9yKERpYWxvZ0Vycm9yIGUpIHsKCQkJCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJCQkJVG9hc3QubWFrZVRleHQoTWFpbkFjdGl2aXR5LnRoaXMsICJvbkVycm9yIiwgVG9hc3QuTEVOR1RIX1NIT1JUKS5zaG93KCk7CgkJCQl9CgkJCQkKCQkJCUBPdmVycmlkZQoJCQkJcHVibGljIHZvaWQgb25Db21wbGV0ZShCdW5kbGUgdmFsdWVzKSB7CgkJCQkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQkJCUVkaXRvciBlZGl0b3I9c3AuZWRpdCgpOwoJCQkJCWVkaXRvci5wdXRTdHJpbmcoImFjY2Vzc190b2tlbiIsIGZiLmdldEFjY2Vzc1Rva2VuKCkpOwoJCQkJCWVkaXRvci5wdXRMb25nKCJhY2Nlc3NfZXhwaXJlcyIsIGZiLmdldEFjY2Vzc0V4cGlyZXMoKSk7CgkJCQkJZWRpdG9yLmNvbW1pdCgpOwoJCQkJCXVwZGF0ZUJ1dHRvbkltYWdlKCk7CgkJCQl9CgkJCQkKCQkJCUBPdmVycmlkZQoJCQkJcHVibGljIHZvaWQgb25DYW5jZWwoKSB7CgkJCQkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQkJCVRvYXN0Lm1ha2VUZXh0KE1haW5BY3Rpdml0eS50aGlzLCAib25DYW5jZWwiLCBUb2FzdC5MRU5HVEhfU0hPUlQpLnNob3coKTsKCQkJCX0KCQkJfSk7CgkJCQoJCQl9Cgl9CgkKCglAT3ZlcnJpZGUKCXB1YmxpYyBib29sZWFuIG9uQ3JlYXRlT3B0aW9uc01lbnUoTWVudSBtZW51KSB7CgkJLy8gSW5mbGF0ZSB0aGUgbWVudTsgdGhpcyBhZGRzIGl0ZW1zIHRvIHRoZSBhY3Rpb24gYmFyIGlmIGl0IGlzIHByZXNlbnQuCgkJZ2V0TWVudUluZmxhdGVyKCkuaW5mbGF0ZShSLm1lbnUuYWN0aXZpdHlfbWFpbiwgbWVudSk7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCUBTdXBwcmVzc1dhcm5pbmdzKCJkZXByZWNhdGlvbiIpCglAT3ZlcnJpZGUKCXByb3RlY3RlZCB2b2lkIG9uQWN0aXZpdHlSZXN1bHQoaW50IHJlcXVlc3RDb2RlLCBpbnQgcmVzdWx0Q29kZSwgSW50ZW50IGRhdGEpIHsKCQlzdXBlci5vbkFjdGl2aXR5UmVzdWx0KHJlcXVlc3RDb2RlLCByZXN1bHRDb2RlLCBkYXRhKTsKCQlmYi5hdXRob3JpemVDYWxsYmFjayhyZXF1ZXN0Q29kZSwgcmVzdWx0Q29kZSwgZGF0YSk7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCBvbkNvbXBsZXRlKEJ1bmRsZSB2YWx1ZXMpIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJCgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCBvbkZhY2Vib29rRXJyb3IoRmFjZWJvb2tFcnJvciBlKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQoJfQoKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgb25FcnJvcihEaWFsb2dFcnJvciBlKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQoJfQoKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgb25DYW5jZWwoKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCQoJfQoKfQ==
Main.java:33: class MainActivity is public, should be declared in a file named MainActivity.java
public class MainActivity extends Activity implements OnClickListener, DialogListener {
^
Main.java:7: package org.json does not exist
import org.json.JSONException;
^
Main.java:8: package org.json does not exist
import org.json.JSONObject;
^
Main.java:11: package android.app does not exist
import android.app.Activity;
^
Main.java:12: package android.app does not exist
import android.app.ProgressDialog;
^
Main.java:13: package android.content does not exist
import android.content.Intent;
^
Main.java:14: package android.content does not exist
import android.content.SharedPreferences;
^
Main.java:15: package android.content.SharedPreferences does not exist
import android.content.SharedPreferences.Editor;
^
Main.java:16: package android.os does not exist
import android.os.AsyncTask;
^
Main.java:17: package android.os does not exist
import android.os.Bundle;
^
Main.java:18: package android.os does not exist
import android.os.Looper;
^
Main.java:19: package android.view does not exist
import android.view.Menu;
^
Main.java:20: package android.view does not exist
import android.view.View;
^
Main.java:21: package android.view.View does not exist
import android.view.View.OnClickListener;
^
Main.java:22: package android.widget does not exist
import android.widget.Button;
^
Main.java:23: package android.widget does not exist
import android.widget.ImageView;
^
Main.java:24: package android.widget does not exist
import android.widget.TextView;
^
Main.java:25: package android.widget does not exist
import android.widget.Toast;
^
Main.java:27: package com.facebook.android does not exist
import com.facebook.android.DialogError;
^
Main.java:28: package com.facebook.android does not exist
import com.facebook.android.Facebook;
^
Main.java:29: package com.facebook.android.Facebook does not exist
import com.facebook.android.Facebook.DialogListener;
^
Main.java:30: package com.facebook.android does not exist
import com.facebook.android.FacebookError;
^
Main.java:31: package com.facebook.android does not exist
import com.facebook.android.Util;
^
Main.java:33: cannot find symbol
symbol: class Activity
public class MainActivity extends Activity implements OnClickListener, DialogListener {
^
Main.java:33: cannot find symbol
symbol: class OnClickListener
public class MainActivity extends Activity implements OnClickListener, DialogListener {
^
Main.java:33: cannot find symbol
symbol: class DialogListener
public class MainActivity extends Activity implements OnClickListener, DialogListener {
^
Main.java:35: cannot find symbol
symbol : class Facebook
location: class com.sara.facebookappl.MainActivity
Facebook fb;
^
Main.java:36: cannot find symbol
symbol : class ImageView
location: class com.sara.facebookappl.MainActivity
ImageView button;
^
Main.java:37: cannot find symbol
symbol : class SharedPreferences
location: class com.sara.facebookappl.MainActivity
private SharedPreferences sp;
^
Main.java:38: cannot find symbol
symbol : class TextView
location: class com.sara.facebookappl.MainActivity
TextView welcome;
^
Main.java:39: cannot find symbol
symbol : class Button
location: class com.sara.facebookappl.MainActivity
Button post;
^
Main.java:43: cannot find symbol
symbol : class Bundle
location: class com.sara.facebookappl.MainActivity
protected void onCreate(Bundle savedInstanceState) {
^
Main.java:125: cannot find symbol
symbol : class Facebook
location: class com.sara.facebookappl.MainActivity
protected void onPostExecute(Facebook result) {
^
Main.java:157: cannot find symbol
symbol : class View
location: class com.sara.facebookappl.MainActivity
public void buttonClicks(View v) {
^
Main.java:201: cannot find symbol
symbol : class View
location: class com.sara.facebookappl.MainActivity
public void onClick(View v) {
^
Main.java:251: cannot find symbol
symbol : class Menu
location: class com.sara.facebookappl.MainActivity
public boolean onCreateOptionsMenu(Menu menu) {
^
Main.java:259: cannot find symbol
symbol : class Intent
location: class com.sara.facebookappl.MainActivity
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
^
Main.java:265: cannot find symbol
symbol : class Bundle
location: class com.sara.facebookappl.MainActivity
public void onComplete(Bundle values) {
^
Main.java:271: cannot find symbol
symbol : class FacebookError
location: class com.sara.facebookappl.MainActivity
public void onFacebookError(FacebookError e) {
^
Main.java:277: cannot find symbol
symbol : class DialogError
location: class com.sara.facebookappl.MainActivity
public void onError(DialogError e) {
^
Main.java:74: cannot find symbol
symbol : class AsyncTask
location: class com.sara.facebookappl.MainActivity
private class PostTask extends AsyncTask<Facebook, Integer, String> {
^
Main.java:74: cannot find symbol
symbol : class Facebook
location: class com.sara.facebookappl.MainActivity
private class PostTask extends AsyncTask<Facebook, Integer, String> {
^
Main.java:76: cannot find symbol
symbol : class ProgressDialog
location: class com.sara.facebookappl.MainActivity.PostTask
ProgressDialog dialog;
^
Main.java:89: cannot find symbol
symbol : class Facebook
location: class com.sara.facebookappl.MainActivity.PostTask
protected String doInBackground(Facebook... params) {
^
Main.java:44: cannot find symbol
symbol : variable super
location: class com.sara.facebookappl.MainActivity
super.onCreate(savedInstanceState);
^
Main.java:45: package R does not exist
setContentView(R.layout.activity_main);
^
Main.java:47: cannot find symbol
symbol : class Button
location: class com.sara.facebookappl.MainActivity
post=(Button)findViewById(R.id.button1);
^
Main.java:47: package R does not exist
post=(Button)findViewById(R.id.button1);
^
Main.java:49: package R does not exist
String APP_ID = getString(R.string.APP_ID);
^
Main.java:50: cannot find symbol
symbol : class Facebook
location: class com.sara.facebookappl.MainActivity
fb= new Facebook(APP_ID);
^
Main.java:52: cannot find symbol
symbol : variable Looper
location: class com.sara.facebookappl.MainActivity
Looper.prepare();
^
Main.java:54: cannot find symbol
symbol : variable Looper
location: class com.sara.facebookappl.MainActivity
Looper.loop();
^
Main.java:56: cannot find symbol
symbol : variable MODE_PRIVATE
location: class com.sara.facebookappl.MainActivity
sp =getPreferences(MODE_PRIVATE);
^
Main.java:68: cannot find symbol
symbol : class ImageView
location: class com.sara.facebookappl.MainActivity
button=(ImageView)findViewById(R.id.login);
^
Main.java:68: package R does not exist
button=(ImageView)findViewById(R.id.login);
^
Main.java:69: cannot find symbol
symbol : class OnClickListener
location: class com.sara.facebookappl.MainActivity
button.setOnClickListener((OnClickListener) this);
^
Main.java:42: method does not override or implement a method from a supertype
@Override
^
Main.java:79: cannot find symbol
symbol : class ProgressDialog
location: class com.sara.facebookappl.MainActivity.PostTask
dialog = new ProgressDialog(MainActivity.this);
^
Main.java:80: cannot find symbol
symbol : variable ProgressDialog
location: class com.sara.facebookappl.MainActivity.PostTask
dialog.setProgress(ProgressDialog.STYLE_HORIZONTAL);
^
Main.java:91: package R does not exist
button.setImageResource(R.drawable.com_facebook_loginbutton_blue);
^
Main.java:94: cannot find symbol
symbol : class JSONObject
location: class com.sara.facebookappl.MainActivity.PostTask
JSONObject obj=null;
^
Main.java:98: cannot find symbol
symbol : variable Util
location: class com.sara.facebookappl.MainActivity.PostTask
obj = Util.parseJson(jsonUser);
^
Main.java:101: cannot find symbol
symbol : class FacebookError
location: class com.sara.facebookappl.MainActivity.PostTask
}catch(FacebookError e) {
^
Main.java:104: cannot find symbol
symbol : class JSONException
location: class com.sara.facebookappl.MainActivity.PostTask
}catch (JSONException e) {
^
Main.java:113: cannot find symbol
symbol : variable Button
location: class com.sara.facebookappl.MainActivity.PostTask
post.setVisibility(Button.VISIBLE);
^
Main.java:114: package R does not exist
button.setImageResource(R.drawable.com_facebook_loginbutton_blue);
^
Main.java:88: method does not override or implement a method from a supertype
@Override
^
Main.java:128: cannot find symbol
symbol : class JSONObject
location: class com.sara.facebookappl.MainActivity
try {JSONObject obj=null;
^
Main.java:130: cannot find symbol
symbol : variable Util
location: class com.sara.facebookappl.MainActivity
obj = Util.parseJson(jsonUser);
^
Main.java:133: cannot find symbol
symbol : class FacebookError
location: class com.sara.facebookappl.MainActivity
catch(FacebookError e) {
^
Main.java:136: cannot find symbol
symbol : class JSONException
location: class com.sara.facebookappl.MainActivity
}catch (JSONException e) {
^
Main.java:149: cannot find symbol
symbol : variable Button
location: class com.sara.facebookappl.MainActivity
post.setVisibility(Button.VISIBLE);
^
Main.java:150: package R does not exist
button.setImageResource(R.drawable.com_facebook_loginbutton_blue);
^
Main.java:159: package R does not exist
case R.id.button1:
^
Main.java:162: cannot find symbol
symbol : class Bundle
location: class com.sara.facebookappl.MainActivity
Bundle params= new Bundle();
^
Main.java:162: cannot find symbol
symbol : class Bundle
location: class com.sara.facebookappl.MainActivity
Bundle params= new Bundle();
^
Main.java:171: package Facebook does not exist
fb.dialog(MainActivity.this, "feed", params, new Facebook.DialogListener() {
^
Main.java:205: cannot find symbol
symbol : method getApplicationContext()
location: class com.sara.facebookappl.MainActivity
fb.logout(getApplicationContext());
^
Main.java:215: package Facebook does not exist
fb.authorize(MainActivity.this, new String[] {"email"}, new Facebook.DialogListener() {
^
Main.java:253: package R does not exist
getMenuInflater().inflate(R.menu.activity_main, menu);
^
Main.java:253: cannot find symbol
symbol : method getMenuInflater()
location: class com.sara.facebookappl.MainActivity
getMenuInflater().inflate(R.menu.activity_main, menu);
^
Main.java:250: method does not override or implement a method from a supertype
@Override
^
Main.java:260: cannot find symbol
symbol : variable super
location: class com.sara.facebookappl.MainActivity
super.onActivityResult(requestCode, resultCode, data);
^
Main.java:258: method does not override or implement a method from a supertype
@Override
^
Main.java:264: method does not override or implement a method from a supertype
@Override
^
Main.java:270: method does not override or implement a method from a supertype
@Override
^
Main.java:276: method does not override or implement a method from a supertype
@Override
^
Main.java:282: method does not override or implement a method from a supertype
@Override
^
88 errors
-
result: Compilation error (maybe you wish to see an example for Java)


