From 2aeeaad2660e74e61b82d312658b5ed7944a1678 Mon Sep 17 00:00:00 2001 From: programminghoch10 <16062290+programminghoch10@users.noreply.github.com> Date: Mon, 4 Sep 2023 23:30:08 +0200 Subject: [PATCH 1/2] add AntiBrightnessChange modulet --- AntiBrightnessChange/build.gradle.kts | 19 ++++++++++ .../src/main/AndroidManifest.xml | 29 ++++++++++++++ .../src/main/assets/xposed_init | 1 + .../AntiBrightnessChange/Hook.java | 38 +++++++++++++++++++ .../src/main/res/values/arrays.xml | 5 +++ settings.gradle.kts | 1 + 6 files changed, 93 insertions(+) create mode 100644 AntiBrightnessChange/build.gradle.kts create mode 100644 AntiBrightnessChange/src/main/AndroidManifest.xml create mode 100644 AntiBrightnessChange/src/main/assets/xposed_init create mode 100644 AntiBrightnessChange/src/main/java/com/programminghoch10/AntiBrightnessChange/Hook.java create mode 100644 AntiBrightnessChange/src/main/res/values/arrays.xml diff --git a/AntiBrightnessChange/build.gradle.kts b/AntiBrightnessChange/build.gradle.kts new file mode 100644 index 0000000..ae3b9fe --- /dev/null +++ b/AntiBrightnessChange/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + id("com.android.application") +} + +android { + val packageName = "com.programminghoch10.AntiBrightnessChange" + namespace = packageName + + defaultConfig { + applicationId = packageName + minSdk = 33 + targetSdk = 33 + compileSdk = 33 + versionCode = 1 + versionName = "1.0" + } +} + +dependencies {} diff --git a/AntiBrightnessChange/src/main/AndroidManifest.xml b/AntiBrightnessChange/src/main/AndroidManifest.xml new file mode 100644 index 0000000..0eaa936 --- /dev/null +++ b/AntiBrightnessChange/src/main/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/AntiBrightnessChange/src/main/assets/xposed_init b/AntiBrightnessChange/src/main/assets/xposed_init new file mode 100644 index 0000000..bb3b42b --- /dev/null +++ b/AntiBrightnessChange/src/main/assets/xposed_init @@ -0,0 +1 @@ +com.programminghoch10.AntiBrightnessChange.Hook diff --git a/AntiBrightnessChange/src/main/java/com/programminghoch10/AntiBrightnessChange/Hook.java b/AntiBrightnessChange/src/main/java/com/programminghoch10/AntiBrightnessChange/Hook.java new file mode 100644 index 0000000..b11e88f --- /dev/null +++ b/AntiBrightnessChange/src/main/java/com/programminghoch10/AntiBrightnessChange/Hook.java @@ -0,0 +1,38 @@ +package com.programminghoch10.AntiBrightnessChange; + +import static android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE; + +import android.view.WindowManager; + +import androidx.annotation.Keep; + +import de.robv.android.xposed.IXposedHookLoadPackage; +import de.robv.android.xposed.XC_MethodHook; +import de.robv.android.xposed.XposedHelpers; +import de.robv.android.xposed.callbacks.XC_LoadPackage; + +@Keep +public class Hook implements IXposedHookLoadPackage { + @Override + public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) { + if (lpparam.packageName.equals("android")) { + XposedHelpers.findAndHookMethod("com.android.server.wm.RootWindowContainer", lpparam.classLoader, "handleNotObscuredLocked", + "com.android.server.wm.WindowState", boolean.class, boolean.class, new XC_MethodHook() { + @Override + protected void afterHookedMethod(MethodHookParam param) { + XposedHelpers.setFloatField(param.thisObject, "mScreenBrightnessOverride", Float.NaN); + } + }); + return; + } + + XposedHelpers.findAndHookMethod(WindowManager.LayoutParams.class, "copyFrom", WindowManager.LayoutParams.class, new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) { + WindowManager.LayoutParams layoutParams = (WindowManager.LayoutParams) param.args[0]; + layoutParams.screenBrightness = BRIGHTNESS_OVERRIDE_NONE; + layoutParams.buttonBrightness = BRIGHTNESS_OVERRIDE_NONE; + } + }); + } +} diff --git a/AntiBrightnessChange/src/main/res/values/arrays.xml b/AntiBrightnessChange/src/main/res/values/arrays.xml new file mode 100644 index 0000000..549bac0 --- /dev/null +++ b/AntiBrightnessChange/src/main/res/values/arrays.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/settings.gradle.kts b/settings.gradle.kts index 5494f32..8d730d0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,6 +18,7 @@ dependencyResolutionManagement { } rootProject.name = "XposedModulets" +include(":AntiBrightnessChange") include(":AutomaticAdvancedSettingsExpander") include(":BetterVerboseWiFiLogging") include(":BetterBluetoothDeviceSort") From 398903e55974ce30964ad702b9f3eda3cd75a8de Mon Sep 17 00:00:00 2001 From: programminghoch10 <16062290+programminghoch10@users.noreply.github.com> Date: Tue, 5 Sep 2023 19:12:28 +0200 Subject: [PATCH 2/2] add AntiBrightnessChange readme and metadata --- AntiBrightnessChange/README.md | 6 ++++++ .../en-US/full_description.txt | 4 ++++ .../en-US/short_description.txt | 1 + .../en-US/title.txt | 1 + 4 files changed, 12 insertions(+) create mode 100644 AntiBrightnessChange/README.md create mode 100644 metadata/com.programminghoch10.AntiBrightnessChange/en-US/full_description.txt create mode 100644 metadata/com.programminghoch10.AntiBrightnessChange/en-US/short_description.txt create mode 100644 metadata/com.programminghoch10.AntiBrightnessChange/en-US/title.txt diff --git a/AntiBrightnessChange/README.md b/AntiBrightnessChange/README.md new file mode 100644 index 0000000..75d0d5c --- /dev/null +++ b/AntiBrightnessChange/README.md @@ -0,0 +1,6 @@ +# AntiBrightnessChange + +This module prevents selected apps from overwriting the screen brightness. + +If applied to System Framework (`android`) +it will prevent every app from changing the screen brightness. diff --git a/metadata/com.programminghoch10.AntiBrightnessChange/en-US/full_description.txt b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/full_description.txt new file mode 100644 index 0000000..369a48d --- /dev/null +++ b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/full_description.txt @@ -0,0 +1,4 @@ +This module prevents selected apps from overwriting the screen brightness. + +If applied to System Framework (`android`) +it will prevent every app from changing the screen brightness. diff --git a/metadata/com.programminghoch10.AntiBrightnessChange/en-US/short_description.txt b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/short_description.txt new file mode 100644 index 0000000..28dc657 --- /dev/null +++ b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/short_description.txt @@ -0,0 +1 @@ +Prevents selected apps from overwriting the screen brightness. diff --git a/metadata/com.programminghoch10.AntiBrightnessChange/en-US/title.txt b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/title.txt new file mode 100644 index 0000000..2009e45 --- /dev/null +++ b/metadata/com.programminghoch10.AntiBrightnessChange/en-US/title.txt @@ -0,0 +1 @@ +Anti Brightness Change