only set header tinting if necessary (2)

This commit is contained in:
Andrew Dolgov 2015-07-11 03:04:04 +03:00
parent ee63b0d88f
commit b26d659004
2 changed files with 29 additions and 4 deletions

View File

@ -670,6 +670,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public ImageView textImage; public ImageView textImage;
public ImageView textChecked; public ImageView textChecked;
public View headlineHeader; public View headlineHeader;
public boolean flavorImageEmbedded;
} }
private class ArticleListAdapter extends ArrayAdapter<Article> { private class ArticleListAdapter extends ArrayAdapter<Article> {
@ -1141,6 +1142,14 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
} else { } else {
holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorImageView.setVisibility(View.VISIBLE);
holder.flavorVideoKindView.setVisibility(View.VISIBLE); holder.flavorVideoKindView.setVisibility(View.VISIBLE);
if (holder.flavorImageEmbedded) {
TypedValue tv = new TypedValue();
if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) {
holder.headlineHeader.setBackgroundColor(tv.data);
}
}
} }
videoFound = true; videoFound = true;
@ -1234,6 +1243,14 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
} else { } else {
holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorImageView.setVisibility(View.VISIBLE);
holder.flavorVideoKindView.setVisibility(View.VISIBLE); holder.flavorVideoKindView.setVisibility(View.VISIBLE);
if (holder.flavorImageEmbedded) {
TypedValue tv = new TypedValue();
if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) {
holder.headlineHeader.setBackgroundColor(tv.data);
}
}
} }
@ -1285,7 +1302,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
} }
}); });
if (holder.flavorImageView.getTag() == null || !holder.flavorImageView.getTag().equals(imgSrc)) { if (!imgSrc.equals(holder.flavorImageView.getTag())) {
ImageAware imageAware = new ImageViewAware(holder.flavorImageView, false); ImageAware imageAware = new ImageViewAware(holder.flavorImageView, false);
@ -1304,11 +1321,11 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
View view, Bitmap bitmap) { View view, Bitmap bitmap) {
if (!isAdded() || bitmap == null) return; if (!isAdded() || bitmap == null) return;
holder.flavorImageView.setTag(finalImgSrc);
holder.flavorImageLoadingBar.setVisibility(View.GONE); holder.flavorImageLoadingBar.setVisibility(View.GONE);
if (bitmap.getWidth() > FLAVOR_IMG_MIN_SIZE && bitmap.getHeight() > FLAVOR_IMG_MIN_SIZE) { if (bitmap.getWidth() > FLAVOR_IMG_MIN_SIZE && bitmap.getHeight() > FLAVOR_IMG_MIN_SIZE) {
holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorImageView.setVisibility(View.VISIBLE);
holder.flavorImageView.setTag(finalImgSrc);
if (article.flavorImageCount > 1) { if (article.flavorImageCount > 1) {
holder.flavorVideoKindView.setVisibility(View.VISIBLE); holder.flavorVideoKindView.setVisibility(View.VISIBLE);
@ -1343,6 +1360,13 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
holder.flavorVideoKindView.setImageResource(R.drawable.ic_image_album); holder.flavorVideoKindView.setImageResource(R.drawable.ic_image_album);
} }
if (holder.flavorImageEmbedded) {
TypedValue tv = new TypedValue();
if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) {
holder.headlineHeader.setBackgroundColor(tv.data);
}
}
} }
} }
} }
@ -1442,15 +1466,17 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
lp.addRule(RelativeLayout.BELOW, R.id.headline_header); lp.addRule(RelativeLayout.BELOW, R.id.headline_header);
holder.headlineHeader.setBackgroundDrawable(null); holder.headlineHeader.setBackgroundDrawable(null);
holder.flavorImageEmbedded = false;
} else { } else {
lp.addRule(RelativeLayout.BELOW, 0); lp.addRule(RelativeLayout.BELOW, 0);
TypedValue tv = new TypedValue(); TypedValue tv = new TypedValue();
if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) { if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) {
holder.headlineHeader.setBackgroundColor(tv.data); holder.headlineHeader.setBackgroundColor(tv.data);
} }
holder.flavorImageEmbedded = true;
} }
view.setLayoutParams(lp); view.setLayoutParams(lp);

View File

@ -38,7 +38,6 @@ public class Article implements Parcelable {
public Document articleDoc; public Document articleDoc;
public Element flavorImage; public Element flavorImage;
public int flavorImageCount; public int flavorImageCount;
public boolean noValidFlavorImage;
public Article(Parcel in) { public Article(Parcel in) {
readFromParcel(in); readFromParcel(in);