diff --git a/app/build.gradle b/app/build.gradle index 16fb2d8cd..4eabf32cf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,6 +67,11 @@ android { versionName defaultConfig.versionName + "_" + getDate() dimension "default" } + nofont { + versionCode defaultConfig.versionCode + 10000 + versionName defaultConfig.versionName + "_" + getDate() + dimension "default" + } } packagingOptions { diff --git a/app/libs/juniversalchardet-1.0.3.jar b/app/libs/juniversalchardet-1.0.3.jar deleted file mode 100644 index 1af703fec..000000000 Binary files a/app/libs/juniversalchardet-1.0.3.jar and /dev/null differ diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt index 77b81d075..57722e1e6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt @@ -21,6 +21,7 @@ import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler import code.name.monkey.retromusic.service.MusicService import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil +import code.name.monkey.retromusic.util.SliderReadTimeLabelFormatter import code.name.monkey.retromusic.util.ViewUtil import kotlinx.android.synthetic.main.fragment_adaptive_player_playback_controls.* @@ -233,6 +234,7 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() { } override fun setUpProgressSlider() { + progressSlider.setLabelFormatter(SliderReadTimeLabelFormatter()) progressSlider.addOnChangeListener { _, value, fromUser -> if (fromUser) { MusicPlayerRemote.seekTo(value.toInt()) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt index 830639420..0b8230bc0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt @@ -25,6 +25,7 @@ import android.view.ViewGroup import androidx.appcompat.widget.Toolbar import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ATHUtil +import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.TintHelper import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import code.name.monkey.retromusic.R @@ -97,6 +98,8 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged false ) volumeSeekBar.progressColor = ThemeStore.accentColor(requireContext()) + volumeSeekBar.arcColor = ColorUtil + .withAlpha(ThemeStore.accentColor(requireContext()), 0.25f) setUpPlayPauseFab() setUpPrevNext() setUpPlayerToolbar() @@ -116,7 +119,6 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged private fun setUpPlayPauseFab() { TintHelper.setTintAuto(playPauseButton, ThemeStore.accentColor(requireContext()), false) - //TintHelper.setTintAuto(playPauseButton, ATHUtil.resolveColor(requireContext(), R.attr.colorSurface), true) playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler()) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt index 8b56badde..95cf4dd7a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt @@ -62,7 +62,6 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(), songTotalTime.setTextColor(Color.WHITE) songCurrentProgress.setTextColor(Color.WHITE) - title.isSelected = true } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt index 303f0d0a4..2d1b2d7a9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt @@ -14,15 +14,12 @@ package code.name.monkey.retromusic.fragments.player.lockscreen -import android.animation.ObjectAnimator import android.graphics.PorterDuff import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.animation.DecelerateInterpolator -import android.view.animation.LinearInterpolator -import android.widget.SeekBar import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.MaterialValueHelper @@ -34,7 +31,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler -import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener import code.name.monkey.retromusic.service.MusicService import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil @@ -133,6 +129,8 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() { volumeFragment?.setTintable(colorFinal) ViewUtil.setProgressDrawable(progressSlider, colorFinal, true) + updateRepeatState() + updateShuffleState() updatePrevNextColor() val isDark = ColorUtil.isColorLight(colorFinal) @@ -237,29 +235,22 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() { } } - override fun setUpProgressSlider() { - progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() { - override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { - if (fromUser) { - MusicPlayerRemote.seekTo(progress) - onUpdateProgressViews( - MusicPlayerRemote.songProgressMillis, - MusicPlayerRemote.songDurationMillis - ) - } - } - }) - } - override fun onUpdateProgressViews(progress: Int, total: Int) { - progressSlider.max = total - - val animator = ObjectAnimator.ofInt(progressSlider, "progress", progress) - animator.duration = SLIDER_ANIMATION_TIME - animator.interpolator = LinearInterpolator() - animator.start() - + progressSlider.valueTo = total.toFloat() + progressSlider.value = progress.toFloat() songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong()) songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong()) } + + override fun setUpProgressSlider() { + progressSlider.addOnChangeListener { _, value, fromUser -> + if (fromUser) { + MusicPlayerRemote.seekTo(value.toInt()) + onUpdateProgressViews( + MusicPlayerRemote.songProgressMillis, + MusicPlayerRemote.songDurationMillis + ) + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/menu/SongMenuHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/menu/SongMenuHelper.kt index c2b5f5ffc..ca2db94e8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/menu/SongMenuHelper.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/menu/SongMenuHelper.kt @@ -41,9 +41,10 @@ object SongMenuHelper { R.id.action_set_as_ringtone -> { if (RingtoneManager.requiresDialog(activity)) { RingtoneManager.getDialog(activity) + } else { + val ringtoneManager = RingtoneManager(activity) + ringtoneManager.setRingtone(song) } - val ringtoneManager = RingtoneManager(activity) - ringtoneManager.setRingtone(song) return true } R.id.action_share -> { diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt index dfe7e7253..01953c1fa 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt @@ -43,7 +43,6 @@ class RingtoneManager(val context: Context) { return } - try { val cursor = resolver.query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, @@ -65,7 +64,6 @@ class RingtoneManager(val context: Context) { } companion object { - private const val TAG = "RingtoneManager" fun requiresDialog(context: Context): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { @@ -89,6 +87,5 @@ class RingtoneManager(val context: Context) { negativeButton(android.R.string.cancel) } } - } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/util/SliderReadTimeLabelFormatter.kt b/app/src/main/java/code/name/monkey/retromusic/util/SliderReadTimeLabelFormatter.kt new file mode 100644 index 000000000..6822c1a8c --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/util/SliderReadTimeLabelFormatter.kt @@ -0,0 +1,30 @@ +package code.name.monkey.retromusic.util + +import com.google.android.material.slider.Slider +import java.util.* + +class SliderReadTimeLabelFormatter : Slider.LabelFormatter { + + override fun getFormattedValue(value: Float): String { + var minutes: Long = value.toLong() / 1000 / 60 + val seconds: Long = value.toLong() / 1000 % 60 + return if (minutes < 60) { + String.format( + Locale.getDefault(), + "%01d:%02d", + minutes, + seconds + ) + } else { + val hours = minutes / 60 + minutes %= 60 + String.format( + Locale.getDefault(), + "%d:%02d:%02d", + hours, + minutes, + seconds + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_adaptive_player_playback_controls.xml b/app/src/main/res/layout/fragment_adaptive_player_playback_controls.xml index b3b94a3b4..18768b78c 100644 --- a/app/src/main/res/layout/fragment_adaptive_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_adaptive_player_playback_controls.xml @@ -29,16 +29,12 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:value="1.0f" - android:valueFrom="-0.1f" - android:valueTo="1.0f" - app:labelBehavior="gone" app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - app:trackHeight="3dp" - tools:valueFrom="0.0" - tools:valueTo="11.0" /> + app:haloRadius="0dp" + app:thumbRadius="@dimen/slider_thumb_radius" + app:trackHeight="@dimen/slider_track_height" /> + app:trackHeight="@dimen/slider_track_height" /> diff --git a/app/src/main/res/layout/fragment_flat_player_playback_controls.xml b/app/src/main/res/layout/fragment_flat_player_playback_controls.xml index d98112763..5fb011b55 100644 --- a/app/src/main/res/layout/fragment_flat_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_flat_player_playback_controls.xml @@ -35,8 +35,7 @@ app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - app:thumbRadius="8dp" - app:trackHeight="3dp" + app:trackHeight="@dimen/slider_track_height" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_full_player_controls.xml b/app/src/main/res/layout/fragment_full_player_controls.xml index a4f85a11a..b09c2b57a 100644 --- a/app/src/main/res/layout/fragment_full_player_controls.xml +++ b/app/src/main/res/layout/fragment_full_player_controls.xml @@ -88,15 +88,16 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="16dp" - app:haloColor="@color/md_white_semi_transparent" + app:haloRadius="0dp" app:labelBehavior="gone" app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toBottomOf="@id/text" app:thumbColor="@color/md_white_1000" + app:thumbRadius="@dimen/slider_thumb_radius" app:trackColorActive="@color/md_white_1000" app:trackColorInactive="@color/md_white_semi_transparent" - app:trackHeight="3dp" + app:trackHeight="@dimen/slider_track_height" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml b/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml index af81d1f23..f0d211989 100644 --- a/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml +++ b/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml @@ -25,19 +25,15 @@ tools:ignore="RtlHardcoded,RtlSymmetry" tools:text="00:22" /> - diff --git a/app/src/main/res/layout/fragment_material_playback_controls.xml b/app/src/main/res/layout/fragment_material_playback_controls.xml index 9f0200ecc..3341d2709 100644 --- a/app/src/main/res/layout/fragment_material_playback_controls.xml +++ b/app/src/main/res/layout/fragment_material_playback_controls.xml @@ -33,7 +33,8 @@ app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - app:trackHeight="3dp" + app:thumbRadius="@dimen/slider_thumb_radius" + app:trackHeight="@dimen/slider_track_height" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_peak_control_player.xml b/app/src/main/res/layout/fragment_peak_control_player.xml index 982270a35..633c46839 100644 --- a/app/src/main/res/layout/fragment_peak_control_player.xml +++ b/app/src/main/res/layout/fragment_peak_control_player.xml @@ -43,7 +43,8 @@ app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - app:trackHeight="3dp" + app:thumbRadius="@dimen/slider_thumb_radius" + app:trackHeight="@dimen/slider_track_height" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_plain_controls_fragment.xml b/app/src/main/res/layout/fragment_plain_controls_fragment.xml index 0dfdb104c..4aa78589c 100644 --- a/app/src/main/res/layout/fragment_plain_controls_fragment.xml +++ b/app/src/main/res/layout/fragment_plain_controls_fragment.xml @@ -31,6 +31,7 @@ app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" + app:thumbRadius="@dimen/slider_thumb_radius" app:trackHeight="3dp" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_player_playback_controls.xml b/app/src/main/res/layout/fragment_player_playback_controls.xml index 3dd6bb1fd..3d230b880 100755 --- a/app/src/main/res/layout/fragment_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_player_playback_controls.xml @@ -32,7 +32,8 @@ app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - app:trackHeight="3dp" + app:thumbRadius="@dimen/slider_thumb_radius" + app:trackHeight="@dimen/slider_track_height" tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> diff --git a/app/src/main/res/layout/fragment_volume.xml b/app/src/main/res/layout/fragment_volume.xml index 9db0e2c62..dabf109a7 100755 --- a/app/src/main/res/layout/fragment_volume.xml +++ b/app/src/main/res/layout/fragment_volume.xml @@ -37,7 +37,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/volumeDown" app:layout_constraintTop_toTopOf="@+id/volumeDown" - app:thumbRadius="8dp" + app:thumbRadius="@dimen/slider_thumb_radius" app:trackHeight="2dp" /> 32dp 56dp 72dp + 6dp + 3dp diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e37c44b3c..b502e1c11 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -198,4 +198,11 @@ rounded 78dp + + diff --git a/app/src/nofont/res/font/circular.xml b/app/src/nofont/res/font/circular.xml new file mode 100644 index 000000000..8f5145623 --- /dev/null +++ b/app/src/nofont/res/font/circular.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/device-2020-03-01-203243.png b/device-2020-03-01-203243.png new file mode 100644 index 000000000..28ea17ab5 Binary files /dev/null and b/device-2020-03-01-203243.png differ