Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
699 commits
Select commit Hold shift + click to select a range
cdbb73c
gosps: support for per-app GrapheneOS-specific persistent state
muhomorr Jul 31, 2022
5679c24
extend excludedMethods list in AndroidPackageTest
muhomorr Jun 2, 2024
dff4613
add method for updating cached package permission state
muhomorr Dec 18, 2023
887fbfa
PackageHooks: infrastructure for per-package hooks in system_server
muhomorr Dec 18, 2023
2e968f2
add base class for complex per-app switches
muhomorr Sep 24, 2023
10e129b
SettingsLib: add CategoryKey for Exploit protection screen
muhomorr Jul 30, 2024
73150ac
infrastructure for spoofing self permission checks
muhomorr Jul 31, 2022
c01fd6f
infrastructure for special runtime permissions
muhomorr Feb 9, 2023
8f90ebd
add special runtime permission for other sensors
muhomorr Feb 9, 2023
1d43751
notify the user when sensors access is denied by OTHER_SENSORS perm
muhomorr Oct 4, 2022
cbb6fb2
make INTERNET into a special runtime permission
thestinger Mar 17, 2019
4060551
improve compatibility of INTERNET special runtime permission
muhomorr Jul 31, 2022
152a546
don't run jobs that need connectivity in apps that lack INTERNET perm
muhomorr May 19, 2023
8b5bf7b
use permanent fingerprint lockout immediately
thestinger Sep 12, 2017
2c10d36
add system property for disabling keyguard camera
thestinger Jul 25, 2017
09a42f6
add auto-reboot feature
muhomorr Jan 13, 2024
9dbcad3
infrastructure for the Storage Scopes feature
muhomorr Jul 31, 2022
fe039ed
sscopes: temp: disable incomplete handling of READ_MEDIA_VISUAL_USER_…
muhomorr Oct 5, 2023
4102451
control access to Android/obb directory with a GosPackageState flag
muhomorr Jul 31, 2022
8b0049e
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
c9eda22
fix ANR details link not working in profiles and in secondary users
muhomorr Nov 1, 2024
f043211
include path of ANR stack traces file in ApplicationErrorReport
muhomorr Oct 7, 2024
abb9f23
don't block reading ANR stack traces file via Unix file permissions
muhomorr Oct 8, 2024
91f8042
add option to view application error details in LogViewer app
muhomorr Aug 8, 2022
4840518
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
9240700
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
643eb7e
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
cfd620a
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
892c6fd
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
5751580
disable package parser cache
muhomorr Jan 30, 2023
c9e55b5
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
7e3eb27
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
afc460a
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
b2bfd16
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
0816323
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
905ebca
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
cc53d7b
Remove build fingerprint from screenshot EXIF
x86pup Apr 29, 2022
2202561
add toggle for screenshot timestamp EXIF metadata
x86pup Feb 18, 2023
a816f06
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
52f4175
add GNSS SUPL setting
muhomorr Mar 3, 2023
a727529
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
0b7664f
add option to scramble PIN layout
muhomorr Feb 24, 2023
9b467c3
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
5b20b94
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
7ce227d
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
4640256
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
72954bc
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
0f045f5
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
6999cde
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
49d1c41
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
0d666bb
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
0f386fb
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
82a98c4
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
c8a4cdb
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
e639da3
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
ce1a269
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
8a0c7cf
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
a080ef0
add BinderWrapper
muhomorr Jan 17, 2025
8a7e097
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
0939ba7
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
1c84cdd
add config for Pixel Camera Services
muhomorr Jan 9, 2024
ea2cee6
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
d06faad
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
d8f3aab
add GNSS PSDS setting
muhomorr May 2, 2023
3f77e88
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
ab54f41
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
eed4cb8
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
f1a2bef
Wi-Fi auto turn off
muhomorr Jul 31, 2022
9d0a07b
Bluetooth auto turn off
muhomorr Jul 31, 2022
1e89e42
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
93bde49
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
5d79319
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
464c2e1
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
33373df
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
c10a951
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
20c2c88
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
e6d5291
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
e6027a1
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
9108ea7
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
e6231fe
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
8afbac5
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
55f7eea
add per-app native debugging setting
muhomorr Sep 26, 2023
a5d632a
add system API for getting app info by PID
muhomorr Nov 8, 2023
2d6ce39
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
fa698d2
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
db17092
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
094077b
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
00975fd
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
f6e8bde
fix an upstream race condition in handling of system error files
muhomorr Oct 7, 2024
38bb4b0
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
9bab047
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
483960c
notify the user about notable system journal entries
muhomorr Nov 8, 2023
8225c5f
support for per-app dynamic code loading restrictions
muhomorr Sep 26, 2023
9ce9e15
add test for SELinux flags-based per-app hardening features
muhomorr Sep 20, 2023
24ccbb2
add per-app memory tagging setting
muhomorr Nov 5, 2023
96806f0
Widevine provisioning setting
maade93791 Sep 29, 2023
2072d13
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
9e42947
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
a26610f
add setting for USB port security state
muhomorr Feb 23, 2024
e334cb1
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
d515103
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
020810d
disable support for adoptable storage
muhomorr May 29, 2024
d38bc55
add a helper class for wiping eUICCs
muhomorr May 29, 2024
5180760
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
8878f3b
add duress password feature
muhomorr May 29, 2024
703ad1a
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
1969577
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
1b35940
add a test for the duress password feature
muhomorr May 29, 2024
9db32ba
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
582b57f
stub out reads of hidden system settings in Google's text-to-speech app
muhomorr Jul 1, 2024
950eaf9
make Google's text-to-speech app force-queryable
muhomorr Nov 25, 2024
829c4f7
show a deprecation warning dialog on each launch of a 32-bit app
muhomorr Jul 6, 2024
dfb8060
better 32-bit deprecation warning
thestinger Jul 7, 2024
fb1a047
fix touch-to-unlock on Google devices with side fingerprint scanner
muhomorr Jul 16, 2024
c5677b9
add setting for alternative touchscreen mode
muhomorr Jun 19, 2024
c4b8578
don't report some android.hardware.bluetooth-service.bcmbtlinux crashes
muhomorr Aug 5, 2024
8e2656a
don't report harmless fingerprint-service.goodix crash
muhomorr Nov 15, 2024
985f626
sysconfig: support enabling association restrictions without exemptions
muhomorr Aug 29, 2024
80608dc
add config for Pixel Health app
muhomorr Aug 26, 2024
14e1827
new PermissionService: implement shouldBlockGrantRuntimePermission()
muhomorr Aug 10, 2024
2d3fb50
new PermissionService: implement updatePermissions()
muhomorr Aug 10, 2024
7db60ee
PermissionService: support for special runtime permissions
muhomorr Aug 11, 2024
66c6a5c
ignore factory reset protection (FRP)
muhomorr Oct 16, 2024
349d194
disable memory tagging for Pixel Camera Services
muhomorr Oct 20, 2024
3faeabe
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
8b56afd
raise backup transport timeout
thestinger Oct 23, 2024
558e399
add utility class for obtaining and keeping track of Binder caller info
muhomorr Nov 4, 2024
38ce214
fix handling of MATCH_ARCHIVED_PACKAGES flag in getPackageUidInternal()
muhomorr Nov 4, 2024
7950d57
delay activation of the Allow button in USB ADB confirmation dialog
muhomorr Dec 5, 2024
44769d2
FusedLocation: remove racy and redundant lazy init in Service.onBind()
muhomorr Dec 4, 2024
f7d8efc
never remove location providers at runtime
muhomorr Dec 4, 2024
6177701
disable safe media volume management
muhomorr Dec 11, 2024
a316b13
add battery charge limit setting
muhomorr Dec 29, 2024
6835fe8
SystemUI: add support for battery charge limit feature
muhomorr Dec 29, 2024
8e4fa05
add dev option to log Java binder transaction
muhomorr Dec 28, 2024
bc8f4d9
prevent recycling user IDs
u-fred Dec 21, 2024
4840733
backend part of 2FA changes
muhomorr Nov 12, 2025
3fcfeb2
throw Exception to notify of SceneContainerFlag
u-fred Dec 21, 2024
01f13a8
prevent face auth in KUM
u-fred Dec 21, 2024
13aa35e
fix upstream fingerprint mode change bug
u-fred Dec 21, 2024
2671da5
fix feature check in DPMS.getPasswordMinimumMetricsUnchecked()
muhomorr Dec 25, 2024
9475477
fix collision check in SyntheticPasswordManager.generateProtectorId()
muhomorr Dec 25, 2024
6391093
add workaround for SSM.newTargetUser() system_server crash
muhomorr Jan 6, 2025
9f5a73c
don't break boot of debug OS build on permission allowlist violations
muhomorr Jan 7, 2025
cae2c58
opt-out TunerSettings from edge-to-edge
thestinger Jan 9, 2025
40a8be6
protect against upstream bugs bypassing 2FA
thestinger Jan 14, 2025
7fd7b86
fix serious upstream lockscreen animation bug
thestinger Jan 14, 2025
6125c53
zygote: don't reload android.os.Build after applying appcompat sysprops
muhomorr Jan 24, 2025
0f8a018
enable appcompat sysprop overrides for user-installed apps
muhomorr Jan 24, 2025
d596b5c
don't delay setting observer callbacks for background system packages
muhomorr Feb 1, 2025
de87ad4
add network location setting
soupslurpr Nov 5, 2024
b5f4e05
add network location provider to config_locationProviderPackageNames
soupslurpr Dec 24, 2024
daca967
FusedLocation: don't attempt to flush inactive providers
muhomorr Feb 28, 2025
e546405
exclude Network Location from location indicator
thestinger Feb 28, 2025
85f654c
disable HttpEngine preloading for exec spawning
muhomorr Mar 5, 2025
1a29479
SystemUI: make screenshot sound use sound effects setting
muhomorr Mar 8, 2025
fe9273f
don't allow to install APEXes on user builds
muhomorr Mar 23, 2025
8308f26
fix NPE system_server crash in F2fsUtils.getFilesRecursive()
muhomorr Mar 28, 2025
94d1748
don't allow enabling the instant apps feature
muhomorr Mar 30, 2025
1cd530f
don't allow enabling the "add users when locked" setting
muhomorr Mar 30, 2025
2bdc340
fix upstream RecoverySystem.verifyPackage vulnerability
thestinger Apr 9, 2025
1e42b6d
Section for adding non-runtime permissions downstream
quh4gko8 Dec 15, 2024
120a412
Add permission definition to read additional security state
quh4gko8 Dec 18, 2024
4623902
Extend getting security state bundle to include downstream configurat…
quh4gko8 Dec 16, 2024
34f85ae
Settings definition for cross profile clipboard access
quh4gko8 Mar 25, 2025
21b8e36
Enforce cross profile clipboard access settings
quh4gko8 Mar 25, 2025
4e45c33
AppCopyHelper: store Context argument as a field
quh4gko8 Dec 31, 2024
bdb89f9
AppCopyHelper: Extend SelectableAppInfo fields with info stored from …
quh4gko8 Dec 31, 2024
c5ba582
add placeholder NFC auto-off setting
mrxx0 Mar 15, 2025
609821a
Definition of setting to disallow delayed locking on user stop or lock
quh4gko8 May 18, 2025
bcbb324
Enforce setting to disallow delayed locking for user when stopped/locked
quh4gko8 May 18, 2025
19042c8
Always cache users that delay storage locking
quh4gko8 May 20, 2025
0f81e85
Lock cached profiles that delay locking of storage when parent user i…
quh4gko8 May 20, 2025
e009633
bugfix: appropriately set quiet mode when being enabled/disabled
quh4gko8 May 22, 2025
48c375f
Set quiet mode and stop certain profiles when its parent user is star…
quh4gko8 May 20, 2025
45ec383
Definition of AppInfoExt flag for apps signed using Play signing
quh4gko8 May 27, 2025
7076650
Append AppInfoExt flag for apps signed with Play signing
quh4gko8 May 27, 2025
332f010
PackageExt: Method to check for presence of an AppInfoExt flag
quh4gko8 May 27, 2025
61fddc4
Hide provider(s) for startup on apps with valid Play Store source stamp
quh4gko8 May 27, 2025
68b5c20
16: definition for Google Battery interface
quh4gko8 Jun 11, 2025
8bfa7f4
allow system apps to opt-out of edge-to-edge enforcement
muhomorr2 Jun 12, 2025
e06f9f2
never force camera sound
muhomorr Jun 28, 2025
937720f
set max number of running users based on total memory size
muhomorr Jun 28, 2025
04b0369
Revert "Legacy app compatibility workaround"
thestinger Jun 30, 2025
76b9996
add lockscreen synchronisation failsafe
u-fred Jul 4, 2025
27b1b0e
restrict custom activity animations for third-party apps
muhomorr Jul 7, 2025
2ede589
SystemUI: clear keyguard indication background and icon on empty text
inthewaves Jul 4, 2025
ac0efd0
use shared bitmaps in MediaMetadata to avoid Binder failures
muhomorr Jul 20, 2025
f068cd7
add ConnectivityUtil
u-fred Jun 5, 2025
781a2d2
remove dev option to switch to a pseudo-locale
muhomorr Jul 30, 2025
e63be19
add Geocoder setting
soupslurpr Jul 27, 2025
5392903
require android.permission.INTERNET to use geocoder
soupslurpr Jul 27, 2025
62c4381
reduce time update threshold from 2000ms to 50ms
thestinger Aug 9, 2025
d07c0f2
SystemUI: split PowerNotificationWarnings into Google-specific class
inthewaves Jul 8, 2025
0f64b88
SystemUI: add battery replacement notification for bluejay
inthewaves Jul 8, 2025
a51a3ff
telephony: add method to expose overridden carrier config
inthewaves Sep 27, 2025
abd1f1d
SettingsLib: add alwaysExpand to TopIntroPreference
inthewaves Sep 28, 2025
01ee201
add infrastructure for extended SIM state
inthewaves Oct 2, 2025
e06b390
SettingsLib: fix RestrictedPreference not updating properly
inthewaves Sep 27, 2025
882f403
add TODO
muhomorr Nov 12, 2025
11c0e5b
add Private space support in secondary users
quh4gko8 Apr 2, 2025
632ee10
tests for backend part of 2FA changes
muhomorr Nov 12, 2025
e38a7a0
add second factor UI
muhomorr Nov 12, 2025
a1dae10
tests for "add second factor UI" change
muhomorr Nov 12, 2025
ea8a03b
append "Safe" to risky upstream method names
u-fred Dec 22, 2024
b1bb8d1
add second factor to fingerprint unlock
muhomorr Nov 12, 2025
e124f43
tests for "add second factor to fingerprint unlock" change
muhomorr Nov 12, 2025
134d1d7
add option to scramble 2FA PIN layout
muhomorr Mar 3, 2026
14fe464
allow SystemUITests to read SystemUI-readable settings on debug builds
inthewaves Jun 13, 2025
46b3861
SystemUI: don't skip fingerprint auth success haptic when 2FA is on
muhomorr Dec 6, 2025
3e40b67
mark notification summaries & organizer as unsupported by default
inthewaves Dec 11, 2025
dfadbdc
force default unsupported notification adjustments
inthewaves Dec 11, 2025
329589b
fix missing notification backgrounds
bisuhkfurio Dec 12, 2025
b37641b
add a workaround for WallpaperManagerService.hasPermission() crash
muhomorr Dec 17, 2025
5a61230
fix system_server crash in NotificationHistory.getPooledStringsToWrite()
muhomorr Dec 17, 2025
43e8e43
SystemUI: remove end session button on lockscreen
inthewaves Dec 23, 2025
cd96ca1
SystemUI: enable UserManager logout support
muhomorr Dec 24, 2025
34701db
add Process.isMemoryTaggingSupported() system API
muhomorr Dec 24, 2025
1a09eef
fix system_server crash in NotificationHistoryProtoHelper
muhomorr Dec 24, 2025
c5b4d5c
add workaround for UsageStatsDatabase OOM system_server crash
muhomorr Jan 6, 2026
c9700db
add workaround for WindowContext.finalize() system_server crash
muhomorr Jan 6, 2026
160f253
add App info link to the app uninstall dialog
muhomorr Jan 7, 2026
076c82c
add app install dialog checkbox for skipping INTERNET perm pre-grant
muhomorr Jan 7, 2026
aed8f3f
use setCanceledOnTouchOutside(false) for app install confirmation dialog
muhomorr Jan 7, 2026
fac34ac
re-enable the system keyboard at boot if it's disabled
muhomorr Jan 6, 2026
5857ff8
switch to the system keyboard when device boots to the safe mode
muhomorr Jan 6, 2026
9251e57
add "Reboot to safe mode" power menu button in BFU state
muhomorr Jan 6, 2026
b6d3daa
SettingsLib: add isDevelopmentSettingsEnabled() overload
muhomorr Jan 8, 2026
5d4504a
fix an upstream infinite loop bug in ProtoFieldFilter.skipBytes()
muhomorr Jan 14, 2026
834e5cd
save discrete app-op history for more permissions
muhomorr Jan 27, 2026
a4ae8dc
add workaround for system_server startUserInBackgroundTemporarily crash
muhomorr Jan 23, 2026
826bf9f
FusedLocationProvider: restore pre-16-QPR1 GNSS usage policy
muhomorr Jan 26, 2026
97f2e33
match the initial call stack between exec and zygote spawning
muhomorr Jan 28, 2026
3bbc0fe
SystemUI: replace default quick settings tiles config
muhomorr Feb 12, 2026
4ee58d3
SystemUI: add a smartspace implementation
liamsmith827 Feb 15, 2026
af4b974
Ensure sandboxed UIDs are treated as untrusted in Appops
Oct 7, 2025
029f9a2
Prohibit untrusted proxys from specifying proxied attribution tags
Oct 15, 2025
cf2bb22
Trim permission, permission group names
Nov 5, 2025
c93d850
Fixed "Unlock your phone" unexpectedlly turned ON after OTA
Oct 15, 2025
e71dd0f
Harden InputMethodInfo parsing against large metadata
tossy310 Oct 20, 2025
978408c
Introduce InputMethodSubtypeSafeList
tossy310 Nov 4, 2025
9e31bf4
Handle loadDescription OutOfMemoryError in DeviceAdminInfo
Nov 13, 2025
f216498
Prevent launchedFromPackage spoofing via FLAG_ACTIVITY_FORWARD_RESULT.
Dec 4, 2025
3b39834
Explicitly unset INSTALL_FROM_MANAGED_USER_OR_PROFILE flag
SanjanaSunil Nov 26, 2025
1354bb7
Be more strict about content types for message array
Nov 12, 2025
d9e4236
Remove any revoked associations after reboot
Nov 18, 2025
e944a76
Remove flag limit_managed_services_count of package com.android.serve…
Nov 17, 2025
49ca10b
fix update uninstallation with sharedUserMaxSdkVersion
schfan-1 Nov 11, 2025
0a02ed3
Enforce permission and debuggability for `am dumpbitmaps`
Jan 15, 2026
1db51f5
Add a toggle to allow screenshots through FLAG_SECURE
BasedJellyfish11 Feb 20, 2026
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
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_arm64/CtsShimPriv.apk"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_arm64/CtsShim.apk"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_riscv64/CtsShimPriv.apk"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_riscv64/CtsShim.apk"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_x86_64/CtsShimPriv.apk"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
drops {
android_build_drop {
build_id: "11947186"
build_id: "14083884"
target: "CtsShim"
source_file: "aosp_x86_64/CtsShim.apk"
}
Expand Down
30 changes: 30 additions & 0 deletions METADATA
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
third_party {
license_type: RECIPROCAL
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/x86/CtsShim.apk"
version: "16"
}
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/x86/CtsShimPriv.apk"
version: "16"
}
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/riscv64/CtsShim.apk"
version: "16"
}
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/riscv64/CtsShimPriv.apk"
version: "16"
}
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/arm/CtsShim.apk"
version: "16"
}
identifier {
type: "PrebuiltByAlphabet"
value: "packages/CtsShim/apk/arm/CtsShimPriv.apk"
version: "16"
}
}
7 changes: 7 additions & 0 deletions TODO-16-qpr1
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Skipped commits:
colors: Switch to GrapheneOS blue color palette for Material You
port 2FA tests
enable boot/bootloader/radio version checks (not clear whether it's needed)

Potential issue:
always-on Location indicator changes
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 @@ -2394,14 +2394,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 @@ -205,7 +205,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 @@ -39,6 +39,7 @@
import android.app.usage.UsageStatsManager;
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 @@ -2549,6 +2550,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
13 changes: 10 additions & 3 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 Expand Up @@ -335,7 +337,12 @@ int main(int argc, char* const argv[])
if (zygote) {
runtime.start("com.android.internal.os.ZygoteInit", args, zygote);
} else if (!className.empty()) {
runtime.start("com.android.internal.os.RuntimeInit", args, zygote);
const char* isExecSpawning = getenv("IS_EXEC_SPAWNED_APP_PROCESS");
if (isExecSpawning != nullptr && strcmp(isExecSpawning, "1") == 0) {
runtime.start("com.android.internal.os.ZygoteInit", args, false);
} else {
runtime.start("com.android.internal.os.RuntimeInit", args, zygote);
}
} else {
fprintf(stderr, "Error: no class name or --zygote supplied.\n");
app_usage();
Expand Down
2 changes: 1 addition & 1 deletion cmds/hid/jni/com_android_commands_hid_Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ static void closeDevice(JNIEnv* /* env */, jclass /* clazz */, jlong ptr) {
}
}

static JNINativeMethod sMethods[] = {
static const JNINativeMethod sMethods[] = {
{"nativeOpenDevice",
"(Ljava/lang/String;Ljava/lang/String;IIII[B"
"Lcom/android/commands/hid/Device$DeviceCallback;)J",
Expand Down
2 changes: 1 addition & 1 deletion cmds/uinput/jni/com_android_commands_uinput_Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ static jint getEvdevInputPropByLabel(JNIEnv* env, jclass /* clazz */, jstring ra
return InputEventLookup::getLinuxEvdevInputPropByLabel(label.c_str()).value_or(-1);
}

static JNINativeMethod sMethods[] = {
static const JNINativeMethod sMethods[] = {
{"nativeOpenUinputDevice",
"(Ljava/lang/String;IIIIIILjava/lang/String;"
"Lcom/android/commands/uinput/Device$DeviceCallback;)J",
Expand Down
5 changes: 4 additions & 1 deletion core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,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 @@ -372,7 +373,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 @@ -45100,7 +45103,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
52 changes: 51 additions & 1 deletion 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 All @@ -99,7 +113,6 @@ package android.content {
public abstract class Context {
method @NonNull public android.content.Context createContextForSdkInSandbox(@NonNull android.content.pm.ApplicationInfo, int) throws android.content.pm.PackageManager.NameNotFoundException;
method @NonNull public android.os.IBinder getProcessToken();
method @NonNull public android.os.UserHandle getUser();
field @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public static final String ANOMALY_DETECTOR_SERVICE = "anomaly_detector";
field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence_module") public static final int BIND_FOREGROUND_SERVICE = 67108864; // 0x4000000
field public static final String PAC_PROXY_SERVICE = "pac_proxy";
Expand Down Expand Up @@ -145,6 +158,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 {

@RestrictedForEnvironment(environments=android.annotation.RestrictedForEnvironment.ENVIRONMENT_SDK_RUNTIME, from=android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public class UsbManager {
Expand Down Expand Up @@ -505,6 +550,11 @@ package android.os {
method @FlaggedApi("android.os.update_engine_api") public void triggerPostinstall(@NonNull String);
}

public final class UserHandle implements android.os.Parcelable {
method public static int getUid(int, int);
method public static int getUserId(int);
}

public class UserManager {
field @FlaggedApi("android.multiuser.user_restriction_config_wifi_shared_private") public static final String DISALLOW_CONFIG_WIFI_PRIVATE = "no_config_wifi_private";
field @FlaggedApi("android.multiuser.user_restriction_config_wifi_shared_private") public static final String DISALLOW_CONFIG_WIFI_SHARED = "no_config_wifi_shared";
Expand Down
Loading