Skip to content

Add motion lock settings and main logic #187

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

Open
wants to merge 381 commits into
base: 15-qpr2
Choose a base branch
from

Conversation

CipherTread
Copy link

@CipherTread CipherTread commented May 30, 2025

muhomorr and others added 30 commits May 23, 2025 15:21
This is a workaround for a bug that auto-dismisses crash dialog for native crash almost immediately
after it is shown.

Crash dialogs are shown only for foreground apps by default, there's no need to auto dismiss them.
Crash report dialog is not affected, it uses startActivityAsUser() already.
ANR stack traces file contains stack traces of all app's threads and of all threads of relevant or
possibly relevant system processes, such as system_server.
Access to these files is controlled by their SELinux policy. They are labeled as anr_data_file.

Enforcing additional read restrictions for ANR stack traces files through Unix permissions prevented
LogViewer app from accessing them, since it doesn't run as the highly privileged UID 1000
(android.uid.system) which owns these files.
Adds a "Show details" item to crash and ANR (app not responding) dialogs which opens the LogViewer
app.
…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.
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.
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 GmsCore (such as Pixel Camera)
to work without having GmsCore installed.
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.
Android Auto requires this broadcast to be sent to complete its initialization.
quh4gko8 and others added 26 commits May 23, 2025 15:21
Added main motion lock logic
@@ -451,5 +451,9 @@ public class SecureSettingsValidators {
VALIDATORS.put(Secure.MANDATORY_BIOMETRICS_REQUIREMENTS_SATISFIED,
new InclusiveIntegerRangeValidator(0, 1));
VALIDATORS.put(Secure.ADVANCED_PROTECTION_MODE, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.MOTION_LOCK_ENABLED,
new DiscreteValueValidator(new String[] {"0", "1"}));
Copy link

@kasia-de kasia-de May 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a boolean along with the boolean validator and so on would make more sense

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.