From 716d84195fa6e1f037ae751ee221caa0647662b3 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 20 Nov 2014 22:11:26 +0400 Subject: blah --- .../main/java/org/fox/ttrss/ArticleFragment.java | 53 +++++++++++++++++++++- .../src/main/res/layout/article_fragment.xml | 7 +++ 2 files changed, 59 insertions(+), 1 deletion(-) (limited to 'org.fox.ttrss') 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 e74ea2e1..46640a0b 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 @@ -22,6 +22,7 @@ import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebView.HitTestResult; +import android.widget.FrameLayout; import android.widget.TextView; import com.shamanland.fab.ShowHideOnScroll; @@ -52,6 +53,56 @@ public class ArticleFragment extends Fragment { m_article = article; } + private class FSVideoChromeClient extends WebChromeClient { + protected FrameLayout m_videoView; + protected View m_contentView; + protected View m_videoChildView; + + public FSVideoChromeClient(View container) { + super(); + + m_contentView = container.findViewById(R.id.article_scrollview); + m_videoView = (FrameLayout) container.findViewById(R.id.article_fullscreen_video); + } + + @Override + public void onShowCustomView(View view, CustomViewCallback callback) { + /* mCustomViewCallback = callback; + mTargetView.addView(view); + mCustomView = view; + mContentView.setVisibility(View.GONE); + mTargetView.setVisibility(View.VISIBLE); + mTargetView.bringToFront(); */ + + m_videoChildView = view; + + m_videoView.addView(view); + + m_contentView.setVisibility(View.INVISIBLE); + m_videoView.setVisibility(View.VISIBLE); + } + + @Override + public void onHideCustomView() { + + /* if (mCustomView == null) + return; + + mCustomView.setVisibility(View.GONE); + mTargetView.removeView(mCustomView); + mCustomView = null; + mTargetView.setVisibility(View.GONE); + mCustomViewCallback.onCustomViewHidden(); + mContentView.setVisibility(View.VISIBLE); */ + + m_videoView.removeView(m_videoChildView); + + m_contentView.setVisibility(View.VISIBLE); + m_videoView.setVisibility(View.INVISIBLE); + + } + } + //private View.OnTouchListener m_gestureListener; @Override @@ -292,7 +343,7 @@ public class ArticleFragment extends Fragment { } } else { ws.setJavaScriptEnabled(true); - web.setWebChromeClient(new WebChromeClient()); + web.setWebChromeClient(new FSVideoChromeClient(view)); } if (m_prefs.getBoolean("justify_article_text", true)) { 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 e80f43b0..a250f100 100644 --- a/org.fox.ttrss/src/main/res/layout/article_fragment.xml +++ b/org.fox.ttrss/src/main/res/layout/article_fragment.xml @@ -4,6 +4,13 @@ android:layout_height="match_parent" android:background="?articleBackground"> + + +