summaryrefslogtreecommitdiff
path: root/apex
AgeCommit message (Collapse)Author
2025-03-21Allow JobScheduler concurrency limit as low as 1 Timur Calmatui
Bug: 396695710 Test: atest JobConcurrencyManagerTest Test: manually check `adb shell dumpsys jobscheduler` Test: manually verify via a trace fewer concurrent jobs Flag: EXEMPT bugfix Change-Id: I0c8783939add1fde9c49b3d61db473cc007368c3
2025-03-20Merge "Guard against excessively long package names and certificates." into main Sudheer Shanka
2025-03-17Guard against excessively long package names and certificates. Sudheer Shanka
Bug: 303227969 Test: atest CtsBlobStoreTestCases Flag: EXEMPT security fix Change-Id: I67ae28b6bc896d57abcb45ef586595bd8aa81346
2025-03-12JobScheduler: Enable quota parameters tuning overrides Xin Guan
Introduce new compatibility override to default quota parameters tuning The override only takes effective if the quota optimization is enabled Bug: 378129159 Test: atest FrameworksMockingServicesTests:com.android.server.job Test: atest CtsJobSchedulerTestCases:android.jobscheduler.cts.JobThrottlingTest Test: manual test. Flag: EXEMPT bugfix Change-Id: I5ce8f111462fd2512c0a37ca08e27d9b13f8ac69
2025-03-10Merge "JobScheduler: Tune default ACTIVE/EXEMPTED bucket job quota ↵ Xin Guan
parameters" into main
2025-03-10JobScheduler: Tune default ACTIVE/EXEMPTED bucket job quota parameters Xin Guan
10 min/30 min -> 20 min/60 min for ACTIVE 10 min/20 min -> 20 min/40 min for EXEMPTED Bug: 401767691 Test: atest FrameworksMockingServicesTests:com.android.server.job.controllers.QuotaControllerTest Flag: com.android.server.job.tune_quota_window_default_parameters Change-Id: I27d287543ad6cebf229c6e8fef89bcd7cd302f45
2025-03-07Merge "Release wakelock only when no alarms are in-flight" into main Treehugger Robot
2025-03-06Release wakelock only when no alarms are in-flight Suprabh Shukla
Fix the bug where the alarm wakelock could be released before all alarms completed. Test: atest FrameworksMockingServicesTests:com.android.server.alarm Flag: com.android.server.alarm.acquire_wakelock_before_send Fixes: 400058421 Change-Id: I86210548b9a8fc6050577ca1f7e973b127c47862
2025-03-05JobScheduler: Fix setImportantWhileForeground javadoc errors Xin Guan
Bug: 401032680 Test: build Flag: DOCS_ONLY Change-Id: Ie255627a403f9d6d3df7391d139c66ecb7ac7ae6
2025-03-03JobScheduler: Make the background job delay configurable Xin Guan
Bug: 397772554 Test: MANUAL dumpsys jobscheduler Flag: EXEMPT code refactor Change-Id: Ie4fdce3cd09a19073bebf4811456d3d87eded58e
2025-02-28Merge "Persist list of restored apps whose buckets need to be elevated." ↵ Treehugger Robot
into main
2025-02-27Persist list of restored apps whose buckets need to be elevated. Varun Shah
Keep the list of restored apps which need to be elevated to the RARE bucket in memory for up to 2 days (increased from 8hrs). Also persist this list to disk in case the device restarts within the first 2 days so important apps work as expected. Bug: 383766428 Test: manual (ensure restore logic isn't affected) Test: atest UsageStatsDatabaseTest Test: atest AppIdleHistoryTests Flag: com.android.server.usage.persist_restore_to_rare_apps_list Change-Id: I03af37d3da8be4ce405b0abc4c0d0f79bda1574b
2025-02-24Merge "Print missing alarm-manager flag in dumpsys" into main Treehugger Robot
2025-02-24Print missing alarm-manager flag in dumpsys Suprabh Shukla
Test: adb shell dumpsys alarm Flag: com.android.server.alarm.acquire_wakelock_before_send Bug: 391413964 Change-Id: I8662f5cf929c12ffb4919a7de17f71b17de174f6
2025-02-24Merge "Offer additional quota to system installers." into main Xin Guan
2025-02-23Merge "Release alarm wakelock if send fails" into main Suprabh Shukla
2025-02-23Offer additional quota to system installers. Xin Guan
Give power-exempted apps with the INSTALL_PACKAGES permission additional quota for regular type of jobs. Bug: 398264531 Test: atest FrameworksMockingServicesTests:com.android.server.job.controllers.QuotaControllerTest Test: atest CtsJobSchedulerTestCases Flag: com.android.server.job.additional_quota_for_system_installer Change-Id: Iaffd26e74e2ab9dc3a5ef9b22e87912dd221e324
2025-02-21Release alarm wakelock if send fails Suprabh Shukla
Now that we're acquiring a wakelock before we dispatch the alarm to the app, we also need to release it in cases where the dispatch results in an exception, because the only other release point is in the path of alarm completion or timeout. Test: atest FrameworksMockingServicesTests:AlarmManagerServiceTest Flag: com.android.server.alarm.acquire_wakelock_before_send Bug: 397950542 Change-Id: I7f119c51e2377841396efb360b38f51c1ab17915
2025-02-18Use mVerb to track job execution state in system for consistency. Sanath Kumar
System currently uses `mRunningJob` to track job execution as a simple binary (executing/not executing) state. However, `mRunningJob` doesn't accurately reflect transient states, such as during initial binding for `onStartJob` or when stopping due to `onStopJob`. These granular state changes, from non-executing to executing, are tracked by `mVerb`. While `mRunningJob` is functional, using `mVerb` for consistency with other job related API implementation related to job state checks would provide a more accurate and consistent reflection of the job's lifecycle within the system. Test: atest CtsJobSchedulerTestCases Test: atest FrameworksMockingServicesTests Bug: 372529068 Flag: android.app.job.handle_abandoned_jobs Change-Id: Ib8077f601b9f476a71bbb1bd948aba4698d2fbc2
2025-02-11JobScheduler: Add Trace Tag to the job name Sanath Kumar
Job Name Creation Logic with #<TraceTag># * When both tag and namespace are present: #<TraceTag>#@<Namespace>@<Tag>:<PackageName> * When a tag is present but a namespace is not: #<TraceTag>#<Tag>:<PackageName> * When a tag is not present but a namespace is present: #<TraceTag>#@<Namespace>@<PackageName>/<Classname> * When both a tag and namespace are not present: #<TraceTag>#<PackageName>/<Classname> Bug: 354795473 Test: atest FrameworksMockingServicesTests:com.android.server.job Test: atest CtsJobSchedulerTestCases Flag: com.android.server.job.include_trace_tag_in_job_name Change-Id: I5dfec8aaf2a082ace0dd1e4857c02552cdfbda2f
2025-02-06Don't check for carrier privileged apps. Xin Guan
if the device doesn't support Telephony APIs for the subscriptions Bug: 394635545 Flag: EXEMPT bug fix Test: atest FrameworksServicesTests:com.android.server.usage.AppStandbyControllerTests#testSlicePinnedEvent on non-telephony supported devices. Change-Id: I7b28a6983207fe1a67243c3046e72e1517ff5beb
2025-02-04JobScheduler: Use StringBuilder for job name generation Sanath Kumar
Improve job name generation by using StringBuilder instead of Java string concatenation. This change enhances readability and extensibility by using StringBuilder for string building, makes the code easier to understand and modify. Bug: 354795473 Test: atest FrameworksMockingServicesTests:com.android.server.job Test: atest CtsJobSchedulerTestCases Flag: EXEMPT refactor Change-Id: If7b3027918108c0508ed880f3ecdb5415b882315
2025-01-24Acquire wakelock before alarm dispatch Suprabh Shukla
This is required to avoid stalls in the app if a suspend operation is already under-way for some reason. The expectation is that the userspace wakelock acquisition will either block or succeed, in both cases guaranteeing that the app executes continously while processing the alarm. Test: atest FrameworksMockingServicesTests:com.android.server.alarm Flag: com.android.server.alarm.acquire_wakelock_before_send Bug: 391413964 Change-Id: I56a0739a60aa58139d40e8d64523328d5430b6ec
2025-01-14Merge "Add config overlay for alarms improvement features in multiuser" into ↵ Treehugger Robot
main
2025-01-14Add config overlay for alarms improvement features in multiuser Tetiana Meronyk
By default the features are enabled but can be disabled by overriding their values in corresponding overlay file. Bug: 385341949 Test: atest UserManagerServiceTest && atest VibratorManagerServiceTest && atest AlarmManagerServiceTest // with config values both on and off Flag: android.multiuser.multiple_alarm_notifications_support Change-Id: Ibfdd4d30920bdbef4a3ff1ec177ce8042f403d5d
2025-01-07Remove the backup jobs exemption flag. Varun Shah
The flag is now abandonded and there are no plans to relaunch this. Let's remove the flag to avoid any potential confusion. Bug: 382295619 Test: builds Flag: EXEMPT removing android.app.job.backup_jobs_exemption Change-Id: I226756f62b052fb012ed4a1fe424c9dac8013b1c
2024-12-18JobScheduler: Update wakelock tag with additional job type info Xin Guan
Apply the job type info to the wakelock tag for a better attribution Bug: 381880530 Test: atest CtsJobSchedulerTestCases:android.jobscheduler.cts.JobSchedulingTest Flag: android.app.job.add_type_info_to_wakelock_tag Change-Id: Ib05f00a575d9055999cd843622e801b654172325
2024-12-16Merge "JobConcurrencyManager: fix the NPE problem." into main am: 32bb571209 ↵ Treehugger Robot
am: c7a288da05 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3380400 Change-Id: I2affae85739fda006f5e42ec4d0bc87bfdc75923 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-12-16Merge "JobConcurrencyManager: fix the NPE problem." into main Treehugger Robot
2024-12-13Merge "JobScheduler: Enable abandoned job overrides" into main Sanath Kumar
2024-12-12JobConcurrencyManager: fix the NPE problem. lijilou
mRunningJob maybe null if there is no job running. Test: OEM monkey test Flag: EXEMPT bugfix Bug: 381776408 Change-Id: I36284ba4afe28d6da57ee79a2d27d722928747ae
2024-12-11JobScheduler: Enable abandoned job overrides Sanath Kumar
Application compatibility overrides now allow disabling abandoned job detection and handling. This override only takes effect if the abandoned job feature is enabled. Test: atest CtsJobSchedulerTestCases Test: atest FrameworksMockingServicesTests Bug: 372529068 Flag: android.app.job.handle_abandoned_jobs Change-Id: Ib19ef30a74b974edd96ecfa2090764e95bcd1e30
2024-12-10Count proxy jobs toward scheduling limit. Xin Guan
Limit schedule calls for persisted proxy jobs. Bug: 377912323 Bug: 299930087 Test: atest FrameworksMockingServicesTests:com.android.server.job.JobSchedulerServiceTest Flag: com.android.server.job.enforce_schedule_limit_to_proxy_jobs Change-Id: I4ebcdd6ee299347d7d5cf6e228ba441b73db7481
2024-12-06Remove references to the backup jobs exemption flag. Varun Shah
The changes associated with this flag were never launched and there are no plans to launch this in the near future. Remove the references to this flag. Bug: 382295619 Test: builds Flag: EXEMPT removing android.app.job.backup_jobs_exemption Change-Id: Ia08cee9de9483d4d6018a491463ab953e97bf9b6
2024-12-04Merge "Add Abandoned job reschedule data to the atom" into main Sanath Kumar
2024-12-03Fix remove_user_during_user_switch feature flag bug in aconfig Jahdiel Alvarez
Assign the correct bug to the remove_user_during_user_switch feature flag in the aconfig file. Test: m -j`nproc` Bug: 323200731 Flag: com.android.server.job.remove_user_during_user_switch Change-Id: I032f195f2f4c4268fe3aea9dfc0462b1f1cc2757
2024-12-02Add Abandoned job reschedule data to the atom Sanath Kumar
The number of times abandoned jobs got rescheduled and the boolean indicator if the aggressive backoff policy was applied to such jobs will be included in the existing job scheduler atom. bug: 372529068 Test: atest CtsJobSchedulerTestCases Test: atest FrameworksMockingServicesTests Flag: android.app.job.handle_abandoned_jobs Change-Id: I13ce36584d45527db2601687cd80d143b409764c
2024-11-28Revert^2 "Mark @FlaggedApi flags as exported" Mårten Kongstad
322dd88f9dedd580115bd62377c2a21323540d2f Change-Id: I9d1b06d9bea270e22f364bbc4be24174d3ae53fe
2024-11-27Revert "Mark @FlaggedApi flags as exported" Chaitanya Cheemala (xWF)
Revert submission 30583310-fix-non-exported-flags Reason for revert: Likely culprit for b/381233132 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Reverted changes: /q/submissionid:30583310-fix-non-exported-flags Change-Id: Iab8df31884c344069dfccde634623e0cc64ec13c
2024-11-26Mark @FlaggedApi flags as exported Mårten Kongstad
An aconfig flag that is used together with @FlaggedApi must be marked as `is_exported: true` to guarantee that the auto-generated lookup code checks the actual flag value (instead of using a hard-coded value set at compile time). This is important when the API is called across aconfig container boundaries (e.g. a mainline module calling code on the system partition). Mark all non-exported flags used with @FlaggedApi as exported. The "all @FlaggedApi flags are exported" invariant should be checked at build time; this will be added in future CLs. Bug: 378061535 Test: treehugger Flag: EXEMPT can't flag changes to flag declarations Change-Id: If45930e4afdcc87e374679ea73502651ce2de445
2024-11-22Merge "Change backoff policy for Abandoned Job failures" into main Sanath Kumar
2024-11-22Adjust the default bucket temp elevation parameters Xin Guan
Bug: 379909479 Test: atest FrameworksServicesTests:AppStandbyControllerTests Flag: com.android.server.usage.adjust_default_bucket_elevation_params Change-Id: I667ad5909654f99a8e6215149f9dcbaae7c380b1
2024-11-21Change backoff policy for Abandoned Job failures Sanath Kumar
Jobs that are abandoned due to a certain number of STOP_REASON_TIMEOUT_ABANDONED stop reasons will be rescheduled with an exponential backoff policy. This is because these jobs are likely to be empty and not perform any related work until the system times out the job. bug: 372529068 Test: atest CtsJobSchedulerTestCases Test: atest FrameworksMockingServicesTests Flag: android.app.job.handle_abandoned_jobs Change-Id: I2f5e7e3ba3d9a3b2c229ff322eeaaa62c090947b
2024-11-19Ensure thermal restriction is included in getJobPendingReasons API. Varun Shah
Currently, if a job is pending because of multiple constraints, thermal restriction will not be included in the pending reasons since it was evaluated later. Update this logic so that apps know the device is in a bad state which could also be leading to the job not being executed. Bug: 372031023 Flag: android.app.job.get_pending_job_reasons_history_api Test: atest JobSchedulingTest Change-Id: Ia4c796725472dcb0cf9b0bd1ba4c98f739b1985c
2024-11-18Merge "JobScheduler: Enable quota optimization overrides" into main Xin Guan
2024-11-18JobScheduler: Enable quota optimization overrides Xin Guan
Add new application compatibility override that can control the jobscheduler quota enforcement to jobs running in the foreground states or jobs started when apps in TOP state The overrides only take effective if the quota optimization is enabled. Bug: 378129159 Test: FrameworksMockingServicesTests:com.android.server.job.controllers.QuotaControllerTest Test: manual test. Flag: EXEMPTED bug fix Change-Id: I968b000cce5e8234fce743d666bc1000e9fffeeb
2024-11-13Merge 24Q4 (ab/12406339) into aosp-main-future Xin Li
Bug: 370570306 Merged-In: Ic2ffd5a1f4420121b958cadb726c3e805cda1434 Change-Id: If0f7008f8e699bf1fca8d20ee5e05877a61ea002
2024-11-12Clean up use_frozen_state_to_drop_listener_alarms flag Suprabh Shukla
The flag has been fully rolled out a couple releases ago. Flag: EXEMPT removing com.android.server.alarm.use_frozen_state_to_drop_listener_alarms Test: atest FrameworksMockingServicesTests:AlarmManagerServiceTest Bug: 324470945 Change-Id: Ibb260beebed75052175c85bbda59bd9a379a0bab
2024-11-11Merge "Add a new API to fetch pending job reasons history." into main Treehugger Robot
2024-11-11Add a new API to fetch pending job reasons history. Varun Shah
JobScheduler.getPendingJobReasonsHistory() will allow an app to query its constraint history for a particular job. This will only be a limited historical view of the constraints (currently last 10 constraint changes). Bug: 372031023 Test: atest JobSchedulingTest Flag: android.app.job.get_pending_job_reasons_history_api Change-Id: I9f858925e990e6dfd6db1b79b9f6cff36d1761e9