Skip to content

make missing play games notif supressable - #403

Draft
FSaurenbach wants to merge 518 commits into
GrapheneOS:17from
FSaurenbach:17
Draft

make missing play games notif supressable#403
FSaurenbach wants to merge 518 commits into
GrapheneOS:17from
FSaurenbach:17

Conversation

@FSaurenbach

Copy link
Copy Markdown

u-fred and others added 30 commits June 16, 2026 18:17
Extracted from:
commit dc6270f
Author: Fred Underwood <underwoodfred@proton.me>
Date:   Sat Dec 21 16:25:15 2024 +1000

    add second factor to DevicePolicyManagerService
Extracted from:
commit 3caf1f2
Author: Fred Underwood <underwoodfred@proton.me>
Date:   Sat Dec 21 16:40:05 2024 +1000

    add second factor to LockSettingsService
462062c added an unconditional 10 second delay to ContentProvider
change callbacks for all background apps as part of MediaProvider optimizations.

This led to unexpected delays when changing SettingsProvider settings (android.provider.Settings)
that are observed by background system packages.
Flush of inactive (unregistered or never registered) provider throws an exception which crashes
the system_server.

This issue was hidden when there was no network location provider, see QUALITY_LOW_POWER logic in
updateRequirementsLocked().
It doesn't make sense to show the location indicator for the OS location
services using location data. Scanning nearby cell towers and Wi-Fi APs
currently triggers the indicator when apps or the OS itself request
location through the fused or network providers. The indicator should be
for apps using location rather than the OS providing it.
APEX installation support slightly increases the attack surface.
This was not directly exploitable due to there being 2 layers of update
package signature verification and downgrade protection, but the first
layer of protection should work properly to avoid a vulnerability in the
2nd layer being exploited.
This is currently only granted for official hardware attestation app
(Auditor) bundled in the OS.
inthewaves and others added 26 commits July 19, 2026 08:19
…ties

Vanadium uses app.vanadium.browser as its manifest package while migrated installations retain
org.chromium.chrome as their effective package. PackageManager.Property retains the manifest name,
so PackageProperty indexes native service properties under app.vanadium.browser.

NativeApplicationThreadWrapper looks up the native service library with:

```java
PackageManager.Property libNameProperty =
        mMgr.getPackageManager()
                .getPropertyAsUser(
                        PackageManager.PROPERTY_NATIVE_SERVICE_LIBRARY_NAME,
                        info.packageName,
                        info.getComponentName().getClassName(),
                        userId);
if (libNameProperty != null) libName = libNameProperty.getString();
```

info is the ServiceInfo passed to scheduleCreateService() for the native service. Its packageName is
the effective org.chromium.chrome identity. Looking up the property with that name misses the entry
stored under app.vanadium.browser, leaving libName as libmain.so instead of libmonochrome_64.so.
Upstream original-package doesn't handle manifest properties.

Keep validating package installation and visibility with the effective name. Look up that property
key first, then retry with the manifest name only when both identities on the parsed package exactly
match migrated Vanadium. This keeps the workaround from affecting other package renames and
preserves an effective name property if one is present.

Test: manual, with Vanadium using old org.chromium.chrome app id, updating to a Vanadium APK with
app.vanadium.browser app id with javaless renderers enabled. Browser pages load instead of showing
errors logcat about failing to open libmain.so
Currently restricted to EuiccSupportPixel flags
To change the WebView provider implementation, run
`adb shell cmd webviewupdate set-webview-implementation PACKAGE_NAME`.
See comment in GosPackageStatePmHooks change.
mInitialApplication is null in the early part of the app process initialization sequence.
CopyOnWriteArrayList iterator makes a list snapshot, which provides support for changeCallbacks
removing themselves upon invocation.
Instead, make GosPackageStateChangeCallbacks specify the Handler for callback dispatch.
Use ScopedFileDescriptor to avoid error-prone explicit close(cmd_fd) calls.
There's no compat zygote equivalent for the native zygote.
ZygoteExtraArgs and ActiveServices logic was mismatched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.