bd4c3ea7ae57f43dbaca6456f9a2853d2e7d827d |
|
16-Jun-2016 |
Shreyas Basarge <snb@google.com> |
Fix for the missing sync bug Cancel a job before re-scheduling it to avoid the situation where a job could still be in JobScheduler's pending queue. Retry a sync even if it has specified the do_not_retry extra if the sync failed due to SyncAlreadyInProgress. Bug: 27532761 Change-Id: Ia5d2b31fa4e44560a3f170a2bdbf53151bff7a20
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
ad2e4bf9f36cf612db6c397feca8effb125ee541 |
|
26-Apr-2016 |
Amith Yamasani <yamasani@google.com> |
Stop user faster and clear stale broadcasts Moved several USER_STOPPING registered receivers to listen to USER_STOPPED, since they don't need to be blocking the shutdown of the user. Clear all stale broadcasts when stopping a user, so that we don't unnecessarily start up processes and deliver stale broadcasts. This was causing code to run when the user was already stopped and resulted in crashes when other providers and services couldn't be started anymore. Hopefully this fixes many of those races. Bug: 28371487 Change-Id: Ic35a7a23fa8fe009a53f8bf7545d4dad5fa34134
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
8fcf6a692262dc182c844b35337b67aeb320021d |
|
27-Apr-2016 |
Shreyas Basarge <snb@google.com> |
Merge "Account info on job wakelocks" into nyc-dev
|
eda34e4d9687d1205d9491a33fdb62dbb7f27d07 |
|
26-Apr-2016 |
Shreyas Basarge <snb@google.com> |
Account info on job wakelocks Adds account information to wakelock names for JobScheduler jobs. Bug: 28321515 Change-Id: Ifaf289c2a9a11843769a3b40eea57d93dbd7d075
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
a4ac5ab8502944f246aa4bf5b16444eafba1084f |
|
21-Apr-2016 |
Shreyas Basarge <snb@google.com> |
Wait for JobService to start before scheduling syncs Add code to wait for SycJobService to pass back an instance of itself after boot before allowing syncs to be scheduled. Also removes unused constant MESSAGE_SYNC_EXPIRED. Bug: 28380795 Change-Id: I616ba5c74578a81ff1e37ba4bd1fd937ce5c006d
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
1bca793f088fe3ea11369d5327b8fe758cf6a0c6 |
|
07-Apr-2016 |
Rubin Xu <rubinxu@google.com> |
Remove temporary workaround of restoring periodic syncs. Bug: 28052438 Change-Id: Ic10070043c6431fd0a1a0346d8a6f1294dc27c41
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
2c548e0e11436b2dca2e45d9a80ac545d647a3ca |
|
01-Apr-2016 |
Rubin Xu <rubinxu@google.com> |
Only cancel syncs for non-existent accounts updateRunningAccountsH() should check syncs against all accounts on the device, not only running accounts. Also add code to restore wrongly-canceled periodic syncs, saving users from a bad state where the only alternative is to remove and readd affected accounts. Bug: 27733283 Change-Id: I96bce87571c3b7c6cd1934cc967f11257f891f55
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
cbf5ae92e70ed49f18b9e7454dc28d489b3d33a4 |
|
08-Mar-2016 |
Shreyas Basarge <snb@google.com> |
Remove SyncManager's local job cache SyncManager maintains a local copy of all scheduled syncs. This was done so that we don't have to query JobScheduler every time we need to go through the syncs to reschedule them, etc. Keeping JobScheduler's job list and the SyncManager's copy in sync is messy. Not keeping a copy with SyncManager would also allow JobScheduler to drop jobs based on an app being uninstalled or other external events. Here, a function to query all pending jobs scheduled by the system process is exposed from JobScheduler and SyncManager uses it instead of maintaining a copy of its own. Change-Id: I723dbb3835a0f9c7e8844483004e7b0f7f340daf
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
fa27253c2ef69b0747c1c866218792687c105e87 |
|
09-Mar-2016 |
Shreyas Basarge <snb@google.com> |
Restrict range of sync job ids Sync jobs now get an id greater than 100000. This is done to avoid conflicts with other jobs scheduled by the System process. Change-Id: Ifcfa218e2ac5f81231c9e25aa25dbaecaf646603
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
1085ff6ee531931ef7f55cbadbc83616f619b292 |
|
24-Feb-2016 |
Dianne Hackborn <hackbod@google.com> |
Work towards issue #26390161: Throttle syncs/jobs when system is low on RAM First, we need to make the job scheduler prioritize jobs for foreground apps over background apps (so we will degrade well when we are limiting the number of concurrent jobs). So now the job scheduler keeps track of the process state of each uid, and uses that to bump up the priority of jobs associated with foreground uids. Added constants for priorities since we have different places specifying priorities. Also cleaned up a bit of the reporting of "wrapped" jobs from the sync manager -- there is a new tag argument that can be supplied, to have the name and tag used in various places be based on that instead of the useless internal class name. Change-Id: I8781750ddfac1472a98e1873fc38c014425db3d6
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
e17575d3b5461866c7b2812432b7798ee04e775e |
|
22-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Merge "Revert "Add defaultPeriodic to every authority"" into nyc-dev
|
3147bbc164d0b69d35caea05dfa3fb4fd86e2b61 |
|
20-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Migrate PeriodicSyncs from old format Periodic syncs that were stored in a file in earlier versions should be read and added to JobScheduler when device boots. Bug: 27261455 Change-Id: I626ce468afc35e5c3c6defd583a0963cc71fc58a
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
cf939c14092ad74edea2e9bb0b5ed2eed222e253 |
|
19-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Revert "Add defaultPeriodic to every authority" This reverts commit 6275d4900727415807455af400083a7cf75f8edd. The fix has been pushed to droidfood. It should be reverted now. Change-Id: I656c1a49fe8b2db5dc427119ec3278c6bfdcd570
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
e4f490cc6910cbffdedd4977e68ae57a6437bb13 |
|
12-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Merge "Add defaultPeriodic to every authority" into nyc-dev
|
6275d4900727415807455af400083a7cf75f8edd |
|
12-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Add defaultPeriodic to every authority Adds a default periodic sync to every authority on boot so that subscribedfeeds adapter gets back its periodic sync if lost. This change will bereverted in the next droidfood build. Change-Id: Icae76c2baafb471ad69d01a4c65023dc6f6525c0
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
ae0bcddc86752d2368ebcb73dab0b7d9133b3f67 |
|
23-Dec-2015 |
Ritesh Reddy <riteshr@google.com> |
Stashing SyncSettings for accounts added aft SUW Stashing SyncSettings for accounts not added by SUW Restore time and restoring these settings whenever the account is added. Bug: 26181613 Change-Id: Ia83e3fd43385a05424a8991115aa21ac90f4cd49
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
7680dd9bdf721b1bd740954c6f0e707db328a995 |
|
11-Feb-2016 |
Shreyas Basarge <snb@google.com> |
Fix ConcurrentModificationException in SyncManager ConcurrentModificationException would be thrown because we didn't break from the for loop after removing an entry from the collection we were looping over. Change-Id: I30435670f76f60b238e29658611b06ec789219aa Bug: 27136502 (cherry picked from commit 12832e3291a66bcab12edd5943767c7827c3f7c6)
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
2b4c8f926fdc8a2ccb88668ca85edfd3ecb9913a |
|
09-Feb-2016 |
Shreyas Basarge <snb@google.com> |
SyncManager sync blow up fix Duplicates for periodic syncs would be created just after boot and when a periodic sync was delayed. This CL fixes the behavior. Bug: 26954967 Change-Id: I2440961629d443a62f96360563d435af9137857b (cherry picked from commit 1675400a7cd0b56e5adc5606fb4fea77f8d24ea5)
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
734c91de5882aa60fea908db32cd996db257fc4a |
|
02-Feb-2016 |
Christopher Tate <ctate@google.com> |
Start the sync job service after primary boot This avoids starting the "timeout?" clock until the system's main looper thread is ready to actually process service startup, avoiding spurious ANR reports. Bug 26922408 Change-Id: I8fd3f20e4af644a933f1318e623096b73c7e8e08
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
8c834c07675052c984728cbf79f7c2e0d8246e43 |
|
07-Jan-2016 |
Shreyas Basarge <snb@google.com> |
SyncManager on JobScheduler SyncManager now uses JobScheduler for scheduling and persistence purposes. Change-Id: I38c92aedbf4d891ca297644d0b706835aaedfcd6
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
2c051498b2b0e2608740d906e70867b74083107d |
|
11-Jan-2016 |
Shreyas Basarge <snb@google.com> |
Fix for syncs being dropped when appIdle is on Syncs were being dropped when appIdleMode was on for an app. This CL backs off the sync instead of dropping it. When the app becomes non-idle, backoff is cleared and the sync is performed. Bug: 26355386 Change-Id: I2040dfd847011d3ca902e66a8cd52b2a429177c1
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
a474554fe62ea27eb49550d3da4e918c84740926 |
|
10-Dec-2015 |
Matthew Williams <mjwilliams@google.com> |
Merge commit '1db19fc70e24bc5e3c6d77f2b9a5374c372e46cd' into manual_merge_1db19fc70e Change-Id: I8f997804d17ac7635b0dd4aa9cad79334c19eb61
|
1db19fc70e24bc5e3c6d77f2b9a5374c372e46cd |
|
10-Dec-2015 |
Matthew Williams <mjwilliams@google.com> |
Merge "ConcurrentModificationException in SyncManager" am: 7e4d92fbc7 * commit '7e4d92fbc7761d561c1bc61dc5cf55b69d3a54f3': ConcurrentModificationException in SyncManager
|
7e4d92fbc7761d561c1bc61dc5cf55b69d3a54f3 |
|
10-Dec-2015 |
Matthew Williams <mjwilliams@google.com> |
Merge "ConcurrentModificationException in SyncManager"
|
60a74318163968ce3db46c1952ed7bc4f8ce530e |
|
01-Dec-2015 |
振淦王 <wangzglx@gmail.com> |
ConcurrentModificationException in SyncManager updateRunningAccounts and dispatchSyncOperation is running in different thread, and mActiveSyncContexts not synchronization. If methods occur together, mActiveSyncContexts change may occur when cycle is running. Sample: https://code.google.com/p/android/issues/detail?id=195341 Solution: Offboard the traversal from the main thread to the handler thread. Change-Id: Ifb9fbb466a5087186be31f7877c50b8c8b6737e4 Signed-off-by: wangzhengan <wangzglx@gmail.com>
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
9d8a1048bb666c68402dce031bebfa07c92a42db |
|
04-Dec-2015 |
Jeff Sharkey <jsharkey@android.com> |
Handle non-encryption-aware accounts and sync. The system can now boot in a "locked" state where only encryption aware (EA) components can be safely started. When in this state, PackageManager already filters away non-EA components, but system services like AccountManager and SyncManager need to carefully handle these temporarily "missing" components. As a guiding principle, all known Accounts are still present when the device is locked, but communication with underlying non-EA authenticators is blocked. To keep things simple for now, all SyncManager requests are kept dormant until the user enters the unlocked state. The core of this logic is that RegisteredServicesCache now works with all components regardless of EA status, which prevents us from accidentally thinking a service was removed when the user is locked. Bug: 25945136 Change-Id: I8714121f6236b00821769023c4df7de1c8a99944
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
bef28feba57be7fd6a4d14a85a8229154338b2ed |
|
30-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
Initial stab at background check. Actually, this implementation is more what we want for ephemeral apps. I am realizing the two are not really the same thing. :( For this implementation, we now keep track of how long a uid has been in the background, and after a certain amount of time (currently 1 minute) we mark it as "idle". Any packages associated with that uid are then no longer allowed to run in the background. This means, until the app next goes in the foreground: - No manifest broadcast receivers in the app will execute. - No services can be started (binding services is still okay, as this is outside dependencies on the app that should still be represented). - All alarms for the app are cancelled and no more can be set. - All jobs for the app are cancelled and no more can be scheduled. - All syncs for the app are cancelled and no more can be requested. Change-Id: If53714ca4beed35faf2e89f916ce9eaaabd9290d
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
627dfa1ddafc96b912ae938677a48a16f7ab255c |
|
12-Nov-2015 |
Dianne Hackborn <hackbod@google.com> |
Be smarter about determining when we can stop idle maintenance. The device idle service now knows when the system is actively doing significant things (syncs, jobs, alarms, downloads). It uses this, when in an idle maintenance window, to determine when it can end that window early -- when such work is no longer happening. For now this just allows us to shorten the windows. In the future we should use this to allow us to expand the windows to a longer potential time, adjusting future windows to shorter durations if earlier ones use more time. This will allow us to batch occasional long operations (such as downloads) into one window, making up for that with much shorter later windows. Change-Id: Ie482abd50bc43be9a8917a769a5175851eee4ec4
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
24937d235da1648ece1866ce326da539c0ccb4bf |
|
03-Nov-2015 |
Dianne Hackborn <hackbod@google.com> |
resolve merge conflicts of 3aee38c86e to master. Change-Id: I9ff3f92b37e24f5f0527a0034b159920f6d7ffe1
|
fcc95a6d2c749d6b77eca14bf301d665d858a840 |
|
02-Nov-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #25357209: Could not send SMS or MMS messages, had to reboot I think what probably happened is that since we only report an app going in to the "interaction" state as an interaction event to usage stats, apps that sit around in that state forever will only see one interaction at the start and never again. So usage stats could start thinking they are idle. Fix this by having the activity manager report an interaction event for such long running applications at least once a day. Also, because it is correct and for paranoia by protected us another way, system uids should never go in to standby. Change-Id: I8a3805bfca86cbe78560488a649ecd07427da99a
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
7d7a2254bc41d2dfc34fbb8693cb0dad2ccd528a |
|
16-Oct-2015 |
Matthew Williams <mjwilliams@google.com> |
DO NOT MERGE Sync extras bundle comparison can throw NPE BUG: 23591205 Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c (cherry picked from commit 9ad2c8403354a985258c098681067e74b9e2f638)
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
b3b91ceaefa47b883c77d8ccac35608831c888c5 |
|
20-Oct-2015 |
Matthew Williams <mjwilliams@google.com> |
Merge "Sync extras bundle comparison can throw NPE"
|
9ad2c8403354a985258c098681067e74b9e2f638 |
|
16-Oct-2015 |
Matthew Williams <mjwilliams@google.com> |
Sync extras bundle comparison can throw NPE BUG: 23591205 Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
08c47a5dece977a55d250d98bda9e2a8df8b6ed0 |
|
15-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
Initial implementation of light-weight idle mode. This mode turns on after the screen has been off for 15 minutes, and then cycles through 15 minutes of idle and 1 minute of maintenance, ragardless of whether the device is moving around. It currently only impacts network access and sync/job scheduling. It does not remove access to wake locks or alarms for any apps. It also doesn't report in the public API that the device is in idle mode (since it isn't modifying the behavior of the power manager) -- this is probably what we desire, since we don't want stuff like GCM to be reporting these frequent changes. We'll probably at least want to have the alarm manager do some kind of more aggressive batching of alarms in this most (not allowing more than one wakeup every minute?). That's for the future. Also updated batterystats to include this new information, which means the format of some of the data has changed -- device_idle is no longer a flag, but an enum of (off, light, full), and there is no information about time spent in light modes. Also added new data about the maximum duration spent in both light and full idle modes, to get a better understanding of how those are behaving. And did a little cleanup of DeviceIdleController, removing the sensing alarm which was redundant with the regular alarm. Change-Id: Ibeea6659577dc02deff58f048f97fcd9b0223307
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
f3f02ac931d04e6ba4393e27558cd317cb1e6b44 |
|
08-Sep-2015 |
Svetoslav <svetoslavganov@google.com> |
Add get_accounts app op For each runtime permission we have an app op to toggle the permission for legacy apps as they cannot handle permission revocations. We were lacking an app op for get_accounts which prevented the user from controlling access to accounts regardelss that they change the state of the permission toggle in the UI. Even worse the permission UI is written with the assumption that every runtime permission has an app op and as a result revoking the contacts group (if the app requests the get_accounts permission) is reset back to allowed in the UI. bug:23854618 Change-Id: I12b83dfd22974d130e5b8e7a195421120813e2db
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
ce852ddcecefc6b3e1265462f5c8670bd0e4ace1 |
|
08-Sep-2015 |
Svetoslav <svetoslavganov@google.com> |
Add get_accounts app op For each runtime permission we have an app op to toggle the permission for legacy apps as they cannot handle permission revocations. We were lacking an app op for get_accounts which prevented the user from controlling access to accounts regardelss that they change the state of the permission toggle in the UI. Even worse the permission UI is written with the assumption that every runtime permission has an app op and as a result revoking the contacts group (if the app requests the get_accounts permission) is reset back to allowed in the UI. bug:23854618 Change-Id: I9e3f9bfeb320bed561d718db99ee285915d5701b
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
98404fdc0b73e6563c19b863aa5ab605e092de29 |
|
18-Aug-2015 |
Xiaohui Chen <xiaohuic@google.com> |
Clean up USER_OWNER reference. Bug: 19913735 Change-Id: I441672b360fa0fff5453f72c88f9577b5cc8eecf
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
665d0140efce4ed53d6f86459c1551cdf983801b |
|
04-Aug-2015 |
Matthew Williams <mjwilliams@google.com> |
Remove spurious syncmanager wake-ups BUG: 22287469 1) Fix SyncManager waking up every 2 hrs if there is nothing to do. 2) Fix sync wake-up alarm not being properly updated if the new alarm was in the future. 2a) Due to staus bar sync signal that were removed post-K one of the wake-ups was for 30s in the future, removed this @hide intent completely. 3) The SyncManager will still set a timeout alarm for 5mins after the start of a sync. Leaving this in as to post to a handler is less expensive but more complex, and the alarm update is correctly working now. Change-Id: If51c9dd68391ccaeb480a17eb5a1364c4afe4c2a
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
a2c159fede892a54b9b98e681c6a3053ab4dbf31 |
|
23-Jun-2015 |
Xiaohui Chen <xiaohuic@google.com> |
Merge "system_server: optimize app idle parole state change" into mnc-dev
|
8dca36dc8a5d17315775ce216689addc5bd9be00 |
|
19-Jun-2015 |
Xiaohui Chen <xiaohuic@google.com> |
system_server: optimize app idle parole state change Currently when app idle parole state changes, all idle apps' states are updated one by one including firewall modifications which are very expensive. This optimization gets rid of individual firewall rule changes and makes sure we only modify the firewall once at child chain level. BUG: 21446713 Change-Id: Iafc415fe0bc127826fe17894d4fedcf1755cb17d
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
8b1db0746fb5831cf670d4935acf1197b0c92748 |
|
22-Jun-2015 |
Matthew Williams <mjwilliams@google.com> |
Merge "Cancel Syncs that aren't making progress." into mnc-dev
|
1967c8ddd5bb46958b732002d391e4276c0710c4 |
|
20-Jun-2015 |
Matthew Williams <mjwilliams@google.com> |
Cancel Syncs that aren't making progress. BUG: 18266674 1) If a sync has up/downloaded less than 10bytes in 60 seconds it is considered to be making no progress and is summarily cancelled. 2) Apply a 30min hard time-out to initialization syncs. Note that there is little proof that cancelling a sync has an impact. All it results in is a Thread.interrupt on the sync thread, which the adapter must itself implement. To this effect this CL also updates the javadoc to make this clearer, and adds some (unimplemented) threats about killing the hosting process. Change-Id: I83c447648152ccbf76bb1fbd7e9216e01a37952f
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
37a40c24deb02bca3868a8085069afae112f22e4 |
|
17-Jun-2015 |
Amith Yamasani <yamasani@google.com> |
App Standby : Association between content providers and their sync adapter Set sync adapters to active if the associated content providers are used at foreground process state. Minimize how frequently published content providers are reported by keeping track of last reported time. Also cache sync adapters associated with an authority in SyncManager. Bug: 21785111 Change-Id: Ic2c8cb6a27f005d1a1d0aad21d36b1510160753a
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
53abfdb86c2bf834777dbda61fc46083a93a4a83 |
|
11-Jun-2015 |
Matthew Williams <mjwilliams@google.com> |
Make sync settings restore more robust Bug: 18506992 Parent Bug: 17967106 Introduce a new state for ContentResolver#getIsSyncable. This state specifies that an adapter should be disabled until explicitly turned on by ContentResolver#setSyncAutomatically(true). In this way we can restore disabled sync adapters and still allow them to run their initialization logic later on when they are re-enabled. Change-Id: I03fd1f994c4bc982bbc723154ba20bb252efdf80
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
1ce4b6d3c6cb5b2eb9c9d00472be12245db92427 |
|
11-Jun-2015 |
Chris Wren <cwren@android.com> |
remove usage of deprecated method setLatestEventInfo Bug: 18510449 Change-Id: I56a77991c729990e501f402e007dfa79ee57621e
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
8b76d20c71353fe98d898a863e7660c00a09dcb6 |
|
04-May-2015 |
Matthew Williams <mjwilliams@google.com> |
Delay all syncing until the device is provisioned BUG: 20185340 Add ContentObserver to be notified when device provisioned system setting bit is flipped. Stash all messages that come along before then, similar to how we were doing it for onBootCompleted, and fire them off when ready. Change-Id: Ied9fe2262b2a96ea3316b6dd7c57e23628e19581
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
abedd3890bcfb5144eabea9bf44dcd9e0c58dfb4 |
|
15-Apr-2015 |
Amith Yamasani <yamasani@google.com> |
Handle null package argument Null package passed in during charging implies all sync adapters can now be synced. Bug: 20066058 Change-Id: Ic5927893e52f7324083bdd63afa69d3bde7349de
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
96a0fd65e18e5b9a0eaed3c24fd8a60a1fac1c3a |
|
11-Apr-2015 |
Amith Yamasani <yamasani@google.com> |
Delay syncs for idle apps Apps that haven't been in use for a while and are considered idle are not synced until the device is charging or the app is used. Bug: 20066058 Change-Id: I3471e3a11edae04777163b0dbd74e86495743caa
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
4870e9d5eba59fb257a87f97f1adf0b734cf48d3 |
|
09-Apr-2015 |
Dianne Hackborn <hackbod@google.com> |
More work on device idle mode and other power stuff. Add idle mode support to the alarm manager. Introduce a new concept of flags associated with alarms to tell the alarm manager how to treat the alarm -- they allow everything from the alarm that will bring us out of idle mode, to alarms that are allowed when idle or should also bring us out of idle. The standalone boolean is now also a flag. (Note there is currently no protection from user space setting the flags however it wants; I will be working on that in a follow-up change.) When in idle mode, the alarm manager pushes all alarms that shouldn't execute during that time over to a separate list that is not executed until out of idle. To help with this, I reworked a bit how Alarm objects are managed, so that when rebatching or moving between lists we don't have to allocated new objects but can just use the same existing instance. Also tweaked the sync manager to deal with idle mode, which currently just means doing the same thing as when low on storage -- turning off sync. Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts that apps can listen for to know when the device is actively charging and discharging. These are better than the old POWER_CONNECTED and POWER_DISCONNECTED ones because we only report charging when we actually see that there is enough power being provided to charge the battery (and will report discharging if there is not enough power). The job controller uses these new actions for scheduling jobs that want to run while plugged in. Removed the "stable charging" stuff while doing so, since the new charging state serves as an even better signal for that. Introduced two new process states: FOREGROUND_SERVICE and TOP_SLEEPING. This will allow us to treat foreground services specially (such as still allowing network access to them for background music playback) while not mixing them together with whatever happens to be the top activity while the device is asleep. Also some other small cleanup here and there. Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
4a357cd2e55293402d7172766f7f9419815fc1e8 |
|
19-Mar-2015 |
Alan Viverette <alanv@google.com> |
Replace usages of deprecated Resources.getColor() and getColorStateList() Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
6fde2983a18ccab367c4d02a595b5bb964e7b706 |
|
07-Jan-2015 |
Fyodor Kupolov <fkupolov@google.com> |
Sync accounts of a specified user only For cases when requestedAccount was null, accounts were added for synchronization without filtering by userId. Bug:18670536 Change-Id: Ideb397835ce420785aa9e87a1103e410d9bdd171
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
5c6756fefb6db0fe468b9d747960a6da344880ad |
|
02-Oct-2014 |
Matthew Williams <mjwilliams@google.com> |
Revert "Protect LOGIN_ACCOUNTS_CHANGED receiver in SyncManager" This reverts commit cf2bd348e73e880fe5bfc7a025732d4ec606ff1f. Reverted because for account removal the AccountManagerService delegates the sending of LOGIN_ACCOUNTS_CHANGED to the authenticator. See b/17511110. Change-Id: Ic03016af98070b4add5f7a5ec1fdff32ba63298e
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
119aac93f8d757ff464dd4d1135ffcf37f7cda02 |
|
29-Sep-2014 |
Matthew Williams <mjwilliams@google.com> |
Fix deadlock caused by clearAllBackoffs in SSE BUG: 17420163 This CL is a copy of ag/359292 That commit was lost, see the bug for more details. Change-Id: I68747d447f8c95e6b5022f9bc8cbab677e0c3d4e
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
86f0c21417fd78de78e1d56400b84fbc538d1e24 |
|
10-Sep-2014 |
Matthew Williams <mjwilliams@google.com> |
Protect LOGIN_ACCOUNTS_CHANGED receiver in SyncManager BUG: 17359770 Reuse the Manifest.permission.ACCOUNT_MANAGER to protect this receiver, because when this intent lands it kicks off a sync for every account/provider on the device. Semantically this means "if you can't talk to an authenticator to do things like get a token or add an account, then you can't send an intent to the SyncManager that the accounts on the device have changed in some drastic way" Change-Id: I7eccc38e135cb00ebb0aafc69afc802fe1c4f219
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
07ad8dc2087aa02da48353acc19ba82e62d99f82 |
|
01-Sep-2014 |
Kenny Guy <kennyguy@google.com> |
Use context for user when calling notifyAsUser Create a context for the user the notification is being posted for when using NotificationManager.notifyAsUser. Bug: 17002733 Change-Id: Ie41d27bbb781ca38cc9bc910bd4410b8862edee1
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
92a1c09aa467f03dad78472098d40992303937fb |
|
26-Aug-2014 |
Matthew Williams <mjwilliams@google.com> |
Add maximum time-out to sync operation BUG: 16219182 We have seen cases where run-away syncs keep going for a very long time. The default behaviour is that a sync can run for as long as it wants once there is nothing else waiting. This CL will change that, and impose a maximum time-limit of 30mins on each sync, after when the op with be cancelled and the adapter will go into back-off. This behaviour will only take effect for syncs that are not initializations, or user-initiated. Change-Id: I1731270ca2a6500b19fc125186aa0b0cd81d1126
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
3c8a42ddd9482ebc8541f7af6f15afdf3b3ec151 |
|
26-Aug-2014 |
Matthew Williams <mjwilliams@google.com> |
Don't back-off ALREADY_IN_PROGRESS syncs BUG: 16219182 The issue is that some adapters get into a bad state where SyncManager assumes them complete yet they are still going. This result in ALREADY_IN_PROGRESS coming back from the adapter, the default retry-time for which is about 10s. Subject ALREADY_IN_PROGRESS to exponential back-off to avoid waking up SM every ~10 seconds Change-Id: I6cef787366436c678bac762ec6daf6212f04badc
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
255dd04271088590fedc46c8e22b2fd4ab142d39 |
|
19-Aug-2014 |
Selim Cinek <cinek@google.com> |
Added notification color to all system notifications Bug: 17128331 Change-Id: I81a94510ef51b99916f314c0dd65852426a1fbeb
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
fdb1956ff71ff57fcdaafaaeb7f42c19de3d7c2f |
|
12-Jul-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #15681802: Missing RESET:TIME in complete battery histories But wait, there's more! - Keep track of sync durations in the aggregated stats. - Add events for users that are running and in the foreground. - Rework the activity manager's tracking of stuff using battery in the background to be based on proc stats, which allows it to be better about determing when it should reset its tracking of background work. - Also add tracking of scheduled job execution, like we are doing for syncs. - And once I started hooking battery stats in to JobSchedulerService, I found a few things I couldn't stop myself from changing: (1) make it very explicit that it doesn't start scheduling jobs until we have reached the point in system boot where third party apps are allowed to run, and (2) adjust the various for loops to not use iterators. Change-Id: I69d812e27bcfee9e58a614f0f6b1c7545d7530b1
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
d83a096f299abd9c7fe5e441ef1bb169c314b575 |
|
03-May-2014 |
Dianne Hackborn <hackbod@google.com> |
Bump up priority of system receiving BOOT_COMPLETED. Change-Id: I5166f88f11f781914312e867cb653c8ecbefa705
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
cde7086b900fd192a8e389f62ab5007d351d86b8 |
|
21-Mar-2014 |
Matthew Williams <mjwilliams@google.com> |
Merge "Downgrade expedited to normal on reschedule."
|
d45665bf0b26fddf5716a0fd43036848d9301960 |
|
26-Feb-2014 |
Dianne Hackborn <hackbod@google.com> |
Collect per-uid mobile radio usage. We now compute radio active time per application, by distributing the active time across all applications each time the radio goes down, weighting it by the number of packets transferred. Per-app radio power use is now computed using this radio active time. This also gives us a new metric "ms per packet", which give an idea of how effectively an application is using the radio. This is collected and reported as a new set of stats in the human- readable checkin. (It can be computed from the raw checkin data). Also improve sync reporting to include the sync source as used in wake locks, not just the component name. Change-Id: I0b0185fadd1e47ae749090ed36728ab78ac24c5e
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
a1f1a3c573acd91024fda0ceb3b921c73b186963 |
|
25-Feb-2014 |
Dianne Hackborn <hackbod@google.com> |
More battery stats. - Add events for sync. - Add more descriptive tags for wake events. - Fix battery reset. - Fix tracking of wifi data. Change-Id: Ic07f2a86a5ed33e7da57eb1108c31c777ecd801f
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
6428046767ee4195617fb41b5639eefa2ca7a939 |
|
09-Jan-2014 |
Matthew Williams <mjwilliams@google.com> |
Downgrade expedited to normal on reschedule. bug: 12033540 Expedited was previously tracked by a redundant internal variable, ostensibly as an optimisation. This variable could differ from the value in the bundle depending on how the operation is initialised, which led to confusion. Now an expedited sync will only be treated as such on its first execution. Change-Id: I9979102317aecbe8bc53a36381d4b2782ac131be Conflicts: services/core/java/com/android/server/content/SyncOperation.java services/core/java/com/android/server/content/SyncQueue.java
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
31068163b660ff041e45f35174f75106dcb47ade |
|
30-Jan-2014 |
Patrick Tjin <pattjin@google.com> |
Formatting fix Remove whitespace from end of Sync Status table Change-Id: I5b0bf3380e0c67c769ec9c334f1374713c94aa94
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|
49782e46c0eb85a25ae2abcf80880c48dbab5aea |
|
20-Dec-2013 |
Amith Yamasani <yamasani@google.com> |
am 9158825f: Move some system services to separate directories * commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce': Move some system services to separate directories
|
9158825f9c41869689d6b1786d7c7aa8bdd524ce |
|
22-Nov-2013 |
Amith Yamasani <yamasani@google.com> |
Move some system services to separate directories Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/content/SyncManager.java
|