Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
418 commits
Select commit Hold shift + click to select a range
2d8dd4b
include path of ANR stack traces file in ApplicationErrorReport
muhomorr Oct 7, 2024
bf1752a
don't block reading ANR stack traces file via Unix file permissions
muhomorr Oct 8, 2024
82482ab
add option to view application error details in LogViewer app
muhomorr Aug 8, 2022
7269b7e
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
15d3839
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
fdec269
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
f36ab34
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
4ae23df
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
60e75d5
bugfix: properly acquire package state from original package
quh4gko8 Mar 13, 2024
6327f8b
disable package parser cache
muhomorr Jan 30, 2023
75dd054
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
b22d22c
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
310fa83
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
22d5a47
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
b2f5960
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
a9bef59
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
c162a7b
Remove build fingerprint from screenshot EXIF
x86pup Apr 29, 2022
91e7766
add toggle for screenshot timestamp EXIF metadata
x86pup Feb 18, 2023
e870fd7
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
ceeb129
add GNSS SUPL setting
muhomorr Mar 3, 2023
eae88c7
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
7303c83
add option to scramble PIN layout
muhomorr Feb 24, 2023
6c95c22
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
3b52b9d
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
39323ee
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
b089db4
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
f3e657b
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
2750ee4
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
fb329c5
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
0ee817d
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
1132df3
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
5035ad4
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
a99d211
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
e287dd9
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
ef7a1ba
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
e6d4ee0
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
2bd5de0
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
687d389
add BinderWrapper
muhomorr Jan 17, 2025
961cd21
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
2d94fa1
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
d15b9cb
add config for Pixel Camera Services
muhomorr Jan 9, 2024
77be7e2
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
eceb388
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
48f9071
add GNSS PSDS setting
muhomorr May 2, 2023
e0410a3
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
4a75cee
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
882d06b
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
9785874
Wi-Fi auto turn off
muhomorr Jul 31, 2022
fe950d6
Bluetooth auto turn off
muhomorr Jul 31, 2022
f9b6328
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
6768dcb
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
f0a9a5f
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
1196d0e
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
a70f1a3
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
9c148fe
disable OtaDexoptService
muhomorr Oct 23, 2023
f36dbf8
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
fbd8776
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
53aac58
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
1b3e693
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
50d12f4
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
956d1d7
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
db0ae17
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
657a4fb
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
ba842bc
add per-app native debugging setting
muhomorr Sep 26, 2023
4da1ed2
add system API for getting app info by PID
muhomorr Nov 8, 2023
45a96ef
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
9641c19
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
e7886f7
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
73d2cd1
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
44f2d2f
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
19974f8
fix an upstream race condition in handling of system error files
muhomorr Oct 7, 2024
cab139d
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
b9f1162
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
5e80c78
notify the user about notable system journal entries
muhomorr Nov 8, 2023
b0c1cd9
support for per-app dynamic code loading restrictions
muhomorr Sep 26, 2023
ffa1d5f
add test for SELinux flags-based per-app hardening features
muhomorr Sep 20, 2023
3079263
add per-app memory tagging setting
muhomorr Nov 5, 2023
95bb863
Widevine provisioning setting
maade93791 Sep 29, 2023
6cb7c29
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
ef2cb13
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
37597c1
add UsbManager API for configuring USB port security state
muhomorr Feb 23, 2024
93c7a83
add setting for USB port security state
muhomorr Feb 23, 2024
a12b054
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
d1eed22
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
16de842
disable support for adoptable storage
muhomorr May 29, 2024
ba6d99e
add a helper class for wiping eUICCs
muhomorr May 29, 2024
302d91b
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
ade252e
add duress password feature
muhomorr May 29, 2024
ce22459
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
08aed33
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
53251bd
add a test for the duress password feature
muhomorr May 29, 2024
c1312c1
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
664e270
stub out reads of hidden system settings in Google's text-to-speech app
muhomorr Jul 1, 2024
61d8cba
make Google's text-to-speech app force-queryable
muhomorr Nov 25, 2024
a0387b3
show a deprecation warning dialog on each launch of a 32-bit app
muhomorr Jul 6, 2024
520c1e6
better 32-bit deprecation warning
thestinger Jul 7, 2024
d83145d
fix touch-to-unlock on Google devices with side fingerprint scanner
muhomorr Jul 16, 2024
41c42ae
add setting for alternative touchscreen mode
muhomorr Jun 19, 2024
5174a66
don't report some android.hardware.bluetooth-service.bcmbtlinux crashes
muhomorr Aug 5, 2024
1e7ab01
don't report harmless fingerprint-service.goodix crash
muhomorr Nov 15, 2024
3780590
sysconfig: support enabling association restrictions without exemptions
muhomorr Aug 29, 2024
fbd3e6e
add config for Pixel Health app
muhomorr Aug 26, 2024
fe7cfea
new PermissionService: implement shouldBlockGrantRuntimePermission()
muhomorr Aug 10, 2024
af84b36
new PermissionService: implement updatePermissions()
muhomorr Aug 10, 2024
ae9034f
new PermissionService: implement PackageHooks support
muhomorr Aug 10, 2024
714f119
new PermissionService: support for special runtime permissions
muhomorr Aug 11, 2024
2a2c96c
temp: unconditionally enable system crash notifications
muhomorr Jun 3, 2024
af5805d
Revert "temp: unconditionally enable system crash notifications"
thestinger Jun 13, 2024
86599f2
ignore factory reset protection (FRP)
muhomorr Oct 16, 2024
b66b85d
fix check for the current holder of the Wallet app role
muhomorr Oct 19, 2024
d2fb2f8
disable memory tagging for Pixel Camera Services
muhomorr Oct 20, 2024
6ba987b
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
7e59297
raise backup transport timeout
thestinger Oct 23, 2024
b098e7b
add utility class for obtaining and keeping track of Binder caller info
muhomorr Nov 4, 2024
1288cee
fix handling of MATCH_ARCHIVED_PACKAGES flag in getPackageUidInternal()
muhomorr Nov 4, 2024
42c5b81
delay activation of the Allow button in USB ADB confirmation dialog
muhomorr Dec 5, 2024
946a187
FusedLocation: remove racy and redundant lazy init in Service.onBind()
muhomorr Dec 4, 2024
c09489e
never remove location providers at runtime
muhomorr Dec 4, 2024
faa8ee8
disable safe media volume management
muhomorr Dec 11, 2024
8974de3
add battery charge limit setting
muhomorr Dec 29, 2024
9c5a6b1
SystemUI: add support for battery charge limit feature
muhomorr Dec 29, 2024
142be58
add dev option to log Java binder transaction
muhomorr Dec 28, 2024
bb505ef
prevent recycling user IDs
u-fred Dec 21, 2024
b62169f
add LockDomain
u-fred Dec 21, 2024
8c15555
add second factor to DevicePolicyManagerService
u-fred Dec 21, 2024
0ad5eb3
add second factor to LockSettingsService
u-fred Dec 21, 2024
76bb199
add second factor to LockSettingsStateListener
u-fred Dec 21, 2024
2c53da9
add second factor to AdaptiveAuthService
u-fred Dec 21, 2024
e51b5cc
add second factor to TrustManagerService
u-fred Dec 21, 2024
90afa72
add biometric keyguard settings to LPU
u-fred Dec 21, 2024
0615a45
improve upstream LPU#isCredentialSharableWithParent
u-fred Dec 21, 2024
34be2ea
add second factor to LockPattern classes
u-fred Dec 21, 2024
7d5747c
add BiometricAuthTokenStore
u-fred Dec 21, 2024
8983a36
add second factor to FingerprintService
u-fred Dec 21, 2024
e73deda
add second factor UI
u-fred Dec 21, 2024
4b34a09
throw Exception to notify of SceneContainerFlag
u-fred Dec 21, 2024
1ee3d76
prevent face auth in KUM
u-fred Dec 21, 2024
3bd7914
fix upstream fingerprint mode change bug
u-fred Dec 21, 2024
609585e
append "Safe" to risky upstream method names
u-fred Dec 22, 2024
30aa3d8
add second factor to fingerprint unlock
u-fred Dec 21, 2024
8b6ed87
fix feature check in DPMS.getPasswordMinimumMetricsUnchecked()
muhomorr Dec 25, 2024
ecbe1ce
fix collision check in SyntheticPasswordManager.generateProtectorId()
muhomorr Dec 25, 2024
d5b09a4
SystemUI: don't skip fingerprint auth success haptic when 2FA is on
muhomorr Jan 3, 2025
eef6b31
add workaround for SSM.newTargetUser() system_server crash
muhomorr Jan 6, 2025
00b6f7f
add workaround for updateWifiBatteryStats() system_server crash
muhomorr Jan 6, 2025
a60f650
don't break boot of debug OS build on permission allowlist violations
muhomorr Jan 7, 2025
6d5bfe3
opt-out TunerSettings from edge-to-edge
thestinger Jan 9, 2025
3a02172
protect against upstream bugs bypassing 2FA
thestinger Jan 14, 2025
e83f6a6
fix serious upstream lockscreen animation bug
thestinger Jan 14, 2025
ec7766a
unconditionally show KASAN kernel crash notifications
muhomorr Jan 16, 2025
78065b0
disable wake lock based on 2+ screen undims
thestinger Jan 21, 2025
e3abf33
zygote: don't reload android.os.Build after applying appcompat sysprops
muhomorr Jan 24, 2025
e62daab
enable appcompat sysprop overrides for user-installed apps
muhomorr Jan 24, 2025
f2c98e5
don't delay setting observer callbacks for background system packages
muhomorr Feb 1, 2025
12dfeff
add network location setting
soupslurpr Nov 5, 2024
6e612c4
add network location provider to config_locationProviderPackageNames
soupslurpr Dec 24, 2024
18164af
gosps: allow cross-user-profile read permission to PermissionController
muhomorr Feb 26, 2025
219ac59
FusedLocation: don't attempt to flush inactive providers
muhomorr Feb 28, 2025
0dfa6f2
exclude Network Location from location indicator
thestinger Feb 28, 2025
e3898c4
gmscompat: skip location settings check activity when rerouting is on
muhomorr Mar 2, 2025
b2c6098
_fixup! append "Safe" to risky upstream method names
muhomorr Mar 5, 2025
06f8779
disable HttpEngine preloading for exec spawning
muhomorr Mar 5, 2025
9ed1733
fixup! add BiometricAuthTokenStore
muhomorr Mar 6, 2025
37afca5
gosps: fix parseFlag(), which is used by automated tests
muhomorr Mar 6, 2025
397f94e
gmscompat: fix Play Services for AR being non-installable
Feb 19, 2025
6e81058
gmscompat: fix dev option for installing Pixel Health app
muhomorr Mar 7, 2025
0424ade
Fix an NPE when a user is added and then removed quickly
Dec 11, 2024
ee1e4aa
JobConcurrencyManager: fix the NPE problem.
Dec 2, 2024
52040fd
ContentRecorder: fix the NPE problem.
Dec 9, 2024
fb483aa
Fix the NPE problem.
Nov 27, 2024
2efad25
RecentTasks:fix NPE problem to avoid system_server process crash.
Dec 16, 2024
747515e
ContentRecorder: fix NPE problem to avoid crash when start recording.
Dec 17, 2024
002cc0f
CameraStateMonitor:fix the potential NPE problem.
Dec 17, 2024
2772156
ScreenRecordingCallbackController: fix NPE problem.
Dec 18, 2024
90bfbd5
FadeOutManager: the NPE problem due to add null value to SparseArray.
Dec 16, 2024
c9df6d8
TaskDisplayArea: fix NPE problem.
Dec 26, 2024
b49a249
Fix NPE problem to avoid systemserver process crash.
Feb 19, 2025
8a59328
Use local var method to avoid NPE in multithread suition.
Jan 20, 2025
054a97b
Transition: fix NPE problem.
Jan 6, 2025
10fa22b
[Bugfix]Fix NPE for PackageInstallerSession
Feb 20, 2025
5d1b221
Fix array index out of bounds exception problem.
Feb 27, 2025
517cd71
AudioService: fix voice volume adjustments
Feb 27, 2025
e510ec1
Revert "SystemUI: make screenshot sound use touch sounds setting"
muhomorr Mar 8, 2025
59da11f
SystemUI: make screenshot sound use sound effects setting
muhomorr Mar 8, 2025
e43d63f
gmscompat: don't call Binder.getCallingUid() in RPC mode
muhomorr Mar 9, 2025
0993b62
fixup! support for per-app dynamic code loading restrictions
muhomorr Mar 9, 2025
0e8c472
exempt Terminal app from WebView DCL restrictions
muhomorr Mar 9, 2025
f638020
SystemUI: Fix constraints for keyguard slice view
luk1337 Dec 28, 2024
e623aa6
SystemUI: Don't remove keyguard slice view
luk1337 Dec 28, 2024
2f9c600
SystemUI: Fix burn-in translations not applying to keyguard slices
AndyCGYan Jan 18, 2025
1baead2
disable config_keyguardUserSwitcher on tablet devices
muhomorr Mar 9, 2025
e4ec4c3
Revert "gmscompat: skip location settings check activity when rerouti…
muhomorr Mar 13, 2025
b6fefa9
config: enable desktop mode support
muhomorr Mar 15, 2025
0d343f1
SystemUI: improve alignment between keyguard clock and date
muhomorr Mar 18, 2025
3833547
SystemUI: fix keyguard media section placement when split shade is used
muhomorr Mar 18, 2025
45a5ebd
SystemUI: fix orientation of keyguard slice view rows
muhomorr Mar 20, 2025
fb3ac6b
SystemUI: don't hide date text on lockscreen when media is playing
muhomorr Mar 20, 2025
6c58e3a
SystemUI: add keyguard slice view to split shade layout
muhomorr Mar 20, 2025
0a8833c
fixup! SystemUI: fix keyguard media section placement when split shad…
muhomorr Mar 20, 2025
ac9015e
gmscompat: improve support for overriding Gservices flags
muhomorr Mar 20, 2025
df5c2c9
gmscompat: improve support for overriding phenotype flags
muhomorr Mar 21, 2025
c6b311b
gmscompat: remove unused valueSupplier support in GmsFlag class
muhomorr Mar 21, 2025
c340f64
gmscompat: remove no longer needed hooks for phenotype flag overrides
muhomorr Mar 21, 2025
26b2c6a
gmscompat: fix flag overrides not being applied in some cases
muhomorr Mar 21, 2025
31c58de
bp1f: update Build.VERSION_CODES.BAKLAVA
muhomorr Mar 23, 2025
735d692
SystemUI: fix a screenshot process crash in ScrollCaptureController
muhomorr Mar 25, 2025
614274a
Revert "don't allow to install APEXes"
muhomorr Mar 23, 2025
ca204fc
don't allow to install APEXes on user builds
muhomorr Mar 23, 2025
8b3e942
fix NPE system_server crash in F2fsUtils.getFilesRecursive()
muhomorr Mar 28, 2025
584dac7
fixup! add constants for some system package names
muhomorr Mar 28, 2025
7eae27e
SettingsProvider: add support for further restriction of setting access
muhomorr Mar 28, 2025
79ceff4
fixup! infrastructure for custom handling of known packages
muhomorr Mar 28, 2025
489a9b4
fixup! add auto-reboot feature
muhomorr Mar 28, 2025
213b61d
fixup! add GNSS SUPL setting
muhomorr Mar 28, 2025
d978235
fixup! add GNSS PSDS setting
muhomorr Mar 28, 2025
6ab4d09
fixup! Wi-Fi auto turn off
muhomorr Mar 28, 2025
7411d8a
fixup! Bluetooth auto turn off
muhomorr Mar 28, 2025
73907a1
fixup! add RemoteKeyProvisioning server override setting
muhomorr Mar 28, 2025
0377487
fixup! support for per-app dynamic code loading restrictions
muhomorr Mar 28, 2025
257d69c
fixup! add per-app memory tagging setting
muhomorr Mar 28, 2025
7ebb42d
fixup! notify the user about notable system journal entries
muhomorr Mar 28, 2025
af6f9ee
fixup! Widevine provisioning setting
muhomorr Mar 28, 2025
0557857
fixup! add battery charge limit setting
muhomorr Mar 28, 2025
9c89bcd
fixup! add network location setting
muhomorr Mar 28, 2025
a78c044
fixup! add special runtime permission for other sensors
muhomorr Mar 28, 2025
3d25833
fixup! add toggle for screenshot timestamp EXIF metadata
muhomorr Mar 28, 2025
74424a4
fixup! add option to scramble PIN layout
muhomorr Mar 28, 2025
4dceb4d
fixup! SettingsProvider: add support for further restriction of setti…
quh4gko8 Mar 28, 2025
f519dd8
fixup! Disable "Add users when locked" settings on every boot
quh4gko8 Mar 30, 2025
2f00bdf
fixup! Disable instant apps feature on every boot
quh4gko8 Mar 30, 2025
ee670ee
Revert "fixup! Disable instant apps feature on every boot"
muhomorr Mar 30, 2025
df9d0af
Revert "fixup! Disable "Add users when locked" settings on every boot"
muhomorr Mar 30, 2025
c443c07
Revert "Disable instant apps feature on every boot"
muhomorr Mar 30, 2025
8e8828a
Revert "Disable "Add users when locked" settings on every boot"
muhomorr Mar 30, 2025
de4ae27
Revert "SettingsProviderHooks: Infrastructure for hooking settings st…
muhomorr Mar 30, 2025
5f77259
fixup! SettingsProvider: add support for further restriction of setti…
muhomorr Mar 30, 2025
0a12db5
don't allow enabling the instant apps feature
muhomorr Mar 30, 2025
8094dc8
don't allow enabling the "add users when locked" setting
muhomorr Mar 30, 2025
e38d958
gmscompat: Remove STATS_MANAGER from hidden system services
quh4gko8 Apr 2, 2025
98edf66
fixup! append "Safe" to risky upstream method names
inthewaves Apr 8, 2025
74e9869
fixup! SystemUI: make screenshot sound use sound effects setting
inthewaves Apr 8, 2025
ea880f0
fixup! SystemUI: don't skip fingerprint auth success haptic when 2FA …
inthewaves Apr 8, 2025
961bab2
fixup! SystemUI: add keyguard slice view to split shade layout
inthewaves Apr 8, 2025
0ef83ec
fixup! SystemUI: require unlocking to use QS tiles by default
inthewaves Apr 8, 2025
b40e6bf
fix upstream RecoverySystem.verifyPackage vulnerability
thestinger Apr 9, 2025
5c5d501
drop Qualcomm PSDS support
thestinger Apr 10, 2025
8edf282
RemoteViews - Always load new ApplicationInfo from PackageManager.
zc-android Jan 17, 2025
67f96e6
fixup! add test for SELinux flags-based per-app hardening features
quh4gko8 Apr 11, 2025
3bc0d7c
fixup! fixup! add test for SELinux flags-based per-app hardening feat…
quh4gko8 Apr 15, 2025
ede71df
add visibility check before resuming top activity from user switch
inthewaves Mar 18, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ java_library {
"android.hardware.usb-V1.0-java-constants",
"android.hardware.usb-V1.1-java-constants",
"android.hardware.usb-V1.2-java-constants",
"android.hardware.usb.ext-V1-java",
"android.hardware.usb.gadget-V1-java",
"android.hardware.usb.gadget-V1.0-java",
"android.hardware.usb.gadget-V1.1-java",
Expand Down
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 @@ -1034,7 +1034,7 @@ void determineAssignmentsLocked(final ArraySet<ContextAssignment> changed,
for (int p = preferredUidOnly.size() - 1; p >= 0; --p) {
final ContextAssignment assignment = preferredUidOnly.get(p);
final JobStatus runningJob = assignment.context.getRunningJobLocked();
if (runningJob.getUid() != nextPending.getUid()) {
if (runningJob == null || runningJob.getUid() != nextPending.getUid()) {
continue;
}
final int jobBias = mService.evaluateJobBiasLocked(runningJob);
Expand Down Expand Up @@ -1916,8 +1916,9 @@ boolean executeStopCommandLocked(PrintWriter pw, String pkgName, int userId,
for (int i = 0; i < mActiveServices.size(); i++) {
final JobServiceContext jc = mActiveServices.get(i);
final JobStatus js = jc.getRunningJobLocked();
if (jc.stopIfExecutingLocked(pkgName, userId, namespace, matchJobId, jobId,
stopReason, internalStopReason)) {
if (js != null &&
jc.stopIfExecutingLocked(pkgName, userId, namespace,
matchJobId, jobId, stopReason, internalStopReason)) {
foundSome = true;
pw.print("Stopping job: ");
js.printUniqueId(pw);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,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 @@ -133,7 +133,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 @@ -194,7 +194,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 @@ -2501,6 +2502,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
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
9 changes: 6 additions & 3 deletions core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,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 @@ -353,7 +354,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 @@ -33416,7 +33419,7 @@ package android.os {

public static class Build.VERSION_CODES {
ctor public Build.VERSION_CODES();
field @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static final int BAKLAVA = 10000; // 0x2710
field @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static final int BAKLAVA = 36; // 0x24
field public static final int BASE = 1; // 0x1
field public static final int BASE_1_1 = 2; // 0x2
field public static final int CUPCAKE = 3; // 0x3
Expand Down Expand Up @@ -33456,7 +33459,7 @@ package android.os {
}

@FlaggedApi("android.sdk.major_minor_versioning_scheme") public static class Build.VERSION_CODES_FULL {
field public static final int BAKLAVA = 1000000000; // 0x3b9aca00
field public static final int BAKLAVA = 3600000; // 0x36ee80
field public static final int BASE = 100000; // 0x186a0
field public static final int BASE_1_1 = 200000; // 0x30d40
field public static final int CUPCAKE = 300000; // 0x493e0
Expand Down Expand Up @@ -44421,7 +44424,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
43 changes: 42 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.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";
field public static final String TEST_NETWORK_SERVICE = "test_network";
Expand Down Expand Up @@ -155,6 +168,29 @@ package android.content.pm {

}

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 Expand Up @@ -486,6 +522,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);
}

}

package android.os.storage {
Expand Down
Loading