package mx.ambmultimedia.brillamexico.activities;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NavUtils;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.text.Spanned;
import android.view.MenuItem;
import android.view.View;
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.fmsirvent.ParallaxEverywhere.PEWImageView;
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 mx.ambmultimedia.brillamexico.R;
import mx.ambmultimedia.brillamexico.utils.URLImageParser;
public class NoticiaSelf extends ActionBarActivity {
Context ctx;
Activity atx;
private UiLifecycleHelper uiHelper;
private LikeView like_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_noticia_self);
ctx = this;
atx = this;
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Bundle bundle = getIntent().getExtras();
String noticiaID = bundle.getString("noticiaID");
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://brillamexico.org/api.php?post=" + noticiaID, null, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
try {
// Cover
String cover = response.getString("imagen");
PEWImageView nCover = (PEWImageView) findViewById(R.id.nCover);
Picasso.with(ctx)
.load(cover)
.placeholder(R.drawable.img_placeholder)
.error(R.drawable.paisaje_error)
.into(nCover);
// TÃtulo
final String title = response.getString("title");
TextView nTitle = (TextView) findViewById(R.id.nTitle);
nTitle.setText(title);
// Fecha
String date = response.getString("date");
TextView nDate = (TextView) findViewById(R.id.nDate);
nDate.setText(date);
// Contenido
String htmlText = response.getString("content");
TextView documentView = (TextView) findViewById(R.id.nContent);
URLImageParser p = new URLImageParser(documentView, ctx);
Spanned htmlSpan = Html.fromHtml(htmlText, p, null);
documentView.setText(htmlSpan);
// Share Action
final String link = response.getString("link");
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, title);
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.likeNoti);
like_view.setObjectId(link);
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 response, Throwable e) {
String msg = "[" + statusCode + "|b/nota] " + e.getMessage();
Toast.makeText(ctx, msg, Toast.LENGTH_LONG).show();
}
});
}
@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);
}
}