summaryrefslogtreecommitdiff
path: root/apex
AgeCommit message (Collapse)Author
2022-03-15Merge SP2A.220305.013Haamed Gheibi
Bug: 220074017 Change-Id: Idfdd94e902f656ac65a2a75dfdd199f6f85ba472
2021-09-27Partial revert "Wait for unlock to start jobs."Kweku Adams
This reverts commit e61cf5125e83b119701228e742f7b2cb3a433cb6 but changes onUserUnlocking to onUserUnlocked. Reason for revert: Direct-boot-aware jobs should be allowed to run when the user is locked Bug: 201307089 Change-Id: Ic5a67a42590e171f0bfed8da0c138096031469d5 (cherry picked from commit 171bf04113154a7e3668e07677701869dfae9eda)
2021-09-20tempAllowList duration can be updated if an UID is already tempHui Yu
allowlisted. Previously when PowerExemptionManager.addToTemporaryAllowList() is called for a second time before the first time call's duration expires, the second call does not update ActivityManagerService's FgsTempAllowList for the new duration. This CL fixes this problem. Bug: 199801023 Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java Change-Id: Ibb8c6f41740a9b7468b50a4cdabe526ae58550ec
2021-09-07Clean up ownership in frameworks/base/Santiago Seifert
This is a cherrypick of aosp/1804116. Bug: 197217250 Change-Id: I04bee764bf50734523ff2210d30ed052dcb036bd Merged-In: I04bee764bf50734523ff2210d30ed052dcb036bd Test: No code changes done.
2021-08-20Merge "Use an exact alarm for location timeout." into sc-devKweku Adams
2021-08-16Use an exact alarm for location timeout.Kweku Adams
Use an exact alarm for the location timeout to avoid keeping the GPS active for too long. Bug: 194385761 Test: atest DeviceIdleTest Test: atest FrameworksMockingServicesTests:DeviceIdleControllerTest Change-Id: I52b7ec6d993705ee605e3780a29a484c0d48e633
2021-08-12Rename android.media.MediaTranscodeManager -> MediaTranscodingManagerRay Essick
renamed to avoid conflict with existing copy in the R framework.jar. The framework.jar copy was removed during S development Bug: 195608856 Test: build Test: cts-tradefed run cts -m CtsMediaTranscodingTestCases Change-Id: I40ab066cd61be8d278f21cc788016f2edd6bb86e
2021-07-28Merge "Consistent reporting of failure conditions" into sc-devChris Tate
2021-07-27Address sorting edge case.Kweku Adams
There are times when the enqueue time of two different jobs are exactly the same. In those cases, if an EJ skipped over one regular job with an enqueue time X, then it should skip all other regular jobs with enqueue time X. Bug: 194324016 Test: atest FrameworksMockingServicesTests:JobSchedulerServiceTest Test: atest CtsJobSchedulerTestCases Change-Id: I77e106676238dd3ae198fab619af430e48d433a2
2021-07-23Merge "Don't crash apps due to race condition." into sc-devTreeHugger Robot
2021-07-23Merge "Logging the caller uid state with AlarmScheduled atom" into sc-devTreeHugger Robot
2021-07-22Don't crash apps due to race condition.Kweku Adams
When apps are stopped unnaturally (ie. because something stopped the job and the job itself didn't call jobFinished or dequeueWork with no remaining work) then we have the chance of small race conditions where the job may try to complete its work. Since the race condition isn't really the app's fault, we shouldn't punish the app for it. Bug: 194358301 Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Test: atest CtsJobSchedulerTestCases Change-Id: I3b0edd4f2241172fe97875eb8070cb5188027afb
2021-07-22Merge "Fix validation crash for nextPageToken." into sc-devTerry Wang
2021-07-22Merge "Log stats for Optimize" into sc-devXiaoyu Jin
2021-07-22Merge "Remove deprecated, hidden versions of changed public APIs." into sc-devTreeHugger Robot
2021-07-21Fix validation crash for nextPageToken.Terry Wang
We are caching nextPageToken in query(), and validate it in getNextPage(). But when it reach to the end, the token will be changed to 0. And it will crash if user is trying to fetch next page since 0 is not cached and won't passed the validation. This change fix the issue. Without it, users maybe crashed if they are trying to retrieve all documents in all result pages. Bug: 187972715 Test: AppSearchSessionUnitTest Change-Id: Ia95feb52f2a37348e11afdf0b320c61bfce22d40
2021-07-20Logging the caller uid state with AlarmScheduled atomSuprabh Shukla
Test: statsd_testdrive 368 Test: atest FrameworksMockingServicesTests:AlarmManagerServiceTest Test: atest CtsAlarmManagerTestCases Test: atest CtsStatsdAtomHostTestCases:AlarmStatsTests Bug: 194249875 Change-Id: Ia55306b3a4839aadc4bc2fdd873878b1a4e591fb
2021-07-21Merge "Allow GenericDocument accept a String property longer than 20_000." ↵TreeHugger Robot
into sc-dev
2021-07-21Merge "Ensure calling user is the same as requested user." into sc-devCassie Wang
2021-07-20Merge "Stop removing all APP_STANDBY_BUCKET_CHANGED messages." into sc-devTreeHugger Robot
2021-07-20Merge "Fix parameter order." into sc-devKweku Adams
2021-07-20Stop removing all APP_STANDBY_BUCKET_CHANGED messages.Kweku Adams
APP_STANDBY_BUCKET_CHANGED messages are for single apps, so it doesn't make sense to remove all messages whenever any app's standby bucket changes. Bug: 193918191 Test: N/A Change-Id: I981cd3be3cd381c6d00f06e3da9f8e67f157a26b Merged-In: I981cd3be3cd381c6d00f06e3da9f8e67f157a26b
2021-07-19Fix parameter order.Kweku Adams
AlarmManager.setWindow's parameter order is type -> window start -> window length. Actually put the values in the correct order. Bug: 193866265 Test: atest DeviceIdleTest Test: atest FrameworksMockingServicesTests:DeviceIdleControllerTest Change-Id: I5c87dad3015859d68aacb6781166432b615327b9
2021-07-19Ensure calling user is the same as requested user.Cassie Wang
This prevents any cross-user requests. Cross-user requests are already not allowed, but due to a bug elsewhere in the code. This intentionally handles the case and also throws a SecurityException. Bug: 193903221 Test: presubmit Test: manually checked cross-user requests get an exception. Change-Id: I5bd867b86b972452daa2d8253f3c19f059a8a4b3
2021-07-16Allow GenericDocument accept a String property longer than 20_000.Terry Wang
This limit was removed from the AppSearch Jetpack API meaning that a client could construct a GenericDocument successfully, but then have a PutDocuments call fail when converting from androidx.appsearch.GenericDocument to android.appsearch.GenericDocument. Icing still has a total document size limit which is 16 MiB. The put call will fail if it trying to write such document. Bug: 192909904 Test: GenericDocumentTest Change-Id: I86f97acc3a8e0f1c25fadf597aed9f42a2c493eb
2021-07-15Log stats for OptimizeAlexander Dorokhine
OptimizeStats is crucial for us to tune our configuration for optimization, which might affect the health of AppSearch and system overall. Details can be found in Ib7ae475cc035d1b69969df1e22ac409895e0e3fa. Also add sampling parameters in AppSearchConfig for: 1) initializeStats 2) searchStats 3) globalSearchStats 4) optimizeStats Bug: 173532925 Bug: 175255572 Test: AppSearchStatsTest, FrameworksMockingServicesTests:AppSearchConfigTest, CtsAppSearchTestCases Ignore-AOSP-First: AppSearch is not available on AOSP yet Change-Id: Id61704407bdb40707cb8fa46b556024aea9f9083
2021-07-15Merge "Cache nextPageTokens that a package can use." into sc-devCassie Wang
2021-07-14Merge "Separating alarm history for lower quota" into sc-devTreeHugger Robot
2021-07-14Merge "Restrict all jobs when the device is too hot." into sc-devKweku Adams
2021-07-13Restrict all jobs when the device is too hot.Kweku Adams
Restrict all jobs (and not just connectivity jobs) when the thermal status is SEVERE+. Bug: 193269111 Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Test: atest CtsJobSchedulerTestCases Change-Id: Id8eed849dfeb26aca1c0743af974c9efadf7fb78
2021-07-13Separating alarm history for lower quotaSuprabh Shukla
Using a separate container for lower allow-while-idle quota to avoid out of quota issues. Using the same container means that the lower quota is out whenever higher quota is used for alarms from the same app. Lower quota - currently once per 9 minutes - is used in the following cases: - Inexact allow-while-idle alarms. This means the same app can use alarms using high quota and low quota simultaneously. - When the caller is targeting < S. - When the caller is in the power save allowlist, but does not have the permission - for exact alarms. Test: atest CtsAlarmManagerTestCases Test: atest FrameworkMockingServicesTests:com.android.server.alarm Bug: 190788800 Change-Id: Iba46fdd36dc04843e9256827b0754d21cfff89c9
2021-07-13Consistent reporting of failure conditionsChristopher Tate
Querying for the state of the exact-alarm permission produced inconsistent results depending on circumstances. This is now fixed so the failure reporting is invariant. Bug: 193032972 Test: manual Test: atest CtsAlarmManagerTestCases Change-Id: Ie1cc126cec568b6f53ebe6049e57ed13abdfd5bb
2021-07-12Remove deprecated, hidden versions of changed public APIs.Alexander Dorokhine
These versions were kept around to facilitate dogfooder transition during the API council review process. Our dogfooders' apps have updated to versions that use the finalized sdk, so these are no longer required. Bug: 181887768 Test: Presubmit Test: Flash device, run jetpack platform backend tests Change-Id: I4852b1ecc25254ffb781926ca799d0c8128339ab
2021-07-10Merge "Register callback to statsD for AppSearchStorageInfo" into sc-devXiaoyu Jin
2021-07-09Register callback to statsD for AppSearchStorageInfoXiaoyu Jin
Bug: b/173532925, b/193254235 Test: statsd_testdrive 10116 atom { app_search_storage_info { user: 0 total_storage_size_bytes: 3929088 document_storage_info { num_alive_documents: 1116 num_deleted_documents: 4933 num_expired_documents: 0 document_store_size_bytes: 3637760 document_log_size_bytes: 2928640 key_mapper_size_bytes: 49152 document_id_mapper_size_bytes: 49152 score_cache_size_bytes: 122880 filter_cache_size_bytes: 73728 corpus_mapper_size_bytes: 20480 corpus_score_cache_size_bytes: 4096 namespace_id_mapper_size_bytes: 20480 num_namespaces: 21 } schema_store_storage_info { schema_store_size_bytes: 39424 num_schema_types: 4 num_total_sections: 9 num_schema_types_sections_exhausted: 0 } index_storage_info { index_size_bytes: 248320 lite_index_lexicon_size_bytes: 155648 lite_index_hit_buffer_size_bytes: 262144 main_index_lexicon_size_bytes: 0 main_index_storage_size_bytes: 0 main_index_block_size_bytes: 4096 num_blocks: 1 min_free_fraction: 0.99999905 } } } appsearch cts tests Change-Id: I009c0932e36afb467c93013215d1e67dfae5a28a
2021-07-09Merge "Add check for optimize after each mutation operation." into sc-devTerry Wang
2021-07-09Add check for optimize after each mutation operation.Terry Wang
Optimize is an important job for AppSearch to work properly. It could collect garbage and release resources. Without it, the garbage resource will last forever and the device's space will be fulled up by zombie documents. The algorithm to trigger optimize is: 1: Query garbage resource info after a batch of mutation operations. 2: Only trigger optimize if there are enough resource could be released. The behavior exists in AppSearch Jetpack for a while and working properly for our Jetpack dogfooders. Bug: 175255572 Test: FrameworkOptimizeStrategyTest Test: AppSearchConfigTest Test: AppSearchImplTest Change-Id: Ib7ae475cc035d1b69969df1e22ac409895e0e3fa
2021-07-08Cleanup appsearch platform loggerTej Singh
Test: TH Bug: 192684294 Change-Id: I8e6828b9cbcbd30d06370ad19f2d36290298da25
2021-07-07Merge "Cleanup AcitivityManagerConstants and AppSearch" into sc-devTej Singh
2021-07-02Cleanup AcitivityManagerConstants and AppSearchTej Singh
Test: TH Bug: 192684294 Change-Id: Iaf4d7893214297408f609ce58573846f2b6adf5e
2021-07-02Cache nextPageTokens that a package can use.Alexander Dorokhine
A user-package can only manipulate their own nextPageTokens (i.e. advance or invalidate it) otherwise some other package could affect the search results of a package. Because we check at the user-package level, this still allows a package to manipulate nextPageTokens that were returned for different databases. This isn't recommended, but not a security risk since it's the package's own data. Note that manipulating nextPageTokens isn't available through AppSearch's public API. This would be if someone were circumventing the normal AppSearchSession. Bug: 187972715 Test: AppSearchImplTest Change-Id: I67a22f3ae171ea2886eb89dcf493286a8421408d
2021-07-02Merge "Add ability to enforce limits on docs per package and size of doc." ↵Alexander Dorokhine
into sc-dev
2021-07-01Merge "Change the logic to check car idleness" into sc-devTreeHugger Robot
2021-07-01Merge "Move libicing.so out of /usr/lib, into the appsearch apex." into sc-devAlexander Dorokhine
2021-07-01Add ability to enforce limits on docs per package and size of doc.Alexander Dorokhine
This is needed to prevent abuse of our service and to share icing docids in framework, which are the resource we are most likely to run out of. Without this change, an app could use the platform backend to index a very high number of documents and exhaust the docid limit, thereby preventing any other app from using AppSearch. Bug: 170371356 Test: New testcases added to AppSearchImplTest Change-Id: I03ade35072bc69b84f8fcefed72b3c3bc2b8ee68
2021-06-30Change the logic to check car idlenessEric Jeong
- Following the change of device idleness checking, car idleness tracker considers screen on to determine idleness. - The condition to get idle in automotive is 1) garage mode is started, or 2) screen is off and idle is triggered. - If idleness is forced or garage mode is running, it is considered idle by car idleness tracker, regardless of screen on/off. Bug: 182492612 Test: atest android.jobscheduler.cts.IdleConstraintTest Change-Id: I15e78157c6b1539086e9b39354e5da51186c6535
2021-06-30Merge "Allow power-allowlisted apps to schedule alarm-clocks" into sc-devTreeHugger Robot
2021-06-30Merge "Exempt default_input_method from BG-FGS-start restriction." into sc-devTreeHugger Robot
2021-06-30Merge "Improve javadocs for repeating alarms" into sc-devTreeHugger Robot
2021-06-29Improve javadocs for repeating alarmsSuprabh Shukla
Specifically, mentioning that the alarm count can only be included with the alarm if the supplied pending intent is mutable. Test: make offline-sdk-docs Fixes: 178413211 Change-Id: I2914bceebeed8b52b0de11d70960aa33e6837b13