diff options
| author | Andrew Dolgov <fox@madoka.volgo-balt.ru> | 2011-12-07 14:59:30 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@madoka.volgo-balt.ru> | 2011-12-07 14:59:30 +0300 |
| commit | 42516faa2e2aa57114e824a262396e443563a140 (patch) | |
| tree | fd5d3109b18503aeea14dbbec5f5b13325bf7331 /src/org/fox/ttrss/OfflineArticleFragment.java | |
| parent | 14461fa1466f52d37ae5bafffddd7d252bc34c85 (diff) | |
implement offline image caching
Diffstat (limited to 'src/org/fox/ttrss/OfflineArticleFragment.java')
| -rw-r--r-- | src/org/fox/ttrss/OfflineArticleFragment.java | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/org/fox/ttrss/OfflineArticleFragment.java b/src/org/fox/ttrss/OfflineArticleFragment.java index 77fae9a0..2469ca51 100644 --- a/src/org/fox/ttrss/OfflineArticleFragment.java +++ b/src/org/fox/ttrss/OfflineArticleFragment.java @@ -4,8 +4,13 @@ import java.text.SimpleDateFormat; import java.util.Date;
import org.fox.ttrss.OnlineServices.RelativeArticle;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
import android.app.Activity;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.os.Bundle;
@@ -14,6 +19,7 @@ import android.provider.BaseColumns; import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.method.LinkMovementMethod;
+import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.LayoutInflater;
@@ -123,6 +129,26 @@ public class OfflineArticleFragment extends Fragment implements OnClickListener cssOverride = "";
}
+ String articleContent = m_cursor.getString(m_cursor.getColumnIndex("content"));
+
+ if (m_prefs.getBoolean("offline_image_cache_enabled", false)) {
+ Document doc = Jsoup.parse(articleContent);
+
+ if (doc != null) {
+ Elements images = doc.select("img");
+
+ for (Element img : images) {
+ String url = img.attr("src");
+
+ if (ImageCacheService.isUrlCached(url)) {
+ img.attr("src", "file://" + ImageCacheService.getCacheFileName(url));
+ }
+ }
+
+ articleContent = doc.toString();
+ }
+ }
+
content =
"<html>" +
"<head>" +
@@ -134,7 +160,7 @@ public class OfflineArticleFragment extends Fragment implements OnClickListener "body { text-align : justify; }" +
"</style>" +
"</head>" +
- "<body>" + m_cursor.getString(m_cursor.getColumnIndex("content")) + "</body></html>";
+ "<body>" + articleContent + "</body></html>";
web.loadDataWithBaseURL(null, content, "text/html", "utf-8", null);
|