Revert "Added fail-safe"

This reverts commit 210d8b717b.
pull/214/head
M66B 2 years ago
parent 8262ba961e
commit 6044d9f57a

@ -41,149 +41,141 @@ public class StructuredEmail {
} }
public String getHtml(Context context) throws JSONException { public String getHtml(Context context) throws JSONException {
try { String title;
String title; StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder();
if ("https://schema.org".equals(jroot.optString("@context")) &&
if ("https://schema.org".equals(jroot.optString("@context")) && "FlightReservation".equals(jroot.optString("@type"))) {
"FlightReservation".equals(jroot.optString("@type"))) { // https://www.schema.org/FlightReservation
// https://www.schema.org/FlightReservation title = "Flight reservation";
title = "Flight reservation";
sb.append("Reservation #");
sb.append("Reservation #"); if (jroot.has("reservationId"))
if (jroot.has("reservationId")) sb.append(jroot.getString("reservationId"));
sb.append(jroot.getString("reservationId")); sb.append('\n');
sb.append('\n');
sb.append("Passenger: ");
sb.append("Passenger: "); if (jroot.has("underName")) {
if (jroot.has("underName")) { JSONObject jundername = jroot.getJSONObject("underName");
JSONObject jundername = jroot.getJSONObject("underName"); if ("Person".equals(jundername.optString("@type")) &&
if ("Person".equals(jundername.optString("@type")) && jundername.has("name"))
jundername.has("name")) sb.append(jundername.getString("name"));
sb.append(jundername.getString("name")); }
} sb.append('\n');
sb.append('\n');
sb.append("Flight: ");
sb.append("Flight: "); if (jroot.has("reservationFor")) {
if (jroot.has("reservationFor")) { JSONObject jreservation = jroot.getJSONObject("reservationFor");
JSONObject jreservation = jroot.getJSONObject("reservationFor"); if ("Flight".equals(jreservation.optString("@type"))) {
if ("Flight".equals(jreservation.optString("@type"))) { if (jreservation.has("flightNumber"))
if (jreservation.has("flightNumber")) sb.append(jreservation.getString("flightNumber"));
sb.append(jreservation.getString("flightNumber"));
}
} }
sb.append('\n'); }
sb.append('\n');
sb.append("Operated by: ");
if (jroot.has("reservationFor")) { sb.append("Operated by: ");
JSONObject jreservation = jroot.getJSONObject("reservationFor"); if (jroot.has("reservationFor")) {
if ("Flight".equals(jreservation.optString("@type"))) { JSONObject jreservation = jroot.getJSONObject("reservationFor");
if (jreservation.has("provider")) { if ("Flight".equals(jreservation.optString("@type"))) {
JSONObject jprovider = jreservation.getJSONObject("provider"); if (jreservation.has("provider")) {
if (jprovider.has("name")) JSONObject jprovider = jreservation.getJSONObject("provider");
sb.append(jprovider.getString("name")); if (jprovider.has("name"))
} sb.append(jprovider.getString("name"));
} }
} }
sb.append('\n'); }
sb.append('\n');
sb.append("Departing: ");
if (jroot.has("reservationFor")) { sb.append("Departing: ");
JSONObject jreservation = jroot.getJSONObject("reservationFor"); if (jroot.has("reservationFor")) {
if (jreservation.has("departureAirport")) { JSONObject jreservation = jroot.getJSONObject("reservationFor");
JSONObject jdeparture = jreservation.getJSONObject("departureAirport"); if (jreservation.has("departureAirport")) {
if ("Airport".equals(jdeparture.getString("@type"))) { JSONObject jdeparture = jreservation.getJSONObject("departureAirport");
if (jdeparture.has("name")) if ("Airport".equals(jdeparture.getString("@type"))) {
sb.append(jdeparture.getString("name")).append(' '); if (jdeparture.has("name"))
if (jdeparture.has("iataCode")) sb.append(jdeparture.getString("name")).append(' ');
sb.append('(').append(jdeparture.getString("iataCode")).append(") "); if (jdeparture.has("iataCode"))
} sb.append('(').append(jdeparture.getString("iataCode")).append(") ");
} }
if (jreservation.has("departureTime"))
sb.append(jreservation.getString("departureTime"));
} }
sb.append('\n'); if (jreservation.has("departureTime"))
sb.append(jreservation.getString("departureTime"));
sb.append("Arriving: "); }
if (jroot.has("reservationFor")) { sb.append('\n');
JSONObject jreservation = jroot.getJSONObject("reservationFor");
if (jreservation.has("arrivalAirport")) { sb.append("Arriving: ");
JSONObject jarrival = jreservation.getJSONObject("arrivalAirport"); if (jroot.has("reservationFor")) {
if ("Airport".equals(jarrival.getString("@type"))) { JSONObject jreservation = jroot.getJSONObject("reservationFor");
if (jarrival.has("name")) if (jreservation.has("arrivalAirport")) {
sb.append(jarrival.getString("name")).append(' '); JSONObject jarrival = jreservation.getJSONObject("arrivalAirport");
if (jarrival.has("iataCode")) if ("Airport".equals(jarrival.getString("@type"))) {
sb.append('(').append(jarrival.getString("iataCode")).append(") "); if (jarrival.has("name"))
} sb.append(jarrival.getString("name")).append(' ');
if (jarrival.has("iataCode"))
sb.append('(').append(jarrival.getString("iataCode")).append(") ");
} }
if (jreservation.has("arrivalTime"))
sb.append(jreservation.getString("arrivalTime"));
} }
sb.append('\n'); if (jreservation.has("arrivalTime"))
sb.append(jreservation.getString("arrivalTime"));
sb.append("Passenger sequence number: "); }
if (jroot.has("passengerSequenceNumber")) sb.append('\n');
sb.append(jroot.getString("passengerSequenceNumber"));
sb.append('\n'); sb.append("Passenger sequence number: ");
if (jroot.has("passengerSequenceNumber"))
sb.append("Boarding priority: "); sb.append(jroot.getString("passengerSequenceNumber"));
if (jroot.has("passengerPriorityStatus")) sb.append('\n');
sb.append(jroot.getString("passengerPriorityStatus"));
sb.append('\n'); sb.append("Boarding priority: ");
if (jroot.has("passengerPriorityStatus"))
sb.append("Boarding policy: "); sb.append(jroot.getString("passengerPriorityStatus"));
if (jroot.has("reservationFor")) { sb.append('\n');
JSONObject jreservation = jroot.getJSONObject("reservationFor");
if ("Flight".equals(jreservation.optString("@type"))) { sb.append("Boarding policy: ");
if (jreservation.has("provider")) { if (jroot.has("reservationFor")) {
JSONObject jprovider = jreservation.getJSONObject("provider"); JSONObject jreservation = jroot.getJSONObject("reservationFor");
if (jprovider.has("boardingPolicy")) { if ("Flight".equals(jreservation.optString("@type"))) {
String policy = jprovider.getString("boardingPolicy"); if (jreservation.has("provider")) {
try { JSONObject jprovider = jreservation.getJSONObject("provider");
Uri p = Uri.parse(policy); if (jprovider.has("boardingPolicy")) {
String path = p.getPath(); String policy = jprovider.getString("boardingPolicy");
if (!TextUtils.isEmpty(path)) { try {
path = path.substring(1); Uri p = Uri.parse(policy);
if (!TextUtils.isEmpty(path)) String path = p.getPath();
policy = split(path); if (!TextUtils.isEmpty(path)) {
} path = path.substring(1);
} catch (Throwable ex) { if (!TextUtils.isEmpty(path))
Log.w(ex); policy = split(path);
} }
sb.append(policy); } catch (Throwable ex) {
Log.w(ex);
} }
sb.append(policy);
} }
} }
} }
sb.append('\n');
sb.append("Security screening: ");
if (jroot.has("securityScreening"))
sb.append(jroot.getString("securityScreening"));
sb.append('\n');
} else {
title = "Linked data";
getHtml(jroot, 0, sb);
} }
sb.append('\n');
Document d = Document.createShell(""); sb.append("Security screening: ");
d.body().appendElement("hr"); if (jroot.has("securityScreening"))
d.body().appendElement("div") sb.append(jroot.getString("securityScreening"));
.attr("style", "font-size: larger !important;") sb.append('\n');
.text(title); } else {
d.body().appendElement("br"); title = "Linked data";
d.body().appendElement("div") getHtml(jroot, 0, sb);
.attr("style", "font-size: smaller !important;")
.html(HtmlHelper.formatPlainText(sb.toString()));
d.body().appendElement("hr");
return d.body().html();
} catch (Throwable ex) {
Log.e(ex);
Document d = Document.createShell("");
d.body().appendElement("pre").text(Log.formatThrowable(ex, false));
return d.body().html();
} }
Document d = Document.createShell("");
d.appendElement("hr");
d.appendElement("div")
.attr("style", "font-size: larger !important;")
.text(title);
d.appendElement("br");
d.appendElement("div")
.attr("style", "font-size: smaller !important;")
.html(HtmlHelper.formatPlainText(sb.toString()));
d.appendElement("hr");
return d.html();
} }
private void getHtml(Object obj, int indent, StringBuilder sb) throws JSONException { private void getHtml(Object obj, int indent, StringBuilder sb) throws JSONException {

Loading…
Cancel
Save