Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
364 commits
Select commit Hold shift + click to select a range
67cdcc9
SystemUI: require unlocking to use QS tiles by default
muhomorr Mar 11, 2024
48ae84e
SystemUI: allow to use some QS tiles while device is locked
muhomorr Mar 11, 2024
31768a4
SystemUI: enable NFC quick settings tile
thestinger Mar 17, 2019
e403dbd
SystemUI: Enable production-ready feature flags
kdrag0n Mar 14, 2022
ba7958d
SystemUI: Use new privacy indicators for location
kdrag0n Oct 11, 2021
c63dccc
SystemUI: fully enable location indicators by default
thestinger Aug 17, 2022
e89062b
SystemUI: specify config_sceenshotWorkProfileFilesApp
muhomorr Jun 18, 2023
ed93dfa
SystemUI: add Battery share & Battery share quick tiles
empratyush Jun 21, 2022
baadb4f
SystemUI: change default quick tiles and quick tile order
thestinger Oct 19, 2021
2a2845c
SystemUI: make screenshot sound use touch sounds setting
x86pup Mar 19, 2023
3533c18
SystemUI: apply "Add users from lock screen" setting to guest users
muhomorr Jun 23, 2023
b4aa3a9
SystemUI: Allow customizing lock screen shortcuts via ThemePicker
quh4gko8 Oct 10, 2023
8884d67
Add config to exempt telephony-related app from location indicators
kdrag0n Feb 17, 2022
d780b20
exempt some system packages from status bar privacy indicator
thestinger Apr 17, 2022
ba7efc8
allow PackageInstaller to use platform APIs
muhomorr Mar 5, 2024
0af92e5
PackageInstaller: link "App info" screen from the uninstallation dialog
muhomorr Apr 17, 2022
0ecf154
PackageInstaller: fix NPE due to a race condition in PackageUtil
muhomorr Aug 15, 2024
dc609f7
PackageInstaller: fix crash when showing app's first confirmation prompt
muhomorr Oct 19, 2024
dd92d20
disable support for pre-approving PackageInstaller sessions
muhomorr Dec 22, 2023
f62e8fb
define READ_LOGS_FULL permission for promptless logcat access
muhomorr Jan 6, 2024
33cdcea
add APIs for launching LogViewer app
muhomorr Jan 6, 2024
6d8ee97
add helpers for system_server extensions
muhomorr Jul 31, 2022
bfa8417
Warn the user if they are using a prototype Pixel device
flawedworld Jun 15, 2022
9daf29b
Support forwarding notifications from other users
x86pup Mar 19, 2022
4edf10b
DeviceIdleJobsController: don't ignore whitelisted system apps
muhomorr Jul 7, 2022
cceca2e
do not allow disabling app visibility filtering
muhomorr Apr 6, 2023
6b1406a
add hooks for modifying PackageManagerService behavior
muhomorr Mar 27, 2023
b3ca4df
rename AppsFilterImpl.grantImplicitAccess method
muhomorr Apr 30, 2024
4acee23
add hooks for modifying ActivityThread behavior
muhomorr Aug 18, 2023
78c428d
add helper class for launching non-standard Settings intents
muhomorr Nov 15, 2023
6084a86
AppBindArgs: infrastructure for passing extra args to app process init
muhomorr May 16, 2023
85a2a87
infrastructure for custom handling of known packages
muhomorr Dec 20, 2023
dd67188
gosps: support for per-app GrapheneOS-specific persistent state
muhomorr Jul 31, 2022
38378cc
extend excludedMethods list in AndroidPackageTest
muhomorr Jun 2, 2024
50d54e0
add method for updating cached package permission state
muhomorr Dec 18, 2023
8433305
PackageHooks: infrastructure for per-package hooks in system_server
muhomorr Dec 18, 2023
adcddee
add base class for complex per-app switches
muhomorr Sep 24, 2023
bd80787
SettingsLib: add CategoryKey for Exploit protection screen
muhomorr Jul 30, 2024
52eedef
infrastructure for spoofing self permission checks
muhomorr Jul 31, 2022
38d90d0
infrastructure for special runtime permissions
muhomorr Feb 9, 2023
8a23852
add special runtime permission for other sensors
muhomorr Feb 9, 2023
62e7afd
notify the user when sensors access is denied by OTHER_SENSORS perm
muhomorr Oct 4, 2022
eb20ed9
make INTERNET into a special runtime permission
thestinger Mar 17, 2019
dc9b8af
improve compatibility of INTERNET special runtime permission
muhomorr Jul 31, 2022
5ed7edf
don't run jobs that need connectivity in apps that lack INTERNET perm
muhomorr May 19, 2023
33dfd94
PackageInstallerUI: an option to skip auto-grant of INTERNET permission
muhomorr Oct 7, 2022
8dc6c18
use permanent fingerprint lockout immediately
thestinger Sep 12, 2017
c25abcb
add system property for disabling keyguard camera
thestinger Jul 25, 2017
97b5d41
add auto-reboot feature
muhomorr Jan 13, 2024
b2b2ef9
infrastructure for the Storage Scopes feature
muhomorr Jul 31, 2022
ba3422c
sscopes: temp: disable incomplete handling of READ_MEDIA_VISUAL_USER_…
muhomorr Oct 5, 2023
ebcb70d
control access to Android/obb directory with a GosPackageState flag
muhomorr Jul 31, 2022
35fd95c
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
5011624
fix ANR details link not working in profiles and in secondary users
muhomorr Nov 1, 2024
587c587
include path of ANR stack traces file in ApplicationErrorReport
muhomorr Oct 7, 2024
f390e06
don't block reading ANR stack traces file via Unix file permissions
muhomorr Oct 8, 2024
f065af8
add option to view application error details in LogViewer app
muhomorr Aug 8, 2022
5e11c48
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
4fd3e99
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
d7af5fb
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
f80bed9
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
f09d7fc
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
c70d2c9
bugfix: properly acquire package state from original package
quh4gko8 Mar 13, 2024
8c7f5a0
disable package parser cache
muhomorr Jan 30, 2023
8ecd626
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
63fe096
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
356fbd4
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
794515c
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
159cd0c
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
4594e88
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
258a845
Remove build fingerprint from screenshot EXIF
x86pup Apr 29, 2022
020b244
add toggle for screenshot timestamp EXIF metadata
x86pup Feb 18, 2023
4687083
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
3f5d4a5
add GNSS SUPL setting
muhomorr Mar 3, 2023
d131655
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
d0e72b9
add option to scramble PIN layout
muhomorr Feb 24, 2023
afa9537
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
881c5cf
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
e84459e
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
f9cd7a8
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
42bb125
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
17accef
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
fea18d1
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
a5e937c
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
3d324e0
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
1ffdcd3
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
64a2bd5
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
cf4c3a7
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
3461f48
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
6fd809d
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
9d5ca85
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
8e7b7da
add BinderWrapper
muhomorr Jan 17, 2025
509868b
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
08ff75e
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
aedf946
add config for Pixel Camera Services
muhomorr Jan 9, 2024
9ae574f
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
9f50df4
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
14cc2de
add GNSS PSDS setting
muhomorr May 2, 2023
4a054ce
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
e8fc34e
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
ba58b96
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
a7a2fd8
Wi-Fi auto turn off
muhomorr Jul 31, 2022
7f519a7
Bluetooth auto turn off
muhomorr Jul 31, 2022
0fca513
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
6878b29
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
e485b02
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
abbec7b
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
dde32e3
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
2d29dd2
disable OtaDexoptService
muhomorr Oct 23, 2023
a538118
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
afac774
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
f716658
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
c12db6b
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
886c180
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
562a488
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
cfbb947
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
2966f93
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
22b61e1
add per-app native debugging setting
muhomorr Sep 26, 2023
76f853f
add system API for getting app info by PID
muhomorr Nov 8, 2023
62bb01e
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
16d64f0
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
1c2fcaf
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
dec5437
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
ddac133
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
9772e26
fix an upstream race condition in handling of system error files
muhomorr Oct 7, 2024
d4337f1
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
bc1af6e
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
f4692d9
notify the user about notable system journal entries
muhomorr Nov 8, 2023
c311eea
support for per-app dynamic code loading restrictions
muhomorr Sep 26, 2023
58af904
add test for SELinux flags-based per-app hardening features
muhomorr Sep 20, 2023
bd87e10
add per-app memory tagging setting
muhomorr Nov 5, 2023
dec4780
Widevine provisioning setting
maade93791 Sep 29, 2023
8a8ddc9
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
c40ab95
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
69ef08d
add UsbManager API for configuring USB port security state
muhomorr Feb 23, 2024
080d36b
add setting for USB port security state
muhomorr Feb 23, 2024
98e0a16
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
5eac756
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
d58ee1a
disable support for adoptable storage
muhomorr May 29, 2024
c0a2011
add a helper class for wiping eUICCs
muhomorr May 29, 2024
0f4374a
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
ad046ce
add duress password feature
muhomorr May 29, 2024
2eb1ad8
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
f3a8a8f
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
55d4899
add a test for the duress password feature
muhomorr May 29, 2024
b32d065
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
63e6719
stub out reads of hidden system settings in Google's text-to-speech app
muhomorr Jul 1, 2024
eb1f506
make Google's text-to-speech app force-queryable
muhomorr Nov 25, 2024
f00dcb2
show a deprecation warning dialog on each launch of a 32-bit app
muhomorr Jul 6, 2024
5ebaa83
better 32-bit deprecation warning
thestinger Jul 7, 2024
bae48f4
fix touch-to-unlock on Google devices with side fingerprint scanner
muhomorr Jul 16, 2024
b0a9775
add setting for alternative touchscreen mode
muhomorr Jun 19, 2024
3862b2c
don't report some android.hardware.bluetooth-service.bcmbtlinux crashes
muhomorr Aug 5, 2024
0997a14
don't report harmless fingerprint-service.goodix crash
muhomorr Nov 15, 2024
14aedf8
sysconfig: support enabling association restrictions without exemptions
muhomorr Aug 29, 2024
a44ba41
add config for Pixel Health app
muhomorr Aug 26, 2024
2cb50e0
new PermissionService: implement shouldBlockGrantRuntimePermission()
muhomorr Aug 10, 2024
1b54d1a
new PermissionService: implement updatePermissions()
muhomorr Aug 10, 2024
9a5d945
new PermissionService: implement PackageHooks support
muhomorr Aug 10, 2024
6900d4c
new PermissionService: support for special runtime permissions
muhomorr Aug 11, 2024
a1720fd
temp: unconditionally enable system crash notifications
muhomorr Jun 3, 2024
426cb5b
Revert "temp: unconditionally enable system crash notifications"
thestinger Jun 13, 2024
8330770
ignore factory reset protection (FRP)
muhomorr Oct 16, 2024
a03b622
fix check for the current holder of the Wallet app role
muhomorr Oct 19, 2024
5c61b07
disable memory tagging for Pixel Camera Services
muhomorr Oct 20, 2024
ba3d0af
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
411bf93
raise backup transport timeout
thestinger Oct 23, 2024
9ba97bf
add utility class for obtaining and keeping track of Binder caller info
muhomorr Nov 4, 2024
0938c56
fix handling of MATCH_ARCHIVED_PACKAGES flag in getPackageUidInternal()
muhomorr Nov 4, 2024
6a4e9ec
delay activation of the Allow button in USB ADB confirmation dialog
muhomorr Dec 5, 2024
4248462
FusedLocation: remove racy and redundant lazy init in Service.onBind()
muhomorr Dec 4, 2024
1c2db36
never remove location providers at runtime
muhomorr Dec 4, 2024
7d6ddd7
disable safe media volume management
muhomorr Dec 11, 2024
18d36fc
add battery charge limit setting
muhomorr Dec 29, 2024
fa3dcec
SystemUI: add support for battery charge limit feature
muhomorr Dec 29, 2024
52635f7
add dev option to log Java binder transaction
muhomorr Dec 28, 2024
3de9c2a
prevent recycling user IDs
u-fred Dec 21, 2024
3f70dc4
add LockDomain
u-fred Dec 21, 2024
080b5a5
add second factor to DevicePolicyManagerService
u-fred Dec 21, 2024
d0c74ec
add second factor to LockSettingsService
u-fred Dec 21, 2024
bd5fa84
add second factor to LockSettingsStateListener
u-fred Dec 21, 2024
f393f6d
add second factor to AdaptiveAuthService
u-fred Dec 21, 2024
1925baa
add second factor to TrustManagerService
u-fred Dec 21, 2024
26baa2b
add biometric keyguard settings to LPU
u-fred Dec 21, 2024
5a537f5
improve upstream LPU#isCredentialSharableWithParent
u-fred Dec 21, 2024
29cecd7
add second factor to LockPattern classes
u-fred Dec 21, 2024
f9bead4
add BiometricAuthTokenStore
u-fred Dec 21, 2024
2a3c789
add second factor to FingerprintService
u-fred Dec 21, 2024
a646938
add second factor UI
u-fred Dec 21, 2024
740af3e
throw Exception to notify of SceneContainerFlag
u-fred Dec 21, 2024
e68b65f
prevent face auth in KUM
u-fred Dec 21, 2024
ee9bd57
fix upstream fingerprint mode change bug
u-fred Dec 21, 2024
571cff0
append "Safe" to risky upstream method names
u-fred Dec 22, 2024
3cb5972
add second factor to fingerprint unlock
u-fred Dec 21, 2024
e1f923c
fix feature check in DPMS.getPasswordMinimumMetricsUnchecked()
muhomorr Dec 25, 2024
f28d76d
fix collision check in SyntheticPasswordManager.generateProtectorId()
muhomorr Dec 25, 2024
341e4c8
SystemUI: don't skip fingerprint auth success haptic when 2FA is on
muhomorr Jan 3, 2025
05ca8e0
add workaround for SSM.newTargetUser() system_server crash
muhomorr Jan 6, 2025
89b9aa5
add workaround for updateWifiBatteryStats() system_server crash
muhomorr Jan 6, 2025
f9e8b99
don't break boot of debug OS build on permission allowlist violations
muhomorr Jan 7, 2025
c4d03e2
opt-out TunerSettings from edge-to-edge
thestinger Jan 9, 2025
3914502
protect against upstream bugs bypassing 2FA
thestinger Jan 14, 2025
f0d5534
fix serious upstream lockscreen animation bug
thestinger Jan 14, 2025
c4a49a2
unconditionally show KASAN kernel crash notifications
muhomorr Jan 16, 2025
136c696
disable wake lock based on 2+ screen undims
thestinger Jan 21, 2025
cb89eaa
zygote: don't reload android.os.Build after applying appcompat sysprops
muhomorr Jan 24, 2025
43542ae
enable appcompat sysprop overrides for user-installed apps
muhomorr Jan 24, 2025
2902741
don't delay setting observer callbacks for background system packages
muhomorr Feb 1, 2025
8057d21
add network location setting
soupslurpr Nov 5, 2024
eabf291
add network location provider to config_locationProviderPackageNames
soupslurpr Dec 24, 2024
bd169b0
gosps: allow cross-user-profile read permission to PermissionController
muhomorr Feb 26, 2025
c4630c9
FusedLocation: don't attempt to flush inactive providers
muhomorr Feb 28, 2025
272ef2d
exclude Network Location from location indicator
thestinger Feb 28, 2025
925b93a
gmscompat: skip location settings check activity when rerouting is on
muhomorr Mar 2, 2025
73c0014
_fixup! append "Safe" to risky upstream method names
muhomorr Mar 5, 2025
8232ee0
disable HttpEngine preloading for exec spawning
muhomorr Mar 5, 2025
343a5ce
fixup! add BiometricAuthTokenStore
muhomorr Mar 6, 2025
c0070e4
gosps: fix parseFlag(), which is used by automated tests
muhomorr Mar 6, 2025
690f112
gmscompat: fix Play Services for AR being non-installable
Feb 19, 2025
5edfcdc
gmscompat: fix dev option for installing Pixel Health app
muhomorr Mar 7, 2025
eb390dd
Fix an NPE when a user is added and then removed quickly
Dec 11, 2024
188bc82
JobConcurrencyManager: fix the NPE problem.
Dec 2, 2024
bc0df9d
ContentRecorder: fix the NPE problem.
Dec 9, 2024
f6627a8
Fix the NPE problem.
Nov 27, 2024
34c5455
RecentTasks:fix NPE problem to avoid system_server process crash.
Dec 16, 2024
f91ca94
ContentRecorder: fix NPE problem to avoid crash when start recording.
Dec 17, 2024
f1ebb0c
CameraStateMonitor:fix the potential NPE problem.
Dec 17, 2024
de06fba
ScreenRecordingCallbackController: fix NPE problem.
Dec 18, 2024
af760fc
FadeOutManager: the NPE problem due to add null value to SparseArray.
Dec 16, 2024
145956a
TaskDisplayArea: fix NPE problem.
Dec 26, 2024
62f2e44
Fix NPE problem to avoid systemserver process crash.
Feb 19, 2025
21fce1a
Use local var method to avoid NPE in multithread suition.
Jan 20, 2025
919235e
Transition: fix NPE problem.
Jan 6, 2025
f67ad8e
[Bugfix]Fix NPE for PackageInstallerSession
Feb 20, 2025
71b80b4
Fix array index out of bounds exception problem.
Feb 27, 2025
82220ac
AudioService: fix voice volume adjustments
Feb 27, 2025
04d3348
Revert "SystemUI: make screenshot sound use touch sounds setting"
muhomorr Mar 8, 2025
8a957f2
SystemUI: make screenshot sound use sound effects setting
muhomorr Mar 8, 2025
e749cbd
gmscompat: don't call Binder.getCallingUid() in RPC mode
muhomorr Mar 9, 2025
77319e9
fixup! support for per-app dynamic code loading restrictions
muhomorr Mar 9, 2025
7378f8b
exempt Terminal app from WebView DCL restrictions
muhomorr Mar 9, 2025
538969d
SystemUI: Fix constraints for keyguard slice view
luk1337 Dec 28, 2024
f94d1d3
SystemUI: Don't remove keyguard slice view
luk1337 Dec 28, 2024
0ff013b
SystemUI: Fix burn-in translations not applying to keyguard slices
AndyCGYan Jan 18, 2025
1de98f7
disable config_keyguardUserSwitcher on tablet devices
muhomorr Mar 9, 2025
6195b26
Revert "gmscompat: skip location settings check activity when rerouti…
muhomorr Mar 13, 2025
75300e0
config: enable desktop mode support
muhomorr Mar 15, 2025
3404fbe
add patch level expiry warning popup & notification
inthewaves Feb 16, 2025
3b1dfd0
patch expiry warning: handle System UI force stops
inthewaves Mar 16, 2025
e6c364c
SystemUI: fix test compilation
inthewaves Mar 16, 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
5 changes: 4 additions & 1 deletion 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 @@ -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