Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
332 commits
Select commit Hold shift + click to select a range
09eda64
infrastructure for the Storage Scopes feature
muhomorr Jul 31, 2022
2c83694
sscopes: temp: disable incomplete handling of READ_MEDIA_VISUAL_USER_…
muhomorr Oct 5, 2023
c0e1404
control access to Android/obb directory with a GosPackageState flag
muhomorr Jul 31, 2022
8cc3daa
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
5011b9f
fix ANR details link not working in profiles and in secondary users
muhomorr Nov 1, 2024
96f3a04
include path of ANR stack traces file in ApplicationErrorReport
muhomorr Oct 7, 2024
e01fdec
don't block reading ANR stack traces file via Unix file permissions
muhomorr Oct 8, 2024
3bf2c44
add option to view application error details in LogViewer app
muhomorr Aug 8, 2022
523bb1c
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
fac81f8
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
2b4b87e
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
c474c17
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
3195336
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
559d7ac
disable package parser cache
muhomorr Jan 30, 2023
e551a95
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
7742cee
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
90181fa
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
97e6c71
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
c0538f2
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
2cb0bc5
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
52d0767
Remove build fingerprint from screenshot EXIF
x86pup Apr 29, 2022
f621b8f
add toggle for screenshot timestamp EXIF metadata
x86pup Feb 18, 2023
91fd363
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
ff31471
add GNSS SUPL setting
muhomorr Mar 3, 2023
5ce481c
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
041ac77
add option to scramble PIN layout
muhomorr Feb 24, 2023
e358e7e
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
cfde631
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
19c1b0c
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
9cd1eae
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
4f2d9b2
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
f2ea311
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
73c23cc
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
836d0b7
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
622916e
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
cff0ebf
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
2543bc8
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
01b6fab
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
fc30830
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
92d2ccf
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
34fd75a
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
0f6ef14
add BinderWrapper
muhomorr Jan 17, 2025
e8893ad
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
3673478
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
4b6d1cc
add config for Pixel Camera Services
muhomorr Jan 9, 2024
8ea5e67
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
b2efbde
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
4a95fd5
add GNSS PSDS setting
muhomorr May 2, 2023
9ff8b4a
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
b2628ab
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
2e1e4e5
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
0ca3b5e
Wi-Fi auto turn off
muhomorr Jul 31, 2022
a14ae47
Bluetooth auto turn off
muhomorr Jul 31, 2022
d3be4b8
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
1439629
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
f76a1f8
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
8f868e6
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
5aef6a2
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
e969e1d
disable OtaDexoptService
muhomorr Oct 23, 2023
a07e9d4
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
f9cb313
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
4316149
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
8710c3f
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
3a8eb9c
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
d35777c
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
fac3677
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
4fc7a9d
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
4642fcf
add per-app native debugging setting
muhomorr Sep 26, 2023
e6f302f
add system API for getting app info by PID
muhomorr Nov 8, 2023
c5c764a
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
b5468ce
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
4b16600
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
5d9dfcc
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
6098120
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
fcd295c
fix an upstream race condition in handling of system error files
muhomorr Oct 7, 2024
6833c58
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
fcf065c
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
0e84030
notify the user about notable system journal entries
muhomorr Nov 8, 2023
64bcc22
support for per-app dynamic code loading restrictions
muhomorr Sep 26, 2023
dd2f586
add test for SELinux flags-based per-app hardening features
muhomorr Sep 20, 2023
5c96d03
add per-app memory tagging setting
muhomorr Nov 5, 2023
48e9eb6
Widevine provisioning setting
maade93791 Sep 29, 2023
293c31d
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
0ef782d
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
cac614a
add UsbManager API for configuring USB port security state
muhomorr Feb 23, 2024
0138f86
add setting for USB port security state
muhomorr Feb 23, 2024
7efcc79
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
9b7d731
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
4e957ab
disable support for adoptable storage
muhomorr May 29, 2024
9eb61ea
add a helper class for wiping eUICCs
muhomorr May 29, 2024
0df4152
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
811b58c
add duress password feature
muhomorr May 29, 2024
4663b15
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
d66a494
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
f5892f6
add a test for the duress password feature
muhomorr May 29, 2024
8402f2d
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
4f6bea0
stub out reads of hidden system settings in Google's text-to-speech app
muhomorr Jul 1, 2024
3a5f103
make Google's text-to-speech app force-queryable
muhomorr Nov 25, 2024
26cc4de
show a deprecation warning dialog on each launch of a 32-bit app
muhomorr Jul 6, 2024
fc48ab3
better 32-bit deprecation warning
thestinger Jul 7, 2024
92d98a3
fix touch-to-unlock on Google devices with side fingerprint scanner
muhomorr Jul 16, 2024
cfcf0e8
add setting for alternative touchscreen mode
muhomorr Jun 19, 2024
d1c65bf
don't report some android.hardware.bluetooth-service.bcmbtlinux crashes
muhomorr Aug 5, 2024
4f7a237
don't report harmless fingerprint-service.goodix crash
muhomorr Nov 15, 2024
2d85c5f
sysconfig: support enabling association restrictions without exemptions
muhomorr Aug 29, 2024
43a652c
add config for Pixel Health app
muhomorr Aug 26, 2024
9f830a6
new PermissionService: implement shouldBlockGrantRuntimePermission()
muhomorr Aug 10, 2024
e6ed58a
new PermissionService: implement updatePermissions()
muhomorr Aug 10, 2024
20a6182
new PermissionService: implement PackageHooks support
muhomorr Aug 10, 2024
cd29a9d
new PermissionService: support for special runtime permissions
muhomorr Aug 11, 2024
cd8407a
temp: unconditionally enable system crash notifications
muhomorr Jun 3, 2024
f70e1ae
Revert "temp: unconditionally enable system crash notifications"
muhomorr2 Jun 6, 2025
09733ad
ignore factory reset protection (FRP)
muhomorr Oct 16, 2024
9febf88
disable memory tagging for Pixel Camera Services
muhomorr Oct 20, 2024
da1327b
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
3c4dec6
raise backup transport timeout
thestinger Oct 23, 2024
f95d64c
add utility class for obtaining and keeping track of Binder caller info
muhomorr Nov 4, 2024
7844130
fix handling of MATCH_ARCHIVED_PACKAGES flag in getPackageUidInternal()
muhomorr Nov 4, 2024
a9588e0
delay activation of the Allow button in USB ADB confirmation dialog
muhomorr Dec 5, 2024
5a2511b
FusedLocation: remove racy and redundant lazy init in Service.onBind()
muhomorr Dec 4, 2024
b1e6a9d
never remove location providers at runtime
muhomorr Dec 4, 2024
9589755
disable safe media volume management
muhomorr Dec 11, 2024
f1c03be
add battery charge limit setting
muhomorr Dec 29, 2024
491eaa7
SystemUI: add support for battery charge limit feature
muhomorr Dec 29, 2024
ded8fe7
add dev option to log Java binder transaction
muhomorr Dec 28, 2024
5b17ed5
prevent recycling user IDs
u-fred Dec 21, 2024
21c3ac7
add LockDomain
u-fred Dec 21, 2024
156d1a4
add second factor to DevicePolicyManagerService
u-fred Dec 21, 2024
d32ec35
add second factor to LockSettingsService
u-fred Dec 21, 2024
beec190
add second factor to LockSettingsStateListener
u-fred Dec 21, 2024
4107623
add second factor to AdaptiveAuthService
u-fred Dec 21, 2024
1677663
add second factor to TrustManagerService
u-fred Dec 21, 2024
8697879
add biometric keyguard settings to LPU
u-fred Dec 21, 2024
b46cb79
improve upstream LPU#isCredentialSharableWithParent
u-fred Dec 21, 2024
29e9cb3
add second factor to LockPattern classes
u-fred Dec 21, 2024
f679cf5
add BiometricAuthTokenStore
u-fred Dec 21, 2024
6afe7dc
add second factor to FingerprintService
u-fred Dec 21, 2024
664dec7
add second factor UI
u-fred Dec 21, 2024
48bf497
throw Exception to notify of SceneContainerFlag
u-fred Dec 21, 2024
c6e33af
prevent face auth in KUM
u-fred Dec 21, 2024
e7454b4
fix upstream fingerprint mode change bug
u-fred Dec 21, 2024
84b1e58
append "Safe" to risky upstream method names
u-fred Dec 22, 2024
7153e72
add second factor to fingerprint unlock
u-fred Dec 21, 2024
29d5e98
fix feature check in DPMS.getPasswordMinimumMetricsUnchecked()
muhomorr Dec 25, 2024
37bbc1f
fix collision check in SyntheticPasswordManager.generateProtectorId()
muhomorr Dec 25, 2024
c17142d
SystemUI: don't skip fingerprint auth success haptic when 2FA is on
muhomorr Jan 3, 2025
ff38b4a
add workaround for SSM.newTargetUser() system_server crash
muhomorr Jan 6, 2025
bb37863
don't break boot of debug OS build on permission allowlist violations
muhomorr Jan 7, 2025
cf3994b
opt-out TunerSettings from edge-to-edge
thestinger Jan 9, 2025
4bcf356
protect against upstream bugs bypassing 2FA
thestinger Jan 14, 2025
7276ca1
fix serious upstream lockscreen animation bug
thestinger Jan 14, 2025
3fe11cf
zygote: don't reload android.os.Build after applying appcompat sysprops
muhomorr Jan 24, 2025
e4f93d2
enable appcompat sysprop overrides for user-installed apps
muhomorr Jan 24, 2025
ff7efff
don't delay setting observer callbacks for background system packages
muhomorr Feb 1, 2025
3a43c8a
add network location setting
soupslurpr Nov 5, 2024
9dcb6dd
add network location provider to config_locationProviderPackageNames
soupslurpr Dec 24, 2024
1fab5ff
FusedLocation: don't attempt to flush inactive providers
muhomorr Feb 28, 2025
4ef0cf9
exclude Network Location from location indicator
thestinger Feb 28, 2025
dafe23e
disable HttpEngine preloading for exec spawning
muhomorr Mar 5, 2025
f0fd4b9
SystemUI: make screenshot sound use sound effects setting
muhomorr Mar 8, 2025
ca734b3
SystemUI: Fix constraints for keyguard slice view
luk1337 Dec 28, 2024
f910102
SystemUI: Don't remove keyguard slice view
luk1337 Dec 28, 2024
74d0473
SystemUI: Fix burn-in translations not applying to keyguard slices
AndyCGYan Jan 18, 2025
1229f1a
config: enable desktop mode support
muhomorr Mar 15, 2025
1e4768a
SystemUI: fix keyguard media section placement when split shade is used
muhomorr Mar 18, 2025
398b577
SystemUI: fix orientation of keyguard slice view rows
muhomorr Mar 20, 2025
76cf117
SystemUI: don't hide date text on lockscreen when media is playing
muhomorr Mar 20, 2025
09a1a3e
SystemUI: add keyguard slice view to split shade layout
muhomorr Mar 20, 2025
2cfa841
SystemUI: fix a screenshot process crash in ScrollCaptureController
muhomorr Mar 25, 2025
42e4bde
don't allow to install APEXes on user builds
muhomorr Mar 23, 2025
75619fe
fix NPE system_server crash in F2fsUtils.getFilesRecursive()
muhomorr Mar 28, 2025
a28e59b
don't allow enabling the instant apps feature
muhomorr Mar 30, 2025
e2bf86b
don't allow enabling the "add users when locked" setting
muhomorr Mar 30, 2025
b2f3bad
fix upstream RecoverySystem.verifyPackage vulnerability
thestinger Apr 9, 2025
03a9a2d
Section for adding non-runtime permissions downstream
quh4gko8 Dec 15, 2024
6a0342e
Add permission definition to read additional security state
quh4gko8 Dec 18, 2024
2d373ca
Extend getting security state bundle to include downstream configurat…
quh4gko8 Dec 16, 2024
038a2b5
Method to fetch if a user can have a specific profile type
quh4gko8 Apr 2, 2025
e30cb3c
Set secondary secondary users allow having private profiles
quh4gko8 Apr 2, 2025
eac3b31
Support adding private profiles when parent user can have private pro…
quh4gko8 Apr 2, 2025
a9a0357
Settings definition for cross profile clipboard access
quh4gko8 Mar 25, 2025
224ed94
Enforce cross profile clipboard access settings
quh4gko8 Mar 25, 2025
396dfa3
bugfix: correctly find private profile in main user
quh4gko8 May 17, 2025
dc5837f
AppCopyHelper: store Context argument as a field
quh4gko8 Dec 31, 2024
da05554
AppCopyHelper: Extend SelectableAppInfo fields with info stored from …
quh4gko8 Dec 31, 2024
5d941ac
NFC auto turn off
mrxx0 Mar 15, 2025
40f9b85
Definition of setting to disallow delayed locking on user stop or lock
quh4gko8 May 18, 2025
96d59e5
Enforce setting to disallow delayed locking for user when stopped/locked
quh4gko8 May 18, 2025
81bc744
Always cache users that delay storage locking
quh4gko8 May 20, 2025
dc013fa
Lock cached profiles that delay locking of storage when parent user i…
quh4gko8 May 20, 2025
8d8e726
bugfix: appropriately set quiet mode when being enabled/disabled
quh4gko8 May 22, 2025
c7c45a1
Set quiet mode and stop certain profiles when its parent user is star…
quh4gko8 May 20, 2025
37b7096
Definition of AppInfoExt flag for apps signed using Play signing
quh4gko8 May 27, 2025
e7e21f0
Append AppInfoExt flag for apps signed with Play signing
quh4gko8 May 27, 2025
3eed642
PackageExt: Method to check for presence of an AppInfoExt flag
quh4gko8 May 27, 2025
28599b5
Hide provider(s) for startup on apps with valid Play Store source stamp
quh4gko8 May 27, 2025
ed27ac8
16: definition for Google Battery interface
quh4gko8 Jun 11, 2025
7176edb
fix DevicePolicyManager#logoutUser to succeed without device admin
quh4gko8 Jun 11, 2025
7ea5e50
allow SystemUITests to read SystemUI-readable settings on debug builds
inthewaves Jun 13, 2025
0c12ca4
allow system apps to opt-out of edge-to-edge enforcement
muhomorr2 Jun 12, 2025
deebfc2
_fixup! add GNSS SUPL setting
muhomorr2 Jun 14, 2025
f4bb528
_fixup! allow SystemUITests to read SystemUI-readable settings on deb…
muhomorr2 Jun 15, 2025
b102395
gmscompat: fix a rare system_server NPE crash
muhomorr2 Jun 12, 2025
00a5aed
Reapply "temp: unconditionally enable system crash notifications"
muhomorr2 Jun 12, 2025
a7d5931
add 16 porting notes
muhomorr2 Jun 12, 2025
19d06ec
Revert "add UsbManager API for configuring USB port security state"
muhomorr2 Jun 21, 2025
8b3c1c7
UsbPortSecurityHooks: adjust to port security API changes
muhomorr2 Jun 21, 2025
63b2e55
don't enable port security restrictions by default on debug builds
muhomorr2 Jun 23, 2025
dee456f
[bugfix] fixup! add second factor UI
inthewaves Jun 13, 2025
5077972
aapt2: add host library for parsing aapt2 protobuf APKs
muhomorr Dec 16, 2024
2dbe936
never force camera sound
muhomorr Jun 28, 2025
ee6e217
set max number of running users based on total memory size
muhomorr Jun 28, 2025
fb259e3
Revert "Legacy app compatibility workaround"
thestinger Jun 30, 2025
97d76a3
fixup! fix DevicePolicyManager#logoutUser to succeed without device a…
inthewaves Jul 1, 2025
8ed522f
Revert "SystemUI: fix a screenshot process crash in ScrollCaptureCont…
muhomorr Jul 1, 2025
e98ff72
switch AppOpsService.getPackagesForOpsForDevice() to ParceledListSlice
muhomorr Jul 3, 2025
39892b0
fixup! switch AppOpsService.getPackagesForOpsForDevice() to ParceledL…
inthewaves Jul 3, 2025
b13bca9
fix Keyguard slice
u-fred Jul 4, 2025
8a5226c
add lockscreen synchronisation failsafe
u-fred Jul 4, 2025
52dea53
fixup! add second factor to AdaptiveAuthService
u-fred Jul 4, 2025
082388d
backport back button fix from 16 QPR1 Beta 2.1
muhomorr Jul 6, 2025
294ab76
restrict custom activity animations for third-party apps
muhomorr Jul 7, 2025
d739936
fixup! add BinderWrapper
muhomorr Mar 31, 2025
eccb446
gmscompat: drop old phenotype flag overrides before applying new ones
muhomorr Mar 31, 2025
2fb9063
gmscompat: fix phenotype flag overrides not working on production builds
muhomorr Jul 7, 2025
b66feaa
Revert "Reapply "temp: unconditionally enable system crash notificati…
muhomorr Jul 8, 2025
6ed1cb0
temporarily remove NFC auto-off feature
thestinger Jul 8, 2025
aeb1544
SystemUI: clear keyguard indication background and icon on empty text
inthewaves Jul 4, 2025
c9c4c8f
fixup! add second factor UI
inthewaves Jul 8, 2025
f4fedc0
fixup! add second factor to fingerprint unlock
inthewaves Jul 8, 2025
f8dc50b
fixup! append "Safe" to risky upstream method names
inthewaves Jul 8, 2025
667185c
fixup! config: enable desktop mode support
muhomorr Jul 10, 2025
a44ad20
fixup! SystemUI: add support for battery charge limit feature
muhomorr Jul 12, 2025
ffa0e74
Revert "Add a config to state whether a device supports increased tou…
muhomorr Jul 12, 2025
18fbcd9
use shared bitmaps in MediaMetadata to avoid Binder failures
muhomorr Jul 20, 2025
30dc205
Revert "gmscompat: drop old phenotype flag overrides before applying …
inthewaves Jul 26, 2025
04c87ea
add workaround for upstream async dexopt bug
muhomorr Jul 27, 2025
d3f64aa
add ConnectivityUtil
u-fred Jun 5, 2025
f965102
add missing multi-user handling to ConnectivityUtil.isSystem()
muhomorr Jul 28, 2025
b91f1a9
remove dev option to switch to a pseudo-locale
muhomorr Jul 30, 2025
c346efc
fixup! add workaround for upstream async dexopt bug
muhomorr Jul 30, 2025
b8ebc93
[temporary] make AOSP dialer call notifications not groupable
inthewaves Jul 30, 2025
54cfe96
add Geocoder setting
soupslurpr Jul 27, 2025
4bd7af2
require android.permission.INTERNET to use geocoder
soupslurpr Jul 27, 2025
00ac295
Defer remove splash screen while device is locked
Dec 31, 2024
b7989ad
reduce time update threshold from 2000ms to 50ms
thestinger Aug 9, 2025
1c05ff2
limit MediaMetadata object size to avoid Binder failures
muhomorr Aug 10, 2025
50ce923
Revert "limit MediaMetadata object size to avoid Binder failures"
thestinger Aug 14, 2025
573b669
Reapply "limit MediaMetadata object size to avoid Binder failures"
muhomorr Aug 14, 2025
5399ce4
delay MediaMetadata.Builder bitmap validation until build()
muhomorr Aug 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions 16_port.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
dropped 78eb2aba9001... bugfix: Check first if PackageInstaller is the calling app to uninstall an app
fixed upstream: ff21533e7386987fe668e9d4cee20dc2d6b99add

dropped 90af7fbd284b... PackageInstaller: fix NPE due to a race condition in PackageUtil
fixed upstream: 85490371c0bb2b8772cbb21e7b6bea6086d3c5bc

dropped 97a1bee3003b... bugfix: properly acquire package state from original package
fixed upstream: 03e17d9af14ee56c7cf119838ccda4c28b6b2e7e

dropped 132fe35a9692... fix check for the current holder of the Wallet app role
fixed upstream: c28514dea5b7639633a3e5ebd8575912a4bba081

dropped 7f89e651ab09... add workaround for updateWifiBatteryStats() system_server crash
fixed upstream: b4cfeb60ddaff26cd214d0f8331737b510674f57

dropped f1f3d6f5a3f6... disable wake lock based on 2+ screen undims
disabled upstream: 9de30d99b687dc03754b7f397cb63a978ccf3631

dropped c6d8830270b03591ff3bc1492033f010d8264334 disable config_keyguardUserSwitcher on tablet devices
fixed upstream: 86b8c1db342d3f7af235639976a9d448f69bff27
12 changes: 12 additions & 0 deletions apex/jobscheduler/framework/java/android/app/AlarmManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.app.compat.gms.GmsCompat;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledSince;
import android.compat.annotation.UnsupportedAppUsage;
Expand Down Expand Up @@ -1049,6 +1050,17 @@ private void setImpl(@AlarmType int type, long triggerAtMillis, long windowMilli
long intervalMillis, int flags, PendingIntent operation, final OnAlarmListener listener,
String listenerTag, Executor targetExecutor, WorkSource workSource,
AlarmClockInfo alarmClock) {
if (GmsCompat.isEnabled()) {
if (windowMillis == WINDOW_EXACT && !canScheduleExactAlarms()) {
windowMillis = WINDOW_HEURISTIC;
}
// non-null WorkSource requires privileged UPDATE_DEVICE_STATS permission
workSource = null;

// requires privileged SCHEDULE_PRIORITIZED_ALARM permission
flags &= ~FLAG_PRIORITIZE;
}

if (triggerAtMillis < 0) {
/* NOTYET
if (mAlwaysExact) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.UserHandleAware;
import android.app.compat.gms.GmsCompat;
import android.content.Context;

import com.android.internal.gmscompat.GmsCompatApp;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
Expand Down Expand Up @@ -626,6 +629,11 @@ public void removeFromPermanentAllowList(@NonNull String packageName) {
@RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST)
public void addToTemporaryAllowList(@NonNull String packageName, @ReasonCode int reasonCode,
@Nullable String reason, long durationMs) {
if (GmsCompat.isEnabled()) {
GmsCompatApp.raisePackageToForeground(packageName, durationMs, reason, reasonCode);
return;
}

try {
mService.addPowerSaveTempWhitelistApp(packageName, durationMs, mContext.getUserId(),
reasonCode, reason);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ void addPowerSaveTempWhitelistAppDirect(int uid, long duration,

boolean isAppOnWhitelist(int appid);

int[] getPowerSaveWhitelistUserAppIds();
int[] getPowerSaveWhitelistAppIds();

int[] getPowerSaveTempWhitelistAppIds();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2389,14 +2389,14 @@ public String[] getFullPowerWhitelistExceptIdle() {
}

/**
* Returns the array of app ids whitelisted by user. Take care not to
* Returns the array of whitelisted app ids. Take care not to
* modify this, as it is a reference to the original copy. But the reference
* can change when the list changes, so it needs to be re-acquired when
* {@link PowerManager#ACTION_POWER_SAVE_WHITELIST_CHANGED} is sent.
*/
@Override
public int[] getPowerSaveWhitelistUserAppIds() {
return DeviceIdleController.this.getPowerSaveWhitelistUserAppIds();
public int[] getPowerSaveWhitelistAppIds() {
return DeviceIdleController.this.getAppIdWhitelistInternal();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public void onReceive(Context context, Intent intent) {
case PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED:
synchronized (mLock) {
mDeviceIdleWhitelistAppIds =
mLocalDeviceIdleController.getPowerSaveWhitelistUserAppIds();
mLocalDeviceIdleController.getPowerSaveWhitelistAppIds();
if (DEBUG) {
Slog.d(TAG, "Got whitelist "
+ Arrays.toString(mDeviceIdleWhitelistAppIds));
Expand Down Expand Up @@ -143,7 +143,7 @@ public DeviceIdleJobsController(JobSchedulerService service) {
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
mLocalDeviceIdleController =
LocalServices.getService(DeviceIdleInternal.class);
mDeviceIdleWhitelistAppIds = mLocalDeviceIdleController.getPowerSaveWhitelistUserAppIds();
mDeviceIdleWhitelistAppIds = mLocalDeviceIdleController.getPowerSaveWhitelistAppIds();
mPowerSaveTempWhitelistAppIds =
mLocalDeviceIdleController.getPowerSaveTempWhitelistAppIds();
mDeviceIdleUpdateFunctor = new DeviceIdleUpdateFunctor();
Expand Down Expand Up @@ -204,7 +204,7 @@ public void setUidActiveLocked(int uid, boolean active) {
}

/**
* Checks if the given job's scheduling app id exists in the device idle user whitelist.
* Checks if the given job's scheduling app id exists in the device idle whitelist.
*/
boolean isWhitelistedLocked(JobStatus job) {
return Arrays.binarySearch(mDeviceIdleWhitelistAppIds,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import android.app.job.UserVisibleJobSummary;
import android.content.ClipData;
import android.content.ComponentName;
import android.content.Context;
import android.net.Network;
import android.net.NetworkRequest;
import android.net.Uri;
Expand Down Expand Up @@ -2518,6 +2519,23 @@ private boolean isConstraintsSatisfied(int satisfiedConstraints) {
return true;
}

if ((mRequiredConstraintsOfInterest & CONSTRAINT_CONNECTIVITY) != 0) {
if ((satisfiedConstraints & CONSTRAINT_CONNECTIVITY) != 0) {
var pmi = LocalServices.getService(
com.android.server.pm.permission.PermissionManagerServiceInternal.class);

if (pmi.checkUidPermission(getSourceUid(), android.Manifest.permission.INTERNET, Context.DEVICE_ID_DEFAULT) !=
android.content.pm.PackageManager.PERMISSION_GRANTED) {
if (DEBUG) {
Slog.d(TAG, "skipping job " + getJobId() + " for " + getSourcePackageName()
+ " in user " + getSourceUserId() + ": it has CONSTRAINT_CONNECTIVITY, "
+ "but its UID doesn't have the INTERNET permission");
}
return false;
}
}
}

int sat = satisfiedConstraints;
if (overrideState == OVERRIDE_SOFT) {
// override: pretend all 'soft' requirements are satisfied
Expand Down
6 changes: 4 additions & 2 deletions cmds/app_process/app_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ class AppRuntime : public AndroidRuntime
AndroidRuntime* ar = AndroidRuntime::getRuntime();
ar->callMain(mClassName, mClass, mArgs);

IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
if (mClassName != "com.android.internal.os.ExecInit") {
IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
}
}

virtual void onZygoteInit()
Expand Down
5 changes: 4 additions & 1 deletion core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ package android {
field public static final String NFC = "android.permission.NFC";
field public static final String NFC_PREFERRED_PAYMENT_INFO = "android.permission.NFC_PREFERRED_PAYMENT_INFO";
field public static final String NFC_TRANSACTION_EVENT = "android.permission.NFC_TRANSACTION_EVENT";
field public static final String OTHER_SENSORS = "android.permission.OTHER_SENSORS";
field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS";
field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
Expand Down Expand Up @@ -363,7 +364,9 @@ package android {
field public static final String LOCATION = "android.permission-group.LOCATION";
field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
field public static final String NETWORK = "android.permission-group.NETWORK";
field public static final String NOTIFICATIONS = "android.permission-group.NOTIFICATIONS";
field public static final String OTHER_SENSORS = "android.permission-group.OTHER_SENSORS";
field public static final String PHONE = "android.permission-group.PHONE";
field public static final String READ_MEDIA_AURAL = "android.permission-group.READ_MEDIA_AURAL";
field public static final String READ_MEDIA_VISUAL = "android.permission-group.READ_MEDIA_VISUAL";
Expand Down Expand Up @@ -44567,7 +44570,7 @@ package android.telecom {
method public android.telecom.PhoneAccountHandle getSimCallManager();
method @Nullable public android.telecom.PhoneAccountHandle getSimCallManagerForSubscription(int);
method @Nullable public String getSystemDialerPackage();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
method @Nullable @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE_ANDROID_AUTO"}) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber(android.telecom.PhoneAccountHandle);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String, android.telecom.PhoneAccountHandle);
Expand Down
46 changes: 46 additions & 0 deletions core/api/module-lib-current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,20 @@ package android.app.admin {

}

package android.app.compat.gms {

public class GmsModuleHooks {
method @Nullable public static String deviceConfigGetProperty(@NonNull String, @NonNull String);
method public static boolean deviceConfigSetProperties(@NonNull android.provider.DeviceConfig.Properties);
method public static boolean deviceConfigSetProperty(@NonNull String, @NonNull String, @Nullable String);
method @Nullable public static Boolean enableBluetoothAdapter();
method public static void enableNfc();
method public static boolean interceptSynchronousResultReceiverException(@NonNull RuntimeException);
method public static void makeBluetoothAdapterDiscoverable();
}

}

package android.content {

public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
Expand Down Expand Up @@ -141,6 +155,38 @@ package android.content.pm {

}

package android.ext {

public class ConnectivityUtil {
method public static boolean isRegularAppWithLockdownVpnEnabled(@NonNull android.content.Context, int);
method public static boolean isSystem(@NonNull android.content.Context, int);
}

}

package android.ext.settings {

public class ConnChecksSetting {
method public static int get();
method public static boolean put(int);
field public static final int VAL_DEFAULT = 0; // 0x0
field public static final int VAL_DISABLED = 2; // 0x2
field public static final int VAL_GRAPHENEOS = 0; // 0x0
field public static final int VAL_STANDARD = 1; // 0x1
}

public class RemoteKeyProvisioningSettings {
method @Nullable public static String getServerUrlOverride(@NonNull android.content.Context);
field public static final int GRAPHENEOS_PROXY = 0; // 0x0
field public static final int STANDARD_SERVER = 1; // 0x1
}

public class WidevineProvisioningSettings {
method @Nullable public static String getServerHostnameOverride(@NonNull android.content.Context);
}

}

package android.hardware.usb {

public class UsbManager {
Expand Down
Loading