Merge pull request #8530 from krlvm/improve_placeholder_images
Improve image placeholders
|
@ -714,7 +714,7 @@ public final class VideoDetailFragment
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initThumbnailViews(@NonNull final StreamInfo info) {
|
private void initThumbnailViews(@NonNull final StreamInfo info) {
|
||||||
PicassoHelper.loadThumbnail(info.getThumbnailUrl()).tag(PICASSO_VIDEO_DETAILS_TAG)
|
PicassoHelper.loadDetailsThumbnail(info.getThumbnailUrl()).tag(PICASSO_VIDEO_DETAILS_TAG)
|
||||||
.into(binding.detailThumbnailImageView, new Callback() {
|
.into(binding.detailThumbnailImageView, new Callback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
|
@ -1551,7 +1551,8 @@ public final class VideoDetailFragment
|
||||||
binding.detailUploaderThumbnailView.setVisibility(View.GONE);
|
binding.detailUploaderThumbnailView.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
final Drawable buddyDrawable = AppCompatResources.getDrawable(activity, R.drawable.buddy);
|
final Drawable buddyDrawable
|
||||||
|
= AppCompatResources.getDrawable(activity, R.drawable.placeholder_person);
|
||||||
binding.detailSubChannelThumbnailView.setImageDrawable(buddyDrawable);
|
binding.detailSubChannelThumbnailView.setImageDrawable(buddyDrawable);
|
||||||
binding.detailUploaderThumbnailView.setImageDrawable(buddyDrawable);
|
binding.detailUploaderThumbnailView.setImageDrawable(buddyDrawable);
|
||||||
|
|
||||||
|
@ -2360,8 +2361,8 @@ public final class VideoDetailFragment
|
||||||
@Nullable final String thumbnailUrl) {
|
@Nullable final String thumbnailUrl) {
|
||||||
binding.overlayTitleTextView.setText(isEmpty(overlayTitle) ? "" : overlayTitle);
|
binding.overlayTitleTextView.setText(isEmpty(overlayTitle) ? "" : overlayTitle);
|
||||||
binding.overlayChannelTextView.setText(isEmpty(uploader) ? "" : uploader);
|
binding.overlayChannelTextView.setText(isEmpty(uploader) ? "" : uploader);
|
||||||
binding.overlayThumbnail.setImageResource(R.drawable.dummy_thumbnail_dark);
|
binding.overlayThumbnail.setImageDrawable(null);
|
||||||
PicassoHelper.loadThumbnail(thumbnailUrl).tag(PICASSO_VIDEO_DETAILS_TAG)
|
PicassoHelper.loadDetailsThumbnail(thumbnailUrl).tag(PICASSO_VIDEO_DETAILS_TAG)
|
||||||
.into(binding.overlayThumbnail);
|
.into(binding.overlayThumbnail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,8 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
|
||||||
final Toast successToast = Toast.makeText(getContext(),
|
final Toast successToast = Toast.makeText(getContext(),
|
||||||
R.string.playlist_add_stream_success, Toast.LENGTH_SHORT);
|
R.string.playlist_add_stream_success, Toast.LENGTH_SHORT);
|
||||||
|
|
||||||
if (playlist.thumbnailUrl.equals("drawable://" + R.drawable.dummy_thumbnail_playlist)) {
|
if (playlist.thumbnailUrl
|
||||||
|
.equals("drawable://" + R.drawable.placeholder_thumbnail_playlist)) {
|
||||||
playlistDisposables.add(manager
|
playlistDisposables.add(manager
|
||||||
.changePlaylistThumbnail(playlist.uid, streams.get(0).getThumbnailUrl())
|
.changePlaylistThumbnail(playlist.uid, streams.get(0).getThumbnailUrl())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
|
|
@ -613,7 +613,7 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt
|
||||||
newThumbnailUrl = ((PlaylistStreamEntry) itemListAdapter.getItemsList().get(0))
|
newThumbnailUrl = ((PlaylistStreamEntry) itemListAdapter.getItemsList().get(0))
|
||||||
.getStreamEntity().getThumbnailUrl();
|
.getStreamEntity().getThumbnailUrl();
|
||||||
} else {
|
} else {
|
||||||
newThumbnailUrl = "drawable://" + R.drawable.dummy_thumbnail_playlist;
|
newThumbnailUrl = "drawable://" + R.drawable.placeholder_thumbnail_playlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
changeThumbnailUrl(newThumbnailUrl);
|
changeThumbnailUrl(newThumbnailUrl);
|
||||||
|
|
|
@ -3108,7 +3108,7 @@ public final class Player implements
|
||||||
public Bitmap getThumbnail() {
|
public Bitmap getThumbnail() {
|
||||||
if (currentThumbnail == null) {
|
if (currentThumbnail == null) {
|
||||||
currentThumbnail = BitmapFactory.decodeResource(
|
currentThumbnail = BitmapFactory.decodeResource(
|
||||||
context.getResources(), R.drawable.dummy_thumbnail);
|
context.getResources(), R.drawable.placeholder_thumbnail_video);
|
||||||
}
|
}
|
||||||
return currentThumbnail;
|
return currentThumbnail;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,19 +97,23 @@ public final class PicassoHelper {
|
||||||
|
|
||||||
|
|
||||||
public static RequestCreator loadAvatar(final String url) {
|
public static RequestCreator loadAvatar(final String url) {
|
||||||
return loadImageDefault(url, R.drawable.buddy);
|
return loadImageDefault(url, R.drawable.placeholder_person);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RequestCreator loadThumbnail(final String url) {
|
public static RequestCreator loadThumbnail(final String url) {
|
||||||
return loadImageDefault(url, R.drawable.dummy_thumbnail);
|
return loadImageDefault(url, R.drawable.placeholder_thumbnail_video);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RequestCreator loadDetailsThumbnail(final String url) {
|
||||||
|
return loadImageDefault(url, R.drawable.placeholder_thumbnail_video, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RequestCreator loadBanner(final String url) {
|
public static RequestCreator loadBanner(final String url) {
|
||||||
return loadImageDefault(url, R.drawable.channel_banner);
|
return loadImageDefault(url, R.drawable.placeholder_channel_banner);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RequestCreator loadPlaylistThumbnail(final String url) {
|
public static RequestCreator loadPlaylistThumbnail(final String url) {
|
||||||
return loadImageDefault(url, R.drawable.dummy_thumbnail_playlist);
|
return loadImageDefault(url, R.drawable.placeholder_thumbnail_playlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RequestCreator loadSeekbarThumbnailPreview(final String url) {
|
public static RequestCreator loadSeekbarThumbnailPreview(final String url) {
|
||||||
|
@ -189,15 +193,24 @@ public final class PicassoHelper {
|
||||||
|
|
||||||
|
|
||||||
private static RequestCreator loadImageDefault(final String url, final int placeholderResId) {
|
private static RequestCreator loadImageDefault(final String url, final int placeholderResId) {
|
||||||
|
return loadImageDefault(url, placeholderResId, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static RequestCreator loadImageDefault(final String url, final int placeholderResId,
|
||||||
|
final boolean showPlaceholderWhileLoading) {
|
||||||
if (!shouldLoadImages || isBlank(url)) {
|
if (!shouldLoadImages || isBlank(url)) {
|
||||||
return picassoInstance
|
return picassoInstance
|
||||||
.load((String) null)
|
.load((String) null)
|
||||||
.placeholder(placeholderResId) // show placeholder when no image should load
|
.placeholder(placeholderResId) // show placeholder when no image should load
|
||||||
.error(placeholderResId);
|
.error(placeholderResId);
|
||||||
} else {
|
} else {
|
||||||
return picassoInstance
|
final RequestCreator requestCreator = picassoInstance
|
||||||
.load(url)
|
.load(url)
|
||||||
.error(placeholderResId); // don't show placeholder while loading, only on error
|
.error(placeholderResId);
|
||||||
|
if (showPlaceholderWhileLoading) {
|
||||||
|
requestCreator.placeholder(placeholderResId);
|
||||||
|
}
|
||||||
|
return requestCreator;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 956 B |
Before Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
20
app/src/main/res/drawable/placeholder_person.xml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
|
||||||
|
<path
|
||||||
|
android:pathData="M0,0 L24,0 L24,24 L0,24 z"
|
||||||
|
android:fillColor="@color/placeholder_background" />
|
||||||
|
|
||||||
|
<group android:scaleX="0.8333333"
|
||||||
|
android:scaleY="0.8333333"
|
||||||
|
android:translateX="2"
|
||||||
|
android:translateY="2">
|
||||||
|
<path
|
||||||
|
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"
|
||||||
|
android:fillColor="@color/placeholder_foreground" />
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</vector>
|
15
app/src/main/res/drawable/placeholder_thumbnail_playlist.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="16dp"
|
||||||
|
android:height="9dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M0,0h24v24h-24z"
|
||||||
|
android:fillColor="@color/placeholder_background" />
|
||||||
|
<path
|
||||||
|
android:pathData="M13,12L8,17.5L8,6.5"
|
||||||
|
android:fillColor="@color/placeholder_foreground" />
|
||||||
|
<path
|
||||||
|
android:pathData="M16,12L11,17.5L11,6.5"
|
||||||
|
android:fillColor="@color/placeholder_foreground" />
|
||||||
|
</vector>
|
12
app/src/main/res/drawable/placeholder_thumbnail_video.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="16dp"
|
||||||
|
android:height="9dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M0,0h24v24h-24z"
|
||||||
|
android:fillColor="@color/placeholder_background" />
|
||||||
|
<path
|
||||||
|
android:pathData="M15,12L9,17.5L9,6.5"
|
||||||
|
android:fillColor="@color/placeholder_foreground" />
|
||||||
|
</vector>
|
|
@ -57,7 +57,7 @@
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
tools:layout_height="200dp"
|
tools:layout_height="200dp"
|
||||||
tools:src="@drawable/dummy_thumbnail" />
|
tools:src="@drawable/placeholder_thumbnail_video" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/detail_thumbnail_play_button"
|
android:id="@+id/detail_thumbnail_play_button"
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
android:layout_width="@dimen/video_item_detail_uploader_image_size"
|
android:layout_width="@dimen/video_item_detail_uploader_image_size"
|
||||||
android:layout_height="@dimen/video_item_detail_uploader_image_size"
|
android:layout_height="@dimen/video_item_detail_uploader_image_size"
|
||||||
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView" />
|
app:shapeAppearance="@style/CircularImageView" />
|
||||||
|
|
||||||
<com.google.android.material.imageview.ShapeableImageView
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
|
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
|
||||||
android:layout_gravity="bottom|right"
|
android:layout_gravity="bottom|right"
|
||||||
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
|
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
@ -645,7 +645,7 @@
|
||||||
android:paddingLeft="@dimen/video_item_search_padding"
|
android:paddingLeft="@dimen/video_item_search_padding"
|
||||||
android:paddingRight="@dimen/video_item_search_padding"
|
android:paddingRight="@dimen/video_item_search_padding"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail" />
|
android:src="@drawable/placeholder_thumbnail_video" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/overlay_metadata_layout"
|
android:id="@+id/overlay_metadata_layout"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:background="@android:color/black"
|
android:background="@android:color/black"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/channel_banner"
|
android:src="@drawable/placeholder_channel_banner"
|
||||||
tools:ignore="ContentDescription" />
|
tools:ignore="ContentDescription" />
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
android:layout_width="@dimen/channel_avatar_size"
|
android:layout_width="@dimen/channel_avatar_size"
|
||||||
android:layout_height="@dimen/channel_avatar_size"
|
android:layout_height="@dimen/channel_avatar_size"
|
||||||
android:padding="1dp"
|
android:padding="1dp"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
app:strokeColor="#ffffff"
|
app:strokeColor="#ffffff"
|
||||||
app:strokeWidth="2dp" />
|
app:strokeWidth="2dp" />
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
android:layout_height="@dimen/sub_channel_avatar_size"
|
android:layout_height="@dimen/sub_channel_avatar_size"
|
||||||
android:layout_gravity="bottom|right"
|
android:layout_gravity="bottom|right"
|
||||||
android:padding="1dp"
|
android:padding="1dp"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
app:strokeColor="#ffffff"
|
app:strokeColor="#ffffff"
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
tools:layout_height="200dp"
|
tools:layout_height="200dp"
|
||||||
tools:src="@drawable/dummy_thumbnail" />
|
tools:src="@drawable/placeholder_thumbnail_video" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/detail_thumbnail_play_button"
|
android:id="@+id/detail_thumbnail_play_button"
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
android:layout_width="@dimen/video_item_detail_uploader_image_size"
|
android:layout_width="@dimen/video_item_detail_uploader_image_size"
|
||||||
android:layout_height="@dimen/video_item_detail_uploader_image_size"
|
android:layout_height="@dimen/video_item_detail_uploader_image_size"
|
||||||
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView" />
|
app:shapeAppearance="@style/CircularImageView" />
|
||||||
|
|
||||||
<com.google.android.material.imageview.ShapeableImageView
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
|
@ -267,7 +267,7 @@
|
||||||
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
|
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
|
||||||
android:layout_gravity="bottom|right"
|
android:layout_gravity="bottom|right"
|
||||||
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
|
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
|
@ -618,8 +618,7 @@
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingLeft="@dimen/video_item_search_padding"
|
android:paddingLeft="@dimen/video_item_search_padding"
|
||||||
android:paddingRight="@dimen/video_item_search_padding"
|
android:paddingRight="@dimen/video_item_search_padding"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter" />
|
||||||
android:src="@drawable/dummy_thumbnail" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/overlay_metadata_layout"
|
android:id="@+id/overlay_metadata_layout"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/play_queue_thumbnail_width"
|
android:layout_height="@dimen/play_queue_thumbnail_width"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
app:layout_constraintDimensionRatio="16:9"
|
app:layout_constraintDimensionRatio="16:9"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_margin="2dp"
|
android:layout_margin="2dp"
|
||||||
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
||||||
android:src="@drawable/buddy_channel_item"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
android:layout_height="@dimen/video_item_search_avatar_image_height"
|
android:layout_height="@dimen/video_item_search_avatar_image_height"
|
||||||
android:layout_marginLeft="@dimen/video_item_search_avatar_left_margin"
|
android:layout_marginLeft="@dimen/video_item_search_avatar_left_margin"
|
||||||
android:layout_marginRight="@dimen/video_item_search_avatar_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_avatar_right_margin"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/itemTitleView"
|
app:layout_constraintEnd_toStartOf="@+id/itemTitleView"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_marginStart="3dp"
|
android:layout_marginStart="3dp"
|
||||||
android:layout_marginRight="15dp"
|
android:layout_marginRight="15dp"
|
||||||
android:src="@drawable/buddy_channel_item"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
android:layout_marginLeft="3dp"
|
android:layout_marginLeft="3dp"
|
||||||
android:layout_marginRight="@dimen/comment_item_avatar_right_margin"
|
android:layout_marginRight="@dimen/comment_item_avatar_right_margin"
|
||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_marginStart="3dp"
|
android:layout_marginStart="3dp"
|
||||||
android:layout_marginRight="15dp"
|
android:layout_marginRight="15dp"
|
||||||
android:src="@drawable/buddy_channel_item"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitStart"
|
android:scaleType="fitStart"
|
||||||
android:src="@drawable/dummy_thumbnail_playlist"
|
android:src="@drawable/placeholder_thumbnail_playlist"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitStart"
|
android:scaleType="fitStart"
|
||||||
android:src="@drawable/dummy_thumbnail_playlist"
|
android:src="@drawable/placeholder_thumbnail_playlist"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitStart"
|
android:scaleType="fitStart"
|
||||||
android:src="@drawable/dummy_thumbnail_playlist"
|
android:src="@drawable/placeholder_thumbnail_playlist"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
android:layout_width="@dimen/video_item_grid_thumbnail_image_width"
|
android:layout_width="@dimen/video_item_grid_thumbnail_image_width"
|
||||||
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
android:layout_width="@dimen/video_item_search_thumbnail_image_width"
|
android:layout_width="@dimen/video_item_search_thumbnail_image_width"
|
||||||
android:layout_height="@dimen/video_item_search_thumbnail_image_height"
|
android:layout_height="@dimen/video_item_search_thumbnail_image_height"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/itemProgressView"
|
app:layout_constraintBottom_toTopOf="@+id/itemProgressView"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:src="@drawable/buddy_channel_item" />
|
tools:src="@drawable/placeholder_person" />
|
||||||
|
|
||||||
<org.schabi.newpipe.views.NewPipeTextView
|
<org.schabi.newpipe.views.NewPipeTextView
|
||||||
android:id="@+id/title_view"
|
android:id="@+id/title_view"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_marginTop="@dimen/video_item_search_image_right_margin"
|
android:layout_marginTop="@dimen/video_item_search_image_right_margin"
|
||||||
android:layout_marginBottom="@dimen/video_item_search_image_right_margin"
|
android:layout_marginBottom="@dimen/video_item_search_image_right_margin"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
|
@ -397,7 +397,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="2dp"
|
android:paddingTop="2dp"
|
||||||
android:src="@drawable/dummy_thumbnail"
|
android:src="@drawable/placeholder_thumbnail_video"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:padding="0.7dp"
|
android:padding="0.7dp"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
app:strokeColor="#ffffff"
|
app:strokeColor="#ffffff"
|
||||||
app:strokeWidth="1dp" />
|
app:strokeWidth="1dp" />
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_marginStart="3dp"
|
android:layout_marginStart="3dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
android:src="@drawable/buddy"
|
android:src="@drawable/placeholder_person"
|
||||||
app:shapeAppearance="@style/CircularImageView"
|
app:shapeAppearance="@style/CircularImageView"
|
||||||
tools:ignore="RtlHardcoded" />
|
tools:ignore="RtlHardcoded" />
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
|
|
||||||
<color name="ic_launcher_background">#CD201F</color>
|
<color name="ic_launcher_background">#CD201F</color>
|
||||||
|
|
||||||
|
<color name="placeholder_background">#999999</color>
|
||||||
|
<color name="placeholder_foreground">#6C6C6C</color>
|
||||||
|
|
||||||
<!-- Light Theme -->
|
<!-- Light Theme -->
|
||||||
<color name="light_background_color">#EEEEEE</color>
|
<color name="light_background_color">#EEEEEE</color>
|
||||||
<color name="light_dialog_background_color">#EEEEEE</color>
|
<color name="light_dialog_background_color">#EEEEEE</color>
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="200" height="200" viewBox="0 0 187.5 187.5"
|
|
||||||
id="svg2" version="1.1" inkscape:version="0.92.0 r" sodipodi:docname="buddy_channel_item.svg"
|
|
||||||
inkscape:export-filename="/home/the-scrabi/Projects/NewPipe/app/src/main/res/drawable-nodpi/buddy_channel_item.png"
|
|
||||||
inkscape:export-xdpi="96" inkscape:export-ydpi="96">
|
|
||||||
<defs
|
|
||||||
id="defs4" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1.6269531"
|
|
||||||
inkscape:cx="-8.1138818"
|
|
||||||
inkscape:cy="101.30232"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
units="px"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1012"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="32"
|
|
||||||
inkscape:window-maximized="1" />
|
|
||||||
<metadata
|
|
||||||
id="metadata7">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Ebene 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-864.86216)">
|
|
||||||
<rect
|
|
||||||
style="opacity:0.997;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.6875;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect4136"
|
|
||||||
width="187.5"
|
|
||||||
height="187.5"
|
|
||||||
x="0"
|
|
||||||
y="864.86218" />
|
|
||||||
<g
|
|
||||||
id="g4487"
|
|
||||||
transform="matrix(0.5625,0,0,0.5625,37.5,418.22093)">
|
|
||||||
<ellipse
|
|
||||||
ry="75"
|
|
||||||
rx="100"
|
|
||||||
cy="1052.3622"
|
|
||||||
cx="100"
|
|
||||||
id="path4152"
|
|
||||||
style="opacity:0.997;fill:#6c6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
<circle
|
|
||||||
r="60"
|
|
||||||
cy="942.36218"
|
|
||||||
cx="100"
|
|
||||||
id="path4154"
|
|
||||||
style="opacity:0.997;fill:#6c6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.6 KiB |
7
assets/dummy_thumbnail.svg
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg width="200px" height="200px" viewBox="0 0 200 200" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g id="layer1" transform="matrix(1.03744, 0, 0, 0.835106, 0, -678.408142)">
|
||||||
|
<rect style="opacity: 0.997; fill: rgb(153, 153, 153); fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 5; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect4136" width="192.949" height="240" y="812.362"/>
|
||||||
|
<path style="opacity:0.997;fill:#6c6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path4164" d="M 120.491 931.134 L 98.133 945.904 L 73.02 962.046 L 72.51 933.742 L 72.295 902.173 L 95.163 915.706 L 120.491 931.134 Z" transform="matrix(1, 0.000081, -0.000052, 1, 0.048923, -0.007806)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 868 B |
8
assets/dummy_thumbnail_playlist.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg width="200px" height="200px" viewBox="0 0 200 200" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g id="layer1" transform="matrix(1.03744, 0, 0, 0.835106, 0, -678.408142)">
|
||||||
|
<rect style="opacity: 0.997; fill: rgb(153, 153, 153); fill-opacity: 1; fill-rule: nonzero; stroke: none; stroke-width: 5; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="rect4136" width="192.949" height="240" y="812.362"/>
|
||||||
|
<path style="opacity:0.997;fill:#6c6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path4164" d="M 110.852 931.134 L 88.494 945.904 L 63.381 962.046 L 62.871 933.742 L 62.656 902.173 L 85.524 915.706 L 110.852 931.134 Z" transform="matrix(1, 0.000081, -0.000052, 1, 0.048923, -0.007025)"/>
|
||||||
|
<path style="opacity:0.997;fill:#6c6c6c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path-1" d="M 134.95 931.133 L 112.592 945.903 L 87.479 962.045 L 86.969 933.741 L 86.754 902.172 L 109.622 915.705 L 134.95 931.133 Z" transform="matrix(1, 0.000081, -0.000052, 1, 0.048901, -0.008782)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |