Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFC auto turn off #121

Open
wants to merge 414 commits into
base: 15
Choose a base branch
from
Open

NFC auto turn off #121

wants to merge 414 commits into from

Conversation

mrxx0
Copy link
Member

@mrxx0 mrxx0 commented Feb 3, 2025

NFC auto turn off feature, like for Bluetooth and Wifi
Not tested since NFC isn't available with emulator

quh4gko8 and others added 29 commits February 4, 2025 18:30
…ystem_server side

Don't require reboot or settings re-set for always on and lockdown to
take effect on first vpn connection. The requirement for reboot, re-set
at settings has been caused by a permission not granted or declared by
VpnDialogs, which caused the unexpected behavior. Prevent this by
checking the permission of local process instead.
In the general case, ContentProvider authorities can't be renamed because they aren't required to be
based on the package name.

Chromium always forms ContentProvider authorities by prefixing them with its package name, and
relies on this invariant in code.

When its package is renamed by original-package handling code, statements like
String authority = context.getPackageName() + CONSTANT
become invalid.

Add a special-case for Vanadium to fix this.
This resolves the NPE crash when updating an application under the new
package name that initially had the original package as package name.
This is needed for properly verifying updates of system packages.
versionCode of many system packages, including privileged ones, is set to the current SDK version
and is thus not incremented during non-major OS upgrades.
This allowed to downgrade them to the older version that had the same versionCode.
13: d93766fa56de

Change-Id: I5ccc4d61e52ac11ef33f44618d0e610089885b87

Squashed with:
Author: Daniel Micay <[email protected]>
Date:   Wed Mar 15 06:32:20 2023 -0400

    simplify removal of SUPL IMSI / phone number

    This is not required for SUPL to work and the comment about Google is
    unnecessary.
13: 47eb7cbe1686
Adds a global data structure that is accessible by privileged installers and allows them to avoid
installing the same package at the same time.
Applies to device PIN, SIM PIN and SIM PUK input screens.
This setting disables animations in keyguard PIN input UI.
This allows apps that have minor dependency on GSF/GmsCore (EuiccSupportPixel, Google Camera etc)
to work without having any of GSF, GmsCore, Play Store installed.

Gservices provider is currently hosted by GSF, soon to be hosted by GmsCore.
Depends on commit: "don't crash apps that depend on missing Gservices provider"
- isolate EuiccGoogle from all non-system package via AppsFilter, which stops it from sending data
to Google through GmsCore. EuiccGoogle doesn't send data to Google directly
- keep EuiccGoogle disabled by default, but do not disable it after each reboot
- remove a misleading "device information will be sent to Google" message that appears before eSIM
download
Google's LPA that is shipped on GrapheneOS handles requesting the Camera permission at runtime,
which allows the user to give it a one-time grant.

13: 7bb7df2d2b13
Android Auto requires this broadcast to be sent to complete its initialization.
Build.getSerial() is protected with the very broad READ_PRIVILEGED_PHONE_STATE permission.

Android Auto needs Build.getSerial() in some cases, but doesn't need most of the other privileges
that READ_PRIVILEGED_PHONE_STATE grants.
thestinger and others added 25 commits February 4, 2025 18:31
It's better for this to be done in an explicit way.
OP_GET_ACCOUNTS wasn't spoofed unless the app had the WRITE_CONTACTS uses-permission.
This is needed for changing permission pre-grant type from regular to fixed, otherwise permission
state won't be changed if permission was manually revoked by the user.
This is needed for apps that have a system-fixed notification permission pregrant, but didn't have
it before. In that case, notification channel state for non-blockable channels will be frozen at
its last value, i.e. such channels would be permanently blocked if they were blocked before app
received the system-fixed notification permission.
Notification pregrant is now made by adding a permission pregrant XML in GmsCompat app repo.
See the corresponding change in GmsCompat repo.
When there's no added Google account, Play Store attempts to update GmsCore even if the
google_play_store_system_component_update setting is disabled.

Play Store always ignores GmsCore updates as of version 44.6 when GmsCore update owner is set to
non-Play Store value.
It's used by the GmsCompat location service implementation.
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.
@mrxx0 mrxx0 force-pushed the nfc-auto-turn-off branch from e5c3caf to 36e31c0 Compare February 5, 2025 20:41
@thestinger thestinger force-pushed the 15 branch 2 times, most recently from 9d15b31 to a3bc946 Compare March 2, 2025 19:23
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.

9 participants