diff options
-rw-r--r-- | org.fox.ttrss/build.gradle | 1 | ||||
-rw-r--r-- | org.fox.ttrss/org.fox.ttrss.iml | 1 | ||||
-rw-r--r-- | org.fox.ttrss/src/main/AndroidManifest.xml | 4 | ||||
-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 | ||||
-rw-r--r-- | org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png | bin | 0 -> 1154 bytes | |||
-rw-r--r-- | org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png | bin | 0 -> 1532 bytes | |||
-rw-r--r-- | org.fox.ttrss/src/main/res/layout/article_fragment.xml | 13 | ||||
-rw-r--r-- | org.fox.ttrss/src/main/res/values/style.xml | 6 |
9 files changed, 77 insertions, 9 deletions
diff --git a/org.fox.ttrss/build.gradle b/org.fox.ttrss/build.gradle index f2952775..4cc22613 100644 --- a/org.fox.ttrss/build.gradle +++ b/org.fox.ttrss/build.gradle @@ -33,4 +33,5 @@ dependencies { compile 'com.android.support:support-v4:21.0.0' compile 'com.google.code.gson:gson:2.2.4' compile 'com.android.support:appcompat-v7:21.0.0' + compile 'com.shamanland:fab:0.0.5' } diff --git a/org.fox.ttrss/org.fox.ttrss.iml b/org.fox.ttrss/org.fox.ttrss.iml index 2f2a4b69..5506e1af 100644 --- a/org.fox.ttrss/org.fox.ttrss.iml +++ b/org.fox.ttrss/org.fox.ttrss.iml @@ -82,6 +82,7 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" exported="" name="cardview-v7-21.0.0" level="project" /> <orderEntry type="library" exported="" name="support-annotations-21.0.0" level="project" /> + <orderEntry type="library" exported="" name="fab-0.0.5" level="project" /> <orderEntry type="library" exported="" name="support-v4-21.0.0" level="project" /> <orderEntry type="library" exported="" name="dashclock-api-r1.1" level="project" /> <orderEntry type="library" exported="" name="systembartint-1.0.3" level="project" /> diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index a5817e4b..d215d256 100644 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.fox.ttrss" - android:versionCode="273" - android:versionName="1.66" > + android:versionCode="274" + android:versionName="1.67" > <uses-sdk android:minSdkVersion="9" 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)) { diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png Binary files differnew file mode 100644 index 00000000..8c4add42 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png Binary files differnew file mode 100644 index 00000000..2d759def --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png diff --git a/org.fox.ttrss/src/main/res/layout/article_fragment.xml b/org.fox.ttrss/src/main/res/layout/article_fragment.xml index 2f1b4498..45d41f72 100644 --- a/org.fox.ttrss/src/main/res/layout/article_fragment.xml +++ b/org.fox.ttrss/src/main/res/layout/article_fragment.xml @@ -1,4 +1,4 @@ -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/article_fragment" android:layout_width="fill_parent" android:layout_height="match_parent" @@ -101,5 +101,14 @@ </LinearLayout> </org.fox.ttrss.util.NoChildFocusScrollView> + <com.shamanland.fab.FloatingActionButton + android:id="@+id/article_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom|right" + android:layout_marginRight="16dp" + android:layout_marginBottom="20dp" + android:src="@drawable/ic_action_web_site" + /> -</RelativeLayout>
\ No newline at end of file +</FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/style.xml b/org.fox.ttrss/src/main/res/values/style.xml index 4dc4db9f..41e913e1 100644 --- a/org.fox.ttrss/src/main/res/values/style.xml +++ b/org.fox.ttrss/src/main/res/values/style.xml @@ -30,6 +30,7 @@ <item name="parentBtnBackground">#dddddd</item> <item name="articleHeader">?colorPrimaryDark</item> <item name="articleHeaderTextColor">@android:color/white</item> + <item name="floatingActionButtonStyle">@style/FabTheme</item> <item name="colorPrimary">#6482af</item> <item name="colorPrimaryDark">#526A8E</item> @@ -79,6 +80,7 @@ <item name="headlineSelectedSecondaryTextColor">#a0a0a0</item> <item name="articleHeader">?colorPrimaryDark</item> <item name="articleHeaderTextColor">@android:color/white</item> + <item name="floatingActionButtonStyle">@style/FabTheme</item> <item name="colorPrimary">#51698E</item> <item name="colorPrimaryDark">#445877</item> @@ -87,4 +89,8 @@ <style name="DarkDialogTheme" parent="android:Theme"></style> + <style name="FabTheme" parent="FloatingActionButton"> + <item name="floatingActionButtonColor">?colorPrimaryDark</item> + </style> + </resources>
\ No newline at end of file |