diff options
author | Andrew Dolgov <[email protected]> | 2014-11-08 00:57:08 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2014-11-08 00:57:08 +0400 |
commit | a509415720d059d59d35d83750c78d25b35256cb (patch) | |
tree | f001be37b249a4a02bfc9b13d64218fe75522aa9 /org.fox.ttrss/src/main/java | |
parent | e7ed44307cffca0f0c7dabf4de0c8872f057e392 (diff) |
add fab button to article fragment
Diffstat (limited to 'org.fox.ttrss/src/main/java')
-rw-r--r-- | org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java | 28 | ||||
-rw-r--r-- | org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java | 33 |
2 files changed, 56 insertions, 5 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java index e4205f24..6a371c19 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java @@ -23,6 +23,8 @@ import android.webkit.WebView; import android.webkit.WebView.HitTestResult; import android.widget.TextView; +import com.shamanland.fab.ShowHideOnScroll; + import org.fox.ttrss.types.Article; import org.fox.ttrss.types.Attachment; import org.fox.ttrss.util.TypefaceCache; @@ -93,7 +95,31 @@ public class ArticleFragment extends Fragment { View view = inflater.inflate(useTitleWebView ? R.layout.article_fragment_compat : R.layout.article_fragment, container, false); if (m_article != null) { - + + View scrollView = view.findViewById(R.id.article_scrollview); + View fab = view.findViewById(R.id.article_fab); + + if (scrollView != null && fab != null) { + scrollView.setOnTouchListener(new ShowHideOnScroll(fab)); + + fab.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + try { + URL url = new URL(m_article.link.trim()); + String uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), + url.getPort(), url.getPath(), url.getQuery(), url.getRef()).toString(); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); + startActivity(intent); + } catch (Exception e) { + e.printStackTrace(); + m_activity.toast(R.string.error_other_error); + } + } + }); + } + + /* if (!useTitleWebView) { View scroll = view.findViewById(R.id.article_scrollview); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java index 37e5b17d..b20c23f0 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -27,6 +27,8 @@ import android.webkit.WebView; import android.webkit.WebView.HitTestResult; import android.widget.TextView; +import com.shamanland.fab.ShowHideOnScroll; + import org.fox.ttrss.CommonActivity; import org.fox.ttrss.R; import org.fox.ttrss.util.ImageCacheService; @@ -133,8 +135,33 @@ public class OfflineArticleFragment extends Fragment { m_cursor.moveToFirst(); if (m_cursor.isFirst()) { + final String link = m_cursor.getString(m_cursor.getColumnIndex("link")); + if (!useTitleWebView) { - View scroll = view.findViewById(R.id.article_scrollview); + View scrollView = view.findViewById(R.id.article_scrollview); + View fab = view.findViewById(R.id.article_fab); + + if (scrollView != null && fab != null) { + scrollView.setOnTouchListener(new ShowHideOnScroll(fab)); + + fab.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + try { + URL url = new URL(link.trim()); + String uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), + url.getPort(), url.getPath(), url.getQuery(), url.getRef()).toString(); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); + startActivity(intent); + } catch (Exception e) { + e.printStackTrace(); + m_activity.toast(R.string.error_other_error); + } + } + }); + } + + /* View scroll = view.findViewById(R.id.article_scrollview); if (scroll != null) { final float scale = getResources().getDisplayMetrics().density; @@ -152,7 +179,7 @@ public class OfflineArticleFragment extends Fragment { } - } + } */ } int articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16")); @@ -160,8 +187,6 @@ public class OfflineArticleFragment extends Fragment { TextView title = (TextView)view.findViewById(R.id.title); - final String link = m_cursor.getString(m_cursor.getColumnIndex("link")); - if (title != null) { if (m_prefs.getBoolean("enable_condensed_fonts", false)) { |