mirror of
https://github.com/ultrasonic/ultrasonic
synced 2025-02-17 04:00:39 +01:00
Fixed Artist row layout
Changed Unknown image
This commit is contained in:
parent
b3db46b1ab
commit
a3c4815a07
@ -13,23 +13,14 @@ public interface ImageLoader {
|
|||||||
|
|
||||||
void stopImageLoader();
|
void stopImageLoader();
|
||||||
|
|
||||||
void loadAvatarImage(
|
void loadAvatarImage(View view, String username, boolean large, int size, boolean crossFade,
|
||||||
View view,
|
boolean highQuality);
|
||||||
String username,
|
|
||||||
boolean large,
|
|
||||||
int size,
|
|
||||||
boolean crossFade,
|
|
||||||
boolean highQuality
|
|
||||||
);
|
|
||||||
|
|
||||||
void loadImage(
|
void loadImage(View view, MusicDirectory.Entry entry, boolean large, int size,
|
||||||
View view,
|
boolean crossFade, boolean highQuality);
|
||||||
MusicDirectory.Entry entry,
|
|
||||||
boolean large,
|
void loadImage(View view, MusicDirectory.Entry entry, boolean large, int size,
|
||||||
int size,
|
boolean crossFade, boolean highQuality, int defaultResourceId);
|
||||||
boolean crossFade,
|
|
||||||
boolean highQuality
|
|
||||||
);
|
|
||||||
|
|
||||||
void cancel(String coverArt);
|
void cancel(String coverArt);
|
||||||
|
|
||||||
|
@ -167,25 +167,24 @@ public class LegacyImageLoader implements Runnable, ImageLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadImage(
|
public void loadImage(View view, MusicDirectory.Entry entry, boolean large, int size,
|
||||||
View view,
|
boolean crossFade, boolean highQuality) {
|
||||||
MusicDirectory.Entry entry,
|
loadImage(view, entry, large, size, crossFade, highQuality, -1);
|
||||||
boolean large,
|
}
|
||||||
int size,
|
|
||||||
boolean crossFade,
|
public void loadImage(View view, MusicDirectory.Entry entry, boolean large, int size,
|
||||||
boolean highQuality
|
boolean crossFade, boolean highQuality, int defaultResourceId) {
|
||||||
) {
|
|
||||||
view.invalidate();
|
view.invalidate();
|
||||||
|
|
||||||
if (entry == null) {
|
if (entry == null) {
|
||||||
setUnknownImage(view, large);
|
setUnknownImage(view, large, defaultResourceId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String coverArt = entry.getCoverArt();
|
String coverArt = entry.getCoverArt();
|
||||||
|
|
||||||
if (TextUtils.isEmpty(coverArt)) {
|
if (TextUtils.isEmpty(coverArt)) {
|
||||||
setUnknownImage(view, large);
|
setUnknownImage(view, large, defaultResourceId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,7 +199,7 @@ public class LegacyImageLoader implements Runnable, ImageLoader {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setUnknownImage(view, large);
|
setUnknownImage(view, large, defaultResourceId);
|
||||||
|
|
||||||
queue.offer(new Task(view, entry, size, large, crossFade, highQuality));
|
queue.offer(new Task(view, entry, size, large, crossFade, highQuality));
|
||||||
}
|
}
|
||||||
@ -342,13 +341,18 @@ public class LegacyImageLoader implements Runnable, ImageLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setUnknownImage(View view, boolean large) {
|
private void setUnknownImage(View view, boolean large) {
|
||||||
|
setUnknownImage(view, large, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setUnknownImage(View view, boolean large, int resId) {
|
||||||
|
if (resId == -1) resId = R.drawable.unknown_album;
|
||||||
if (large) {
|
if (large) {
|
||||||
setImageBitmap(view, null, largeUnknownImage, false);
|
setImageBitmap(view, null, largeUnknownImage, false);
|
||||||
} else {
|
} else {
|
||||||
if (view instanceof TextView) {
|
if (view instanceof TextView) {
|
||||||
((TextView) view).setCompoundDrawablesWithIntrinsicBounds(R.drawable.unknown_album, 0, 0, 0);
|
((TextView) view).setCompoundDrawablesWithIntrinsicBounds(resId, 0, 0, 0);
|
||||||
} else if (view instanceof ImageView) {
|
} else if (view instanceof ImageView) {
|
||||||
((ImageView) view).setImageResource(R.drawable.unknown_album);
|
((ImageView) view).setImageResource(resId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,7 +121,7 @@ class ArtistRowAdapter(
|
|||||||
imageLoader.loadImage(
|
imageLoader.loadImage(
|
||||||
holder.coverArt,
|
holder.coverArt,
|
||||||
MusicDirectory.Entry().apply { coverArt = holder.coverArtId },
|
MusicDirectory.Entry().apply { coverArt = holder.coverArtId },
|
||||||
false, 0, false, true
|
false, 0, false, true, R.drawable.ic_contact_picture
|
||||||
)
|
)
|
||||||
} else if (holder is HeaderViewHolder) {
|
} else if (holder is HeaderViewHolder) {
|
||||||
holder.folderName.text = folderName
|
holder.folderName.text = folderName
|
||||||
|
@ -26,18 +26,32 @@ class SubsonicImageLoaderProxy(
|
|||||||
size: Int,
|
size: Int,
|
||||||
crossFade: Boolean,
|
crossFade: Boolean,
|
||||||
highQuality: Boolean
|
highQuality: Boolean
|
||||||
|
) {
|
||||||
|
return loadImage(view, entry, large, size, crossFade, highQuality, -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun loadImage(
|
||||||
|
view: View?,
|
||||||
|
entry: MusicDirectory.Entry?,
|
||||||
|
large: Boolean,
|
||||||
|
size: Int,
|
||||||
|
crossFade: Boolean,
|
||||||
|
highQuality: Boolean,
|
||||||
|
defaultResourceId: Int
|
||||||
) {
|
) {
|
||||||
val id = entry?.coverArt
|
val id = entry?.coverArt
|
||||||
|
val unknownImageId =
|
||||||
|
if (defaultResourceId == -1) R.drawable.unknown_album
|
||||||
|
else defaultResourceId
|
||||||
|
|
||||||
if (id != null &&
|
if (id != null &&
|
||||||
view != null &&
|
view != null &&
|
||||||
view is ImageView
|
view is ImageView
|
||||||
) {
|
) {
|
||||||
val request = ImageRequest.CoverArt(
|
val request = ImageRequest.CoverArt(
|
||||||
id,
|
id, view,
|
||||||
view,
|
placeHolderDrawableRes = unknownImageId,
|
||||||
placeHolderDrawableRes = R.drawable.unknown_album,
|
errorDrawableRes = unknownImageId
|
||||||
errorDrawableRes = R.drawable.unknown_album
|
|
||||||
)
|
)
|
||||||
subsonicImageLoader.load(request)
|
subsonicImageLoader.load(request)
|
||||||
}
|
}
|
||||||
@ -56,8 +70,7 @@ class SubsonicImageLoaderProxy(
|
|||||||
view is ImageView
|
view is ImageView
|
||||||
) {
|
) {
|
||||||
val request = ImageRequest.Avatar(
|
val request = ImageRequest.Avatar(
|
||||||
username,
|
username, view,
|
||||||
view,
|
|
||||||
placeHolderDrawableRes = R.drawable.ic_contact_picture,
|
placeHolderDrawableRes = R.drawable.ic_contact_picture,
|
||||||
errorDrawableRes = R.drawable.ic_contact_picture
|
errorDrawableRes = R.drawable.ic_contact_picture
|
||||||
)
|
)
|
||||||
|
@ -13,30 +13,31 @@
|
|||||||
a:layout_width="wrap_content"
|
a:layout_width="wrap_content"
|
||||||
a:layout_height="wrap_content"
|
a:layout_height="wrap_content"
|
||||||
a:gravity="center_horizontal|center_vertical"
|
a:gravity="center_horizontal|center_vertical"
|
||||||
a:minWidth="72dip"
|
a:minWidth="56dip"
|
||||||
a:minHeight="56dip"
|
a:minHeight="56dip"
|
||||||
a:paddingStart="16dip"
|
a:paddingStart="8dip"
|
||||||
a:paddingLeft="16dip"
|
a:paddingLeft="8dip"
|
||||||
a:paddingEnd="16dip"
|
a:paddingEnd="8dip"
|
||||||
a:paddingRight="16dip"
|
a:paddingRight="8dip"
|
||||||
a:text="A"
|
a:text="A"
|
||||||
a:textAppearance="?android:attr/textAppearanceLarge"
|
a:textAppearance="?android:attr/textAppearanceLarge"
|
||||||
a:textColor="@color/cyan" />
|
a:textColor="@color/cyan" />
|
||||||
|
|
||||||
<com.google.android.material.imageview.ShapeableImageView
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
a:id="@+id/artist_coverart"
|
a:id="@+id/artist_coverart"
|
||||||
a:src="@drawable/unknown_album"
|
|
||||||
app:shapeAppearanceOverlay="@style/roundedImageView"
|
|
||||||
a:layout_width="40dp"
|
a:layout_width="40dp"
|
||||||
a:layout_height="40dp"
|
a:layout_height="40dp"
|
||||||
a:layout_toEndOf="@+id/row_section"
|
|
||||||
a:layout_toRightOf="@+id/row_section"
|
|
||||||
a:layout_gravity="center_horizontal|center_vertical"
|
a:layout_gravity="center_horizontal|center_vertical"
|
||||||
a:layout_marginTop="8dp"
|
a:layout_marginTop="8dp"
|
||||||
a:layout_marginLeft="8dp"
|
a:layout_marginStart="2dp"
|
||||||
a:layout_marginRight="16dp"
|
a:layout_marginLeft="2dp"
|
||||||
a:layout_marginStart="8dp"
|
a:layout_marginEnd="10dp"
|
||||||
a:layout_marginEnd="16dp" />
|
a:layout_marginRight="10dp"
|
||||||
|
a:layout_toEndOf="@+id/row_section"
|
||||||
|
a:layout_toRightOf="@+id/row_section"
|
||||||
|
a:scaleType="fitCenter"
|
||||||
|
a:src="@drawable/ic_contact_picture"
|
||||||
|
app:shapeAppearanceOverlay="@style/roundedImageView" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
a:id="@+id/row_artist_name"
|
a:id="@+id/row_artist_name"
|
||||||
@ -49,5 +50,7 @@
|
|||||||
a:minHeight="56dip"
|
a:minHeight="56dip"
|
||||||
a:paddingLeft="3dip"
|
a:paddingLeft="3dip"
|
||||||
a:paddingRight="3dip"
|
a:paddingRight="3dip"
|
||||||
|
a:layout_marginRight="12dp"
|
||||||
|
a:layout_marginEnd="12dp"
|
||||||
a:textAppearance="?android:attr/textAppearanceMedium" />
|
a:textAppearance="?android:attr/textAppearanceMedium" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
Loading…
x
Reference in New Issue
Block a user