package in.mamga.carousalnotificationmaster;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
public class QuoteDetailActivity extends AppCompatActivity {
TextView quoteId, quoteTitle, quoteContent, quoteLink;
ProgressDialog progressDialog;
public static final String QUOTE_ID_KEY = "QuoteId";
String url = "http://quotesondesign.com/wp-json/posts/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quote_detail);
quoteId = (TextView) findViewById(R.id.quoteId);
quoteTitle = (TextView) findViewById(R.id.quoteTitle);
quoteContent = (TextView) findViewById(R.id.quoteContent);
quoteLink = (TextView) findViewById(R.id.quoteLink);
onNewIntent(getIntent());
}
@Override
public void onNewIntent(Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
if (extras.containsKey(QUOTE_ID_KEY)) {
String quoteId = extras.getString(QUOTE_ID_KEY);
if (quoteId != null)
fetchQuote(quoteId);
}
}
}
private void fetchQuote(String id) {
showDialog("Fetching Quote");
JSONParser.OnConnectionListener onConnectionListener = new JSONParser.OnConnectionListener() {
@Override
public void onResponse(String s) {
hideDialog();
setUpTexts(s);
}
@Override
public void onError() {
hideDialog();
}
};
JSONParser jsonParser = new JSONParser(onConnectionListener);
jsonParser.fetchJson(url + id);
}
private void setUpTexts(String s) {
try {
JSONObject quote = new JSONObject(s);
quoteId.setText(quote.getInt("ID") + "");
quoteTitle.setText(quote.getString("title"));
quoteContent.setText(quote.getString("content"));
quoteLink.setText(quote.getString("link"));
} catch (JSONException e) {
e.printStackTrace();
}
}
private void showDialog(String message) {
progressDialog = new ProgressDialog(this);
progressDialog.setMessage(message);
progressDialog.show();
}
private void hideDialog() {
if (progressDialog != null) {
progressDialog.hide();
progressDialog = null;
}
}
}