History log of /frameworks/base/core/java/android/content/SyncStatusInfo.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f74cf940fe39297ad3afef9f28d40c838dac7bf7 17-Apr-2018 Makoto Onuki <omakoto@google.com> SyncManager: Dump per-source last sync time too.

Example:

Per Adapter History
:
mak...@gmail.com/com.google u0 [com.google.android.gms.people]
Per source last syncs:
OTHER Success: 2018-04-16 17:03:38 Failure: 2018-04-16 17:04:27
LOCAL Success: N/A Failure: N/A
POLL Success: N/A Failure: N/A
USER Success: N/A Failure: N/A
PERIODIC Success: N/A Failure: N/A
FEED Success: N/A Failure: N/A
Last syncs:
2018-04-16 17:04:27 io-error Source=OTHER Elapsed=0s Reason=AutoSync Extras=[]
2018-04-16 17:03:38 success Source=OTHER Elapsed=5s Reason=AutoSync Extras=[]
2018-04-16 17:03:20 success Source=OTHER Elapsed=3s Reason=AutoSync Extras=[]

Bug: 76035392
Change-Id: Id73cb10636897c4fe45caad5df13dca8b75381bd
Fixes: 76035392
Test: Manual test with dumpsys content with triggering various syncs
/frameworks/base/core/java/android/content/SyncStatusInfo.java
9498621f416d0fac032a34cf5fbd0cfcffbff8e6 12-Apr-2018 Makoto Onuki <omakoto@google.com> Add 1-day sync stats in syncmanager dumpsys.

The stats currently shown in sync manager dumpsys is the total *since wipe* so
they're usually pretty much useless.

So let's add "today" and "yesterday" stats too.

- Also add "# failures" and "# cancels".
- Also split up SERVER to OTHER and FEED (i.e. subscribedfeeds).

Bug: 76035392
Test: Boot, run some sync, then do "cmd content reset-today-stats"
- Also tested with actually setting the clock to 23:59 and wait
- Check the result with "dumpsys content".

Sample output:
=======================================================================
Authority Syncable Enabled Stats Loc Poll Per Feed User Othr Tot Fail Can Time Last Sync Backoff
------------------------------------------------------------------------------------------------------------------------------------------------------------------
com.android.calendar 1 true Total 0 0 0 1 0 7 8 0 2 8s FEED SUCCESS
Today 1 5 6 7s 2018-04-12 15:21:24
Yestr 0s
com.android.chrome 0 false Total 0 0 0 0 0 0 0 0 0 0s
Today 0s

Change-Id: Id0ea42435a9f759e47d4b9490292759270f8e9a5
/frameworks/base/core/java/android/content/SyncStatusInfo.java
fdc5723076394fd79380688e7e5b5226d199cd31 22-Jul-2017 Makoto Onuki <omakoto@google.com> Persist/pacel # of periodic syncs properly.

(Note it shouldn't be persisting parceled data in the first place. There's
already a bug filed for that.)

Bug 63935632
Test: manaul test

Change-Id: I5385caa6cd0663c7e13db0256b2c1027abe6c3a1
/frameworks/base/core/java/android/content/SyncStatusInfo.java
15e7a256e1280155c443b8cb0b288b3e748b3062 09-Jun-2017 Makoto Onuki <omakoto@google.com> Enhance recent sync log in dumpsys content

- Add "Per Adapter History" section that has recent activities per adapter. Example:
mxxxx@gmail.com/com.google u0 [com.android.calendar]
2017-06-19 14:19:07 success Source=LOCAL Elapsed=0s Reason=10014 Extras=[upload=true ]
2017-06-19 14:19:06 success Source=SERVER Elapsed=16s Reason=10014 Extras=[feed=#contacts@group.v.calendar.google.com ]
mxxxx@gmail.com/com.google u0 [com.android.chrome]
2017-06-19 13:26:25 canceled Source=POLL Elapsed=0s Reason=AccountsUpdated Extras=[initialize=true ]
mxxxx@gmail.com/com.google u0 [com.android.contacts]

- Improve pending/periodic syncs with better formatting, and sort them in a sane order.

Bug: 38498544
Bug: 62391411
Test: manual test with "dumpsys content"
Change-Id: I947a9255230f27a7f438d648da324787fdf16f55
/frameworks/base/core/java/android/content/SyncStatusInfo.java
dbe846b02e6f6f715787cf8621587f7bc25deaac 25-Jun-2013 Georgi Nikolov <geonik@google.com> Bugfix 9373708
JBMR2 runtime restart (system process crash in the sync manager) during setup

The fix is to ensure that all access to SyncStatusInfo and related objects happens
while holding the mAuthority lock or is on a per-thread copy of the objects

Also, includes an unrelated fix for a bug I just noticed in the way
dumpSyncState() prints the periodic sync info

Change-Id: Id9e4dff41029412e133bdabc843d555434d9a12f
(cherry picked from commit 182ff3acbad9850b40d37ad1c23106be6eda8476)
/frameworks/base/core/java/android/content/SyncStatusInfo.java
5c113faba6b644d1851c9281614aa0edd175fc48 07-Feb-2013 Alon Albert <aalbert@google.com> COnvert sync error to int

Bug: 8152259
Change-Id: I99fc99f70796c70ec0566c40ba350e10c36b90b7
/frameworks/base/core/java/android/content/SyncStatusInfo.java
7a96c39c510923ef73bbb06ab20109f0168b8eb1 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> Move lingering services to services.jar.

This helps reduce the pressure on framework.jar, and makes it clear
that it should only be used by the system_server.

Bug: 7333397
Change-Id: I0858904239535380fbf30562b793e277d8c3f054
/frameworks/base/core/java/android/content/SyncStatusInfo.java
c5d1c6db61f208b206b260f897bb5bbc64be4d97 27-Jan-2010 Fred Quintana <fredq@google.com> add sync polling

- added the ability to specify that a sync (of account/authority/extras)
should occur at a given frequency
- the existing daily poll code was replaced with seeding each
account/authority with a 24 hour periodic sync
- enhanced the "adb shell dumpsys content" output to show the
periodic syncs and when they will next run
/frameworks/base/core/java/android/content/SyncStatusInfo.java
5ed64cd06ce308e91a5ab74e51bcea5fba9a3860 22-Sep-2009 Costin Manolache <costin@google.com> Keep track of 'initial' sync state in SyncStatusInfo
/frameworks/base/core/java/android/content/SyncStatusInfo.java
231cc608d06ffc31c24bf8aa8c8275bdd2636581 28-Apr-2009 Dianne Hackborn <hackbod@google.com> Rewrite SyncStorageEngine to use flat files and in-memory data structures.

The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.

There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.

Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.

The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
/frameworks/base/core/java/android/content/SyncStatusInfo.java