Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR raises the Android minSdk for the Manager app to 31 (Android 12) and simplifies code paths and manifest configuration by removing now-unnecessary API-level conditionals.
Changes:
- Bump
androidMinSdkVersionfrom 26 to 31 for the manager build. - Remove
Build.VERSIONgating around APIs that are always available on API 31+ (navigation bar contrast enforcement, dynamic color, userspace reboot support, markdown line breaking). - Simplify/clean up related imports and manifest
tools:usage.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
manager/build.gradle.kts |
Raises manager-wide androidMinSdkVersion to 31 via root extra. |
manager/app/src/main/java/me/weishu/kernelsu/ui/webui/WebUIActivity.kt |
Removes API checks and sets window.isNavigationBarContrastEnforced unconditionally. |
manager/app/src/main/java/me/weishu/kernelsu/ui/theme/MaterialTheme.kt |
Removes pre-S dynamic color fallbacks; always uses dynamic schemes when enabled. |
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/colorpalette/ColorPaletteScreenMaterial.kt |
Removes pre-S fallbacks for dynamic scheme previews/buttons. |
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileUtils.kt |
Adjusts @StringRes annotation target for enum backing field. |
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileMiuix.kt |
Uses longVersionCode unconditionally (API 28+; safe under minSdk 31). |
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileMaterial.kt |
Same as above for Material UI. |
manager/app/src/main/java/me/weishu/kernelsu/ui/component/rebootlistpopup/RebootListPopupMiuix.kt |
Removes SDK check for isRebootingUserspaceSupported. |
manager/app/src/main/java/me/weishu/kernelsu/ui/component/rebootlistpopup/RebootListPopupMaterial.kt |
Same as above for Material UI. |
manager/app/src/main/java/me/weishu/kernelsu/ui/component/Markdown.kt |
Always sets LineBreaker.BREAK_STRATEGY_SIMPLE (API 29+; safe under minSdk 31). |
manager/app/src/main/java/me/weishu/kernelsu/ui/MainActivity.kt |
Removes API checks and sets window.isNavigationBarContrastEnforced unconditionally. |
manager/app/src/main/java/me/weishu/kernelsu/data/repository/SuperUserRepositoryImpl.kt |
Removes SDK check around ApplicationInfo.isResourceOverlay filtering. |
manager/app/src/main/AndroidManifest.xml |
Removes unused tools:targetApi and deleted permission-removal stanzas tied to older minsdk behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
KOWX712
pushed a commit
to KOWX712/KernelSU
that referenced
this pull request
Mar 12, 2026
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 13, 2026
This reverts commit 40275bf.
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 13, 2026
This reverts commit 40275bf.
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 14, 2026
Changes on top of upstream (+73): Revert "manager: Bump min sdk to 31 (tiann#3276)" manager: QOL manager: fixup updates workflows: debloat workflows: debloat pt. 2 dummy.keystore ksud: add armeabi-v7a support ksud: add avc spoof to feature kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286) kernel: prepare for legacy support kernel: build: migrate to unity build kernel: remove LKM support kernel: selinux/rules: backport handle_sepolicy to legacy policydb kernel: core_hook: disable seccomp for manager and allowed uids kernel: supercalls: provide sys_reboot handler kernel: supercalls: backport: "Use task work to install fd" kernel: adapt "namespace support" feature to old kernels kernel: file_wrapper: handle anon_inode_getfile for old kernels kernel: supercalls: partial backport of do_manage_mark kernel: core_hook: screw path_umount backport, call sys_umount directly kernel: app_profile: shim escape_with_root_profile kernel: throne_tracker: offload to kthread (tiann#2632) kernel: throne_tracker: fixup deadlocks on iterate_dir kernel: allowlist: escape persistent_allow_list to kthread kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653) kernel: core_hook: migrate init_session_keyring grab to security_bprm_check kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656) kernel: sucompat: sucompat feature support for manual hooks (tiann#2506) kernel: sucompat: provide do_execve_common handler for < 3.14a kernel: sucompat: provide getname_flags handlers kernel: sucompat: provide vfs_statx hook handler >= 5.18 kernel: sucompat: use seccomp.mode for permission check kernel: sucompat: execve: escape init ksud call to root kernel: app_profile: do not disable seccomp again kernel: ksud: migrate init.rc handling to security_file_permission LSM kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2 kernel: file_wrapper: handle more compat kernel: file_wrapper: handle readdir and iterate compat for UL kernel: ksud: replace input hook with an input handler kernel: syscall_table_hook: introduce syscall table tampering kernel: syscall_table_hook: wire up sucompat unhooking kernel: kp_ksud: restore kprobes for early-boot and used-once hooks kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat kernel: extras: SQUASH: avc log spoofing impl kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot kernel: supercalls: allow userspace to pull list entries (tiann#3040) kernel: sulog: basic ringbuffer, timestamped su log kernel: supercalls: expose ksuver override kernel: supercalls: expose spoof uname function to userspace kernel: apk_sign: casting to char for strcmp -> memcmp kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek kernel: ksud: d_is_reg to S_ISREG kernel: throne_tracker: strscpy -> strncpy kernel: throne_tracker: resolve s_magic for < 3.9 kernel: ksud: handle conditional read_iter requirement for < 3.16 kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18 kernel: compat: no ext4_unregister_sysfs, no problem kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11 kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8 kernel: compat: provide bin2hex compat for < 3.18 kernel: compat: file_inode compat for < 3.9 kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1 kernel: compat: inline newer kernel_read / kernel_write for < 4.14 kernel: compat: no-op groups_sort if unavailable kernel: apk_sign: fix return check for ksu_sha256 kernel: handle backports kernel: apk_sign: add more size/hash pairs kernel: ksu: printout quirks / backports / etc on init kernel: selinux/sepolicy: handle selinux policydb backports kernel: ksud: read: add fallback to /init.rc HACK: kernel: bypass tf out of uid_t/gid_t strict type checks KernelSU v3.1.0+ Warning: Managers built from this repo has a known keystore. See dummy.keystore. Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 14, 2026
This reverts commit 40275bf.
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 14, 2026
Changes on top of upstream (+73): Revert "manager: Bump min sdk to 31 (tiann#3276)" manager: QOL manager: fixup updates workflows: debloat workflows: debloat pt. 2 dummy.keystore ksud: add armeabi-v7a support ksud: add avc spoof to feature kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286) kernel: prepare for legacy support kernel: build: migrate to unity build kernel: remove LKM support kernel: selinux/rules: backport handle_sepolicy to legacy policydb kernel: core_hook: disable seccomp for manager and allowed uids kernel: supercalls: provide sys_reboot handler kernel: supercalls: backport: "Use task work to install fd" kernel: adapt "namespace support" feature to old kernels kernel: file_wrapper: handle anon_inode_getfile for old kernels kernel: supercalls: partial backport of do_manage_mark kernel: core_hook: screw path_umount backport, call sys_umount directly kernel: app_profile: shim escape_with_root_profile kernel: throne_tracker: offload to kthread (tiann#2632) kernel: throne_tracker: fixup deadlocks on iterate_dir kernel: allowlist: escape persistent_allow_list to kthread kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653) kernel: core_hook: migrate init_session_keyring grab to security_bprm_check kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656) kernel: sucompat: sucompat feature support for manual hooks (tiann#2506) kernel: sucompat: provide do_execve_common handler for < 3.14a kernel: sucompat: provide getname_flags handlers kernel: sucompat: provide vfs_statx hook handler >= 5.18 kernel: sucompat: use seccomp.mode for permission check kernel: sucompat: execve: escape init ksud call to root kernel: app_profile: do not disable seccomp again kernel: ksud: migrate init.rc handling to security_file_permission LSM kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2 kernel: file_wrapper: handle more compat kernel: file_wrapper: handle readdir and iterate compat for UL kernel: ksud: replace input hook with an input handler kernel: syscall_table_hook: introduce syscall table tampering kernel: syscall_table_hook: wire up sucompat unhooking kernel: kp_ksud: restore kprobes for early-boot and used-once hooks kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat kernel: extras: SQUASH: avc log spoofing impl kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot kernel: supercalls: allow userspace to pull list entries (tiann#3040) kernel: sulog: basic ringbuffer, timestamped su log kernel: supercalls: expose ksuver override kernel: supercalls: expose spoof uname function to userspace kernel: apk_sign: casting to char for strcmp -> memcmp kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek kernel: ksud: d_is_reg to S_ISREG kernel: throne_tracker: strscpy -> strncpy kernel: throne_tracker: resolve s_magic for < 3.9 kernel: ksud: handle conditional read_iter requirement for < 3.16 kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18 kernel: compat: no ext4_unregister_sysfs, no problem kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11 kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8 kernel: compat: provide bin2hex compat for < 3.18 kernel: compat: file_inode compat for < 3.9 kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1 kernel: compat: inline newer kernel_read / kernel_write for < 4.14 kernel: compat: no-op groups_sort if unavailable kernel: apk_sign: fix return check for ksu_sha256 kernel: handle backports kernel: apk_sign: add more size/hash pairs kernel: ksu: printout quirks / backports / etc on init kernel: selinux/sepolicy: handle selinux policydb backports kernel: ksud: read: add fallback to /init.rc HACK: kernel: bypass tf out of uid_t/gid_t strict type checks KernelSU v3.1.0+ Warning: Managers built from this repo has a known keystore. See dummy.keystore. Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
backslashxx
added a commit
to backslashxx/KernelSU
that referenced
this pull request
Mar 14, 2026
Changes on top of upstream (+73): Revert "manager: Bump min sdk to 31 (tiann#3276)" manager: QOL manager: fixup updates workflows: debloat workflows: debloat pt. 2 dummy.keystore ksud: add armeabi-v7a support ksud: add avc spoof to feature kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286) kernel: prepare for legacy support kernel: build: migrate to unity build kernel: remove LKM support kernel: selinux/rules: backport handle_sepolicy to legacy policydb kernel: core_hook: disable seccomp for manager and allowed uids kernel: supercalls: provide sys_reboot handler kernel: supercalls: backport: "Use task work to install fd" kernel: adapt "namespace support" feature to old kernels kernel: file_wrapper: handle anon_inode_getfile for old kernels kernel: supercalls: partial backport of do_manage_mark kernel: core_hook: screw path_umount backport, call sys_umount directly kernel: app_profile: shim escape_with_root_profile kernel: throne_tracker: offload to kthread (tiann#2632) kernel: throne_tracker: fixup deadlocks on iterate_dir kernel: allowlist: escape persistent_allow_list to kthread kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653) kernel: core_hook: migrate init_session_keyring grab to security_bprm_check kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656) kernel: sucompat: sucompat feature support for manual hooks (tiann#2506) kernel: sucompat: provide do_execve_common handler for < 3.14a kernel: sucompat: provide getname_flags handlers kernel: sucompat: provide vfs_statx hook handler >= 5.18 kernel: sucompat: use seccomp.mode for permission check kernel: sucompat: execve: escape init ksud call to root kernel: app_profile: do not disable seccomp again kernel: ksud: migrate init.rc handling to security_file_permission LSM kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2 kernel: file_wrapper: handle more compat kernel: file_wrapper: handle readdir and iterate compat for UL kernel: ksud: replace input hook with an input handler kernel: syscall_table_hook: introduce syscall table tampering kernel: syscall_table_hook: wire up sucompat unhooking kernel: kp_ksud: restore kprobes for early-boot and used-once hooks kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat kernel: extras: SQUASH: avc log spoofing impl kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot kernel: supercalls: allow userspace to pull list entries (tiann#3040) kernel: sulog: basic ringbuffer, timestamped su log kernel: supercalls: expose ksuver override kernel: supercalls: expose spoof uname function to userspace kernel: apk_sign: casting to char for strcmp -> memcmp kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek kernel: ksud: d_is_reg to S_ISREG kernel: throne_tracker: strscpy -> strncpy kernel: throne_tracker: resolve s_magic for < 3.9 kernel: ksud: handle conditional read_iter requirement for < 3.16 kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18 kernel: compat: no ext4_unregister_sysfs, no problem kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11 kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8 kernel: compat: provide bin2hex compat for < 3.18 kernel: compat: file_inode compat for < 3.9 kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1 kernel: compat: inline newer kernel_read / kernel_write for < 4.14 kernel: compat: no-op groups_sort if unavailable kernel: apk_sign: fix return check for ksu_sha256 kernel: handle backports kernel: apk_sign: add more size/hash pairs kernel: ksu: printout quirks / backports / etc on init kernel: selinux/sepolicy: handle selinux policydb backports kernel: ksud: read: add fallback to /init.rc HACK: kernel: bypass tf out of uid_t/gid_t strict type checks KernelSU v3.1.0+ Warning: Managers built from this repo has a known keystore. See dummy.keystore. Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.