Repository navigation
Conversation
Carry forward the cleanup and process-policy implementation from JingMatrix#921 by lzup333 and expose the application-wide setting through the existing local central selector. Keep the feature opt-in, preserve the native cleanup implementation, and include only the associated Manager, daemon and IPC changes.
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.
Adds a searchable application list on System status for ART inline-hook compatibility. Each package has one shared setting across modules, disabled by default and applied when its process next starts.
This is a standalone alternative to #921 for #641. It carries forward #921's cleanup and process-policy implementation; the native cleanup source and header are unchanged. The UI comes from an existing local implementation, with only this feature extracted onto current master.
I understand the earlier preference for a toggle in the application's menu on a module's scope page. Because the underlying setting is already application-wide, that placement may suggest independent per-module choices. The central list makes the shared scope explicit. If the behavior were actually module-specific, I would keep the control there and would not propose a central list.
The implementation retains the one-shot cleanup after framework bootstrap, preserves the captured pre-Vector modifications, and excludes the Manager and
system_server. It also includes the Manager IPC protocol update and all shipped translations.Validation: translation checks and
git diff --checkpass. Manager Kotlin compilation (Debug/Release), daemon Kotlin compilation (Release), and the Release native build for arm64-v8a, armeabi-v7a, x86 and x86_64 pass. An earlier Android 12 arm64 test of the same cleanup code observed libart executable-byte differences decrease from 72 to 0. That was a custom build, not this PR head, and is not evidence of complete invisibility or compatibility with every ART lifecycle event. No device retest of this PR head has been performed.Compatibility limit: the restored ART maintenance hooks no longer run. Existing LSPlant/Dobby metadata remains, but later JIT, class initialization or native re-registration may still affect hooks. The option remains explicitly opt-in and keeps the existing compatibility warning.