diff --git a/app/src/main/java/telegra/ph/Api.kt b/app/src/main/java/telegra/ph/Api.kt index 0149ed4..fd1fec3 100644 --- a/app/src/main/java/telegra/ph/Api.kt +++ b/app/src/main/java/telegra/ph/Api.kt @@ -35,30 +35,21 @@ class Api { } private fun JSONArray.parseContent(result: Page) { - try { - for (child in this) { - try { - if (child is String) result.content += child - else if (child is JSONObject) { - result.content += "<${child.optString("tag", "")}" - child.optJSONObject("attrs")?.let { - for (key in it.keys()) { - result.content += " $key=\"${it.optString(key, "")}\"" - } - for (i in 0 until length()) { - result.content += "${it.names()}" - } - } - result.content += ">" - child.optJSONArray("children").parseContent(result) - result.content += "" + for (i in 0 until length()) { + optJSONObject(i)?.let { + result.content += "<${it.optString("tag", "")}" + it.optJSONObject("attrs")?.let { + for (key in it.keys()) { + result.content += " $key=\"${it.optString(key, "")}\"" } - } catch (e: Exception) { - e.printStackTrace() } + result.content += ">" + it.optJSONArray("children")?.parseContent(result) + result.content += "" + } + if (optJSONObject(i) == null) optString(i)?.let { + result.content += it } - } catch (e: Exception) { - e.printStackTrace() } } diff --git a/app/src/main/java/telegra/ph/Extensions.kt b/app/src/main/java/telegra/ph/Extensions.kt index b8c060c..384a339 100644 --- a/app/src/main/java/telegra/ph/Extensions.kt +++ b/app/src/main/java/telegra/ph/Extensions.kt @@ -1,5 +1,2 @@ package telegra.ph -import org.json.JSONArray - -operator fun JSONArray.iterator(): Iterator = (0..length() - 1).map { opt(it) }.iterator() \ No newline at end of file diff --git a/app/src/main/java/telegra/ph/MainActivity.kt b/app/src/main/java/telegra/ph/MainActivity.kt index af1cdb5..ff955bd 100644 --- a/app/src/main/java/telegra/ph/MainActivity.kt +++ b/app/src/main/java/telegra/ph/MainActivity.kt @@ -33,7 +33,8 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { var html = "

${it.title}

" if (!it.author_name.isNullOrEmpty() && !it.author_url.isNullOrBlank()) html += "${it.author_name}
" else if (!it.author_name.isNullOrEmpty()) html += "${it.author_name}
" - html += it.content + if (it.views != 0) html += "${it.views} times viewed

" + if (it.content.isNullOrBlank()) html += it.description.replace("\n", "
") else html += it.content webView?.loadDataWithBaseURL(it.url, html, "text/html; charset=UTF-8", null, null) } }