From 68525a028369c2a0dca8d669fb5872ee2ff6166c Mon Sep 17 00:00:00 2001 From: thofx <127162817+thofx@users.noreply.github.com> Date: Sat, 27 May 2023 18:37:43 +0800 Subject: [PATCH] feat: add volume and brightness change animation (#377) * volume and brightness change animation * lint: remove redundant curly braces --------- Co-authored-by: usnail Co-authored-by: Jarne Demeulemeester --- .../jellyfin/utils/PlayerGestureHelper.kt | 8 ++- .../src/main/res/layout/activity_player.xml | 4 +- core/src/main/res/drawable/ic_sun_0.xml | 13 ++++ core/src/main/res/drawable/ic_sun_12.xml | 20 ++++++ core/src/main/res/drawable/ic_sun_25.xml | 27 ++++++++ core/src/main/res/drawable/ic_sun_37.xml | 34 ++++++++++ core/src/main/res/drawable/ic_sun_50.xml | 41 ++++++++++++ core/src/main/res/drawable/ic_sun_62.xml | 48 ++++++++++++++ core/src/main/res/drawable/ic_sun_75.xml | 55 ++++++++++++++++ core/src/main/res/drawable/ic_sun_87.xml | 62 +++++++++++++++++++ core/src/main/res/drawable/ic_sun_level.xml | 39 ++++++++++++ core/src/main/res/drawable/ic_volume_0.xml | 21 +++++++ core/src/main/res/drawable/ic_volume_50.xml | 20 ++++++ .../src/main/res/drawable/ic_volume_level.xml | 15 +++++ 14 files changed, 403 insertions(+), 4 deletions(-) create mode 100644 core/src/main/res/drawable/ic_sun_0.xml create mode 100644 core/src/main/res/drawable/ic_sun_12.xml create mode 100644 core/src/main/res/drawable/ic_sun_25.xml create mode 100644 core/src/main/res/drawable/ic_sun_37.xml create mode 100644 core/src/main/res/drawable/ic_sun_50.xml create mode 100644 core/src/main/res/drawable/ic_sun_62.xml create mode 100644 core/src/main/res/drawable/ic_sun_75.xml create mode 100644 core/src/main/res/drawable/ic_sun_87.xml create mode 100644 core/src/main/res/drawable/ic_sun_level.xml create mode 100644 core/src/main/res/drawable/ic_volume_0.xml create mode 100644 core/src/main/res/drawable/ic_volume_50.xml create mode 100644 core/src/main/res/drawable/ic_volume_level.xml diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/utils/PlayerGestureHelper.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/utils/PlayerGestureHelper.kt index a7ff8ce8..9ec93fb1 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/utils/PlayerGestureHelper.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/utils/PlayerGestureHelper.kt @@ -162,7 +162,9 @@ class PlayerGestureHelper( activity.binding.gestureVolumeLayout.visibility = View.VISIBLE activity.binding.gestureVolumeProgressBar.max = maxVolume activity.binding.gestureVolumeProgressBar.progress = swipeGestureValueTrackerVolume.toInt() - activity.binding.gestureVolumeText.text = "${(swipeGestureValueTrackerVolume / maxVolume.toFloat()).times(100).toInt()}%" + val process = (swipeGestureValueTrackerVolume / maxVolume.toFloat()).times(100).toInt() + activity.binding.gestureVolumeText.text = "$process%" + activity.binding.gestureVolumeImage.setImageLevel(process) swipeGestureVolumeOpen = true } else { @@ -187,7 +189,9 @@ class PlayerGestureHelper( activity.binding.gestureBrightnessLayout.visibility = View.VISIBLE activity.binding.gestureBrightnessProgressBar.max = BRIGHTNESS_OVERRIDE_FULL.times(100).toInt() activity.binding.gestureBrightnessProgressBar.progress = lp.screenBrightness.times(100).toInt() - activity.binding.gestureBrightnessText.text = "${(lp.screenBrightness / BRIGHTNESS_OVERRIDE_FULL).times(100).toInt()}%" + val process = (lp.screenBrightness / BRIGHTNESS_OVERRIDE_FULL).times(100).toInt() + activity.binding.gestureBrightnessText.text = "$process%" + activity.binding.gestureBrightnessImage.setImageLevel(process) swipeGestureBrightnessOpen = true } diff --git a/app/phone/src/main/res/layout/activity_player.xml b/app/phone/src/main/res/layout/activity_player.xml index 683f441d..ec44e30f 100644 --- a/app/phone/src/main/res/layout/activity_player.xml +++ b/app/phone/src/main/res/layout/activity_player.xml @@ -70,7 +70,7 @@ android:layout_width="24dp" android:layout_height="24dp" android:layout_marginVertical="16dp" - android:src="@drawable/ic_volume" + android:src="@drawable/ic_volume_level" tools:ignore="ContentDescription" /> @@ -109,7 +109,7 @@ android:layout_width="24dp" android:layout_height="24dp" android:layout_marginVertical="16dp" - android:src="@drawable/ic_sun" + android:src="@drawable/ic_sun_level" tools:ignore="ContentDescription" /> diff --git a/core/src/main/res/drawable/ic_sun_0.xml b/core/src/main/res/drawable/ic_sun_0.xml new file mode 100644 index 00000000..1c507b28 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_0.xml @@ -0,0 +1,13 @@ + + + diff --git a/core/src/main/res/drawable/ic_sun_12.xml b/core/src/main/res/drawable/ic_sun_12.xml new file mode 100644 index 00000000..dce645de --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_12.xml @@ -0,0 +1,20 @@ + + + + diff --git a/core/src/main/res/drawable/ic_sun_25.xml b/core/src/main/res/drawable/ic_sun_25.xml new file mode 100644 index 00000000..4bd9e14e --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_25.xml @@ -0,0 +1,27 @@ + + + + + diff --git a/core/src/main/res/drawable/ic_sun_37.xml b/core/src/main/res/drawable/ic_sun_37.xml new file mode 100644 index 00000000..89477a83 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_37.xml @@ -0,0 +1,34 @@ + + + + + + diff --git a/core/src/main/res/drawable/ic_sun_50.xml b/core/src/main/res/drawable/ic_sun_50.xml new file mode 100644 index 00000000..0a7865a7 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_50.xml @@ -0,0 +1,41 @@ + + + + + + + diff --git a/core/src/main/res/drawable/ic_sun_62.xml b/core/src/main/res/drawable/ic_sun_62.xml new file mode 100644 index 00000000..1914ac7a --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_62.xml @@ -0,0 +1,48 @@ + + + + + + + + diff --git a/core/src/main/res/drawable/ic_sun_75.xml b/core/src/main/res/drawable/ic_sun_75.xml new file mode 100644 index 00000000..c4a04974 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_75.xml @@ -0,0 +1,55 @@ + + + + + + + + + diff --git a/core/src/main/res/drawable/ic_sun_87.xml b/core/src/main/res/drawable/ic_sun_87.xml new file mode 100644 index 00000000..8ed1c088 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_87.xml @@ -0,0 +1,62 @@ + + + + + + + + + + diff --git a/core/src/main/res/drawable/ic_sun_level.xml b/core/src/main/res/drawable/ic_sun_level.xml new file mode 100644 index 00000000..4db20174 --- /dev/null +++ b/core/src/main/res/drawable/ic_sun_level.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/main/res/drawable/ic_volume_0.xml b/core/src/main/res/drawable/ic_volume_0.xml new file mode 100644 index 00000000..98fdb1aa --- /dev/null +++ b/core/src/main/res/drawable/ic_volume_0.xml @@ -0,0 +1,21 @@ + + + + + diff --git a/core/src/main/res/drawable/ic_volume_50.xml b/core/src/main/res/drawable/ic_volume_50.xml new file mode 100644 index 00000000..4f068f4f --- /dev/null +++ b/core/src/main/res/drawable/ic_volume_50.xml @@ -0,0 +1,20 @@ + + + + diff --git a/core/src/main/res/drawable/ic_volume_level.xml b/core/src/main/res/drawable/ic_volume_level.xml new file mode 100644 index 00000000..fcadaf16 --- /dev/null +++ b/core/src/main/res/drawable/ic_volume_level.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file