package mx.ambmultimedia.brillamexico.activities; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.NavUtils; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.facebook.Session; import com.facebook.SessionState; import com.facebook.UiLifecycleHelper; import com.facebook.widget.LikeView; import com.getbase.floatingactionbutton.FloatingActionButton; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.JsonHttpResponseHandler; import com.squareup.picasso.Picasso; import org.apache.http.Header; import org.json.JSONException; import org.json.JSONObject; import de.hdodenhof.circleimageview.CircleImageView; import mx.ambmultimedia.brillamexico.R; import mx.ambmultimedia.brillamexico.utils.Config; public class Selfie extends ActionBarActivity { Context ctx; Activity atx; Config config; private UiLifecycleHelper uiHelper; private LikeView like_view; public String refer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_selfie); ctx = this; atx = this; config = new Config(ctx); refer = config.get("Refer", "none"); config.set("Refer", "none"); Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); Bundle bundle = getIntent().getExtras(); final String selfieID = bundle.getString("selfieID"); final AsyncHttpClient client = new AsyncHttpClient(); final String hostname = getString(R.string.hostname); client.get(hostname + "/user/selfie/" + selfieID, null, new JsonHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, JSONObject response) { try { JSONObject selfieObj = response; final String authorID = selfieObj.getString("user_id"); TextView LabelPoints = (TextView) findViewById(R.id.authorPoints); LabelPoints.setText(selfieObj.getString("description").toString()); JSONObject userObj = selfieObj.getJSONObject("user"); TextView LabelUserName = (TextView) findViewById(R.id.authorName); LabelUserName.setText(userObj.getString("name").toString()); String avatarUrl = getString(R.string.fb_avatarmini_link); avatarUrl = avatarUrl.replaceAll("__fbid__", authorID); CircleImageView ImgUserAvatar = (CircleImageView) findViewById(R.id.authorAvatar); Picasso.with(ctx) .load(avatarUrl) .placeholder(R.drawable.com_facebook_profile_picture_blank_square) .into(ImgUserAvatar); String urlPicture = hostname + "/pictures/" + selfieObj.getString("picture"); ImageView ImgSelfie = (ImageView) findViewById(R.id.selfiePicture); Picasso.with(ctx) .load(urlPicture) .placeholder(R.drawable.foto_placeholder) .error(R.drawable.foto_error) .into(ImgSelfie); LinearLayout toProfile = (LinearLayout) findViewById(R.id.toProfile); toProfile.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Selfie.this, UserViewer.class); intent.putExtra("userID", authorID); startActivity(intent); } }); // Share Action final String link = hostname + "/selfie/" + selfieID; FloatingActionButton share = (FloatingActionButton) findViewById(R.id.shareContent); share.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType("text/plain"); sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, ""); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, link); startActivity(Intent.createChooser(sharingIntent, "Compartir")); } }); /** * Facebook like */ uiHelper = new UiLifecycleHelper(atx, mStatusCallback); like_view = (LikeView) findViewById(R.id.likeSelfie); like_view.setObjectId("http://api.brillamexico.org/selfie/" + selfieID); like_view.setLikeViewStyle(LikeView.Style.STANDARD); like_view.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE); like_view.setHorizontalAlignment(LikeView.HorizontalAlignment.LEFT); } catch (JSONException e) {} } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable e) { String msg = "[" + statusCode + "|u/selfie] " + e.getMessage(); Toast.makeText(ctx, msg, Toast.LENGTH_LONG).show(); } }); Button toCamara = (Button) findViewById(R.id.toCamara); toCamara.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Selfie.this, Compromisos.class); startActivity(intent); } }); if (refer != "ShareActivity") { toCamara.setVisibility(View.INVISIBLE); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } Session.StatusCallback mStatusCallback = new Session.StatusCallback (){ @Override public void call(Session session, SessionState state, Exception exception) { } }; protected void onActivityResult (int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); uiHelper.onActivityResult(requestCode, resultCode, data, null); } @Override public void onBackPressed() { if (refer == "ShareActivity") { Intent intent = new Intent(Selfie.this, UserProfile.class); startActivity(intent); } else { this.finish(); } } }