Add firmware 1.3.8 support - #2
Open
magcrider wants to merge 6 commits into
Open
Conversation
Patches NotificationManagerService (classes2.dex inside services.jar) to remove all three notification-filtering mechanisms present in Viwoods firmware 1.3.8: 1. checkDisqualifyingFeatures(): removes the XOR inversion that inverted the areNotificationsEnabledForPackageInt() result, which caused all non-whitelisted apps to be silently suppressed. 2. PostNotificationRunnable.postNotification(): forces the POST_NOTIFICATIONS permission check result to true, bypassing the per-app whitelist enforced via the Android permission system. 3. enqueueNotificationInternal(): replaces the ALLOWED_PKGS hardcoded set check with an unconditional goto, bypassing the eink-specific package whitelist that blocked non-approved apps at the entry point. Standard Android per-app notification settings (isRecordBlockedLocked) are preserved so users can still disable individual apps in Settings. Also adds SELinux context fix to post-fs-data.sh (chcon) and ANALYSIS.md / INSTALLATION.md with patch documentation.
- Add 1.3.8 to tested firmware list and requirements - Document all three notification filter points patched in 1.3.8 - Note that each release targets a specific firmware version
Add firmware 1.3.8 support
Iterates all installed packages (system + user) at each boot and adds them to the device idle whitelist and allows unrestricted background activity. This ensures apps like WhatsApp can receive FCM push notifications without being killed by Viwoods' aggressive power management.
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.
Patches NotificationManagerService (classes2.dex inside services.jar) to remove all three notification-filtering mechanisms present in Viwoods firmware 1.3.8:
checkDisqualifyingFeatures(): removes the XOR inversion that inverted the areNotificationsEnabledForPackageInt() result, which caused all non-whitelisted apps to be silently suppressed.
PostNotificationRunnable.postNotification(): forces the POST_NOTIFICATIONS permission check result to true, bypassing the per-app whitelist enforced via the Android permission system.
enqueueNotificationInternal(): replaces the ALLOWED_PKGS hardcoded set check with an unconditional goto, bypassing the eink-specific package whitelist that blocked non-approved apps at the entry point.
Standard Android per-app notification settings (isRecordBlockedLocked) are preserved so users can still disable individual apps in Settings.
Also adds SELinux context fix to post-fs-data.sh (chcon) and ANALYSIS.md / INSTALLATION.md with patch documentation.