Skip to content

Commit c2273b8

Browse files
make AlwaysAllowChargingSounds respect the user settings
1 parent bb56d34 commit c2273b8

File tree

1 file changed

+12
-3
lines changed
  • AlwaysAllowChargingSounds/src/main/java/de/binarynoise/AlwaysAllowChargingSounds

1 file changed

+12
-3
lines changed
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
package de.binarynoise.AlwaysAllowChargingSounds
22

3+
import android.content.Context
4+
import android.provider.Settings
35
import de.robv.android.xposed.IXposedHookLoadPackage
46
import de.robv.android.xposed.XC_MethodReplacement
57
import de.robv.android.xposed.XposedHelpers
68
import de.robv.android.xposed.callbacks.XC_LoadPackage
79

810
class Hook : IXposedHookLoadPackage {
9-
11+
1012
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
1113
val NotifierClass = XposedHelpers.findClass("com.android.server.power.Notifier", lpparam.classLoader)
12-
XposedHelpers.findAndHookMethod(NotifierClass, "isChargingFeedbackEnabled", Int::class.java, XC_MethodReplacement.returnConstant(true))
14+
XposedHelpers.findAndHookMethod(NotifierClass, "isChargingFeedbackEnabled", Int::class.java, object : XC_MethodReplacement() {
15+
override fun replaceHookedMethod(param: MethodHookParam): Boolean {
16+
val userId = param.args[0] as Int
17+
val context = XposedHelpers.getObjectField(param.thisObject, "mContext") as Context
18+
return XposedHelpers.callStaticMethod(
19+
Settings.Secure::class.java, "getIntForUser", context.contentResolver, "charging_sounds_enabled", 1, userId
20+
) != 0
21+
}
22+
})
1323
}
14-
1524
}

0 commit comments

Comments
 (0)