Browse Source
#50 - Display if whole album is downloaded or cached Closes #50 See merge request funkwhale/funkwhale-android!37housekeeping/remove-warnings
Ryan Harg
3 years ago
2 changed files with 259 additions and 204 deletions
@ -1,214 +1,217 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" |
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||||
xmlns:tools="http://schemas.android.com/tools" |
xmlns:tools="http://schemas.android.com/tools" |
||||||
android:id="@+id/swiper" |
android:id="@+id/swiper" |
||||||
style="@style/AppTheme.Fragment" |
style="@style/AppTheme.Fragment" |
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:background="?attr/colorSurface" |
|
||||||
android:clipChildren="false" |
|
||||||
android:clipToPadding="false" |
|
||||||
android:transitionGroup="true"> |
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView |
|
||||||
android:id="@+id/scroller" |
|
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="match_parent" |
android:layout_height="match_parent" |
||||||
android:fillViewport="true"> |
android:background="?attr/colorSurface" |
||||||
|
android:clipChildren="false" |
||||||
|
android:clipToPadding="false" |
||||||
|
android:transitionGroup="true"> |
||||||
|
|
||||||
<LinearLayout |
<androidx.core.widget.NestedScrollView |
||||||
android:layout_width="match_parent" |
android:id="@+id/scroller" |
||||||
android:layout_height="match_parent" |
|
||||||
android:clipChildren="false" |
|
||||||
android:clipToPadding="false" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView |
|
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" |
android:layout_height="match_parent" |
||||||
android:background="?attr/colorSurface" |
android:fillViewport="true"> |
||||||
android:elevation="1dp"> |
|
||||||
|
|
||||||
<LinearLayout |
<LinearLayout |
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout |
|
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content"> |
android:layout_height="match_parent" |
||||||
|
android:clipChildren="false" |
||||||
<ImageView |
android:clipToPadding="false" |
||||||
android:id="@+id/cover" |
android:orientation="vertical"> |
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="250dp" |
|
||||||
android:layout_margin="8dp" |
|
||||||
android:contentDescription="@string/alt_album_cover" |
|
||||||
android:scaleType="centerCrop" |
|
||||||
app:layout_constraintBottom_toBottomOf="parent" |
|
||||||
app:layout_constraintEnd_toEndOf="parent" |
|
||||||
app:layout_constraintStart_toStartOf="parent" |
|
||||||
app:layout_constraintTop_toTopOf="parent" |
|
||||||
app:layout_constraintVertical_bias="0" |
|
||||||
tools:src="@tools:sample/avatars" |
|
||||||
tools:visibility="invisible" /> |
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout |
|
||||||
android:id="@+id/covers" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="250dp" |
|
||||||
android:layout_margin="8dp" |
|
||||||
android:visibility="gone" |
|
||||||
app:layout_constraintBottom_toBottomOf="parent" |
|
||||||
app:layout_constraintEnd_toEndOf="parent" |
|
||||||
app:layout_constraintStart_toStartOf="parent" |
|
||||||
app:layout_constraintTop_toTopOf="parent" |
|
||||||
app:layout_constraintVertical_bias="0" |
|
||||||
tools:visibility="visible"> |
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline |
|
||||||
android:id="@+id/horizontal" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical" |
|
||||||
app:layout_constraintGuide_percent=".50" /> |
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline |
<com.google.android.material.card.MaterialCardView |
||||||
android:id="@+id/vertical" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="horizontal" |
|
||||||
app:layout_constraintGuide_percent=".50" /> |
|
||||||
|
|
||||||
<audio.funkwhale.ffa.views.SquareImageView |
|
||||||
android:id="@+id/cover_top_left" |
|
||||||
android:layout_width="0dp" |
|
||||||
android:layout_height="0dp" |
|
||||||
android:scaleType="centerCrop" |
|
||||||
android:src="@drawable/cover" |
|
||||||
app:layout_constraintBottom_toBottomOf="@id/vertical" |
|
||||||
app:layout_constraintLeft_toLeftOf="parent" |
|
||||||
app:layout_constraintRight_toRightOf="@id/horizontal" |
|
||||||
app:layout_constraintTop_toTopOf="parent" |
|
||||||
tools:src="@tools:sample/avatars" /> |
|
||||||
|
|
||||||
<audio.funkwhale.ffa.views.SquareImageView |
|
||||||
android:id="@+id/cover_top_right" |
|
||||||
android:layout_width="0dp" |
|
||||||
android:layout_height="0dp" |
|
||||||
android:scaleType="centerCrop" |
|
||||||
android:src="@drawable/cover" |
|
||||||
app:layout_constraintBottom_toBottomOf="@id/vertical" |
|
||||||
app:layout_constraintLeft_toLeftOf="@id/horizontal" |
|
||||||
app:layout_constraintRight_toRightOf="parent" |
|
||||||
app:layout_constraintTop_toTopOf="parent" |
|
||||||
tools:src="@tools:sample/avatars" /> |
|
||||||
|
|
||||||
<audio.funkwhale.ffa.views.SquareImageView |
|
||||||
android:id="@+id/cover_bottom_left" |
|
||||||
android:layout_width="0dp" |
|
||||||
android:layout_height="0dp" |
|
||||||
android:scaleType="centerCrop" |
|
||||||
android:src="@drawable/cover" |
|
||||||
app:layout_constraintBottom_toBottomOf="parent" |
|
||||||
app:layout_constraintLeft_toLeftOf="parent" |
|
||||||
app:layout_constraintRight_toRightOf="@id/horizontal" |
|
||||||
app:layout_constraintTop_toTopOf="@id/vertical" |
|
||||||
tools:src="@tools:sample/avatars" /> |
|
||||||
|
|
||||||
<audio.funkwhale.ffa.views.SquareImageView |
|
||||||
android:id="@+id/cover_bottom_right" |
|
||||||
android:layout_width="0dp" |
|
||||||
android:layout_height="0dp" |
|
||||||
android:scaleType="centerCrop" |
|
||||||
android:src="@drawable/cover" |
|
||||||
app:layout_constraintBottom_toBottomOf="parent" |
|
||||||
app:layout_constraintLeft_toLeftOf="@id/horizontal" |
|
||||||
app:layout_constraintRight_toRightOf="parent" |
|
||||||
app:layout_constraintTop_toTopOf="@id/vertical" |
|
||||||
tools:src="@tools:sample/avatars" /> |
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout> |
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton |
|
||||||
android:id="@+id/play" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:backgroundTint="@color/colorPrimary" |
|
||||||
android:paddingHorizontal="16dp" |
|
||||||
android:paddingVertical="8dp" |
|
||||||
android:text="@string/playback_shuffle" |
|
||||||
android:textColor="@android:color/white" |
|
||||||
app:icon="@drawable/play" |
|
||||||
app:iconTint="@android:color/white" |
|
||||||
app:layout_constraintBottom_toBottomOf="@id/cover" |
|
||||||
app:layout_constraintLeft_toLeftOf="@id/cover" |
|
||||||
app:layout_constraintRight_toRightOf="@id/cover" |
|
||||||
app:layout_constraintTop_toBottomOf="@id/cover" |
|
||||||
app:rippleColor="@color/ripple" /> |
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:gravity="center_vertical" |
|
||||||
android:orientation="horizontal"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="0dp" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_weight="1" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/artist" |
|
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" |
android:layout_height="wrap_content" |
||||||
android:layout_marginStart="16dp" |
android:background="?attr/colorSurface" |
||||||
android:layout_marginTop="16dp" |
android:elevation="1dp"> |
||||||
android:layout_marginEnd="16dp" |
|
||||||
android:textAllCaps="true" |
<LinearLayout |
||||||
android:textSize="14sp" |
android:layout_width="match_parent" |
||||||
tools:text="Muse" /> |
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical"> |
||||||
<TextView |
|
||||||
android:id="@+id/title" |
<androidx.constraintlayout.widget.ConstraintLayout |
||||||
style="@style/AppTheme.Title" |
android:layout_width="match_parent" |
||||||
|
android:layout_height="wrap_content"> |
||||||
|
|
||||||
|
<ImageView |
||||||
|
android:id="@+id/cover" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="250dp" |
||||||
|
android:layout_margin="8dp" |
||||||
|
android:contentDescription="@string/alt_album_cover" |
||||||
|
android:scaleType="centerCrop" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" |
||||||
|
app:layout_constraintVertical_bias="0" |
||||||
|
tools:src="@tools:sample/avatars" |
||||||
|
tools:visibility="invisible" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout |
||||||
|
android:id="@+id/covers" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="250dp" |
||||||
|
android:layout_margin="8dp" |
||||||
|
android:visibility="gone" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintEnd_toEndOf="parent" |
||||||
|
app:layout_constraintStart_toStartOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" |
||||||
|
app:layout_constraintVertical_bias="0" |
||||||
|
tools:visibility="visible"> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/horizontal" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="vertical" |
||||||
|
app:layout_constraintGuide_percent=".50" /> |
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline |
||||||
|
android:id="@+id/vertical" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:orientation="horizontal" |
||||||
|
app:layout_constraintGuide_percent=".50" /> |
||||||
|
|
||||||
|
<audio.funkwhale.ffa.views.SquareImageView |
||||||
|
android:id="@+id/cover_top_left" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:scaleType="centerCrop" |
||||||
|
android:src="@drawable/cover" |
||||||
|
app:layout_constraintBottom_toBottomOf="@id/vertical" |
||||||
|
app:layout_constraintLeft_toLeftOf="parent" |
||||||
|
app:layout_constraintRight_toRightOf="@id/horizontal" |
||||||
|
app:layout_constraintTop_toTopOf="parent" |
||||||
|
tools:src="@tools:sample/avatars" /> |
||||||
|
|
||||||
|
<audio.funkwhale.ffa.views.SquareImageView |
||||||
|
android:id="@+id/cover_top_right" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:scaleType="centerCrop" |
||||||
|
android:src="@drawable/cover" |
||||||
|
app:layout_constraintBottom_toBottomOf="@id/vertical" |
||||||
|
app:layout_constraintLeft_toLeftOf="@id/horizontal" |
||||||
|
app:layout_constraintRight_toRightOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="parent" |
||||||
|
tools:src="@tools:sample/avatars" /> |
||||||
|
|
||||||
|
<audio.funkwhale.ffa.views.SquareImageView |
||||||
|
android:id="@+id/cover_bottom_left" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:scaleType="centerCrop" |
||||||
|
android:src="@drawable/cover" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintLeft_toLeftOf="parent" |
||||||
|
app:layout_constraintRight_toRightOf="@id/horizontal" |
||||||
|
app:layout_constraintTop_toTopOf="@id/vertical" |
||||||
|
tools:src="@tools:sample/avatars" /> |
||||||
|
|
||||||
|
<audio.funkwhale.ffa.views.SquareImageView |
||||||
|
android:id="@+id/cover_bottom_right" |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="0dp" |
||||||
|
android:scaleType="centerCrop" |
||||||
|
android:src="@drawable/cover" |
||||||
|
app:layout_constraintBottom_toBottomOf="parent" |
||||||
|
app:layout_constraintLeft_toLeftOf="@id/horizontal" |
||||||
|
app:layout_constraintRight_toRightOf="parent" |
||||||
|
app:layout_constraintTop_toTopOf="@id/vertical" |
||||||
|
tools:src="@tools:sample/avatars" /> |
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton |
||||||
|
android:id="@+id/play" |
||||||
|
android:layout_width="wrap_content" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:backgroundTint="@color/colorPrimary" |
||||||
|
android:paddingHorizontal="16dp" |
||||||
|
android:paddingVertical="8dp" |
||||||
|
android:text="@string/playback_shuffle" |
||||||
|
android:textColor="@android:color/white" |
||||||
|
app:icon="@drawable/play" |
||||||
|
app:iconTint="@android:color/white" |
||||||
|
app:layout_constraintBottom_toBottomOf="@id/cover" |
||||||
|
app:layout_constraintLeft_toLeftOf="@id/cover" |
||||||
|
app:layout_constraintRight_toRightOf="@id/cover" |
||||||
|
app:layout_constraintTop_toBottomOf="@id/cover" |
||||||
|
app:rippleColor="@color/ripple" /> |
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout> |
||||||
|
|
||||||
|
<LinearLayout |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:gravity="center_vertical" |
||||||
|
android:orientation="horizontal"> |
||||||
|
|
||||||
|
<LinearLayout |
||||||
|
android:layout_width="0dp" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:layout_weight="1" |
||||||
|
android:orientation="vertical"> |
||||||
|
|
||||||
|
<TextView |
||||||
|
android:id="@+id/artist" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:layout_marginStart="16dp" |
||||||
|
android:layout_marginTop="16dp" |
||||||
|
android:layout_marginEnd="16dp" |
||||||
|
android:textAllCaps="true" |
||||||
|
android:textSize="14sp" |
||||||
|
tools:text="Muse" /> |
||||||
|
|
||||||
|
<TextView |
||||||
|
android:id="@+id/title" |
||||||
|
style="@style/AppTheme.Title" |
||||||
|
android:layout_width="match_parent" |
||||||
|
android:layout_height="wrap_content" |
||||||
|
android:layout_marginStart="16dp" |
||||||
|
android:layout_marginEnd="16dp" |
||||||
|
android:layout_marginBottom="16dp" |
||||||
|
app:drawableStartCompat="@drawable/downloaded" |
||||||
|
app:drawableTint="@color/controlColor" |
||||||
|
tools:text="Absolution" |
||||||
|
android:drawablePadding="8dp"/> |
||||||
|
|
||||||
|
</LinearLayout> |
||||||
|
|
||||||
|
<ImageButton |
||||||
|
android:id="@+id/actions" |
||||||
|
style="@style/IconButton" |
||||||
|
android:layout_width="24dp" |
||||||
|
android:layout_height="24dp" |
||||||
|
android:layout_marginEnd="16dp" |
||||||
|
android:contentDescription="@string/alt_more_options" |
||||||
|
android:src="@drawable/more" /> |
||||||
|
|
||||||
|
</LinearLayout> |
||||||
|
|
||||||
|
</LinearLayout> |
||||||
|
|
||||||
|
</com.google.android.material.card.MaterialCardView> |
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView |
||||||
|
android:id="@+id/tracks" |
||||||
android:layout_width="match_parent" |
android:layout_width="match_parent" |
||||||
android:layout_height="wrap_content" |
android:layout_height="match_parent" |
||||||
android:layout_marginStart="16dp" |
tools:itemCount="10" |
||||||
android:layout_marginEnd="16dp" |
tools:listitem="@layout/row_track" /> |
||||||
android:layout_marginBottom="16dp" |
|
||||||
tools:text="Absolution" /> |
|
||||||
|
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<ImageButton |
|
||||||
android:id="@+id/actions" |
|
||||||
style="@style/IconButton" |
|
||||||
android:layout_width="24dp" |
|
||||||
android:layout_height="24dp" |
|
||||||
android:layout_marginEnd="16dp" |
|
||||||
android:contentDescription="@string/alt_more_options" |
|
||||||
android:src="@drawable/more" /> |
|
||||||
|
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
</LinearLayout> |
</LinearLayout> |
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView> |
</androidx.core.widget.NestedScrollView> |
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView |
|
||||||
android:id="@+id/tracks" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
tools:itemCount="10" |
|
||||||
tools:listitem="@layout/row_track" /> |
|
||||||
|
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView> |
|
||||||
|
|
||||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
||||||
|
Loading…
Reference in new issue