From 3e66d43c16b79e6f7348055c5a5e21efc935427e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 15 Oct 2014 19:11:18 +0400 Subject: more headlines webview stuff --- src/org/fox/ttrss/HeadlinesFragment.java | 150 ++++++++++++++++++------------- 1 file changed, 89 insertions(+), 61 deletions(-) (limited to 'src') diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index 60890b2f..5aa14589 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -15,12 +15,16 @@ import org.fox.ttrss.types.Feed; import org.fox.ttrss.util.HeadlinesRequest; import org.fox.ttrss.util.TypefaceCache; 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.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources.Theme; +import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typeface; import android.graphics.drawable.BitmapDrawable; @@ -37,6 +41,7 @@ import android.util.Log; import android.util.TypedValue; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -44,6 +49,7 @@ import android.view.View.OnClickListener; import android.view.ViewGroup; import android.webkit.WebSettings; import android.webkit.WebView; +import android.webkit.WebView.HitTestResult; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; import android.widget.AdapterView; @@ -81,16 +87,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, private OnlineActivity m_activity; private SwipeRefreshLayout m_swipeLayout; private int m_maxImageSize = 0; - - private ImageGetter m_dummyGetter = new ImageGetter() { - @SuppressWarnings("deprecation") - @Override - public Drawable getDrawable(String source) { - return new BitmapDrawable(); - } - - }; public ArticleList getSelectedArticles() { return m_selectedArticles; } @@ -277,7 +274,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, } menu.findItem(R.id.set_labels).setEnabled(m_activity.getApiLevel() >= 1); - menu.findItem(R.id.article_set_note).setEnabled(m_activity.getApiLevel() >= 1); + menu.findItem(R.id.article_set_note).setEnabled(m_activity.getApiLevel() >= 1); super.onCreateContextMenu(menu, v, menuInfo); @@ -794,61 +791,92 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, String articleContent = article.content != null ? article.content : ""; - if (te != null) { - if (!m_prefs.getBoolean("headlines_show_content", true)) { - te.setVisibility(View.GONE); - } else { - String excerpt = Jsoup.parse(articleContent).text(); + if (m_prefs.getBoolean("headlines_full_content", false)) { + final WebView content = (WebView)v.findViewById(R.id.content); + + if (content != null) { + + Document doc = Jsoup.parse(articleContent); + + if (doc != null) { + // thanks webview for crashing on