Improved drive mode page

main
h4h13 2020-02-22 01:43:40 +05:30
parent 2dfb1daf04
commit a32df3ce3e
3 changed files with 239 additions and 18 deletions

View File

@ -159,6 +159,7 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback {
super.onPlayStateChanged()
updatePlayPauseDrawableState()
}
override fun onServiceConnected() {
super.onServiceConnected()
updatePlayPauseDrawableState()

View File

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2020 Hemanth Savarala.
~
~ Licensed under the GNU General Public License v3
~
~ This is free software: you can redistribute it and/or modify it under
~ the terms of the GNU General Public License as published by
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ See the GNU General Public License for more details.
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<code.name.monkey.retromusic.views.StatusBarView
android:id="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="?attr/colorSurface"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UnusedAttribute" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="0dp"
android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/shadow_up_down"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/close"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_margin="16dp"
android:background="@drawable/color_circle_gradient"
android:backgroundTint="@color/semi_transparent"
android:padding="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/status_bar"
app:srcCompat="@drawable/ic_close_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/songFavourite"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_margin="16dp"
android:background="@drawable/color_circle_gradient"
android:backgroundTint="@color/semi_transparent"
android:padding="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/status_bar"
app:srcCompat="@drawable/ic_favorite_border_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/playPauseButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
android:src="@drawable/ic_pause_white_24dp"
app:layout_constraintBottom_toBottomOf="@id/previousButton"
app:layout_constraintEnd_toStartOf="@+id/nextButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/previousButton"
app:layout_constraintTop_toTopOf="@+id/previousButton" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/nextButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/playPauseButton"
app:layout_constraintEnd_toStartOf="@+id/shuffleButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/playPauseButton"
app:layout_constraintTop_toTopOf="@+id/playPauseButton"
app:srcCompat="@drawable/ic_skip_next_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/previousButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/repeatButton"
app:layout_constraintEnd_toStartOf="@+id/playPauseButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/repeatButton"
app:layout_constraintTop_toTopOf="@+id/repeatButton"
app:srcCompat="@drawable/ic_skip_previous_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/repeatButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/previousButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/progressSlider"
app:srcCompat="@drawable/ic_repeat_white_24dp"
tools:layout_editor_absoluteY="240dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/shuffleButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/nextButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/nextButton"
app:layout_constraintTop_toTopOf="@+id/nextButton"
app:srcCompat="@drawable/ic_shuffle_white_24dp" />
<LinearLayout
android:id="@+id/titleContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/songFavourite">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:textAppearance="@style/TextViewHeadline5"
android:textColor="@color/md_white_1000"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:textAppearance="@style/TextViewHeadline6"
android:textColor="@color/md_grey_200"
tools:text="@tools:sample/lorem/random" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/progressSlider"
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="8"
android:maxHeight="3dp"
android:progressDrawable="@drawable/color_progress_seek"
android:progressTint="@color/md_white_1000"
android:splitTrack="false"
android:thumb="@drawable/switch_thumb_material"
app:layout_constraintBottom_toTopOf="@id/songCurrentProgress"
app:layout_constraintEnd_toEndOf="@id/shuffleButton"
app:layout_constraintStart_toStartOf="@id/repeatButton"
tools:ignore="RtlHardcoded,UnusedAttribute"
tools:progress="20" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songCurrentProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:singleLine="true"
android:textColor="@color/md_white_1000"
app:layout_constraintBottom_toTopOf="@id/playPauseButton"
app:layout_constraintStart_toStartOf="@id/repeatButton"
tools:ignore="RtlHardcoded,RtlSymmetry"
tools:text="00:22" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songTotalTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:singleLine="true"
android:textColor="@color/md_white_1000"
app:layout_constraintBottom_toTopOf="@id/playPauseButton"
app:layout_constraintEnd_toEndOf="@id/shuffleButton"
tools:ignore="RtlHardcoded,RtlSymmetry"
tools:text="00:22" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -53,8 +53,8 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_margin="16dp"
android:background="@drawable/color_circle_gradient"
android:backgroundTint="@color/semi_transparent"
@ -63,6 +63,18 @@
app:layout_constraintTop_toBottomOf="@id/status_bar"
app:srcCompat="@drawable/ic_close_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/songFavourite"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_margin="16dp"
android:background="@drawable/color_circle_gradient"
android:backgroundTint="@color/semi_transparent"
android:padding="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/status_bar"
app:srcCompat="@drawable/ic_favorite_border_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/playPauseButton"
android:layout_width="112dp"
@ -106,33 +118,22 @@
android:layout_marginBottom="32dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/image"
app:layout_constraintEnd_toStartOf="@+id/songFavourite"
app:layout_constraintEnd_toStartOf="@+id/shuffleButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/ic_repeat_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/songFavourite"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/repeatButton"
app:layout_constraintEnd_toStartOf="@+id/shuffleButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/repeatButton"
app:layout_constraintTop_toTopOf="@+id/repeatButton"
app:srcCompat="@drawable/ic_favorite_border_white_24dp" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/shuffleButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:background="?roundSelector"
app:layout_constraintBottom_toBottomOf="@+id/songFavourite"
app:layout_constraintBottom_toBottomOf="@+id/repeatButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/songFavourite"
app:layout_constraintTop_toTopOf="@+id/songFavourite"
app:layout_constraintStart_toEndOf="@+id/repeatButton"
app:layout_constraintTop_toTopOf="@+id/repeatButton"
app:srcCompat="@drawable/ic_shuffle_white_24dp" />
<LinearLayout
@ -140,7 +141,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@id/playPauseButton"
app:layout_constraintBottom_toTopOf="@id/progressSlider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/close">
@ -161,6 +162,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="4dp"
android:maxLines="3"
android:textAppearance="@style/TextViewHeadline6"
android:textColor="@color/md_grey_200"