summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2017-06-01 09:38:44 +0300
committerAndrew Dolgov <[email protected]>2017-06-01 09:38:44 +0300
commitebe97381632abb06d29c538850a88277f8d3e1c9 (patch)
tree99dbe457e853382e7f835ece1f6394bef7c1b68f
parent22694af2f7a12fff405349ae899f06cf56ad62f1 (diff)
add some additional tag checking for headline images so they wouldn't reload all the time
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java134
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/headlines_row.xml7
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/headlines_row_unread.xml7
3 files changed, 56 insertions, 92 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
index 69f2b728..c9fda3d0 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
@@ -1181,110 +1181,72 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
});
}
- //Log.d(TAG, "IMG: " + article.flavorImageUri + " STREAM: " + article.flavorStreamUri);
+ Log.d(TAG, "IMG: " + article.flavorImageUri + " STREAM: " + article.flavorStreamUri);
- holder.flavorImageLoadingBar.setVisibility(View.VISIBLE);
- holder.flavorImageLoadingBar.setIndeterminate(true);
-
- /*if ("video".equals(article.flavorImage.tagName().toLowerCase()) && article.flavorStreamUri != null) {
- final MediaPlayer mediaPlayer = new MediaPlayer();
-
- holder.flavorVideoView.setVisibility(View.VISIBLE);
+ holder.flavorImageView.setVisibility(View.VISIBLE);
- repositionFlavorVideo(holder.flavorVideoView, holder);
+ Log.d(TAG, "TAG:" + holder.flavorImageOverflow.getTag());
- try {
- mediaPlayer.setDataSource(article.flavorStreamUri);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ if (!article.flavorImageUri.equals(holder.flavorImageOverflow.getTag())) {
+ holder.flavorImageLoadingBar.setVisibility(View.VISIBLE);
+ holder.flavorImageLoadingBar.setIndeterminate(true);
- final View bar = holder.flavorImageLoadingBar;
- SurfaceHolder sh = holder.flavorVideoView.getHolder();
-
- sh.addCallback(new SurfaceHolder.Callback() {
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- mediaPlayer.setDisplay(holder);
- try {
- mediaPlayer.prepareAsync();
- } catch (IllegalStateException e) {
- e.printStackTrace();
- }
- mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
- @Override
- public void onPrepared(MediaPlayer mp) {
+ Glide.with(HeadlinesFragment.this)
+ .load(article.flavorImageUri)
+ .dontAnimate()
+ .diskCacheStrategy(DiskCacheStrategy.ALL)
+ .skipMemoryCache(false)
+ .listener(new RequestListener<String, GlideDrawable>() {
+ @Override
+ public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
- bar.setVisibility(View.GONE);
+ holder.flavorImageLoadingBar.setVisibility(View.GONE);
+ holder.flavorImageView.setVisibility(View.GONE);
- //resizeSurface();
- mp.setLooping(true);
- mp.start();
- }
- }
+ return false;
+ }
- );
- }
+ @Override
+ public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
- //
- }
+ holder.flavorImageLoadingBar.setVisibility(View.GONE);
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- //
- }
- });
+ if (resource.getIntrinsicWidth() > FLAVOR_IMG_MIN_SIZE && resource.getIntrinsicHeight() > FLAVOR_IMG_MIN_SIZE) {
+ //holder.flavorImageView.setVisibility(View.VISIBLE);
+ holder.flavorImageOverflow.setVisibility(View.VISIBLE);
+ holder.flavorImageOverflow.setTag(article.flavorImageUri);
+ boolean forceDown = article.flavorImage != null && "video".equals(article.flavorImage.tagName().toLowerCase());
- } else { */
+ maybeRepositionFlavorImage(holder.flavorImageView, resource, holder, forceDown);
+ adjustVideoKindView(holder, article);
- holder.flavorImageView.setVisibility(View.VISIBLE);
- holder.flavorImageView.setImageDrawable(null);
+ return false;
+ } else {
- final GlideDrawableImageViewTarget glideImage = new GlideDrawableImageViewTarget(holder.flavorImageView);
+ holder.flavorImageOverflow.setVisibility(View.GONE);
- Glide.with(HeadlinesFragment.this)
- .load(article.flavorImageUri)
- .dontAnimate()
- .diskCacheStrategy(DiskCacheStrategy.ALL)
- .skipMemoryCache(false)
- .listener(new RequestListener<String, GlideDrawable>() {
- @Override
- public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
-
- holder.flavorImageLoadingBar.setVisibility(View.GONE);
- holder.flavorImageView.setVisibility(View.GONE);
-
- return false;
- }
-
- @Override
- public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
-
- holder.flavorImageLoadingBar.setVisibility(View.GONE);
-
- holder.flavorImageOverflow.setVisibility(View.VISIBLE);
-
- if (resource.getIntrinsicWidth() > FLAVOR_IMG_MIN_SIZE && resource.getIntrinsicHeight() > FLAVOR_IMG_MIN_SIZE) {
-
- holder.flavorImageView.setVisibility(View.VISIBLE);
- holder.flavorImageOverflow.setVisibility(View.VISIBLE);
+ return true;
+ }
+ }
+ })
+ .into(holder.flavorImageView);
+ } else {
+ holder.flavorImageOverflow.setVisibility(View.VISIBLE);
- boolean forceDown = article.flavorImage != null && "video".equals(article.flavorImage.tagName().toLowerCase());
+ adjustVideoKindView(holder, article);
- maybeRepositionFlavorImage(holder.flavorImageView, resource, holder, forceDown);
- adjustVideoKindView(holder, article);
+ if (holder.flavorImageEmbedded) {
+ TypedValue tv = new TypedValue();
- return false;
- } else {
- return true;
- }
- }
- })
- .into(glideImage);
+ if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) {
+ holder.headlineHeader.setBackgroundColor(tv.data);
+ }
+ } else {
+ holder.headlineHeader.setBackgroundDrawable(null);
+ }
+ }
}
if (m_prefs.getBoolean("inline_video_player", false) && article.flavorImage != null &&
diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row.xml b/org.fox.ttrss/src/main/res/layout/headlines_row.xml
index 2d5b542a..1d4e135e 100755
--- a/org.fox.ttrss/src/main/res/layout/headlines_row.xml
+++ b/org.fox.ttrss/src/main/res/layout/headlines_row.xml
@@ -38,9 +38,11 @@
android:layout_alignParentTop="false"
android:layout_alignParentRight="false"
android:layout_alignParentEnd="true"
- android:layout_alignParentLeft="true"
android:max="100"
- android:indeterminate="false" />
+ android:indeterminate="false"
+ android:layout_toRightOf="@+id/flavor_video"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/flavor_image"
@@ -53,7 +55,6 @@
android:background="@android:color/transparent"
android:cropToPadding="true"
android:scaleType="fitCenter"
- android:src="@drawable/drawer_header"
android:visibility="visible" />
<SurfaceView
diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml
index ffafc8e0..3c341f14 100755
--- a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml
+++ b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml
@@ -39,9 +39,11 @@
android:layout_alignParentTop="false"
android:layout_alignParentRight="false"
android:layout_alignParentEnd="true"
- android:layout_alignParentLeft="true"
android:max="100"
- android:indeterminate="false" />
+ android:indeterminate="false"
+ android:layout_toRightOf="@+id/flavor_video"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/flavor_image"
@@ -54,7 +56,6 @@
android:background="@android:color/transparent"
android:cropToPadding="true"
android:scaleType="fitCenter"
- android:src="@drawable/drawer_header"
android:visibility="visible" />
<SurfaceView