Skip to content

Commit 6d92d23

Browse files
committed
新增: 媒体卡片 进度条 & 滑块 颜色自定义
1 parent 88d694f commit 6d92d23

6 files changed

Lines changed: 52 additions & 1 deletion

File tree

app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
3434
import com.sevtinge.hyperceiler.module.hook.systemui.DisableTransparent;
3535
import com.sevtinge.hyperceiler.module.hook.systemui.MediaButton;
36+
import com.sevtinge.hyperceiler.module.hook.systemui.MediaSeekBarColor;
3637
import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
3738
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFix;
3839
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFreeform;
@@ -163,6 +164,8 @@ public void handleLoadPackage() {
163164
initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
164165
initHook(new MediaButton(), mPrefsMap.getInt("system_ui_control_center_media_control_media_button", 140) != 140
165166
|| mPrefsMap.getInt("system_ui_control_center_media_control_media_button_custom", 140) != 140);
167+
initHook(new MediaSeekBarColor(), mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_color", -1) != -1
168+
|| mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_thumb_color", -1) != -1);
166169
initHook(new SquigglyProgress(), mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 1);
167170
initHook(new MediaControlSeekbarCustom(), mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 2);
168171
initHook(new MediaControlPanelTimeViewTextSize(), mPrefsMap.getInt("system_ui_control_center_media_control_time_view_text_size", 13) != 13);
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.sevtinge.hyperceiler.module.hook.systemui;
2+
3+
import android.graphics.PorterDuff;
4+
import android.graphics.PorterDuffColorFilter;
5+
import android.widget.SeekBar;
6+
7+
import com.sevtinge.hyperceiler.module.base.BaseHook;
8+
9+
import de.robv.android.xposed.XposedHelpers;
10+
11+
public class MediaSeekBarColor extends BaseHook {
12+
@Override
13+
public void init() throws NoSuchMethodException {
14+
int progressColor = mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_color", -1);
15+
int thumbColor = mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_thumb_color", -1);
16+
findAndHookMethod("com.android.systemui.media.controls.models.player.SeekBarObserver",
17+
"onChanged", Object.class,
18+
new MethodHook() {
19+
@Override
20+
protected void after(MethodHookParam param) {
21+
Object holder = XposedHelpers.getObjectField(param.thisObject, "holder");
22+
SeekBar seekBar = (SeekBar) XposedHelpers.getObjectField(holder, "seekBar");
23+
if (progressColor != -1)
24+
seekBar.getProgressDrawable().setColorFilter(new PorterDuffColorFilter(progressColor, PorterDuff.Mode.SRC_IN));
25+
if (thumbColor != -1)
26+
seekBar.getThumb().setColorFilter(new PorterDuffColorFilter(thumbColor, PorterDuff.Mode.SRC_IN));
27+
}
28+
}
29+
);
30+
}
31+
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/SquigglyProgress.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ public class SquigglyProgress extends BaseHook {
1111
@Override
1212
public void init() throws NoSuchMethodException {
1313
findAndHookConstructor("com.android.systemui.media.controls.models.player.MediaViewHolder",
14-
android.view.View.class, new MethodHook() {
14+
android.view.View.class,
15+
new MethodHook() {
1516
@Override
1617
protected void after(MethodHookParam param) {
1718
SeekBar seekBar = (SeekBar) XposedHelpers.getObjectField(param.thisObject, "seekBar");

app/src/main/res/values-zh-rCN/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -818,6 +818,8 @@
818818
<string name="system_ui_control_center_media_control_progress_thickness">粗细</string>
819819
<string name="system_ui_control_center_media_control_unlock_custom_actions">解除自定义动作应用限制</string>
820820
<string name="system_ui_control_center_media_control_time_view_text_size">时间预览文本大小</string>
821+
<string name="system_ui_control_center_media_control_seekbar_color">进度条颜色</string>
822+
<string name="system_ui_control_center_media_control_seekbar_thumb_color">滑块颜色</string>
821823
<string name="system_ui_control_center_media_control_panel_background_mix">优化音乐面板背景混色效果</string>
822824
<string name="system_ui_control_center_media_control_media_button_custom">自定义动作按钮大小</string>
823825
<string name="system_ui_control_center_media_control_media_button">固有动作按钮大小</string>

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,8 @@
800800
<string name="system_ui_control_center_media_control_progress_sleek">Sleek</string>
801801
<string name="system_ui_control_center_media_control_progress_thickness">Thickness</string>
802802
<string name="system_ui_control_center_media_control_time_view_text_size">Time view text size</string>
803+
<string name="system_ui_control_center_media_control_seekbar_color">Progress bar color</string>
804+
<string name="system_ui_control_center_media_control_seekbar_thumb_color">Slider color</string>
803805
<string name="system_ui_control_center_media_control_media_button_custom">Customize the size of the action button</string>
804806
<string name="system_ui_control_center_media_control_media_button">Intrinsic action button size</string>
805807
<string name="system_ui_control_center_remove_media_control_panel_background">Remove mixed color background from card</string>

app/src/main/res/xml/system_ui_control_center.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,18 @@
224224
app:showSeekBarValue="true"
225225
app:stepValue="1" />
226226

227+
<moralnorm.preference.ColorPickerPreference
228+
android:title="@string/system_ui_control_center_media_control_seekbar_color"
229+
android:key="prefs_key_system_ui_control_center_media_control_seekbar_color"
230+
android:defaultValue="-1"
231+
app:showAlphaSlider="true" />
232+
233+
<moralnorm.preference.ColorPickerPreference
234+
android:title="@string/system_ui_control_center_media_control_seekbar_thumb_color"
235+
android:key="prefs_key_system_ui_control_center_media_control_seekbar_thumb_color"
236+
android:defaultValue="-1"
237+
app:showAlphaSlider="true" />
238+
227239
</PreferenceCategory>
228240

229241
<PreferenceCategory android:title="@string/system_ui_controlcenter_card_title">

0 commit comments

Comments
 (0)